~ j . u v v 5 f . . . m I m m m m l : f u s a m . I n e . 5 . i r . . t . fi . s r fi “ ( . . . 1 " t 7 l ' u d . a . 5 : “ n u . r n a L x 2 = . — . . M E L D . fi v h . fi . u " . 0 . v w m . . . . ) . “ . 5 . . r . i n t h a ¥ i . Z . . K \ d . x z . . h fi « c fi # . 0 . w i , fl a . . 1 . 9 . 5 r w L ! ! . > ! ” . n fi a . I h . ? 2 d i ; m 5 3 3 . G J . fi ; 3 9 fi . 3 u . . k a . h n . a $ . , A 1 . w w “ . m . m . v 1 : fl A . “ l . b n h a ‘ . Q h c . . t c ‘ i . ] t u ; r - ’ ' l A l ‘ O : I - S : 5 : I ‘ I . ! . n . 0 I J . 1 . . . ” H . b q ‘ 1 . r ) ! b : , I . L h w ‘ s g t i r u p n . 5 5 . 5 4 9 . . . : 1 : . 5 L . h a s . » . . a n d ” . . . 3 . 4 3 3 % . . . , t i t . “ 3 . 5 5 . . 0 1 H a n g 5 ” I f ? " L I B R A R Y M i c h i g a n S t a t e U n i v e r s i t y T h i s i s t o c e r t i f y t h a t t h e d i s s e r t a t i o n e n t i t l e d A U T O M A T E D R E V I S I O N O F D I S T R I B U T E D A N D R E A L - T I M E P R O G R A M S p r e s e n t e d b y B O R Z O O B O N A K D A R P O U R h a s b e e n a c c e p t e d t o w a r d s f u l fi l l m e n t o f t h e r e q u i r e m e n t s f o r t h e D o c t o r a l d e g r e e i n C o m p u t e r S c i e n c e M a j o r P r o f e s s o r ’ s S i g n a t u r e D e c , l l , 2 0 5 ) S D a t e M S U i s a n A f fi n n a t i v e A c t i o n / E q u a l O p p o r t u n i t y E m p l o y e r P L A C E I N R E T U R N B O X t o r e m o v e t h i s c h e c k o u t f r o m y o u r r e c o r d . T O A V O I D F I N E S r e t u r n o n o r b e f o r e d a t e d u e . M A Y B E R E C A L L E D w i t h e a r l i e r d u e d a t e i f r e q u e s t e d . D A T E D U E D A T E D U E D A T E D U E 5 / 0 8 K : I P r o l e c c & P r e l e l R C / D a t e o u e , i n d d A U T O M A T E D R E V I S I O N O F D I S T R I B U T E D A N D R E A L - T I M E P R O G R A M S V O L U M E I B y B O R Z O O B O N A K D A R P O U R A D I S S E R T A T I O N S u b m i t t e d t o M i c h i g a n S t a t e U n i v e r s i t y i n p a r t i a l f u l f i l l m e n t o f t h e r e q u i r e m e n t s f o r t h e d e g r e e o f D O C T O R O F P H I L O S O P H Y C o m p u t e r S c i e n c e 2 0 0 9 A B S T R A C T A U T O M A T E D R E V I S I O N O F D I S T R I B U T E D A N D R E A L - T I M E P R O G R A M S B y B O R Z O O B O N A K D A R P O U R T h i s d i s s e r t a t i o n c o n c e n t r a t e s o n t h e p r o b l e m o f a u t o m a t e d r e v i s i o n o f d i s t r i b u t e d a n d r e a l — t i m e p r o g r a m s t h a t a r e c o r r e c t - b y — c o n s t r u c t i o n . I n p a r t i c u l a r , o u r r e s e a r c h a d d r e s s e s t h e f o l l o w i n g q u e s t i o n : “ i f a n e x i s t i n g p r o g r a m f a i l s t o s a t i s f y a p r o p e r t y , i s i t f e a s i b l e t o a u t o m a t i c a l l y r e v i s e t h e p r o g r a m i n s i d e i t s c u r r e n t s t a t e s p a c e a n d s e t O f t r a n s i t i o n s , s o t h a t t h e r e v i s e d p r o g r a m s a t i s fi e s t h e f a i l e d p r o p e r t y w h i l e i t c o n t i n u e s t o s a t i s f y i t s c u r r e n t p r o p e r t i e s ? ” . W e s t u d y t h i s p r o b l e m i n t w o b r o a d c o n t e x t s : ( 1 ) r e v i s i o n i n c l o s e d s y s t e m s w h e r e p r o g r a m s d o n o t i n t e r a c t w i t h t h e e n v i r o n m e n t , a n d ( 2 ) r e v i s i o n i n o p e n s y s t e m s w h e r e p r o g r a m s a r e s u b j e c t t o a s e t o f u n c o n t r o l l a b l e f a u l t s i m p o s e d b y t h e e n v i r o n m e n t . W e r e f e r t o t h e f o r m e r p r o b l e m a s “ a d d i t i o n o f a p r o p e r t y t o t h e i n p u t p r o g r a m ” a n d t h e l a t t e r a s “ a d d i t i o n o f f a u l t - t o l e r a n c e t o t h e i n p u t p r o g r a m ” . W e c l a s s i f y o u r r e s u l t s i n t o t h r e e t y p e s : ( 1 ) p o l y n o m i a l - t i m e s o u n d a n d c o m p l e t e a l g o r i t h m s , ( 2 ) h a r d n e s s r c s u l t s , a n d ( 3 ) s o u n d e f fi c i e n t h e u r i s t i c s . T h r o u g h o u t t h i s d i s s e r t a t i o n , w e f o c u s o n t h r e e t y p e s o f p r o g r a m s : ( 1 ) u n t i m e d c e n t r a l i z e d , ( 2 ) u n - t i m e d d i s t r i b u t e d , a n d ( 3 ) c e n t r a l i z e d r e a l - t i m e . T h e r e a s o n f o r o m i t t i n g d i s t r i b u t e d r e a l — t i m e p r o g r a m s i s d u e t o t h e f a c t t h a t t h e s t r u c t u r e o f s u c h p r o g r a m s a r e v e r y c o m p l e x a n d , h e n c e , t h e i r f o r m a l a n a l y s i s i n v o l v e s h i g h l y c o m p l e x d e c i s i o n p r o c e - ( l u r e s . T h u s , i t i s m o r e b e n e f i c i a l t o s t u d y t h e e f f e c t O f t h e n o t i o n s O f d i s t r i b u t i o n a n d t i m e o n p r o g r a m s s e p a r a t e l y i n o r d e r t O i d e n t i f y t h e s t u m b l i n g b l o c k s . R e g a r d i n g a d d i t i o n o f p r o p e r t i e s t o p r o g r a m s i n c l o s e d s y s t e m s , w e f o c u s o n U N I T Y s a f e t y a n d p r o g r e s s p r o p e r t i e s . O u r i n t e r e s t i n U N I T Y p r o p e r t i e s i s d u e t o t h e f a c t t h a t t h e y h a v e b e e n f o u n d h i g h l y e x p r e s s i v e i n s p e c i f y i n g a l a r g e c l a s s O f p r o — g r a m s . R e g a r d i n g a d d i t i o n O f f a u l t - t o l e r a n c e t o e x i s t i n g f a u l t - i n t o l e r a n t p r o g r a m s , w e c o n s i d e r t h r e e l e v e l s o f f a u l t - t o l e r a n c e , n a m e l y f a i l s a f e , n o n m a s k z ' n g , a n d m a s k - i n g , b a s e d o n s a t i s f a c t i o n o f s a f e t y a n d l i v e n e s s p r o p e r t i e s i n t h e p r e s e n c e o f f a u l t s . I n o r d e r t o c a p t u r e t i m e - r e l a t e d b e h a v i o r s o f p r o g r a m s i n t h e p r e s e n c e o f f a u l t s , w e c o n s i d e r t w o a d d i t i o n a l l e v e l s , n a m e l y s o f t a n d h a r d , b a s e d o n s a t i s f a c t i o n O f t i m i n g c o n s t r a i n t s i n t h e p r e s e n c e o f f a u l t s . W e a d d r e s s s o m e o f t h e i m p l e m e n t a t i o n d i f fi c u l t i e s u s i n g E D D - b a s e d h e u r i s t i c s f o r r e v i s i n g p r o g r a m s i n b o t h c l o s e d a n d o p e n s y s t e m s w i t h r e s p e c t t o s a f e t y a n d p r o g r e s s p r o p e r t i e s . O u r e x p e r i m e n t a l r e s u l t s o n s y n t h e s i s o f a v a r i e t y O f d i s t r i b u t e d p r o g r a m s S h o w a s i g n i fi c a n t p e r f o r m a n c e i m p r o v e m e n t b y s e v e r a l o r d e r s o f m a g n i t u d e i n t e r m s o f t i m e a n d s p a c e . W e a l s o i n t r o d u c e d i s t r i b u t e d a n d p a r a l l e l t e c h n i q u e s t o i m p r o v e t h e p e r f o r m a n c e o f o u r r e v i s i o n m e t h o d s e v e n f u r t h e r . F i n a l l y , w e i n t r o - d u c e o u r t o o l S Y C R A F T w h i c h i s c a p a b l e o f a d d i n g f a u l t — t o l e r a n c e t o m o d e r a t e - s i z e d f a u l t - i n t o l e r a n t d i s t r i b u t e d p r o g r a m s . I n s u m m a r y , t h i s d i s s e r t a t i o n c o n c l u d e s t h a t a u t o m a t e d r e v i s i o n O f m o d e r a t e - s i z e d p r o g r a m s ( r e a c h a b l e s t a t e s o f s i z e 1 0 5 0 a n d b e y o n d ) i s f e a s i b l e i n b o t h t h e o r y a n d p r a c t i c e . T o m y b e a u t i f u l w i f e , M a r y a m , a n d m y p a r e n t s A f a g h a n d H o s s e i n B o n a k d a r p o u r , f o r t h e i r u n c o n d i t i o n a l l o v e , e n c o u r a g e m e n t , a n d s u p p o r t . i v A C K N O W L E D G M E N T S 1 F i r s t O f a l l I t h a n k m y a d v i s o r , D r . S a n d e e p K u l k a r n i , f o r O f f e r i n g m e t e c h n i c a l , fi n a n c i a l , a n d m o r a l s u p p o r t d u r i n g t h e f o u r y e a r s o f m y P h . D . p r o g r a m . H e i n t r o - d u c e d m e t o t h e a r e a o f a u t o m a t e p r o g r a m s y n t h e s i s a n d t r a n s f o r m a t i o n . M u c h o f t h e r e s u l t s r e p o r t e d i n t h i s t h e s i s i s i n s p i r e d b y m y d i s c u s s i o n s w i t h h i m a b o u t o u r i d e a s o n d e v e l o p i n g a g e n e r a l f r a m e w o r k f o r s p e c i f y i n g a n d r e v i s i n g d i s t r i b u t e d a n d r e a l - t i m e p r o g r a m s . H e h e l p e d m e u n d e r s t a n d w h a t r e s e a r c h i s a n d h o w t o f a c e a n d s o l v e a n e w p r o b l e m . M y d i s s e r t a t i o n g u i d a n c e c o m m i t t e e c o m p r i s e d o f D r . S a n d e e p K u l k a r n i , D r . B e t t y C h e n g , D r . L a u r a D i l l o n , a n d D r . J o n a t h a n H a l l . I a m g r a t e f u l t h a t I h a d a c c e s s t o v a l u a b l e g u i d a n c e f r o m a l l f o u r o f t h e m . I e x p r e s s m y t h a n k s t o D r . D i l l o n a n d D r . C h e n g f o r t h e i r c r i t i c a l r e a d i n g a n d i n t e r e s t i n g q u e s t i o n s d u r i n g m y d e f e n s e . I e x p r e s s m y t h a n k s t o D r . H a l l f o r h i s v a l u a b l e q u e s t i o n s a n d c o m m e n t s o n p r a c t i c a l a p p l i c a t i o n s o f m y w o r k . A l s o , I w o u l d l i k e t o t r u l y t h a n k t h e D e p a r t m e n t o f c o m p u t e r S c i e n c e a n d E n g i - n e e r i n g a t M i c h i g a n S t a t e U n i v e r s i t y f o r O f f e r i n g m e fi n a n c i a l s u p p o r t t h r o u g h t e a c h - i n g a s s i s t a n t s h i p s f o r s e v e r a l s e m e s t e r s . I a m s o g r a t e f u l t o D r . L u c a d e A l f a r o f o r h o s t i n g m e a s a v i s i t i n g r e s e a r c h e r a t U n i v e r s i t y o f C a l i f o r n i a a t S a n t a C r u z i n s u m m e r 2 0 0 6 . L u c a i s a l e a d i n g r e s e a r c h e r i n t h e a r e a o f g a m e t h e o r y a n d m o d e l c h e c k i n g a n d I l e a r n e d a g r e a t d e a l f r o m h i m 1 T h i s w o r k w a s p a r t i a l l y s p o n s o r e d b y N S F C A R E E R C C R — 0 0 9 2 7 2 4 , D A R P A G r a n t O S U R S O l - C - 1 9 0 1 , O N R G r a n t N 0 0 0 1 4 - 0 1 - 1 - 0 7 4 4 , N S F g r a n t B I A - 0 1 3 0 7 2 4 , a n d a g r a n t f r o m M i c h i g a n S t a t e U n i v e r s i t y . d u r i n g m y v i s i t . I t h a s b e e n a g r e a t p l e a s u r e t o w o r k c l o s e l y w i t h A l i E b n e n a s i r a n d F u a d A b u - j a r a d . T h e y c o — a u t h o r e d m u l t i p l e p a p e r s w i t h m e o n r e v i s i n g U N I T Y p r o g r a m s a n d o n d i s t r i b u t e d r e v i s i o n a l g o r i t h m s . I t i s i m p o s s i b l e t o m e n t i o n t h e i r i n n u m e r a b l e c o n t r i b u t i o n s t o w a r d s m y w o r k . M y s p e c i a l t h a n k s g o t o m y c o l l e a g u e s a t S E N S l a b o r a t o r y M a h e s h A r u m u g a m , S a s c h a K o n r a d , a n d A m i r K h a k p o u r f o r t h e i r c o m m e n t s a n d p r o o f r e a d i n g o f m y p a p e r s . F i n a l l y , I w o u l d l i k e t o u s e t h i s o p p o r t u n i t y t o t h a n k a l l m y f r i e n d s o n M i c h i g a n S t a t e U n i v e r s i t y c a m p u s ; b e c a u s e o f t h e m m y s t a y h e r e h a s b e e n v e r y e n j o y a b l e a n d m e m o r a b l e . v i T A B L E O F C O N T E N T S L I S T O F T A B L E S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x i L I S T O F F I G U R E S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x i i I B a c k g r o u n d . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 I n t r o d u c t i o n 2 1 . 1 C h a l l e n g e s i n A u t o m a t e d P r o g r a m S y n t h e s i s . . . . . . . . . . . . . . . . 4 1 . 2 T h e s i s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1 . 3 C o n t r i b u t i o n s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1 . 4 O u t l i n e o f t h e D i s s e r t a t i o n . . . . . . . . . . . . . . . . . . . . . . . . . . 1 4 2 P r e l i m i n a r y C o n c e p t s 1 6 2 . 1 P r o g r a m s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 6 2 . 1 . 1 T i m e d G u a r d e d C o m m a n d s . . . . . . . . . . . . . . . . . . . . . . . . 2 3 2 . 1 . 2 E x a m p l e ( R e a l - T i m e T r a f fi c C o n t r o l l e r ) . . . . . . . . . . . . . . . . . 2 4 2 . 1 . 3 E x a m p l e ( D i s t r i b u t e d B y z a n t i n e A g r e e m e n t ) . . . . . . . . . . . . . . 2 6 2 . 2 S p e c i fi c a t i o n s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 7 2 . 2 . 1 E x a m p l e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 9 2 . 3 R e g i o n G r a p h s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 0 I I R e v i s i n g P r o g r a m s i n C l o s e d S y s t e m s . . . . . . . . . 3 3 3 T h e R e v i s i o n P r o b l e m i n C l o s e d S y s t e m s 3 5 3 . 1 B a s i c C o n c e p t s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 5 3 . 2 P r o b l e m S t a t e m e n t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 9 4 R e v i s i n g U n t i m e d C e n t r a l i z e d P r o g r a m s 4 3 4 . 1 A d d i n g a S i n g l e P r o g r e s s a n d M u l t i p l e S a f e t y P r o p e r t i e s . . . . . . . . . 4 4 4 . 1 . 1 E x a m p l e : R e a d e r s - W r i t e r s P r o g r a m . . . . . . . . . . . . . . . . . . . . 4 7 4 . 2 A d d i n g M u l t i p l e P r o g r e s s P r o p e r t i e s . . . . . . . . . . . . . . . . . . . . 5 4 4 . 3 A d d i n g a S i n g l e L e a d s - t o P r o p e r t y w i t h M a x i m u m N o n - d e t e r m i n i s m . . . 5 7 5 R e v i s i n g D i s t r i b u t e d P r o g r a m s 6 1 5 . 1 A d d i n g U N I T Y S a f e t y P r o p e r t i e s t o D i s t r i b u t e d P r o g r a m s . . . . . . . . 6 3 5 . 2 A d d i n g U N I T Y P r o g r e s s P r o p e r t i e s t o D i s t r i b u t e d P r o g r a m s . . . . . . . 7 2 5 . 3 A S y m b o l i c H e u r i s t i c f o r A d d i n g L e a d s — T o P r o p e r t i e s . . . . . . . . . . . 8 1 v i i 6 R e v i s i n g R e a l - T i m e P r o g r a m s 8 6 6 . 1 A d d i n g a S i n g l e B o u n d e d - T i m e L e a d s - t o P r o p e r t y . . . . . . . . . . . . . 8 7 6 . 1 . 1 E x a m p l e : R e a l - T i m e R e s o u r c e A l l o c a t i o n . . . . . . . . . . . . . . . . 9 4 6 . 2 R e v i s i n g R e a l - T i m e U N I T Y P r o g r a m s w i t h M a x i m u m N o n - d e t e r m i n i s m 9 5 6 . 3 A d d i n g I n t e r v a l - B o u n d e d L e a d s - t o P r o p e r t i e s . . . . . . . . . . . . . . . 1 0 0 I I I R e v i s i n g P r o g r a m s i n O p e n S y s t e m s . . . . . . . . . 1 0 3 7 T h e R e v i s i o n P r o b l e m i n O p e n S y s t e m s 1 0 6 7 . 1 B a s i c C o n c e p t s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 0 6 7 . 1 . 1 T h e T y p e o f S p e c i fi c a t i o n s i n P a r t I I I . . . . . . . . . . . . . . . . . . 1 0 9 7 . 1 . 2 E x a m p l e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 0 7 . 2 F a u l t M o d e l a n d F a u l t - T o l e r a n c e . . . . . . . . . . . . . . . . . . . . . . 1 1 2 7 . 2 . 1 F a u l t M o d e l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 2 7 . 2 . 2 L e v e l s o f F a u l t - T o l e r a n c e . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 4 7 . 2 . 3 E x a m p l e . . . . . . . . . . . . . _ . . . . . . . . . . . . . . . . . . . . . . 1 1 7 7 . 3 P r o b l e m S t a t e m e n t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 9 8 S y n t h e s i z i n g R e a l - T i m e F a u l t - T o l e r a n t P r o g r a m s 1 2 3 8 . 1 C a s e S t u d y : A l t i t u d e S w i t c h . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 4 8 . 2 A d d i n g N o n m a s k i n g F a u l t - T o l e r a n c e . . . . . . . . . . . . . . . . . . . . 1 3 0 8 . 2 . 1 A d d i n g B o u n d e d - T i m e R e c o v e r y i n t h e P r e s e n c e o f F a u l t s . . . . . . . 1 3 2 8 . 2 . 2 A d d i n g N o n m a s k i n g F a u l t — T o l e r a n c e U s i n g B o u n d e d - T i m e R e c o v e r y . 1 3 7 8 . 3 A d d i n g S o f t a n d H a r d - F a i l s a f e F a u l t - T o l e r a n c e . . . . . . . . . . . . . . . 1 4 6 8 . 3 . 1 A d d i n g S o f t - F a i l s a f e F a u l t - T o l e r a n c e . . . . . . . . . . . . . . . . . . . 1 4 6 8 . 3 . 2 A d d i n g H a r d - F a i l s a f e F a u l t - T o l e r a n c e . . . . . . . . . . . . . . . . . . . 1 5 2 8 . 4 A d d i n g S o f t a n d H a r d - M a s k i n g F a u l t — T o l e r a n c e . . . . . . . . . . . . . . 1 6 1 8 . 4 . 1 A d d i n g S o f t - M a s k i n g F a u l t - T o l e r a n c e . . . . . . . . . . . . . . . . . . . 1 6 2 8 . 4 . 2 A d d i n g H a r d - M a s k i n g F a u l t - T o l e r a n c e . . . . . . . . . . . . . . . . . . 1 6 6 9 S y n t h e s i z i n g B o u n d e d - T i m e P h a s e d R e c o v e r y 1 7 2 9 . 1 B o u n d e d - T i m e P h a s e d R e c o v e r y . . . . . . . . . . . . . . . . . . . . . . . 1 7 4 9 2 C o m p l e x i t y o f S y n t h e s i z i n g B o u n d e d - T i m e 2 - P h a s e R e c o v e r y . . . . . . . 1 7 5 9 . 3 A S u f fi c i e n t C o n d i t i o n f o r a P o l y n o m i a l - T i m e S o l u t i o n . . . . . . . . . . 1 8 0 9 . 3 . 1 E x a m p l e ( c o n t ’ d ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 8 7 1 0 D i s a s s e m b l i n g R e a l - T i m e F a u l t - T o l e r a n t P r o g r a m s 1 9 1 1 0 . 1 B a s i c C o n c e p t s a n d A s s u m p t i o n s . . . . . . . . . . . . . . . . . . . . . . 1 9 4 1 0 . 2 D e t e c t o r s a n d T h e i r R o l e i n H a r d - M a s k i n g P r o g r a m s . . . ‘ . . . . . . . . 1 9 8 1 0 . 2 . 1 D e t e c t o r s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 9 8 1 0 . 2 . 2 C o n t a i n m e n t o f D e t e c t o r s i n R e a l - T i m e P r o g r a m s . . . . . . . . . . . . 1 9 9 1 0 . 2 . 3 E x a m p l e ( c o n t ’ d ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 0 4 1 0 . 2 . 4 T h e N e c e s s i t y o f E x i s t e n c e o f D e t e c t o r s i n H a r d - M a s k i n g P r o g r a m s . . 2 0 5 1 0 . 3 ( I - C o r r e c t o r s a n d T h e i r R o l e i n H a r d - M a s k i n g P r o g r a m s . . . . . . . . . 2 1 0 v i i i 1 0 . 3 . 1 W e a k a n d S t r o n 5 - C o r r e c t o r s . . . . . . . . . . . . . . . . . . . . . . 2 1 0 1 0 . 3 . 2 C o n t a i n m e n t o f - C o r r e c t o r s i n R e a l - T i m e P r o g r a m s . . . . . . . . . . 2 1 2 1 0 . 3 . 3 E x a m p l e ( c o n t ’ d ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1 3 1 0 . 3 . 4 T h e N e c e s s i t y o f E x i s t e n c e O f S t r o n g ( I - C o r r e c t o r s . . . . . . . . . . . . 2 1 4 1 0 . 3 . 5 T h e N e c e s s i t y o f E x i s t e n c e O f W e a k ( S - C o r r e c t o r s . . . . . . . . . . . . 2 2 2 1 1 S y m b o l i c S y n t h e s i s O f D i s t r i b u t e d F a u l t - T o l e r a n t P r o g r a m s 2 2 4 1 1 . 1 T h e S y m b o l i c S y n t h e s i s A l g o r i t h m . . . . . . . . . . . . . . . . . . . . . 2 2 7 1 1 . 2 C a s e S t u d y 1 : B y z a n t i n e A g r e e m e n t . . . . . . . . . . . . . . . . . . . . 2 4 0 1 1 3 C a s e S t u d y 2 : E x p l o i t i n g H u m a n K n o w l e d g e f o r R e d u c i n g C o m p l e x i t y . 2 4 8 1 1 . 4 C a s e S t u d y 3 : B y z a n t i n e A g r e e m e n t w i t h F a i l — S t e p F a u l t s . . . . . . . . 2 5 2 1 1 . 5 C a s e S t u d y 4 : T o k e n R i n g . . . . . . . . . . . . . . . . . . . . . . . . . . 2 5 5 1 1 . 5 . 1 T h e E f f e c t o f M u l t i - S t e p R e c o v e r y . . . . . . . . . . . . . . . . . . . . 2 6 0 1 1 . 6 C a s e S t u d y 5 : I n f u s e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 6 2 1 2 T h e T o o l S Y C R A F T 2 6 9 1 2 . 1 S Y C R A F T I n p u t P r o g r a m L a n g u a g e a n d G r a m m a r . . . . . . . . . . . . 2 7 0 1 2 . 1 . 1 P r o g r a m , C o n s t a n t , a n d V a r i a b l e D e c l a r a t i o n . . . . . . . . . . . . . . 2 7 3 1 2 . 1 . 2 P r o c e s s D e c l a r a t i o n a n d S t r u c t u r e . . . . . . . . . . . . . . . . . . . . 2 7 5 1 2 . 1 . 3 I n v a r i a n t , S a f e t y S p e c i fi c a t i o n , a n d P r o h i b i t e d T r a n s i t i o n s D e c l a r a t i o n 2 8 5 1 2 . 1 . 4 O p e r a t o r P r e c e d e n c e . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 8 6 1 2 . 2 I n t e r n a l F u u c t i o n a l i t y . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 8 7 1 2 . 3 O u t p u t F o r m a t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 9 1 1 2 . 4 E x a m p l e 1 : N e v e r 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 9 1 1 2 . 5 E x a m p l e 2 : T o k e n R i n g . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 9 4 1 2 6 E x a m p l e 3 : B y z a n t i n e A g r e e m e n t . . . . . . . . . . . . . . . . . . . . . . 2 9 7 I V D i s t r i b u t e d a n d P a r a l l e l R e v i s i o n T e c h n i q u e s . . . . 3 0 3 1 3 D i s t r i b u t e d S y n t h e s i s o f C e n t r a l i z e d F a u l t - T o l e r a n t P r o g r a m s 3 0 5 1 3 . 1 P a r a l l e l C o n s t r u c t i o n o f S t a t e S p a c e . . . . . . . . . . . . . . . . . . . . 3 0 7 1 3 . 2 D i s t r i b u t e d A d d i t i o n o f F a i l s a f e F a u l t - T o l e r a n c e . . . . . . . . . . . . . . 3 0 9 1 3 . 3 D i s t r i b u t e d A d d i t i o n o f M a s k i n g F a u l t - T o l e r a n c e . . . . . . . . . . . . . 3 2 0 1 4 P a r a l l e l i z i n g S y m b o l i c D e a d l o c k R e s o l u t i o n 3 2 8 1 4 . 1 T h e D e a d l o c k R e s o l u t i o n P r o b l e m . . . . . . . . . . . . . . . . . . . . . 3 2 9 1 4 . 2 P a r a l l e l S y m b o l i c R e s o l u t i o n o f D e a d l o c k S t a t e s . . . . . . . . . . . . . . 3 3 2 1 4 . 2 . 1 P a r a l l e l A d d i t i o n o f S a f e R e c o v e r y . . . . . . . . . . . . . . . . . . . . 3 3 3 1 4 . 2 . 2 P a r a l l e l S t a t e E l i m i n a t i o n . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 8 V L i t e r a t u r e S u r v e y a n d C o n c l u s i o n . . . . . . . . . . . 3 4 2 1 5 R e l a t e d W o r k 3 4 3 1 5 . 1 P r o g r a m S y n t h e s i s i n C l o s e d S y s t e m s . . . . . . . . . . . . . . . . . . . . 3 4 5 i x 1 5 . 1 . 1 C o m p r e h e n s i v e S y n t h e s i s . . . . . . . . . . . . . . . . . . . . . . . . . 3 4 6 1 5 . 1 . 2 P r o g r a m R e p a i r a n d C o r r e c t i o n . . . . . . . . . . . . . . . . . . . . . . 3 4 7 1 5 . 2 P r o g r a m S y n t h e s i s i n O p e n S y s t e m s . . . . . . . . . . . . . . . . . . . . 3 4 9 1 5 . 2 . 1 A u t o m a t e d S y n t h e s i s o f F a u l t - T o l e r a n c e . . . . . . . . . . . . . . . . . 3 4 9 1 5 . 2 . 2 C o n t r o l l e r S y n t h e s i s . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 5 4 1 5 . 2 . 3 G a m e T h e o r y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 5 6 1 5 . 3 S y n t h e s i s T o o l s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 5 8 1 5 . 4 C o m p o n e n t - B a s e d A n a l y s i s o f F a u l t - T o l e r a n t P r o g r a m s . . . . . . . . . . 3 6 2 1 6 C o n c l u s i o n a n d F u t u r e W o r k 3 6 5 1 6 . 1 C o n t r i b u t i o n s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 6 6 1 6 . 2 O p e n P r o b l e m s a n d F u t u r e R e s e a r c h D i r e c t i o n s . . . . . . . . . . . . . . 3 7 0 1 6 . 2 . 1 O p e n P r o b l e m s R e l a t e d t o C o m p l e x i t y o f S y n t h e s i s . . . . . . . . . . . 3 7 1 1 6 . 2 . 2 O p e n P r o b l e m s o n I m p r o v i n g t h e P e r f o r m a n c e o f E x i s t i n g A l g o r i t h m s 3 7 3 1 6 . 2 . 3 E x t e n d i n g t h e B o u n d a r i e s o f S Y C R A F T . . . . . . . . . . . . . . . . . 3 7 8 1 6 . 3 O t h e r R e s e a r c h D i r e c t i o n s . . . . . . . . . . . . . . . . . . . . . . . . . . 3 8 1 1 6 . 3 . 1 S y n t h e s i z i n g F a u l t - T o l e r a n t H y b r i d S y s t e m s . . . . . . . . . . . . . . . 3 8 1 1 6 . 3 . 2 I n c o r p o r a t i n g M a c h i n e L e a r n i n g a n d D a t a M i n i n g t e c h n i q u e s . . . . . 3 8 2 1 6 . 3 . 3 R e v i s i n g F a u l t - T o l e r a n t D i s t r i b u t e d S y s t e m s i n E p i s t e m i c L o g i c . . . . 3 8 3 B I B L I O G R A P H Y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 8 5 5 . 1 5 . 2 5 . 3 7 . 1 L I S T O F T A B L E S A s s i g n m e n t O f v a l u e s t o v a r i a b l e s i n p r o o f O f T h e o r e m 5 . 1 . 1 . . . . . . A s s i g n m e n t o f v a l u e s t o v a r i a b l e s i n p r o o f o f T h e o r e m 5 . 2 . 1 . . . . . . E x p e r i m e n t a l r e s u l t s o f t h e s y m b o l i c h e u r i s t i c . . . . . . . . . . . . . . L e v e l s o f f a u l t - t o l e r a n c e . . . . . . . . . . . . . . . . . . . . . . . . . . x i 8 4 5 . 1 5 . 2 5 . 3 5 . 4 6 . 1 8 . 1 8 . 2 8 . 3 8 . 4 8 . 5 8 . 6 8 . 7 8 . 8 8 . 9 8 . 1 0 8 . 1 1 8 . 1 2 8 . 1 3 9 . 1 1 1 . 1 L I S T O F F I G U R E S M a p p i n g S A T t o a d d i t i o n O f U N I T Y s a f e t y p r o p e r t i e s . . . . . . . . . . 6 8 T h e s t r u c t u r e O f t h e r e v i s e d d i s t r i b u t e d p r o g r a m ( s a f e t y p r o p e r t y ) . . 7 1 M a p p i n g S A T t o a d d i t i o n o f a p r o g r e s s p r o p e r t y . . . . . . . . . . . . 7 6 T h e s t r u c t u r e O f t h e r e v i s e d d i s t r i b u t e d p r o g r a m ( p r o g r e s s p r o p e r t y ) . 8 0 R e g i o n g r a p h o f t h e r e a l - t i m e r e s o u r c e a l l o c a t i o n p r o g r a m . . . . . . . 9 3 T i m e d g u a r d e d c o m m a n d s o f . A S . . . . . . . . . . . . . . . . . . . . . 1 2 6 R e g i o n g r a p h o f A S . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 8 F a u l t t i m e d a c t i o n s i n A S . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 9 R e g i o n g r a p h w i t h r e s p e c t t o f a u l t - s p a n o f A S . . . . . . . . . . . . . 1 3 0 A d j u s t e d S h o r t e s t p a t h . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3 3 R e g i o n g r a p h o f n o n m a s k i n g A S . . . . . . . . . . . . . . . . . . . . . 1 4 5 R e c o v e r y t i m e d g u a r d e d c o m m a n d s o f n o n m a s k i n g A S . . . . . . . . . 1 4 5 R e g i o n g r a p h o f h a r d - f a i l s a f e A S . . . . . . . . . . . . . . . . . . . . . 1 6 0 R e v i s e d t i m e d g u a r d e d c o m m a n d s o f h a r d - f a i l s a f e A S . . . . . . . . . 1 6 1 R e g i o n g r a p h o f s o f t - m a s k i n g A S . . . . . . . . . . . . . . . . . . . . . 1 6 5 R e c o v e r y a n d r e v i s e d t i m e d g u a r d e d c o m m a n d s o f s o f t - m a s k i n g A S . . 1 6 5 M a p p i n g 3 - S A T t o a d d i t i o n o f h a r d - m a s k i n g f a u l t - t o l e r a n c e . . . . . . 1 6 8 P a r t i a l s t r u c t u r e o f t h e h a r d - m a s k i n g p r o g r a m . . . . . . . . . . . . . 1 7 0 M a p p i n g 2 - p a t h p r o b l e m t o f a u l t - t o l e r a n c e s y n t h e s i s . . . . . . . . . . 1 7 7 E x p e r i m e n t a l r e s u l t s f o r t h e B y z a n t i n e a g r e e m e n t p r o b l e m . . . . . . . 2 4 2 x i i 1 1 . 2 E x p e r i m e n t a l r e s u l t s f o r m o d i fi e d B y z a n t i n e a g r e e m e n t p r o b l e m . . . . 2 4 9 1 1 . 3 E x p e r i m e n t a l r e s u l t s f o r B y z a n t i n e a g r e e m e n t s u b j e c t t o f a i l — s t o p f a u l t s . 2 5 2 1 1 . 4 E x p e r i m e n t a l r e s u l t s f o r t o k e n r i n g m u t u a l e x c l u s i o n p r o g r a m . . . . . 2 5 8 1 1 . 5 E x p e r i m e n t a l r e s u l t s f o r t o k e n r i n g w i t h s i n g l e — s t e p r e c o v e r y . . . . . . 2 6 1 1 1 . 6 E x p e r i m e n t a l r e s u l t s f o r t h e I n f u s e p r o t o c o l i n s e n s o r n e t w o r k s . . . . 2 6 4 1 2 . 1 A s a m p l e r u n s n a p s h o t o f S Y C R A F T . . . . . . . . . . . . . . . . . . . 2 8 9 1 2 . 2 A s a m p l e r u n s n a p s h o t o f S Y C R A F T . . . . . . . . . . . . . - . . . . . . 2 9 0 1 2 . 3 N e v e r 7 p r o g r a m s t a t e - t r a n s i t i o n g r a p h . . . . . . . . . . . . . . . . . . 2 9 2 1 2 . 4 N e v e r 7 p r o g r a m a s i n p u t t o S Y C R A F T . . . . . . . . . . . . . . . . . . 2 9 3 1 2 . 5 F a u l t - t o l e r a n t N e v e r 7 s t a t e - t r a n s i t i o n g r a p h . . . . . . . . . . . . . . . 2 9 4 1 2 . 6 S Y C R A F T o u t p u t : f a u l t - t o l e r a n t N e v e r 7 . . . . . . . . . . . . . . . . . 2 9 5 1 2 . 7 T o k e n r i n g p r o g r a m a s i n p u t t o S Y C R A F T . . . . . . . . . . . . . . . . 2 9 6 1 2 . 8 S Y C R A F T o u t p u t : f a u l t - t o l e r a n t t o k e n r i n g . . . . . . . . . . . . . . . 2 9 8 1 2 . 9 T h e B y z a n t i n e a g r e e m e n t p r o b l e m a s i n p u t t o S Y C R A F T . . . . . . . . 3 0 1 1 2 . 1 O S Y C R A F T o u t p u t : f a u l t - t o l e r a n t B y z a n t i n e a g r e e m e n t . . . . . . . . . 3 0 2 1 4 . 1 I n c o n s i s t e n c i e s r a i s e d b y c o n c u r r e n c y . . . . . . . . . . . . . . . . . . . 3 3 9 x i i i P a r t I B a c k g r o u n d C h a p t e r 1 I n t r o d u c t i o n A s s e r t i n g c o r r e c t n e s s i n a p r o g r a m i s t h e m o s t i m p o r t a n t a s p e c t a n d a p p l i c a t i o n O f f o r m a l m e t h o d s . T w o a p p r o a c h e s t o a c h i e v e c o r r e c t n e s s a u t o m a t i c a l l y i n s y s t e m d e s i g n a r e : e c o r r e c t - b y - v e r i fi c a t i o n , a n d o c o r r e c t - b y — c o n s t r u c t i o n . A u t o m a t e d v e r i fi c a t i o n ( a n d i n p a r t i c u l a r m o d e l c h e c k i n g ) i s a r g u a b l y o n e O f t h e m o s t s u c c e s s f u l c o n t r i b u t i o n s O f f o r m a l m e t h o d s i n h a r d w a r e a n d s o f t w a r e d e v e l o p - m e n t i n t h e p a s t t h r e e d e c a d e s . H o w e v e r , i f v e r i fi c a t i o n o f a p r o g r a m a g a i n s t a m a t h e m a t i c a l m o d e l ( e . g . , a s e t O f p r o p e r t i e s ) i d e n t i fi e s a n e r r o r i n t h e s y s t e m , o n e n e e d s t o fi x t h e e r r o r m a n u a l l y . S u c h m a n u a l r e v i s i o n i n e v i t a b l y r e q u i r e s a n o t h e r s t e p O f v e r i fi c a t i o n i n o r d e r t o e n s u r e t h a t t h e e r r o r i s i n d e e d r e s o l v e d a n d t h a t , n O n e w e r r o r s a r e i n t r o d u c e d t o t h e p r o g r a m a t h a n d . T h u s , a c c o m p l i s h i n g c o r r e c t n e s s t h r o u g h v e r i fi c a t i o n i n v o l v e s a c y c l e o f d e s i g n , v e r i fi c a t i o n , a n d s u b s e q u e n t l y m a n u a l r e v i s i o n , i f t h e v e r i fi c a t i o n s t e p d o e s n o t s u c c e e d . A n o t h e r c o m m o n s c e n a r i o i s w h e r e r e q u i r e m e n t s O f a p r o g r a m e v o l v e d u r i n g t h e p r o g r a m l i f e c y c l e . E v o l u t i o n O f r e q u i r e m e n t s i s l a r g e l y d u e t o t w o m a j o r f a c t o r s : c h a n g e o f e n v i r o n m e n t a n d t h e i n c o m p l e t e s p e c i fi c a t i o n p h e n o m e n o n . A S a m a t t e r O f f a c t , t h e l a t t e r h a s b e c o m e a c u s t o m a r y s t u m b l i n g i s s u e i n v i r t u a l l y a n y d e s i g n a n d d e v e l o p m e n t t e a m . I n t h i s s c e n a r i o , i n o r d e r t o m a i n t a i n a n e x i s t i n g p r o g r a m a c c o r d i n g t o c h a n g e s i n s p e c i fi c a t i o n , o n e n e e d s t o m o d i f y t h e p r o g r a m s o t h a t i t s a t i s fi e s a d d i t i o n a l p r o p e r t i e s o f i n t e r e s t , w h i l e s a t i s f y i n g e x i s t i n g p r o p e r t i e s . A g a i n , r e d e s i g n i n g a p r o g r a m m a n u a l l y t o a d d r e s s t h e a b o v e i s s u e s m a y b e a t e d i o u s t a s k , a s i t s i m p l y m a y n o t b e s u c c e s s f u l a n d p o t e n t i a l l y i n t r o d u c e s a d d i t i o n a l h u m a n e r r o r s t o t h e e x i s t i n g p r o g r a m . T h i s i t e r a t i v e p r o c e d u r e o f v e r i fi c a t i o n a n d m a n u a l r e v i s i o n O f p r o g r a m s O f t e n r e q u i r e s a v a s t a m o u n t o f r e s o u r c e s . I n o t h e r w o r d s , a c h i e v i n g c o r r e c t n e s s b y v e r i fi c a t i o n i s a n a f t e r - t h e - f a c t t a s k , w h i c h m a y p o t e n t i a l l y b e c o s t l y . T h e a b o v e s c e n a r i o s c l e a r l y m o t i v a t e t h e n e e d f o r a u t o m a t i n g t h e r e v i s i o n p h a s e . A n a u t o m a t e d m e t h o d s h o u l d r e v i s e a p r o g r a m s o t h a t t h e o u t p u t p r o g r a m p r e s e r v e s e x i s t i n g p r o p e r t i e s o f t h e i n p u t p r o g r a m i n a d d i t i o n t o s a t i s f y i n g n e w p r o p e r t i e s . U s - i n g s u c h r e v i s i o n , t h e r e i s n o n e e d t o r e — v e r i f y t h e c o r r e c t n e s s o f t h e r e v i s e d p r o g r a m . I n o t h e r w o r d s , t h e r e s u l t i n g p r o g r a m i s c o r r e c t - b y - c o n s t r u c t i o n . T a k i n g t h e p a r a d i g m o f c o r r e c t - b y - c o n s t r u c t i o n t o e x t r e m e l e a d s u s t o a u t o m a t e d s y n t h e s i s , w h e r e a p r o — g r a m i s c o n s t r u c t e d f r o m a s e t o f p r o p e r t i e s f r o m s c r a t c h . A l t e r n a t i v e l y , i n p r o g r a m r e v i s i o n , a n a u t o m a t e d m e t h o d t r a n s f o r m s a n i n p u t p r o g r a m i n t o a n o u t p u t p r o g r a m t h a t m e e t s a d d i t i o n a l p r o p e r t i e s . I n t h e r e s t O f t h i s c h a p t e r , fi r s t i n S e c t i o n 1 . 1 , w e d e s c r i b e t h e c h a l l e n g e s a n d d e m a n d s i n t h e b r o a d c o n t e x t o f p r o g r a m s y n t h e s i s a n d i n p a r t i c u l a r p r o g r a m r e v i s i o n . T h e n , w e s t a t e t h e t h e s i s t h a t w e d e f e n d i n t h i s d i s s e r t a t i o n i n S e c t i o n 1 . 2 . W e p r e s e n t t h e c o n t r i b u t i o n s o f t h e d i s s e r t a t i o n i n S e c t i o n 1 . 3 . F i n a l l y , w e d e s c r i b e t h e o u t l i n e o f t h e d i s s e r t a t i o n i n S e c t i o n 1 . 4 . 1 . 1 C h a l l e n g e s i n A u t o m a t e d P r o g r a m S y n t h e s i s T h e s e m i n a l w o r k o n p r o g r a m v e r i fi c a t i o n a n d s y n t h e s i s w a s p u b l i s h e d a t a b o u t t h e s a m e t i m e [ E C 8 2 , M W 8 4 , V W 8 6 , C E S 8 6 ] . H o w e v e r , w h i l e t h e r e h a v e b e e n i m p r e s s i v e a d v a n c e s i n t h e o r y o f m o d e l c h e c k i n g a n d i t s d e p l o y m e n t i n p r a c t i c e , l e s s a t t e n t i o n h a s b e e n p a i d t o p r o g r a m s y n t h e s i s i n t h e f o r m a l m e t h o d s c o m m u n i t y . W e b e l i e v e t h a t t h e r e a r e t w o r e a s o n s f o r t h e e x i s t i n g g a p b e t w e e n t h e s t a t e - o f - t h e - a r t t h e o r y a n d p r a c t i c e o f a u t o m a t e d p r o g r a m s y n t h e s i s a s c o m p a r e d t o v e r i fi c a t i o n : 1 . I n v e r i fi c a t i o n , w e O f t e n v e r i f y o n e p r o p e r t y a t a t i m e , w h e r e a s i n s y n t h e s i s , w e s t a r t w i t h a s e t o f t e m p o r a l a s s e r t i o n s . M o r e p r e c i s e l y , i n v e r i fi c a t i o n , c o m p l e x s t r u c t u r e o f o n e p r o p e r t y d o e s n o t a f f e c t v e r i fi c a t i o n o f o t h e r e a s y - t O - h a n d l e p r o p e r t i e s . H o w e v e r , i n s y n t h e s i s , t h i s i s o b v i o u s l y n o t t h e c a s e [ K P V 0 6 ] . 2 . T h e c o m p l e x i t y o f d e c i s i o n p r o c e d u r e s i n s y n t h e s i s a l g o r i t h m s a r e g e n e r a l l y h i g h e r t h a n t h o s e i n v e r i fi c a t i o n a l g o r i t h m s . O n e m a y a r g u e t h a t t h i s r e a s o n i s n o t c o m p e l l i n g , a s t h e c o m p l e x i t y o f s y n t h e s i s a l g o r i t h m s a r e m e a s u r e d i n t h e s i z e O f f o r m u l a e t o b e s y n t h e s i z e d a n d t h e c o m p l e x i t y O f v e r i fi c a t i o n a l - g o r i t h m s a r e m e a s u r e d i n t h e S i z e o f t h e g i v e n m o d e l . I n a d d i t i o n , o n e m a y a r g u e t h a t t h e w o r s t c a s e c o m p l e x i t y i n b o t h v e r i fi c a t i o n a n d s y n t h e s i s i s r a r e l y r a i s e d . H o w e v e r , w e n o t e t h a t t h e r e e x i s t c a s e s , w h e r e s y n t h e s i z i n g a p r o p - e r t y i s u n d e c i d a b l e , w h e r e a s i t s v e r i fi c a t i o n i s d e c i d a b l e [ A H 9 3 ] . I n s u c h c a s e s , t h e c o m p l e x i t y o f d e c i s i o n p r o c e d u r e o f a s y n t h e s i s a l g o r i t h m h a s a s i g n i fi c a n t i m p a c t o n f e a s i b i l i t y o f s y n t h e s i s . T w o b r o a d a p p r o a c h e s f o r d e a l i n g w i t h a u t o m a t e d s y n t h e s i s a r e t h e f o l l o w i n g : 1 . I n c o m p r e h e n s i v e s y n t h e s i s , t h e d e s i g n e r d e v e l o p s a n e w p r o g r a m f r o m s c r a t c h t h a t i m p l e m e n t s a s e t o f p r o p e r t i e s . S e v e r a l a p p r o a c h e s e x i s t i n t h e c o n t e x t o f c o m p r e h e n s i v e s y n t h e s i s [ E C 8 2 , M W 8 4 , A E 0 1 , L W 9 0 , L L 9 2 , R L L 0 3 , R o h 0 4 , W H T 0 3 , T h O O 2 , M N P 0 6 , A F H 9 6 ] m o s t o f w h i c h r e q u i r e a c o m p l e t e s p e c i fi c a - t i o n a n d a r e b a s e d o n d e v e l o p i n g a s a t i s fi a b i l i t y p r o o f o f a f o r m u l a . C o m p r e - h e n s i v e s y n t h e s i s a l s o a l l o w s l e s s e m p h a s i s o n r e u s e i n t h e f a c e o f c o n s t a n t l y c h a n g i n g p r o g r a m s p e c i fi c a t i o n s . 2 . I n p r o g r a m r e v i s i o n ( a l s o c a l l e d l o c a l r e d e s i g n o r p r o g r a m r e p a i r ) [ B E K a r , B K 0 6 a , J G B 0 5 , E K B O S ] , t h e d e s i g n e r r e v i s e s a n e x i s t i n g p r o g r a m b y r e m o v i n g t h e b e h a v i o r s t h a t v i o l a t e a p r O p e r t y O f i n t e r e s t w i t h o u t a d d i n g a n y n e w b e h a v - i o r s . I n o t h e r w o r d s , p r o g r a m r e v i s i o n i s a n a u t o m a t e d m e t h o d t h a t t r a n s f o r m s a n i n p u t p r o g r a m i n t o a n o u t p u t p r o g r a m t h a t m e e t s a d d i t i o n a l p r o p e r t i e s . C o m p r e h e n s i v e s y n t h e s i s h a s m o s t l y b e e n s t u d i e d i n t w o c o n t e x t s : ( 1 ) s y n t h e s i s f r o m s p e c i fi c a t i o n , a n d ( 2 ) s y n t h e s i s v i a s o l v i n g g a m e s . I n t h e f o r m e r , t h e s y n t h e s i s p r o b l e m r e d u c e s t o t h e s a t i s fi a b i l i t y p r o b l e m o f t h e c o r r e s p o n d i n g s p e c i fi c a t i o n l a n - g u a g e . S u c h m e t h o d s o n l y a d d r e s s s y n t h e s i s o f c l o s e d s y s t e m s , w h e r e t h e s y s t e m d o e s n o t i n t e r a c t w i t h t h e e n v i r o n m e n t . I n t h e l a t t e r , t h e s y n t h e s i s p r o b l e m r e d u c e s t o t h e r e a l i z a b i l i t y p r o b l e m [ A L V V 8 9 ] O f t h e c o r r e s p o n d i n g S p e c i fi c a t i o n l a n g u a g e . T h e r e a l i z a b i l i t y p r o b l e m c o n s i d e r s o p e n s y s t e m s , w h e r e t h e s y s t e m i n t e r a c t s w i t h t h e e n v i r o n m e n t . I n r e a c t i v e s y s t e m s , t h e s y n t h e s i s p r o b l e m i s v i e w e d a s i d e n t i f y i n g a w i n n i n g s t r a t e g y i n a g a m e b e t w e e n t h e s y s t e m a n d t h e e n v i r o n m e n t . S u c h m e t h o d s t r a n s f o r m t h e s p e c i fi c a t i o n i n t o a p a r i t y a u t o m a t o n [ E J 9 1 ] o v e r u n f o l d e d p r o g r a m s r e p r e s e n t e d a s i n fi n i t e t r e e s a n d c h e c k s w h e t h e r s u c h a n a u t o m a t o n i s n o n e m p t y , i . e . , i t a c c e p t s s o m e i n fi n i t e t r e e [ P R 8 9 a ] . O n e d r a w b a c k O f s p e c i fi c a t i o n - b a s e d s y n t h e s i s m e t h o d s , w h e r e w e s t a r t s y n t h e - s i z i n g w i t h a s e t o f p r o p e r t i e s , i s t h a t a n y c h a n g e i n t h e s p e c i fi c a t i o n r e q u i r e s u s t o r e d o s y n t h e s i s f r o m s c r a t c h . T h e d i f fi c u l t y w i t h t r e e a u t o m a t a — t h e o r e t i c m e t h o d s i s t h a t t h e y r e q u i r e d e t e r m i n i z a t i o n o f B i i c h i a u t o m a t a . S u c h d e t e r m i n i z a t i o n i n t u r n e x h i b i t s t h e f o l l o w i n g t w o o b s t a c l e s : ( 1 ) i t h a s b e e n s h o w n t o b e r e s i s t a n t t o e f fi c i e n t i m p l e m e n t a t i o n [ A T W 0 5 , T H B Q S ] , a n d ( 2 ) i t r e s u l t s w i t h a v e r y c o m p l i c a t e d s t a t e s p a c e [ J u r 0 0 ] , w h i c h i s n o t s u i t e d f o r O p t i m i z e d i m p l e m e n t a t i o n s u c h a s s y m b o l i c t e c h n i q u e s . W h i l e s y n t h e s i s f r o m s p e c i fi c a t i o n i s u n d o u b t e d l y u s e f u l i n c a s e s w h e r e n o p r o - g r a m e x i s t s t o s t a r t f r o m , i t s u f f e r s f r o m l a c k o f r e u s e a n d r e s i s t a n c e t o e f fi c i e n t i m p l e m e n t a t i o n . A l t e r n a t i v e l y , p r o g r a m r e v i s i o n m a y r e m e d y b o t h s h o r t c o m i n g s o f c o m p r e h e n s i v e s y n t h e s i s . I n t h i s d i s s e r t a t i o n , w e f o c u s o n a u t o m a t e d r e v i s i o n o f d i s t r i b u t e d a n d r e a l - t i m e p r o g r a m s . 1 . 2 T h e s i s C o m p r e h e n s i v e a p p r o a c h e s m e n t i o n e d i n S e c t i o n 1 . 1 p l a y a n i m p o r t a n t r o l e i n t h e b r o a d a r e a o f p r o g r a m s y n t h e s i s . H o w e v e r , i n t h e f a c e o f i n c r e a s i n g l y d y n a m i c s y s t e m s w i t h e v o l v i n g r e q u i r e m e n t s , p r o g r a m r e v i s i o n i s h i g h l y d e s i r a b l e d u e t o t h e f o l l o w i n g r e a s o n s : 1 . I t h a s t h e p o t e n t i a l t o r e u s e c e r t a i n c o m p u t a t i o n s O f a n e x i s t i n g p r o g r a m w i t h — o u t a c t u a l l y e x a c e r b a t i n g t h e c o m p l e x i t y o f t h e s t a t e s p a c e e x p l o s i o n p r o b l e m ( u n l i k e a u t o m a t a — t h e o r e t i c a p p r o a c h e s ) . 2 . I t c a n b e a p p l i e d i n c a s e s w h e r e a c o m p l e t e s p e c i fi c a t i o n o f a p r o g r a m i s n o t a v a i l a b l e . 3 . I t c a n a l s o b e a p p l i e d i n c a s e s w h e r e t h e e x i s t i n g p r o g r a m s a t i s fi e s p r o p e r t i e s w h o s e a u t o m a t e d s y n t h e s i s i s u n d e c i d a b l e o r l i e s i n h i g h l y c o m p l e x c l a s s e s o f c o m p l e x i t y . O n e e x a m p l e o f a p r o p e r t y w h o s e s y n t h e s i s i s u n d e c i d a b l e i s t h e s o - c a l l e d r e a l - t i m e p u n c t u a l i t y p r o p e r t y [ A F H 9 6 ] ; a p r o p e r t y w i t h p r e c i s e e v e n - t u a l i t y 0 : 5 6 2 . 4 . I t r e t a i n s t h e c u r r e n t s t r u c t u r e o f t h e p r o g r a m t o b e r e v i s e d a n d a d d t h e n e w l y i d e n t i fi e d r e q u i r e m e n t s t o t h e p r o g r a m i n a n i n c r e m e n t a l f a s h i o n . S u c h i n - c r e m e n t a l s y n t h e s i s i s e s p e c i a l l y u s e f u l w h e n t h e o r i g i n a l p r o g r a m i s d e s i g n e d m a n u a l l y , e . g . , f o r e n s u r i n g b e t t e r e fi i c i e n c y . A l t h o u g h p r o g r a m r e v i s i o n p r e s e n t s p o t e n t i a l u s e f u l a p p l i c a t i o n s , t h e q u e s t i o n O f i t s f e a s i b i l i t y r e m a i n s O p e n i n t h e l i t e r a t u r e . W i t h t h i s m o t i v a t i o n , w e f o c u s o n c o m p l e x i t y a n a l y s i s a n d c o n s e q u e n t l y p r a c t i c a l i t y o f p r o g r a m r e v i s i o n . I n f a c t , i n t h i s d i s s e r t a t i o n , w e p r o p o s e a n d d e f e n d t h e f o l l o w i n g t h e s i s : A u t o m a t e d r e v i s i o n o f m o d e r a t e - s i z e d d i s t r i b u t e d a n d r e a l - t i m e p r o g r a m s i s f e a s i b l e . T h e c o n t r i b u t i o n s m a d e i n t h i s d i s s e r t a t i o n v a l i d a t e t h i s t h e s i s . B r i e f l y , b a s e d o n t h e s t r u c t u r e o f t h e i n p u t p r o g r a m a n d t h e p r o p e r t y O f i n t e r e s t , w e c l a s s i f y o u r c o n t r i - b u t i o n s i n t o c a s e s w h e r e ( 1 ) p o l y n o m i a l — t i m e s o u n d a n d c o m p l e t e r e v i s i o n a l g o r i t h m e x i s t s , ( 2 ) t h e t i m e c o m p l e x i t y o f r e v i s i o n i s e x p o n e n t i a l , a n d ( 3 ) e f f i c i e n t r e v i s i o n v i a d e v e l o p i n g h e u r i s t i c s i s p o s s i b l e a t t h e c o s t o f l o s i n g c o m p l e t e n e s s . 1 . 3 C o n t r i b u t i o n s I n t h i s d i s s e r t a t i o n , w e s t u d y t h e p r o b l e m o f a u t o m a t e d r e v i s i o n o f d i s t r i b u t e d a n d r e a l - t i m e p r o g r a m s . W e r e q u i r e t h a t s u c h r e v i s i o n m u s t r e s u l t i n a p r o g r a m t h a t c o n - t i n u e s t o s a t i s f y a l l u n i v e r s a l l y q u a n t i fi e d p r o p e r t i e s O f t h e o r i g i n a l p r o g r a m . S i n c e d e v e l o p i n g f o r m a l a n a l y s i s m e t h o d s t h a t c a n h a n d l e a n y a r b i t r a r y p r o p e r t y r e q u i r e s d e a l i n g w i t h h i g h l y c o m p l e x d e c i s i o n p r o c e d u r e s , w e f o c u s o n p r o p e r t i e s a n d r e q u i r e - m e n t s t h a t a r e t y p i c a l l y u s e d i n s p e c i f y i n g r e a l — t i m e a n d d i s t r i b u t e d s y s t e m s . F o r i n s t a n c e , w e c o n s i d e r u n t i m e d a n d r e a l - t i m e U N I T Y [ C M 8 8 ] p r o p e r t i e s a n d t h e i r v a r i - a t i o n s . A s m e n t i o n e d e a r l i e r , i n o r d e r t o a d d r e s s t h e f e a s i b i l i t y o f a u t o m a t e d p r o g r a m r e v i s i o n , w e c l a s s i f y o u r r e s u l t s i n t o t h e f o l l o w i n g t h r e e t y p e s : o P o l y n o m i a l - t i m e s o u n d a n d c o m p l e t e r e v i s i o n a l g o r i t h m s . A r e v i s i o n a l g o r i t h m w o u l d b e e s p e c i a l l y u s e f u l , i f i t w e r e s o u n d a n d c o m p l e t e . A s o u n d a l g o r i t h m e n s u r e s t h a t t h e r e v i s e d p r o g r a m m e e t s t h e n e w s p e c i fi c a t i o n ( i n a d - d i t i o n t o p r e s e r v i n g a l l p r o p e r t i e s o f t h e o r i g i n a l p r o g r a m ) . T h i s r e q u i r e m e n t e s s e n t i a l l y i m p l i e s t h a t t h e r e v i s e d p r o g r a m i s c o r r e c t - b y - c o n s t r u c t i o n . M o r e - o v e r , a c o m p l e t e a l g o r i t h m p r o v i d e s d e s i g n e r s w i t h i n s i g h t t o d e c i d e w h e t h e r a p r o g r a m c a n b e r e v i s e d a s i t i s , o r i f i t n e e d s t o b e r e d e s i g n e d f r o m s c r a t c h . T h i s i s b e c a u s e w h e n a c o m p l e t e r e v i s i o n a l g o r i t h m c o n c l u d e s t h a t a g i v e n p r o g r a m c a n n o t b e r e v i s e d , i t m e a n s t h a t a l l b e h a v i o r s O f t h e i n p u t p r o g r a m c o n t r a - d i c t t h e n e w s p e c i fi c a t i o n . S u c h a u t o m a t e d a s s i s t a n c e i s h i g h l y d e s i r a b l e f o r a d e s i g n e r , a s i t s i g n i fi c a n t l y d e c r e a s e s t h e d e s i g n t i m e b y w a r n i n g t h e d e s i g n e r a b o u t s p e n d i n g t i m e o n fi x i n g a p r o g r a m t h a t i s n o t fi r a b l e [ B K 0 6 a , E K B 0 5 ] . 0 I d e n t i f y i n g c o m p l e x i t y h i e r a r c h y . T h e k n o w l e d g e o f c o m p l e x i t y b o u n d s i s e s p e c i a l l y i m p o r t a n t i n b u i l d i n g t o o l s f o r a u t o m a t e d p r o g r a m r e v i s i o n . F o r i n - s t a n c e , a n N P - c o m p l e t e n e s s r e s u l t d e m o n s t r a t e s t h a t c o r r e s p o n d i n g t o o l s m u s t u t i l i z e e f fi c i e n t h e u r i s t i c s t o e x p e d i t e t h e r e v i s i o n a l g o r i t h m a t t h e c o s t o f c o m - p l e t e n e s s . M o r e o v e r , h a r d n e s s p r o o f s O f t e n i d e n t i f y w h e r e t h e e x p o n e n t i a l c o m - p l e x i t y l i e s i n t h e p r o b l e m . T h u s , t h o r o u g h a n a l y s i s o f p r o o f s i s a l s o c r u c i a l i n d e v i s i n g e f fi c i e n t h e u r i s t i c s . 0 E f fi c i e n t r e v i s i o n h e u r i s t i c s . T h e c o m p l e x i t y O f a u t o m a t e d s y n t h e s i s c a n b e c h a r a c t e r i z e d i n t w o p a r t s . T h e fi r s t p a r t h a s t o d e a l w i t h q u e s t i o n s s u c h a s w h i c h t r a n s i t i o n s / s t a t e s s h o u l d b e a d d e d t o t h e i n p u t p r o g r a m , a n d w h i c h t r a n s i t i o n s / s t a t e s s h o u l d b e r e m o v e d f r o m t h e i n p u t p r o g r a m . T h e s e c o n d p a r t h a s t o d e a l w i t h q u e s t i o n s s u c h a s h o w q u i c k l y s u c h a d d i t i o n a n d r e m o v a l c a n b e a c h i e v e d . I n p a r t i c u l a r , w h e n a r e v i s i o n p r o b l e m i n v o l v e s e x p o n e n t i a l c o m p l e x - i t y , w e n e e d t o d e v i s e h e u r i s t i c s t h a t c a n s o l v e t h e p r o b l e m i n p o l y n o m i a l - t i m e a t t h e c o s t o f c o m p l e t e n e s s . S u c h h e u r i s t i c s a r e o f t e n t h e c o r e o f t o o l s f o r a u t o m a t e d f o r m a l a n a l y s i s . W e a l s o p r e s e n t s o m e r e s u l t s i n t h e c o n t e x t O f u n t i m e d c e n t r a l i z e d p r o g r a m s f o r t w o r e a s o n s : 1 . s u c h r e s u l t s p r o v i d e a v a l u a b l e i n s i g h t i n t o t h e i m p a c t o f a u g m e n t i n g p r o g r a m s w i t h t h e n o t i o n o f t i m e a n d d i s t r i b u t i o n , a n d 2 . a h a r d n e s s r e s u l t f o r r e v i s i n g u n t i m e d c e n t r a l i z e d p r o g r a m s w i t h r e s p e c t t o a p a r t i c u l a r p r o p e r t y i d e n t i fi e s a l o w e r b o u n d o n t h e c o m p l e x i t y o f t h e c o r r e - s p o n d i n g p r o b l e m i n t h e c o n t e x t o f d i s t r i b u t e d a n d r e a l - t i m e p r o g r a m s . O u r r e v i s i o n a p p r o a c h i s g r a p h - t h e o r e t i c i n t h e s e n s e t h a t w e fi r s t t r a n s f o r m a p r o g r a m i n t o a d i r e c t e d s t a t e — t r a n s i t i o n g r a p h . I n c a s e O f r e a l - t i m e p r o g r a m s , t h e g r a p h i s w e i g h t e d . T h e n , u s i n g t h e s t a n d a r d a l g o r i t h m s i n g r a p h t h e o r y , w e m a n i p u - l a t e t h e g r a p h s u c h t h a t t h e p r o g r a m a s s o c i a t e d w i t h t h e r e s u l t a n t g r a p h m e e t s t h e d e s i r e d p r o p e r t i e s . W e s t u d y t h e r e v i s i o n p r o b l e m f r o m f o u r d i f f e r e n t p e r s p e c t i v e s d e s c r i b e d n e x t . 1 . A d d i n g p r o p e r t i e s t o e x i s t i n g d i s t r i b u t e d , u n t i m e d , a n d r e a l - t i m e p r o g r a m s 1 0 T h i s p a r t o f o u r r e s e a r c h a d d r e s s e s i a u t o m a t e d r e v i s i o n O f p r o g r a m s i n c l o s e d s y s t e m s [ B E K a r , B K 0 8 b , B K 0 6 a , E K B O 5 ] . I n o t h e r w o r d s , w e c o n s i d e r c a s e s w h e r e t h e g i v e n p r o g r a m d o e s n o t i n t e r a c t w i t h t h e e n v i r o n m e n t . I n p a r t i c u l a r , w e s t u d y t h e c o m p l e x i t y o f a d d i n g d i f f e r e n t t y p e s o f U N I T Y p r o p e r t i e s t o e x i s t - i n g u n t i m e d c e n t r a l i z e d , d i s t r i b u t e d , a n d r e a l - t i m e p r o g r a m s . U N I T Y p r o p e r t i e s a r e h i g h l y e x p r e s s i v e f o r s p e c i f y i n g d i s t r i b u t e d a n d r e a l - t i m e p r o g r a m s [ C M 8 8 ] . W e S h o w t h a t t h e c o m p l e x i t y O f a d d i n g U N I T Y p r o p e r t i e s s i g n i fi c a n t l y v a r i e s i n t h e c o n t e x t O f u n t i m e d c e n t r a l i z e d , d i s t r i b u t e d , a n d r e a l - t i m e p r o g r a m s . W e a l s o S h o w t h a t s m a l l c h a n g e s i n c o n s t r a i n t s o f a p r o p e r t y ( e . g . , S p e c i f y i n g a l o w e r b o u n d i n a b o u n d e d - t i m e l e a d s - t o p r o p e r t y ) m a y c o n s i d e r a b l y c h a n g e t h e c o m p l e x i t y h i e r a r c h y o f r e v i s i o n . M o r e o v e r , w e S h o w t h a t i m p o s i n g s m a l l c o n s t r a i n t s o n t h e s e m a n t i c s O f t h e r e v i s e d p r o g r a m ( e . g . , a d d i n g a p r o p e r t y w h i l e p r e s e r v i n g m a x i m u m n o n - d e t e r m i n i s m ) c a n a l s o s i g n i fi c a n t l y c h a n g e t h e c o m p l e x i t y h i e r a r c h y o f r e v i s i o n . . A d d i n g f a u l t - t o l e r a n c e t o e x i s t i n g f a u l t - i n t o l e r a n t r e a l - t i m e p r o g r a m s T h i s p a r t O f o u r r e s e a r c h a d d r e s s e s r e v i s i o n o f p r o g r a m s i n r e a c t i v e s y s t e m s w h e r e t h e p r o g r a m i n t e r a c t s w i t h t h e e n v i r o n m e n t [ B K 0 6 b , B K A 0 8 , B K 0 8 a ] . W e m o d e l s u c h i n t e r a c t i o n s b y a s e t o f f a u l t s , w h i c h c a u s e e i t h e r u n e x p e c t e d s t a t e p e r t u r b a t i o n s o r t i m e d e l a y s . I n o r d e r t o c h a r a c t e r i z e f a u l t - t o l e r a n c e r e - q u i r e m e n t s o f p r o g r a m s , w e c o n s i d e r t h r e e l e v e l s o f f a u l t — t o l e r a n c e . T h e s e l e v e l s a r e n o n m a s k i n g ( r e s p e c t i v e l y , s t a b i l i z i n g ) , f a i l s a f e , a n d m a s k i n g , b a s e d o n s a t i s - f a c t i o n O f s a f e t y a n d l i v e n e s s p r o p e r t i e s i n t h e p r e s e n c e o f f a u l t s [ A G 9 3 , K u 1 9 9 ] . 1 1 F u r t h e r m o r e , i n o r d e r t o c a p t u r e t h e t i m e - r e l a t e d b e h a v i o r s O f p r o g r a m s i n t h e p r e s e n c e o f f a u l t s , w e p r o p o s e t w o a d d i t i o n a l l e v e l s , n a m e l y , s o f t a n d h a r d f a u l t - t o l e r a n c e , b a s e d o n s a t i s f a c t i o n o f t i m i n g c o n s t r a i n t s i n t h e p r e s e n c e O f f a u l t s . I n t u i t i v e l y , i n t h e a b s e n c e o f f a u l t s , b o t h s o f t a n d h a r d f a u l t - t o l e r a n t p r o g r a m s a r e r e q u i r e d t o s a t i s f y t h e i r t i m i n g c o n s t r a i n t s . H o w e v e r , i n t h e p r e s e n c e o f f a u l t s , a s o f t f a u l t - t o l e r a n t p r o g r a m i s n o t r e q u i r e d t o s a t i s f y i t s t i m i n g c o n - s t r a i n t s w h i l e a h a r d f a u l t - t o l e r a n t p r o g r a m i s r e q u i r e d t o d o s o . M o r e o v e r , f o r n o n m a s k i n g a n d m a s k i n g f a u l t - t o l e r a n c e , w e r e q u i r e t h a t r e c o v e r y t o t h e n o r m a l b e h a v i o r o f a p r o g r a m s h o u l d b e a c h i e v e d w i t h i n a b o u n d e d a m o u n t o f t i m e . E q u i p p e d w i t h t h e n o t i o n o f l e v e l s o f f a u l t - t o l e r a n c e , w e s t u d y t h e e f f e c t o f r e s t r i c t i o n s o f e a c h l e v e l o n t h e c o m p l e x i t y o f a d d i t i o n O f f a u l t - t o l e r a n c e t o e x i s t i n g f a u l t - i n t o l e r a n t r e a l - t i m e p r o g r a m s . . D e v e l o p i n g t e c h n i q u e s a n d t o o l s f o r a d d i n g f a u l t - t o l e r a n c e t o f a u l t — i n t o l e r a n t p r o g r a m s i n p r a c t i c e A s m e n t i o n e d e a r l i e r , t h e c o m p l e x i t y O f a u t o m a t e d s y n t h e s i s O f f a u l t — t o l e r a n t p r o g r a m s c a n b e c h a r a c t e r i z e d i n t w o p a r t s . T h e fi r s t p a r t h a s t o d e a l w i t h q u e s t i o n s s u c h a s w h i c h t r a n s i t i o n s / s t a t e s s h o u l d b e a d d e d , a n d w h i c h t r a n - s i t i o n s / s t a t e s s h o u l d b e r e m o v e d t o p r e v e n t v i o l a t i o n o f s p e c i fi c a t i o n i n t h e p r e s e n c e o f f a u l t s . T h e s e c o n d p a r t h a s t o d e a l w i t h q u e s t i o n s s u c h a s h o w q u i c k l y s u c h s t a t e s a n d t r a n s i t i o n s c a n b e i d e n t i fi e d . I n t h e a b o v e t w o p a r t s O f o u r c o n t r i b u t i o n s , w e f o c u s o n t h e fi r s t . q u e s t i o n t o i d e n t i f y t h e c o m p l e x i t y O f v a r i o u s r e v i s i o n p r o b l e m s . O b s e r v e t h a t t h e s o l u t i o n t o t h e fi r s t q u e s t i o n i s i n d e — 1 2 p e n d e n t O f i s s u e s s u c h a s r e p r e s e n t a t i o n o f p r o g r a m s , f a u l t s , s p e c i fi c a t i o n s , e t c . H e n c e , w e u t i l i z e e x p l i c i t - s t a t e ( e n u m e r a t i v e ) t e c h n i q u e s t o d e v e l o p a l g o r i t h m s . E x p l i c i t - s t a t e t e c h n i q u e s a r e e s p e c i a l l y v a l u a b l e i n t h i s c o n t e x t , a s w e c a n a n - a l y z e h o w d i f f e r e n t h e u r i s t i c s a f f e c t a g i v e n p r o g r a m . T h i s a n a l y s i s e n a b l e s u s t o i d e n t i f y b o t t l e n e c k s a n d s t u m b l i n g b l o c k s o f h e u r i s t i c s . E x p l i c i t - s t a t e t e c h - n i q u e s , h o w e v e r , a r e u n d e s i r a b l e f o r t h e s e c o n d p a r t , a s t h e y s u f f e r f r o m t h e s t a t e e x p l o s i o n p r o b l e m a n d p r e v e n t o n e f r o m s y n t h e s i z i n g p r o g r a m s w h e r e t h e s t a t e s p a c e i s l a r g e . I n o r d e r t o d e v e l o p e f fi c i e n t t e c h n i q u e s , w e a l s o f o c u s o n t h e s e c o n d p a r t o f t h e p r o b l e m t o i m p r o v e t h e t i m e a n d s p a c e c o m p l e x i t y o f s y n - t h e s i s . T o w a r d s t h i s e n d , w e f o c u s o n a l g o r i t h m s f o r a d d i n g f a u l t - t o l e r a n c e t o u n t i m e d d i s t r i b u t e d f a u l t - i n t o l e r a n t p r o g r a m s w h e r e p r o g r a m s , f a u l t s , S p e c i fi c a - t i o n s , e t c . , a r e m o d e l e d u s i n g B o o l e a n f o r m u l a e r e p r e s e n t e d b y B r y a n t ’ s O r d e r e d B i n a r y D e c i s i o n D i a g r a m s [ B r y 8 6 ] . O u r e x p e r i m e n t a l r e s u l t s o n a w i d e r a n g e O f e x a m p l e s i n f a u l t - t o l e r a n t d i s t r i b u t e d c o m p u t i n g s h o w s s i g n i fi c a n t p e r f o r - m a n c e i m p r o v e m e n t b y s e v e r a l o r d e r s o f m a g n i t u d e o v e r e n u m e r a t i v e m e t h o d s f o r m o d e r a t e — s i z e d s t a t e s p a c e s ( 1 0 5 0 a n d b e y o n d ) [ B K 0 7 b ] . T h e t o o l S Y C R A F T [ B K 0 8 c ] i m p l e m e n t s o u r B D D - b a s e d h e u r i s t i c s . I n S Y C R A F T , a d i s t r i b u t e d f a u l t - i n t o l e r a n t p r o g r a m i s s p e c i fi e d i n t e r m s O f a s e t O f p r o c e s s e s a n d a n i n v a r i a n t . E a c h p r o c e s s i s s p e c i fi e d a s i t s s e t o f t r a n s i t i o n s , a s e t o f v a r i a b l e s t h a t t h e p r o c e s s c a n r e a d , a n d a s e t o f v a r i a b l e s t h a t t h e p r o c e s s c a n w r i t e . G i v e n a d i s t r i b u t e d f a u l t - i n t o l e r a n t p r o g r a m , S Y C R A F T g e n e r a t e s a m a s k i n g f a u l t - t o l e r a n t d i s t r i b u t e d p r o g r a m . 1 3 4 . D e v e l o p i n g d i s t r i b u t e d a n d p a r a l l e l r e v i s i o n t e c h n i q u e s T i m e a n d s p a c e c o m p l e x i t y h a s a l w a y s b e e n a m a j o r c h a l l e n g e i n d e p l o y m e n t o f a u t o m a t e d f o r m a l m e t h o d s . T h u s , e x p l o i t i n g m u l t i p l e m a c h i n e s t o e x p a n d a v a i l a b l e m e m o r y a n d m u l t i p l e p r o c e s s o r s t o i n c r e a s e c o m p u t i n g p o w e r s e e m s t o b e a s e n s i b l e b r e a k t h r o u g h . I n f a c t , w i t h r e c e n t a d v a n c e s i n d e p l o y m e n t o f d i s t r i b u t e d s y s t e m s f o r p a r a l l e l p r o c e s s i n g a n d i n p a r t i c u l a r m u l t i - c o r e p r o c e s - s o r s , a n i n c r e a s i n g i n t e r e s t i n p a r a l l e l a n d d i s t r i b u t e d t e c h n i q u e s h a s e m e r g e d i n a u t o m a t e d f o r m a l m e t h o d s . T h u s , a s y e t a n o t h e r m e a n s t o i m p r o v e t h e p e r - f o r m a n c e o f a u t o m a t e d r e v i s i o n , w e e x p l o r e t h e p o t e n t i a l o f u s i n g d i s t r i b u t e d a n d p a r a l l e l t e c h n i q u e s i n a u t o m a t e d p r o g r a m r e v i s i o n [ B K 0 7 a , B A K 0 8 ] . 1 . 4 O u t l i n e O f t h e D i s s e r t a t i o n T h i s d i s s e r t a t i o n c o n s i s t s o f fi v e p a r t s . E a c h p a r t a d d r e s s e s a d i f f e r e n t a s p e c t o f a u t o m a t e d p r o g r a m r e v i s i o n . 0 P a r t I i n f o r m a l l y d e s c r i b e s t h e r e v i s i o n p r o b l e m a n d o u r c o n t r i b u t i o n s ( C h a p t e r 1 ) a n d t h e n t o f o r m a l l y p r e s e n t s t h e p r e l i m i n a r y c o n c e p t s ( C h a p t e r 2 ) . 0 P a r t I I o f t h e d i s s e r t a t i o n a d d r e s s e s r e v i s i o n o f p r o g r a m s i n c l o s e d s y s t e m s . I n t h i s p a r t , fi r s t , i n C h a p t e r 3 , w e f o r m a l l y d e fi n e t h e r e v i s i o n p r o b l e m i n t h e c o n t e x t o f c l o s e d s y s t e m s . T h e n , i n C h a p t e r s 4 , 5 , a n d 6 , w e p r e s e n t o u r c o n t r i b u t i o n s o n a u t o m a t e d r e v i s i o n o f u n t i m e d c e n t r a l i z e d , d i s t r i b u t e d , a n d r e a l — t i m e p r o g r a m s i n c l o s e d s y s t e m s , r e s p e c t i v e l y . 1 4 o I n P a r t I I I , w e f o c u s o n o p e n s y s t e m s . S p e c i fi c a l l y , C h a p t e r 7 i s d e d i c a t e d t o f o r m a l l y d e fi n e t h e r e v i s i o n p r o b l e m i n t h e c o n t e x t O f O p e n s y s t e m s . I n C h a p t e r 8 , w e p r e s e n t o u r r e s u l t s o n a u t o m a t e d s y n t h e s i s O f r e a l - t i m e f a u l t - t o l e r a n t p r o g r a m s . W e i n t r o d u c e t h e n o t i o n o f b o u n d e d - t i m e p h a s e d r e c o v e r y a n d p r e s e n t c o m p l e x i t y o f i t s y n t h e s i s i n C h a p t e r 9 . C h a p t e r 1 0 , p r e s e n t s o u r r e s u l t s o n a n a l y z i n g t h e s t r u c t u r e a n d d e c o m p o s i t i o n o f f a u l t - t o l e r a n t r e a l - t i m e p r o g r a m s . I n C h a p t e r 1 1 , w e S h i f t o u r f o c u s t o d i s t r i b u t e d f a u l t - t o l e r a n t p r o g r a m s . S p e c i fi c a l l y , w e p r e s e n t o u r B E D - b a s e d h e u r i s t i c s f o r a d d i n g f a u l t - t o l e r a n c e t o d i s t r i b u t e d p r o g r a m s . F i n a l l y , w e p r e s e n t o u r t o o l S Y C R A F T i n C h a p t e r 1 2 . 0 P a r t I V p r e s e n t s o u r d i s t r i b u t e d a n d p a r a l l e l r e v i s i o n t e c h n i q u e s . I n C h a p t e r 1 3 , w e i n t r o d u c e o u r d i s t r i b u t e d s y n t h e s i s a l g o r i t h m s ( d i s t r i b u t e d p r o c e s s o r , d i s t r i b u t e d m e m o r y ) f o r a d d i n g f a i l s a f e a n d m a s k i n g f a u l t - t o l e r a n c e t o u n t i m e d c e n t r a l i z e d p r o g r a m s . T h e n , i n C h a p t e r 1 4 , w e i n t r o d u c e o u r m u l t i — c o r e B D D - b a s e d a l g o r i t h m f o r d e a d l o c k r e s o l u t i o n . 0 F i n a l l y , i n P a r t V , w e c o n c l u d e . W e p r e s e n t t h e r e l a t e d w o r k i n t h e l i t e r a t u r e o f a u t o m a t e d p r o g r a m s y n t h e s i s i n C h a p t e r 1 5 . F i n a l l y , i n C h a p t e r 1 6 , w e d i s c u s s O p e n p r o b l e m s , p r e s e n t a d e t a i l e d r o a d m a p f o r f u t u r e w o r k , a n d m a k e c o n c l u d i n g r e m a r k s . 1 5 C h a p t e r 2 P r e l i m i n a r y C o n c e p t s I n t h i s c h a p t e r , w e f o r m a l l y d e fi n e t h e f u n d a m e n t a l e l e m e n t s O f o u r f o r m a l f r a m e w o r k , n a m e l y , p r o g r a m s , s p e c i fi c a t i o n s , a n d r e g i o n g r a p h s . I n t u i t i v e l y , i n o u r f r a m e w o r k , p r o g r a m s a r e s p e c i fi e d i n t e r m s o f t h e i r s t a t e s p a c e a n d t h e i r t r a n s i t i o n s . T h e n o t i o n o f r e a l - t i m e p r o g r a m s i s i n s p i r e d b y A l u r a n d H e n z i n g e r [ A H 9 7 ] . F o r m a l i z a t i o n o f t h e i s s u e o f d i s t r i b u t i o n i s d u e t o K u l k a r n i a n d A r o r a [ K A O O ] . T h e d e fi n i t i o n o f S p e c i fi c a t i o n i s a d a p t e d f r o m A l p e r n a n d S c h n e i d e r [ A 8 8 5 ] a n d H e n z i n g e r [ H e n 9 2 ] . F i n a l l y , t h e n o t i o n o f r e g i o n g r a p h i s d u e t o A l u r a n d D i l l [ A D 9 4 ] . T h r o u g h o u t t h i s c h a p t e r , w e i n c o r p o r a t e t w o e x a m p l e s ( r e a l - t i m e t r a f fi c c o n t r o l l e r a n d d i s t r i b u t e d B y z a n t i n e a g r e e m e n t ) t o i l l u s t r a t e t h e b a s i c c o n c e p t s . 2 . 1 P r o g r a m s I n t h i s s e c t i o n , w e f o r m a l l y p r e s e n t t h e n o t i o n O f p r o g r a m s . I n t u i t i v e l y , w e d e fi n e a p r o g r a m i n t e r m s o f a s e t O f p r o c e s s e s . E a c h p r o c e s s i s i n t u r n s p e c i fi e d b y a s t a t e - 1 6 t r a n s i t i o n s y s t e m a n d i s c o n s t r a i n e d b y s o m e r e a d / w r i t e r e s t r i c t i o n o v e r i t s s e t O f d i s c r e t e v a r i a b l e s a n d t i m i n g c o n s t r a i n t s o v e r i t s s e t o f c l o c k v a r i a b l e s . R e a d / w r i t e r e s t r i c t i o n s a r e i n t e n d e d t o m o d e l t h e i s s u e O f d i s t r i b u t i o n a n d t h e t i m i n g c o n s t r a i n t s a r e m e a n t t o f o r m a l i z e r e a l - t i m e f e a t u r e s o f p r o g r a m s . T h u s , o u r d e fi n i t i o n o f p r O - g r a m s c o v e r s t h e l a r g e c l a s s O f d i s t r i b u t e d a n d r e a l — t i m e p r o g r a m s . L e t V = { 1 2 0 . v g - n v n } , n 2 0 , b e a fi n i t e s e t O f d i s c r e t e v a r i a b l e s a n d X = { x 0 , : r 2 - - - m m } , m 2 0 , b e a fi n i t e s e t O f c l o c k v a r i a b l e s . E a c h d i s c r e t e v a r i a b l e v i , 0 S i S n , i s a s s o c i a t e d w i t h a fi n i t e d o m a i n s z - O f v a l u e s . E a c h c l o c k v a r i a b l e : r j , 0 _ < _ j S m , r a n g e s o v e r n o n n e g a t i v e r e a l n u m b e r s ( d e n o t e d R 2 0 ) . A l o c a t i o n i s a f u n c t i o n t h a t m a p s t h e d i s c r e t e v a r i a b l e s i n V t o a v a l u e f r o m t h e i r r e s p e c t i v e d o m a i n . A c l o c k c o n s t r a i n t o v e r X i s a B o o l e a n c o m b i n a t i o n o f f o r m u l a e o f t h e f o r m x j c o r r — y j c , w h e r e a n y 6 X , c E Z 2 0 , a n d j i s e i t h e r < o r S . W e d e n o t e t h e s e t o f a l l c l o c k c o n s t r a i n t s o v e r X b y < I > ( X ) . A c l o c k v a l u a t i o n i s a f u n c t i o n V : X — — > R 2 0 t h a t a s s i g n s a r e a l v a l u e t o e a c h c l o c k v a r i a b l e . F o r T 6 R 2 0 , w e w r i t e 1 / + r t o d e n o t e u ( : r ) + 7 - f o r e v e r y c l o c k v a r i a b l e a : i n X . A l s o , f o r / \ ( _ I X , u [ ) \ : = 0 ] d e n o t e s t h e c l o c k v a l u a t i o n t h a t a s s i g n s 0 t o e a c h a : E / \ a n d a g r e e s w i t h V o v e r t h e r e s t O f t h e c l o c k v a r i a b l e s i n X . W e n o w d e fi n e t h e n o t i o n O f s t a t e , i n w h i c h w e s p e c i f y t h e v a l u e o f b o t h d i s c r e t e a n d c l o c k v a r i a b l e s . D e fi n i t i o n 2 . 1 . 1 ( s t a t e ) A s t a t e ( d e n o t e d a ) i s a p a i r ( 3 , V ) , w h e r e s i s a l o c a t i o n a n d u i s a c l o c k v a l u a t i o n f o r X . I L e t u b e a ( d i s c r e t e o r c l o c k ) v a r i a b l e a n d o b e a s t a t e . W e d e n o t e t h e v a l u e o f u i n s t a t e a b y u ( 0 ) . T h e s e t O f a l l p o s s i b l e s t a t e s i s c a l l e d t h e s t a t e s p a c e ( d e n o t e d S ) 1 7 O b t a i n e d f r o m t h e a s s o c i a t e d v a r i a b l e s a n d t h e i r c o r r e s p o n d i n g d o m a i n s . D e fi n i t i o n 2 . 1 . 2 ( t r a n s i t i o n ) A t r a n s i t i o n i s a n o r d e r e d p a i r ( 0 0 , 0 1 ) , w h e r e 0 0 a n d 0 1 a r e t w o s t a t e s . T r a n s i t i o n s a r e c l a s s i fi e d i n t o t w o t y p e s : 0 I m m e d i a t e t r a n s i t i o n s : ( s O , V ) — > ( 8 1 , V [ ) \ : 2 0 ] ) , w h e r e 5 0 a n d 5 1 a r e t w o l o c a t i o n s , V i s a c l o c k v a l u a t i o n , a n d / \ i s a s e t o f c l o c k v a r i a b l e s , w h e r e A Q X . 0 D e l a y t r a n s i t i o n s : ( 3 , V ) — > ( s , V + 6 ) , w h e r e s i s a l o c a t i o n , V i s a c l o c k v a l u a t i o n , a n d 6 E I R > 0 i s a t i m e d u r a t i o n . W e d e n o t e a d e l a y t r a n s i t i o n o f d u r a t i o n 6 a t s t a t e a b y ( a , 6 ) . I D e fi n i t i o n 2 . 1 . 3 ( s t a t e p r e d i c a t e ) L e t S b e t h e s t a t e s p a c e O b t a i n e d f r o m v a r i - a b l e s i n V a n d X . A s t a t e p r e d i c a t e i s a s u b s e t S o f S , s u c h t h a t i f g o i s a c o n s t r a i n t i n v o l v i n g c l o c k v a r i a b l e s i n X , w h e r e S = > 9 0 , t h e n ( , 0 E < I > ( X ) , i . e . , i n t h e c o r r e - s p o n d i n g B o o l e a n e x p r e s s i o n o f S , c l o c k v a r i a b l e s a r e o n l y c o m p a r e d t o n o n n e g a t i v e i n t e g e r s ( a n d n o t r e a l n u m b e r s ) . I D e fi n i t i o n 2 . 1 . 4 ( t r a n s i t i o n p r e d i c a t e ) L e t S b e t h e s t a t e s p a c e o b t a i n e d f r o m v a r i a b l e s i n V a n d X . A t r a n s i t i o n p r e d i c a t e i s a s u b s e t o f S x 8 . A g a i n , w e r e q u i r e t h a t i n t h e c o r r e s p o n d i n g B o o l e a n e x p r e s s i o n t h a t d e s c r i b e s t h e s e t O f s o u r c e s t a t e s , c l o c k c o n s t r a i n t s a r e i n < I > ( X ) . I N o t a t i o n . L e t T b e a t r a n s i t i o n p r e d i c a t e . W e l e t T 3 a n d T d d e n o t e t h e s e t O f i m m e d i a t e a n d d e l a y t r a n s i t i o n s i n T , r e s p e c t i v e l y , w h e r e T = T 5 U T d . D e fi n i t i o n 2 . 1 . 5 ( p r o c e s s ) A p r o c e s s p i s s p e c i fi e d b y t h e t u p l e ( V p , X p , T p , R p , W p ) w h e r e V p i s a s e t o f d i s c r e t e v a r i a b l e s , X p i s a s e t O f c l o c k 1 8 v a r i a b l e s , T p i s a t r a n s i t i o n p r e d i c a t e i n t h e s t a t e s p a c e O f p ( d e n o t e d S p ) , H p i s a s e t o f v a r i a b l e s t h a t p c a n r e a d , a n d W p i s a s e t o f v a r i a b l e s t h a t p c a n w r i t e s u c h t h a t W p Q R P Q V p ( i . e . , w e a s s u m e t h a t p c a n n o t b l i n d l y w r i t e a v a r i a b l e ) . I W e n o w f o r m a l i z e t h e i s s u e O f d i s t r i b u t i o n i n p r o c e s s e s u s i n g r e s t r i c t i o n s o n r e a d i n g a n d w r i t i n g d i s c r e t e v a r i a b l e s . W r i t e r e s t r i c t i o n s . L e t p 2 ( V P , X p , T p , R p , W p ) b e a p r o c e s s . C l e a r l y , T p m u s t b e d i s j o i n t f r o m t h e f o l l o w i n g t r a n s i t i o n p r e d i c a t e d u e t o i n a b i l i t y O f p t o c h a n g e t h e v a l u e o f v a r i a b l e s t h a t p c a n n o t w r i t e : N W p = { ( 0 0 , 0 1 ) I 3 1 2 6 ( V p — I / V p ) : v ( ( . 7 0 ) ¢ 1 2 ( a l ) } . R e a d r e s t r i c t i o n s . L e t p 2 ( V P , X p , T p , R p , W p ) b e a p r o c e s s , v b e a v a r i a b l e i n V p , a n d ( 0 0 , 0 1 ) E T p w h e r e 0 0 a é 0 1 . I f v i s n o t i n R P , t h e n T p m u s t i n c l u d e a c o r r e s p o n d i n g t r a n s i t i o n f r o m a l l s t a t e s 0 6 w h e r e 0 6 a n d 0 0 d i f f e r o n l y i n t h e v a l u e o f 2 2 . L e t ( 0 6 , 0 1 ) b e o n e s u c h t r a n s i t i o n . N o w , i t m u s t b e t h e c a s e t h a t 0 1 a n d 0 ’ 1 a r e i d e n t i c a l e x c e p t f o r t h e v a l u e O f v , a n d , t h e v a l u e O f v m u s t b e t h e s a m e i n 0 6 a n d 0 , 1 . F o r i n s t a n c e , l e t V p = ( a , b } a n d R P = { a } . S i n c e p c a n n o t r e a d b , t h e t r a n s i t i o n ( a = 0 , b = 0 ) — — > ( a = 1 , b = 0 ) a n d t h e t r a n s i t i o n ( a = 0 , b = 1 ) — > ( a = 1 , b = 1 ) h a v e t h e s a m e e f f e c t a s f a r a s p i s c o n c e r n e d . T h u s , e a c h t r a n s i t i o n ( 0 0 , 0 1 ) i n T p i s a s s o c i a t e d w i t h t h e f o l l o w i n g g r o u p p r e d i c a t e : G T O U P p ( 0 0 2 0 1 ) : { ( 0 6 : 0 1 ) I ( V v 6 ( V P - f t p ) : ( v ( 0 0 ) = v ( o l ) / \ v ( 0 6 ) = v ( a ’ 1 ) ) ) A ( V v E R p : ( v ( o O ) 2 1 2 ( 0 6 ) / \ v ( o l ) = 1 ( a ’ l ) ) ) } 1 9 D e f i n i t i o n 2 . 1 . 6 ( p r o g r a m ) A p r o g r a m P i s s p e c i fi e d b y t h e t u p l e ( H p J p ) , w h e r e H P i s a s e t o f p r o c e s s e s a n d [ p i s a n o n e m p t y s e t o f i n i t i a l s t a t e s . W i t h o u t l o s s O f g e n e r a l i t y , w e a s s u m e t h a t t h e s t a t e S p a c e o f a l l p r o c e s s e s i n P a r e i d e n t i c a l ( i . e . , V p , q 6 H P : : ( V P 2 V q ) / \ ( X p = X q ) ) . T h u s , t h e s e t O f v a r i a b l e s ( d e n o t e d V r p ) a n d s t a t e s p a c e O f p r o g r a m P ( d e n o t e d S p ) i s i d e n t i c a l t O t h e s e t o f v a r i a b l e s a n d s t a t e S p a c e O f t h e p r o c e s s e s O f P , r e s p e c t i v e l y . I n t h i s s e n s e , t h e s e t 1 7 3 O f i n i t i a l s t a t e s o f P i s a s u b s e t o f S p . I N o t a t i o n . L e t P b e a p r o g r a m . T h e s e t T ’ P d e n o t e s t h e c o l l e c t i o n o f t r a n s i t i o n p r e d i c a t e s o f a l l p r o c e s s e s O f P , i . e . , T 7 ) = U p E P T p . D e fi n i t i o n 2 . 1 . 7 ( c o m p u t a t i o n ) A c o m p u t a t i o n O f a p r o g r a m P = ( H P ’ I r p ) i s a fi n i t e o r i n fi n i t e t i m e d s t a t e s e q u e n c e o f t h e f o r m : Z r ” = ( 0 0 , 7 ' 0 ) — — » ( 0 1 , 7 1 ) — — > f o r w h i c h t h e f o l l o w i n g c o n d i t i o n s a r e s a t i s fi e d : 1 . V i E Z 2 0 : 0 , ; E S p , 2 . V j 6 Z 2 0 : ( o j , o j + 1 ) E T , 3 . i f 3 r e a c h e s a t e r m i n a t i n g s t a t e a f w h e r e t h e r e d o e s n o t e x i s t a s u c h t h a t a 3 4 a f a n d ( o f , o ) E T 7 3 3 t h e n w e e x t e n d E t o a n i n fi n i t e c o m p u t a t i o n b y s t u t t e r i n g a t 0 f a n d l e t t i n g g l o b a l t i m e ( i . e . , t h e s e q u e n c e T o r 1 - - - ) a d v a n c e i n d e fi n i t e l y , a n d 4 . t h e s e q u e n c e 7 ' 0 T 1 - - - ( c a l l e d t h e g l o b a l t i m e ) , w h e r e r , 6 R 2 0 f o r a l l i E Z 2 0 , s a t i s fi e s t h e f o l l o w i n g c o n s t r a i n t s : 2 0 o ( m o n o t o n i c i t y ) f o r a l l i E Z > 0 , r , - g n + 1 , o ( d i v e r g e n c e ) f o r a l l t 6 R 2 0 , t h e r e e x i s t s j E Z 2 0 s u c h t h a t r j 2 t , a n d o ( c o n s i s t e n c y ) f o r a l l i E Z > O , ( 1 ) i f ( o , , o , § + 1 ) i s a d e l a y t r a n s i t i o n , s a y ( o z - , 6 ) , i n T g , t h e n n + 1 — r , - = 6 , a n d ( 2 ) i f ( 0 i 1 0 i + 1 ) i s a n i m m e d i a t e t r a n s i t i o n i n T 3 , t h e n r , - = 2 + 1 . I W e d i s t i n g u i s h b e t w e e n a t e r m i n a t i n g c o m p u t a t i o n a n d a d e a d l o c k e d fi n i t e c o m - p u t a t i o n . P r e c i s e l y , w h e n a c o m p u t a t i o n E t e r m i n a t e s i n s t a t e a f ’ w e i n c l u d e t h e d e l a y t r a n s i t i o n s ( o f , 6 ) i n T g f o r a l l 6 6 R 2 0 , i . e . , E c a n b e e x t e n d e d t o a n i n fi n i t e c o m p u t a t i o n b y a d v a n c i n g t i m e a r b i t r a r i l y . O n t h e o t h e r h a n d , i f t h e r e e x i s t s a s t a t e a d , s u c h t h a t t h e r e i s n o o u t g o i n g ( d e l a y o r i m m e d i a t e ) t r a n s i t i o n f r o m a d , t h e n a d i s a d e a d l o c k s t a t e . N o t a t i o n . L e t 5 , d e n o t e t h e p a i r ( 0 2 - , T i ) i n c o m p u t a t i o n 5 ' . A l s o , l e t ' 6 b e a fi n i t e c o m p u t a t i o n o f l e n g t h n a n d I ? b e a fi n i t e o r i n fi n i t e c o m p u t a t i o n . T h e c o n c a t e n a t i o n o f ‘ 5 ‘ a n d D ( d e n o t e d ’ 6 3 ) i s a c o m p u t a t i o n i f f s t a t e s E i n _ _ 1 a n d 3 0 m e e t t h e c o n s t r a i n t s o f D e fi n i t i o n 2 . 1 . 7 . O t h e r w i s e , t h e r e s u l t o f c o n c a t e n a t i o n i s n u l l . I f F a n d ‘ 1 1 a r e t w o s e t s c o n t a i n i n g fi n i t e a n d fi n i t e / i n fi n t e c o m p u t a t i o n s r e s p e c t i v e l y , t h e n D 1 1 : { D z — B l ( a e r ) / \ ( B e r ) } . W e n o w d e fi n e s p e c i a l t y p e s o f p r o g r a m s b a s e d o n s a t i s f a c t i o n o f r e a d / w r i t e r e - s t r i c t i o n s a n d t i m i n g c o n s t r a i n t s . I n t u i t i v e l y , a c e n t r a l i z e d p r o g r a m i s o n e t h a t i s c o n s t r a i n e d b y n o r e a d / w r i t e r e s t r i c t i o n s , i . e . , a l l p r o c e s s e s c a n r e a d a n d w r i t e a l l p r o g r a m v a r i a b l e s i n o n e a t o m i c s t e p . A n u n t i m e d p r o g r a m i s o n e t h a t h a s n o c l o c k v a r i a b l e s , a n d , h e n c e , n o t i m i n g c o n s t r a i n t s . W e n o w p r e c i s e l y d e fi n e t h e s e t y p e s O f 2 1 p r o g r a m s . D e fi n i t i o n 2 . 1 . 8 ( c e n t r a l i z e d p r o g r a m ) W e s a y t h a t a p r o g r a m P = ( H P ’ 1 p ) i s a c e n t r a l i z e d p r o g r a m i f a n d o n l y i f ” P = { p } a n d W p 2 H P 2 V p . I D e fi n i t i o n 2 . 1 . 9 ( u n t i m e d p r o g r a m ) W e s a y t h a t a p r o g r a m P i s a n u n t i m e d p r o g r a m i f a n d o n l y i f X 7 ; = { } . I A l l o t h e r d e fi n i t i o n s p r e s e n t e d i n t h i s c h a p t e r ( e . g . , s t a t e , t r a n s i t i o n , c o m p u t a t i o n , e t c ) c a n b e t r i v i a l l y s i m p l i fi e d f o r s p e c i a l t y p e s o f p r o g r a m s . F o r i n s t a n c e , i n c a s e O f u n t i m e d p r o g r a m s , i n D e fi n i t i o n 2 . 1 . 7 , s t a t e s a r e d e t e r m i n e d b y d i s c r e t e v a r i a b l e s o n l y a n d t h e n o t i o n o f g l o b a l t i m e c a n b e e l i m i n a t e d . I n o t h e r w o r d s , a c o m p u t a t i o n o f a n u n t i m e d p r o g r a m i s o f t h e f o r m 5 = 0 0 — > 0 1 - - - . I n t h i s d i s s e r t a t i o n , w e o n l y c o n s i d e r t h e f o l l o w i n g t y p e s o f p r o g r a m s : 0 ( t i m e d ) c e n t r a l i z e d , o u n t i m e d d e c e n t r a l i z e d , a n d o u n t i m e d c e n t r a l i z e d , T h r o u g h o u t t h e d i s s e r t a t i o n , f o r t h e s a k e o f e a s i e r a n d m o r e i n t u i t i v e t e r m i n o l o g y , w e r e f e r t o t h e fi r s t t w o a b o v e t y p e s o f p r o g r a m s a s r e a l - t i m e a n d d i s t r i b u t e d , r e s p e c - t i v e l y . I n o t h e r w o r d s , w e o n l y c o n s i d e r d i s t r i b u t e d p r o g r a m s t h a t h a v e n o t i m i n g c o n s t r a i n t s a n d r e a l - t i m e p r o g r a m s t h a t h a v e n o r e a d / w r i t e r e s t r i c t i o n s . T h e m a i n r e a s o n t h a t w e d o n o t c o n s i d e r o t h e r p o s s i b l e t y p e s o f p r o g r a m s i s d u e t o t h e c o m - p l e x i t y b o t t l e n e c k s t h a t a l r e a d y e x i s t i n d e a l i n g w i t h t h e a b o v e t y p e s o f p r o g r a m s . 2 2 I n o t h e r w o r d s , w e b e l i e v e t h a t m o r e c o m p l i c a t e d c o m b i n a t i o n s ( e . g . , d i s t r i b u t e d r e a l - t i m e p r o g r a m s ) c a n b e d e a l t w i t h , i f w e h a v e a p r o p e r i n s i g h t i n t o t h e p r i m i t i v e t y p e s . 2 . 1 . 1 T i m e d G u a r d e d C o m m a n d s T o c o n c i s e l y p r e s e n t t h e t r a n s i t i o n p r e d i c a t e ( a n d a s a r e s u l t , c o m p u t a t i o n s ) o f a p r o g r a m , w e u s e t i m e d g u a r d e d c o m m a n d s l . A t i m e d g u a r d e d c o m m a n d ( a l s o c a l l e d t i m e d a c t i o n ) i s O f t h e f o r m : L : : g — ) ‘ - — > s t ; w h e r e L i s a l a b e l , 9 i s a s t a t e p r e d i c a t e , s t i s a s t a t e m e n t t h a t d e s c r i b e s h o w t h e p r o g r a m s t a t e i s u p d a t e d , a n d A i s a s e t O f c l o c k v a r i a b l e s t h a t a r e r e s e t b y e x e c u t i o n o f L . T h u s , L d e n o t e s t h e f o l l o w i n g t r a n s i t i o n p r e d i c a t e : { ( s O , V ) — > ( 8 1 , 1 / [ / \ : = 0 ] ) I ( 8 0 , V ) E g , a n d 5 1 i s o b t a i n e d b y c h a n g i n g 5 0 a s p r e s c r i b e d b y s t } . A g u a r d e d w a i t c o m m a n d ( a l s o c a l l e d d e l a y a c t i o n ) i s o f t h e f o r m : L : : g — — + w a i t ; w h e r e g i d e n t i fi e s t h e s e t O f s t a t e s f r o m w h e r e d e l a y t r a n s i t i o n s w i t h a r b i t r a r y d u r a - t i o n s a r e a l l o w e d t o b e t a k e n a s l o n g a s g c o n t i n u o u s l y r e m a i n s t r u e . W e n o t e t h a t i f a p r o g r a m h a s s e v e r a l t i m e d g u a r d e d c o m m a n d s , t h e c h o i c e o f e x e c u t i o n o f t i m e d 1 T h e n o t i o n o f u n t i m e d g u a r d e d c o m m a n d s w a s fi r s t i n t r o d u c e d b y D i j k s t r a [ D i j 9 0 ] . 2 3 g u a r d e d c o m m a n d s i s n o n - d e t e r m i n i s t i c , i . e . , a g u a r d e d c o m m a n d w h o s e g u a r d i s t r u e i s n o n - d e t e r m i n i s t i c a l l y c h o s e n f o r e x e c u t i o n a t e a c h t i m e i n s t a n c e . O b v i o u s l y , i n u n t i m e d p r o g r a m s , t h e g u a r d O f t h e i r t i m e d a c t i o n s ( o r s i m p l y a c - t i o n ) d o n o t S p e c i f y a n y t i m i n g c o n s t r a i n t s a n d d o n o t r e s e t a n y c l o c k v a r i a b l e s . M o r e o v e r , u n t i m e d p r o g r a m s h a v e n o d e l a y a c t i o n s . T h u s , a l l a c t i o n s i n u n t i m e d p r o g r a m s a r e s i m p l y O f t h e f o r m L : : g — > s t . I n t h e n e x t t w o s u b s e c t i o n s , w e p r e s e n t t w o e x a m p l e s t o i l l u s t r a t e t h e c o n c e p t s o f r e a l - t i m e a n d d i s t r i b u t e d p r o g r a m s u s i n g g u a r d e d c o m m a n d s . 2 . 1 . 2 E x a m p l e ( R e a l - T i m e T r a f fi c C o n t r o l l e r ) C o n s i d e r a o n e - l a n e t u r n - b a s e d b r i d g e w h e r e c a r s c a n t r a v e l i n o n l y o n e d i r e c t i o n a t a n y t i m e [ B K 0 8 a ] . T h e b r i d g e i s c o n t r o l l e d b y t w o t r a f fi c s i g n a l s a n d e a c h s i g - n a l c h a n g e s p h a s e f r o m g r e e n t o y e l l o w a n d t h e n t o r e d , b a s e d o n a s e t O f t i m i n g c o n s t r a i n t s . M o r e o v e r , i f o n e s i g n a l i s r e d , i t w i l l t u r n g r e e n s o m e t i m e a f t e r t h e o t h e r s i g n a l t u r n s r e d . A r e a l - t i m e t r a f fi c c o n t r o l l e r p r o g r a m ( T C ) f o r t h e b r i d g e h a s t w o d i s c r e t e v a r i a b l e s t o r e p r e s e n t t h e s t a t u s O f t h e s i g n a l s , i . e . , V T C = { s i g O , s i g l } , w h e r e s i g O a n d s i g l r a n g e o v e r { 0 , Y , R } . T h u s , a t a n y t i m e , t h e v a l u e s O f s i g O a n d s i g l S h o w i n w h i c h d i r e c t i o n c a r s a r e t r a v e l i n g . M o r e o v e r , f o r e a c h s i g n a l , T C h a s t h r e e t i m e r s t O c h a n g e s i g n a l p h a s e , i . e . , X T C = { : L ‘ i , y i v 3 i | i = 0 , 1 } . R e c a l l t h a t s i n c e T C i s a r e a l - t i m e p r o g r a m , i t i s c e n t r a l i z e d ( i . e . , i t o n l y h a s o n e p r o c e s s ) . T h e p r o g r a m T C w o r k s a s f o l l o w s . W h e n a S i g n a l t u r n s g r e e n , i t m a y t u r n y e l l o w w i t h i n 1 0 t i m e u n i t s , b u t n o t s o o n e r t h a n 1 t i m e u n i t . S u b s e q u e n t l y , t h e S i g n a l 2 4 7 T T i i c c C ] l 1 s Z 2 , , - : : : : : : ( ( ( s s i i g g , i s i g z - : = = 0 ) Y R ) ) \ \ / / A ( ( ( 1 1 2 s _ , < _ : 3 2 1 , - 7 : £ S 1 0 ) 2 ) 3 1 ) — _ — — é — ‘ + fi — — — > ( ( ( s 3 i 1 g 9 . i S i g . - 2 5 = : : = Y H G ) ) ) ; ; ; m a y t u r n r e d b e t w e e n 1 a n d 2 t i m e u n i t s a f t e r i t t u r n s y e l l o w . F i n a l l y , w h e n t h e s i g n a l i s r e d , i t m a y t u r n g r e e n w i t h i n 1 t i m e u n i t a f t e r t h e o t h e r S i g n a l b e c o m e s r e d . B o t h s i g n a l s O p e r a t e i d e n t i c a l l y . T h u s , t h e t r a n s i t i o n p r e d i c a t e O f t h e r e a l - t i m e t r a f f i c c o n t r o l l e r p r o g r a m c a n b e m o d e l e d b y t h e f o l l o w i n g t i m e g u a r d e d c o m m a n d s . F o r i 6 { 0 , 1 } : [ l T C 4 i : : ( ( s i g z - = G ’ ) / \ ( x , S 1 0 ) ) V ( ( 3 2 9 1 = Y ) A ( y r S 2 ) ) V ( ( s i g , 2 R ) / \ ( z j g 1 ) ) w a i t ; w h e r e j = ( i + 1 ) m o d 2 . N o t i c e t h a t t h e g u a r d o f T C 3 Z - d e p e n d s o n 2 t i m e r O f s i g n a l j . F o r s i m p l i c i t y , w e a s s u m e t h a t o n c e a t r a f f i c l i g h t t u r n s g r e e n , a l l c a r s f r o m t h e O p p o s i t e d i r e c t i o n h a v e a l r e a d y l e f t t h e b r i d g e . O n e p o s s i b l e s e t o f i n i t i a l s t a t e s f o r T C i s a s f o l l o w s : I T C = { a | ( V k 6 { 0 , 1 } : r k ( o ) = y k ( o ) = 0 ) / \ ( 3 1 ' 6 { 0 , 1 } = ( ( s i g d a l : 0 ) A ( 2 1 ( 0 ) > 1 ) / \ ( s t a g - + 1 ) m o d 2 ( 0 ) = R ) ) ) } . I n o t h e r w o r d s , [ T C i s t h e s e t O f s t a t e s w h e r e o n e S i g n a l i s g r e e n , t h e o t h e r o n e i s r e d a n d i s n o t a l l o w e d t o i m m e d i a t e l y t u r n g r e e n , a n d a l l a : a n d y t i m e r s a r e r e s e t . 2 5 2 . 1 . 3 E x a m p l e ( D i s t r i b u t e d B y z a n t i n e A g r e e m e n t ) T h e B y z a n t i n e a g r e e m e n t p r o b l e m w a s fi r s t i n t r o d u c e d b y L a n i p o r t , S h o s t o k , a n d P e a s e [ L S P 8 2 ] . T h e c a n o n i c a l v e r s i o n O f t h e p r o g r a m ( d e n o t e d B A ) c o n s i s t s o f a g e n e r a l , s a y g , a n d t h r e e ( o r m o r e ) n o n - g e n e r a l p r o c e s s e s : j , k , a n d I . S i n c e t h e g e n e r a l p r o c e s s o n l y p r o v i d e s a d e c i s i o n , i t i s m o d e l e d i m p l i c i t l y b y t w o v a r i a b l e s . T h u s , R E A 2 { j , k , l } . E a c h n o n - g e n e r a l p r o c e s s o f B A a n d t h e g e n e r a l m a i n t a i n s a d e c i s i o n v a r i a b l e d ; f o r t h e g e n e r a l , t h e d e c i s i o n c a n b e e i t h e r 0 o r 1 , a n d f o r t h e n o n - g e n e r a l p r o c e s s e s , t h e d e c i s i o n c a n b e 0 , 1 , o r _ L , w h e r e t h e v a l u e J . d e n o t e s t h a t t h e c o r r e s p o n d i n g p r o c e s s h a s n o t y e t r e c e i v e d t h e d e c i s i o n f r o m t h e g e n e r a l . E a c h n o n - g e n e r a l p r o c e s s a l s o m a i n t a i n s a B o o l e a n v a r i a b l e f t h a t d e n o t e s w h e t h e r o r n o t t h a t p r o c e s s h a s fi n a l i z e d i t s d e c i s i o n . F o r e a c h p r o c e s s , a B o o l e a n v a r i a b l e b s h o w s w h e t h e r o r n o t t h e p r o c e s s i s B y z a n t i n e . T h u s , t h e s t a t e s p a c e O f e a c h p r o c e s s i s O b t a i n e d b y d i s c r e t e v a r i a b l e s i n V B A = { d . g , d . j , d . k , d . l } U ( d e c i s i o n v a r i a b l e s ) { f . j , f . k , f . l } U ( fi n a l i z e d ? ) { b . g , b . j , b . k , b . l } . ( B y z a n t i n e ? ) T h e s e t s o f v a r i a b l e s t h a t a n o n - g e n e r a l p r o c e s s e s , s a y j , i s a l l o w e d t o r e a d a n d w r i t e a r e R j = { b . j , d . j , f . j , d . k , d . l , d . g } a n d W j = { d . j , f . j } , r e s p e c t i v e l y . T h e r e a d / w r i t e r e s t r i c t i o n s O f p r o c e s s e s k a n d I c a n b e s y m m e t r i c a l l y i n s t a n t i a t e d i n t h e s a m e f a s h i o n . T h e f a u l t - i n t o l e r a n t v e r s i o n O f B A w o r k s a s f o l l o w s . E a c h n o n — g e n e r a l p r o c e s s c o p i e s t h e d e c i s i o n f r o m t h e g e n e r a l a n d t h e n fi n a l i z e s ( o u t p u t s ) t h a t d e c i s i o n , p r o — 2 6 v i d e d i t i s n o n — B y z a n t i n e . T h u s , t h e t r a n s i t i o n p r e d i c a t e o f a n o n - g e n e r a l p r o c e s s , s a y j , i s s p e c i fi e d b y t h e f o l l o w i n g t w o a c t i o n s : B A I J : : : [ I B A 2 J - : : ( d j # I ) / \ ( f . j = f a l s e ) / \ ( b . j = f a l s e ) — + f . j : = t r u e ; ( d . j = _ L ) / \ ( f . j = f a l s e ) / \ ( b . j = f a l s e ) — > d . j : 2 d . g ; T h e a c t i o n s O f p r o c e s s e s k a n d 1 c a n b e s y m m e t r i c a l l y i n s t a n t i a t e d i n t h e s a m e f a s h i o n . T h e s e t O f i n i t i a l s t a t e s o f B A i s a s f o l l o w s : [ B A = { o | V p E { j , k , l } : ( ( d . p ( o ) = _ L ) / \ ( f . p ( o ) = f a l s e ) A ( b . p ( o ) = f a l s e ) } . I n o t h e r w o r d s , a l l n o n - g e n e r a l p r o c e s s e s a r e n o n - B y z a n t i n e , u n d e c i d e d , a n d , t h e r e - f o r e , t h e i r d e c i s i o n s a r e n o t fi n a l i z e d . R e c a l l t h a t s i n c e B A i s d i s t r i b u t e d , i t i s u n - t i m e d . 2 . 2 S p e c i fi c a t i o n s I n t h i s s e c t i o n , w e f o r m a l l y p r e s e n t t h e c o n c e p t o f S p e c i fi c a t i o n s a n d d e fi n e w h a t i t m e a n s f o r a p r o g r a m t o r e fi n e a S p e c i fi c a t i o n . D e fi n i t i o n 2 . 2 . 1 ( s p e c i fi c a t i o n ) A s p e c i fi c a t i o n ( o r p r o p e r t y ) , d e n o t e d S P E C , i s a s e t O f i n fi n i t e c o m p u t a t i o n s o f t h e f o r m ( 0 0 , 7 ' 0 ) — > ( 0 1 , 7 1 ) — > - - - w h e r e 0 i i S a s t a t e , i E Z > 0 , a n d t h e s e q u e n c e r 0 7 1 - - - m e e t s m o n o t o n i c i t y , d i v e r g e n c e , a n d t i m e c o n s i s t e n c y . I 2 7 A s s u m p t i o n 2 . 2 . 2 S i n c e w e u s e s p e c i fi c a t i o n s t o r e a s o n a b o u t t h e c o r r e c t n e s s O f a p r o g r a m , w e a s s u m e t h a t t h e s t a t e s p a c e o f a s p e c i fi c a t i o n i s i d e n t i c a l t o t h e s t a t e S p a c e O f t h e p r o g r a m u n d e r c o n s i d e r a t i o n . I D e fi n i t i o n 2 . 2 . 3 ( r e fi n e s ) L e t P 2 ( H P , [ 7 3 ) b e a p r o g r a m a n d S P E C b e a s p e c - i fi c a t i o n . W e w r i t e P ] = S P E C a n d s a y t h a t P r e fi n e s S P E C i f f e v e r y c o m p u t a t i o n O f P t h a t s t a r t s f r o m a s t a t e i n [ p i s i n S P E C . I F o l l o w i n g A l p e r n a n d S c h n e i d e r [ A 8 8 5 ] a n d H e n z i n g e r [ H e n 9 2 ] , t h e S p e c i fi c a t i o n s c o n s i d e r e d i n t h i s d i s s e r t a t i o n a r e a n i n t e r s e c t i o n o f a s a f e t y s p e c i fi c a t i o n a n d a l i v e - n e s s s p e c i fi c a t i o n d e fi n e d n e x t . I n t u i t i v e l y , t h e s a f e t y s p e c i f i c a t i o n O f S P E C s p e c i fi e s t h a t n o t h i n g b a d s h o u l d h a p p e n i n a c o m p u t a t i o n . S a f e t y s p e c i fi c a t i o n s a r e O f t e n m o d e l e d b y s e t o f b a d p r e fi x e s . T h e l i v e n e s s s p e c i fi c a t i o n s p e c i fi e s t h a t s o m e t h i n g g o o d m u s t e v e n t u a l l y h a p p e n . D e fi n i t i o n 2 . 2 . 4 ( s a f e t y s p e c i fi c a t i o n ) A s a f e t y s p e c i fi c a t i o n o f S P E C i s a s e t O f c o m p u t a t i o n s t h a t m e e t s t h e f o l l o w i n g c o n d i t i o n : f o r e a c h i n fi n i t e c o m p u t a t i o n 5 ' t h a t i s n o t i n t h a t s e t , t h e r e e x i s t s p r e fi x a O f 3 , s u c h t h a t f o r a l l i n fi n i t e c o m p u t a t i o n s O f t h e f o r m H E , E i s n o t i n t h a t s e t a s w e l l . D e fi n i t i o n 2 . 2 . 5 ( l i v e n e s s s p e c i fi c a t i o n s ) A l i v e n e s s s p e c i fi c a t i o n o f S P E C i s a s e t o f c o m p u t a t i o n s t h a t m e e t s t h e f o l l o w i n g c o n d i t i o n : f o r e a c h c o m p u t a t i o n p r e fi x 6 , t h e r e e x i s t s a n i n fi n i t e c o m p u t a t i o n B s u c h t h a t E B E S P E C . I 2 8 2 . 2 . 1 E x a m p l e R e a l - t i m e ' D ‘ a f fi c C o n t r o l l e r I n t h e c o n t e x t o f o u r r e a l - t i m e t r a f fi c c o n t r o l l e r , a b a d t h i n g t h a t c a n h a p p e n i s t h e c a s e w h e r e b o t h s i g n a l s a r e n o t r e d a t t h e s a m e t i m e . O b v i o u s l y , s u c h a c a s e m a y b e c a t a s t r o p h i c o n t h e b r i d g e . F o l l o w i n g D e fi n i t i o n 2 . 2 . 4 , t h e s a f e t y s p e c i fi c a t i o n O f T C c a n b e c h a r a c t e r i z e d b y t h e s e t o f b a d t r a n s i t i o n s ( i . e . , b a d p r e fi x e s o f l e n g t h 2 ) w h e r e b o t h s i g n a l s a r e n o t r e d i n t h e i r t a r g e t s t a t e s : S P E C t h C = { ( 0 0 3 7 1 ) | ( 8 i 9 0 ( 0 1 ) 7 A R ) / \ ( s i 9 1 ( 0 1 ) 7 5 3 ) } - D i s t r i b u t e d B y z a n t i n e A g r e e m e n t I n t h e c o n t e x t o f t h e B y z a n t i n e a g r e e m e n t p r o b l e m , t h e s a f e t y s p e c i fi c a t i o n o f B A r e q u i r e s v a l i d i t y , a g r e e m e n t , a n d n o n - e n f o r c e m e n t : o V a l i d i t y r e q u i r e s t h a t i f t h e g e n e r a l i s n o n - B y z a n t i n e , t h e n t h e fi n a l d e c i s i o n O f a n o n - B y z a n t i n e p r o c e s s m u s t b e t h e s a m e a s t h a t o f t h e g e n e r a l . 0 A g r e e m e n t r e q u i r e s t h a t t h e fi n a l d e c i s i o n o f a n y t w o n o n - B y z a n t i n e p r o c e s s e s m u s t b e e q u a l . 0 P e r s i s t e n c y r e q u i r e s t h a t o n c e a n o n - B y z a n t i n e p r o c e s s fi n a l i z e s ( o u t p u t s ) i t s d e c i s i o n , i t c a n n o t c h a n g e i t . T h u s , t h e f o l l o w i n g t r a n s i t i o n p r e d i c a t e c h a r a c t e r i z e s t h e s a f e t y s p e c i fi c a t i o n o f B A : 2 9 S P E C s t A = { ( 0 0 , 0 1 ) | ( v a l i d i t y ) ( a p z : fi b . g ( 0 1 ) A fi b . p ( 0 ‘ 1 ) A ( d . p ( 0 1 ) 7 e J . ) A f . p ( 0 1 ) / \ ( 6 1 - 1 0 ( 0 1 ) # d - g ( 0 1 ) ) ) V ( a g r e e m e n t ) ( 3 2 w : 2 _ ‘ b - P ( ‘ 7 1 ) A r i b - ( K a i ) A [ 7 2 ( 0 1 ) A f - q ( 0 1 ) A ( c l - M O I ) ¢ i ) A ( d ~ ( 1 ( 0 1 ) a t i ) A ( c l - M 0 1 ) ? é d - q ( 0 1 ) ) ) V ( P e r s i s t e n c y ) ( 3 1 ) : : fi b . p ( 0 0 ) A - : b . p ( 0 1 ) A M a o ) A ( k l - M a o ) 7 5 ( 1 4 4 0 1 ) ) V ( f - P ( 0 0 ) 7 A f - P ( 0 1 ) ) ) ) } , w h e r e p a n d q r a n g e o v e r n o n — g e n e r a l p r o c e s s e s . I n t h i s c o n t e x t , a n e x a m p l e o f a l i v e n e s s s p e c i fi c a t i o n c a n b e “ a l l n o n - g e n e r a l n o n - B y z a n t i n e p r o c e s s e s e v e n t u a l l y r e a c h a d e c i s i o n ” . 2 . 3 R e g i o n G r a p h s R e a l - t i m e p r o g r a m s c a n b e a n a l y z e d w i t h t h e h e l p O f a n e q u i v a l e n c e r e l a t i o n o f fi n i t e i n d e x o n t h e s e t o f s t a t e s [ A D 9 4 ] . G i v e n a r e a l - t i m e p r o g r a m P , f o r e a c h c l o c k v a r i a b l e x E X , l e t e m b e t h e l a r g e s t c o n s t a n t i n t h e c l o c k c o n s t r a i n t s O f T P t h a t i n v o l v e 2 : , w h e r e c 1 ; = 0 i f : 1 : d o e s n o t o c c u r i n a n y c l o c k c o n s t r a i n t o f P . W e s a y t h a t t w o c l o c k v a l u a t i o n s V , p a r e c l o c k e q u i v a l e n t i f : 1 . f o r a l l : r E X , e i t h e r ] V ( . r ) ] = I _ , u ( a : ) ] o r b o t h V ( . r ) , , u ( a : ) > e x , 2 . t h e o r d e r i n g o f t h e f r a c t i o n a l p a r t s o f t h e c l o c k v a r i a b l e s i n t h e s e t { : 1 7 E X l V ( : 1 : ) < ( 3 . 7 3 } i s t h e s a m e i n u a n d V , a n d 3 0 3 . f o r a l l : r E X , w h e r e V ( . r ) < c f , t h e c l o c k v a l u e V ( ; r ) i s a n i n t e g e r i f a n d o n l y i f u ( . r ) i s a n i n t e g e r . A c l o c k r e g i o n p i s a c l o c k e q u i v a l e n c e c l a s s . T w o s t a t e s ( . 3 0 , V 0 ) a n d ( 8 1 , 1 / 1 ) a r e r e g i o n e q u i v a l e n t , w r i t t e n ( 8 0 . 1 / 0 ) E ( s l , V 1 ) , i f ( 1 ) 8 0 = 3 1 , a n d ( 2 ) V 0 a n d V 1 a r e c l o c k e q u i v a l e n t . A r e g i o n r = ( s , p ) i s a n e q u i v a l e n c e c l a s s w i t h r e s p e c t t o E , w h e r e s i s a l o c a t i o n a n d p i s a c l o c k r e g i o n . W e s a y t h a t a c l o c k r e g i o n B i s a t i m e - s u c c e s s o r o f a c l o c k r e g i o n ( 1 i f f f o r e a c h V E a , t h e r e e x i s t s r E R 2 0 , s u c h t h a t V + r E B , a n d V + r , E 0 1 U B f o r a l l r , < T . W e c a l l a r e g i o n ( s , p ) a b o u n d a r y r e g i o n , i f f o r e a c h V E p a n d f o r a n y 7 E R 2 0 , V a n d V + r a r e n o t e q u i v a l e n t . A r e g i o n i s o p e n , i f i t i s n o t a b o u n d a r y r e g i o n . A r e g i o n ( s , p ) i s c a l l e d a n e n d r e g i o n , i f V ( a : ) > c m f o r a l l V E p a n d f o r a l l c l o c k v a r i a b l e s : 1 : E X . U s i n g t h e r e g i o n e q u i v a l e n c e r e l a t i o n , w e c o n s t r u c t t h e r e g i o n g r a p h o f a p r o g r a m P = ( H p J p ) ( d e n o t e d R ( P ) = ( 1 1 % , 1 3 1 3 » a s f o l l o w s . V e r t i c e s o f R ( P ) ( d e n o t e d 8 % ) a r e r e g i o n s o b t a i n e d f r o m s t a t e s p a c e O f P . E d g e s O f R ( P ) ( d e n o t e d T 7 7 3 ) a r e o f t h e f o r m ( s O , p 0 ) — > ( s l , p 1 ) i f f f o r s o m e c l o c k v a l u a t i o n s V 0 E p 0 a n d V 1 E p 1 , ( s o , V 0 ) — — + ( 8 1 , 1 / 1 ) i s a t r a n s i t i o n i n T 1 ) . O b v i o u s l y , t h e t r a n s i t i o n p r e d i c a t e O f e a c h p r o c e s s p i n H P h a s a r e s p e c t i v e s e t T 1 3 o f e d g e s . T h u s , T } ; = U p E I I P T 5 . A r e g i o n p r e d i c a t e U T w i t h r e s p e c t t o a s t a t e p r e d i c a t e U i s d e fi n e d b y U T = { ( s , p ) | 3 ( s , V ) : ( ( s , V ) E U / \ V E p ) } . L i k e w i s e , t h e r e g i o n p r e d i c a t e w i t h r e s p e c t t o i n i t i a l s t a t e s 1 7 ; O f a p r o g r a m P i s c a l l e d i n i t i a l r e g i o n s ( d e n o t e d 1 ; ) . S i m i l a r t o t h e n o t i o n O f d e a d l o c k s t a t e s , f o r a p r o g r a m P = ( H P ’ I r p ) , w e s a y t h a t a r e g i o n ( 5 0 9 0 ) O f R ( P ) i s a d e a d l o c k r e g i o n i f f f o r a l l r e g i o n s ( s l , p 1 ) E 5 ; ) , t h e r e 3 1 d o e s n o t e x i s t a n e d g e O f t h e f o r m ( s o , p 0 ) — — > ( s 1 , p 1 ) i n T 7 7 } . W e n o t e t h a t a r e g i o n g r a p h i s a t i m e - a b s t r a c t b i s i m u l a t i o n o f t h e c o r r e s p o n d i n g r e a l - t i m e p r o g r a m [ A D 9 4 ] . I n o u r r e v i s i o n a l g o r i t h m s i n C h a p t e r s 6 , 8 , a n d 9 , w e t r a n s f o r m a r e a l - t i m e p r o g r a m P 2 ( H P , I 7 3 ) i n t o i t s c o r r e s p o n d i n g r e g i o n g r a p h R ( P ) b y i n v o k i n g t h e p r o c e d u r e C o n s t r u c t R e g i o n G r a p h a s a b l a c k b o x . W e a l s o l e t t h i s p r o c e d u r e t a k e s t a t e p r e d i c a t e s a n d t r a n s i t i o n p r e d i c a t e s i n P a n d r e t u r n t h e c o r r e s p o n d i n g r e g i o n p r e d i c a t e s a n d s e t s O f e d g e s i n R ( P ) . L i k e w i s e , w e t r a n s f o r m a r e g i o n g r a p h R ( P ) b a c k i n t o a r e a l - t i m e p r o g r a m b y i n v o k i n g t h e p r o c e d u r e C o n - s t r u c t R e a I T i m e P r o g r a m . W e n o t e t h a t t h e a b o v e r e c i p e f o r c o n s t r u c t i n g r e g i o n g r a p h s i n v o l v e s a n e x p o n e n t i a l b l o w - u p i n t h e n u m b e r O f c l o c k s a n d a l s o i n t h e m a g n i t u d e o f c l o c k v a r i a b l e s . T h u s , w h e n w e a n a l y z e c o m p l e x i t y o f a l g o r i t h m s i n t h e s i z e o f r e g i o n g r a p h s , t h e r e a d e r s h o u l d a u t o m a t i c a l l y c o n s i d e r t h i s c o n s t r u c t i o n c o m p l e x i t y a s w e l l . 3 2 P a r t I I R e v i s i n g P r o g r a m s i n C l o s e d S y s t e m s 3 3 I n t h i s p a r t O f t h e d i s s e r t a t i o n , w e p r e s e n t o u r r e s u l t s o n a u t o m a t e d r e v i s i o n O f p r o g r a m s i n c l o s e d s y s t e m s . I n a c l o s e d s y s t e m , p r o g r a m s d o n o t i n t e r a c t w i t h t h e e n v i r o n m e n t i n a n y w a y s . M o r e s p e c i fi c a l l y , i n c l o s e d s y s t e m s t h e s t a t e O f a p r o g r a m i s n o t a f f e c t e d b y e n v i r o n m e n t o r u n c o n t r o l l a b l e f a u l t t r a n s i t i o n s . T h u s , w e i n t u i t i v e l y i n t e r p r e t t h e r e v i s i o n p r o b l e m a s f o l l o w s : G i v e n a p r o g r a m P a n d a ( n e w ) S p e c i fi c a t i o n S P E C n , w h e r e P d o e s n o t r e fi n e S P E C n , t h e p r o b l e m i s w h e t h e r o r n o t i t i s p o s s i b l e t o a u t o m a t i c a l l y r e v i s e P i n s i d e t h e s t a t e s p a c e o f P s u c h t h a t t h e r e v i s e d p r o g r a m r e fi n e s S P E C n w h i l e i t c o n t i n u e s t o s a t i s f y i t s e x i s t i n g s p e c i fi c a t i o n S P E C e . T h i s p a r t i s o r g a n i z e d a s f o l l o w s . F i r s t , w e p r e s e n t t h e t y p e o f s a f e t y a n d l i v e n e s s p r o p e r t i e s t h a t w e c o n s i d e r i n t h i s p a r t a n d w e f o r m a l l y s t a t e t h e p r o b l e m O f r e v i s — i n g p r o g r a m s i n c l o s e d s y s t e m s i n C h a p t e r 3 . F o l l o w i n g t h e p r o b l e m s t a t e m e n t , i n C h a p t e r s 4 , 5 , a n d 6 , w e p r e s e n t o u r r e s u l t s o n t h e c o m p l e x i t y O f r e v i s i n g u n t i m e d c e n t r a l i z e d , d i s t r i b u t e d , a n d r e a l - t i m e p r o g r a m s , r e s p e c t i v e l y . 3 4 C h a p t e r 3 T h e R e v i s i o n P r o b l e m i n C l o s e d S y s t e m s I n t h i s c h a p t e r , w e f o r m a l i z e t h e p r o b l e m o f r e v i s i n g p r o g r a m s i n c l o s e d s y s t e m s . T h i s c h a p t e r i s o r g a n i z e d a s f o l l o w s . S e c t i o n 3 . 1 i s d e d i c a t e d t o p r e s e n t t h e t y p e o f s p e c i fi c a t i o n s t h a t w e c o n s i d e r i n r e v i s i n g p r o g r a m s i n c l o s e d s y s t e m s . T h e n , i n S e c t i o n 3 . 2 , w e f o r m a l l y s t a t e t h e r e v i s i o n p r o b l e m . 3 . 1 B a s i c C o n c e p t s I n t h e c o n t e x t o f r e v i s i n g p r o g r a m s i n c l o s e d s y s t e m s , w e c o n c e n t r a t e o n U N I T Y p r o p e r t i e s i n t r o d u c e d b y C h a n d y a n d M i s r a [ C M 8 8 ] a n d r e a l - t i m e U N I T Y p r o p e r t i e s i n t r o d u c e d b y C a r r u t h [ C a r 9 4 ] . T h e r e a s o n f o r o u r s p e c i fi c f o c u s o n U N I T Y p r o p e r t i e s i s t h a t t h e y a r e k n o w n t o b e h i g h l y e x p r e s s i v e i n S p e c i f y i n g a l a r g e c l a s s o f p r o g r a m s . 3 5 D e fi n i t i o n 3 . 1 . 1 ( r e a l - t i m e U N I T Y p r o p e r t i e s ) L e t P a n d Q b e a r b i t r a r y s t a t e p r e d i c a t e s . o ( B o u n d e d - t i m e u n l e s s ) A n i n fi n i t e t i m e d s t a t e s e q u e n c e 3 = ( 0 0 , r 0 ) — > ( 0 1 , 7 1 ) — > r e fi n e s ‘ P u n l e s s é Q ’ i f f V i Z 0 : ( ( 0 2 ' E ( P fl n Q ) ) = ‘ > V j > i | ( r j — r , - g 6 ) : ( o j E ( P U Q ) ) ) . I n t u i t i v e l y , i f P h o l d s a t a n y 0 2 - , t h e n f o r a l l j > i s u c h t h a t r j — 7 ' , g 6 e i t h e r ( 1 ) Q d o e s n o t h o l d i n 0 3 - a n d P i s t r u e , o r ( 2 ) Q b e c o m e s t r u e i n 0 3 - a n d P h o l d s a t l e a s t u n t i l Q b e c o m e s t r u e . A f t e r 6 t i m e u n i t s t h e r e i s n o r e q u i r e m e n t o n P a n d Q . 0 ( B o u n d e d - t i m e l e a d s - t o ) A n i n fi n i t e t i m e d s t a t e s e q u e n c e 5 ' = ( 0 0 , 7 0 ) - — > ( 0 1 , 7 1 ) — — > r e fi n e s ‘ P l e a d s - t o 5 Q ’ ( d e n o t e d P H 5 Q ) i f f f o r a l l i _ > _ 0 , i f a , - E P , t h e n t h e r e e x i s t s j , j 2 i , s u c h t h a t ( 1 ) o j E Q , a n d ( 2 ) r j - — r , - g 6 . I n t u i t i v e l y , i t i s a l w a y s t h e c a s e t h a t a s t a t e i n P i s f o l l o w e d b y a s t a t e i n Q w i t h i n 6 t i m e u n i t s . I W e n o w p r e s e n t u n t i m e d U N I T Y p r o p e r t i e s b y a b s t r a c t i n g t h e n o t i o n O f t i m e f r o m D e fi n i t i o n 3 . 1 . 1 . T h i s a b s t r a c t i o n r e s u l t s i n t r a n s f o r m a t i o n O f b o u n d e d - t i m e l e a d s — t o p r o p e r t y f r o m a s a f e t y p r o p e r t y i n t o a l i v e n e s s p r o p e r t y . P r e c i s e l y , C h a n d y a n d M i s r a c l a s s i f y u n t i m e d U N I T Y p r o p e r t i e s i n t w o b r o a d c a t e g o r i e s o f s a f e t y a n d p r o g r e s s p r o p e r t i e s d e fi n e d n e x t . D e fi n i t i o n 3 . 1 . 2 ( u n t i m e d U N I T Y s a f e t y p r o p e r t i e s ) L e t P a n d Q b e a r b i - t r a r y s t a t e p r e d i c a t e s . 0 ( U n l e s s ) A n i n fi n i t e s e q u e n c e o f s t a t e s 3 = 0 0 — + ( 7 1 - - - r e fi n e s ‘ P u n l e s s Q ’ 3 6 i f f V i 2 0 : ( 0 , ; E ( P 0 - : Q ) ) : > ( o z - + 1 E ( P U Q ) ) . I n t u i t i v e l y , i f P h o l d s i n a s t a t e o f 3 , t h e n e i t h e r ( 1 ) Q n e v e r h o l d s i n E a n d P i s c o n t i n u o u s l y t r u e , o r ( 2 ) Q b e c o m e s t r u e a n d P h o l d s a t l e a s t u n t i l Q b e c o m e s t r u e . 0 ( S t a b l e ) A n i n fi n i t e s e q u e n c e O f s t a t e s 6 = 0 0 — — > 0 1 - - - r e f i n e s ‘ s t a b l e P ’ i f f 5 ' s a t i s fi e s P u n l e s s f a l s e . I n t u i t i v e l y , P i s s t a b l e i f f o n c e i t b e c o m e s t r u e , i t r e m a i n s t r u e f o r e v e r . 0 ( I n v a r i a n t ) A n i n fi n i t e s e q u e n c e o f s t a t e s 6 = 0 0 — + 0 1 - - - r e fi n e s ‘ i n v a r i a n t P ’ i f f 0 0 E P a n d 3 s a t i s fi e s s t a b l e P . A n i n v a r i a n t p r o p e r t y a l w a y s h o l d s . I D e fi n i t i o n 3 . 1 . 3 ( u n t i m e d U N I T Y p r o g r e s s p r o p e r t i e s ) L e t P a n d Q b e a r b i t r a r y s t a t e p r e d i c a t e s . o ( L e a d s - t o ) A n i n fi n i t e s e q u e n c e O f s t a t e s 6 = 0 0 — > 0 1 - - - r e fi n e s ‘ P l e a d s - t o Q ’ ( d e n o t e d P i — - > Q ) i f f ( V i 2 0 : ( a , E P ) = > ( E l j 2 i : a j E Q ) ) . I n o t h e r w o r d s , i f P h o l d s i n a s t a t e 0 , , i Z 0 , t h e n t h e r e e x i s t s a s t a t e 0 - i n E , i S j , J s u c h t h a t Q h o l d s i n o j . o ( E n s u r e s ) A n i n fi n i t e s e q u e n c e O f s t a t e s 5 “ = 0 0 — > 0 1 - - - r e fi n e s ‘ P e n s u r e s Q ’ i f f f o r a l l i , i 2 0 , i f P D fi Q i s t r u e i n s t a t e 0 , , t h e n ( 1 ) U i + 1 E ( P U Q ) , a n d ( 2 ) 3 1 ' 2 i : o j E Q . I n o t h e r w o r d s , i f P b e c o m e s t r u e i n 0 i , t h e r e e x i s t s , - w h e r e Q e v e n t u a l l y b e c o m e s t r u e a n d P r e m a i n s t r u e e v e r y w h e r e i n a s t a t e O J b e t w e e n 0 i a n d o j . I T h e r e e x i s t s o m e s m a l l d i f f e r e n c e s b e t w e e n o u r f o r m a l f r a m e w o r k a n d t h a t i n s t a n d a r d U N I T Y . F i r s t , i n o u r f o r m a l f r a m e w o r k , u n l i k e t h e s t a n d a r d U N I T Y w h i c h 3 7 a s s u m e s i n t e r l e a v e d f a i r n e s s , w e a s s u m e t h a t a l l p r o g r a m c o m p u t a t i o n s a r e u n f a i r . T h i s a s s u m p t i o n i s n e c e s s a r y i n d e a l i n g w i t h p o l y n o m i a l - t i m e a d d i t i o n O f U N I T Y p r o g r e s s p r o p e r t i e s t o p r o g r a m s . S e c o n d l y , o u r d e fi n i t i o n O f e n s u r e s i s s l i g h t l y d i f f e r e n t f r o m t h a t i n [ C M 8 8 ] . I n C h a n d y a n d M i s r a ’ s d e fi n i t i o n , ( P e n s u r e s Q ) i m p l i e s ( 1 ) P l e a d s — t o Q , ( 2 ) P u n l e s s Q a n d ( 3 ) t h e r e i s a t l e a s t o n e a c t i o n t h a t a l w a y s e s t a b l i s h e s Q w h e n e v e r i t i s e x e c u t e d i n a s t a t e w h e r e P i s t r u e a n d Q i s f a l s e . S i n c e , w e d o n o t m o d e l a c t i o n s e x p l i c i t l y i n o u r w o r k , w e h a v e r e m o v e d t h e t h i r d r e q u i r e m e n t . F i n a l l y , a s d e s c r i b e d i n C h a p t e r 2 , o u r f o c u s i s o n p r o g r a m s w i t h a fi n i t e s e t o f d i s c r e t e v a r i a b l e s . T h u s , i n t h e c o n t e x t o f u n t i m e d p r o g r a m s , a l l p r o g r a m s h a v e fi n i t e s t a t e s p a c e . D e fi n i t i o n 3 . 1 . 1 l a c k s t w o t y p e s o r p r o p e r t i e s a s c o m p a r e d t o t h e d e fi n i t i o n o f u n t i m e d U N I T Y p r o p e r t i e s . H o w e v e r , o n e c a n e a s i l y i n s t a n t i a t e t h e d e fi n i t i o n o f b o u n d e d - t i m e s t a b l e a n d b o u n d e d - t i m e e n s u r e s p r O p e r t i e s i n t h e o b v i o u s w a y . T h e d e fi n i t i o n o f i n v a r i a n t i s n o t t i m e - r e l a t e d a n d , t h e r e f o r e , r e m a i n s t h e s a m e . A s s u m p t i o n 3 . 1 . 4 I n P a r t I I o f t h e d i s s e r t a t i o n , w e a d d t h e f o l l o w i n g c o n s t r a i n t t o D e fi n i t i o n 2 . 1 . 7 . L e t P = ( H P e r ) b e a p r o g r a m . F o r a l l c o m p u t a t i o n s 5 ‘ = o , r — > a , r — > - - - O f P , w e r e q u i r e t h a t o E I . I 0 0 1 1 0 1 ) G i v e n D e fi n i t i o n s 3 . 1 . 1 , 3 . 1 . 2 , a n d 3 . 1 . 3 , i t i s s t r a i g h t f o r w a r d t o p r e c i s e l y d e fi n e t h e n o t i o n O f s p e c i fi c a t i o n s . A U N I T Y s p e c i fi c a t i o n S P E C i s t h e c o n j u n c t i o n A I L } L , w h e r e ( d e p e n d i n g u p o n t h e c o n t e x t ) e a c h C , - i s e i t h e r a r e a l - t i m e U N I T Y p r o p e r t y , o r , a n u n t i m e d U N I T Y ( s a f e t y o r p r o g r e s s ) p r o p e r t y . 3 8 I n t h e c o n t e x t o f r e fi n e m e n t o f a U N I T Y s p e c i fi c a t i o n b y a p r o g r a m , f o l l o w i n g D e fi n i t i o n 2 . 2 . 3 , w e s a y t h a t a p r o g r a m P = ( I L P , I p ) r e fi n e s a U N I T Y s p e c i fi c a t i o n S P E C = A L I L , - i f a n d o n l y i f P r e fi n e s £ 2 - f o r a l l i , 1 g i S n . I n o t h e r w o r d s , a l l c o m p u t a t i o n s o f P r e fi n e a l l U N I T Y p r o p e r t i e s i n S P E C . C o n c i s e R e p r e s e n t a t i o n o f U n t i m e d U n i t y S a f e t y P r o p e r t i e s O b s e r v e t h a t t h e u n t i m e d U N I T Y s a f e t y p r o p e r t i e s c a n b e c h a r a c t e r i z e d i n t e r m s O f a s e t O f b a d t r a n s i t i o n s t h a t s h o u l d n e v e r o c c u r i n a p r o g r a m c o m p u t a t i o n . F o r e x a m p l e , s t a b l e P r e q u i r e s t h a t a t r a n s i t i o n , s a y ( 0 0 , 0 1 ) , w h e r e 0 0 E P a n d 0 1 E P , s h o u l d n e v e r o c c u r i n a n y c o m p u t a t i o n o f a p r o g r a m t h a t r e fi n e s s t a b l e P . H e n c e , f o r s i m p l i c i t y , i n P a r t I I o f t h e d i s s e r t a t i o n , w h e n d e a l i n g w i t h s a f e t y U N I T Y p r o p e r t i e s o f a p r o g r a m P , w e a s s u m e t h a t t h e y a r e r e p r e s e n t e d b y a t r a n s i t i o n p r e d i c a t e B Q S p x S p w h o s e t r a n s i t i o n s S h o u l d n e v e r o c c u r i n a n y c o m p u t a t i o n . E x a m p l e s o f s u c h “ b a d t r a n s i t i o n ” w e r e p r e s e n t e d i n S u b s e c t i o n 2 . 2 . 1 . 3 . 2 P r o b l e m S t a t e m e n t G i v e n a r e a p r o g r a m P = ( 1 1 1 , , 1 p ) a n d a ( n e w ) U N I T Y s p e c i fi c a t i o n S P E C n . O u r g o a l i s t o d e v i s e a n a u t o m a t e d m e t h o d w h i c h r e v i s e s P s o t h a t t h e r e v i s e d p r o g r a m ( d e n o t e d P , = < H P ” L P / ) ) ( 1 ) r e fi n e s S P E C n , a n d ( 2 ) c o n t i n u e s r e fi n i n g i t s e x i s t i n g U N I T Y s p e c i fi c a t i o n S P E C e , w h e r e S P E C e i s u n k n o w n . T h u s , d u r i n g t h e r e v i s i o n , w e o n l y w a n t t o r e u s e t h e c o r r e c t n e s s o f P w i t h r e s p e c t t o S P E C e s o t h a t t h e c o r r e c t n e s s O f P ’ w i t h r e s p e c t t o S P E C e i s d e r i v e d f r o m ‘ P r e fi n e s S P E C e ’ . 3 9 I n t u i t i v e l y , i n o r d e r t o e n s u r e t h a t t h e r e v i s e d p r o g r a m P ' c o n t i n u e s r e fi n i n g t h e e x i s t i n g S p e c i fi c a t i o n S P E C e , w e c o n s t r a i n t h e r e v i s i o n p r o b l e m s o t h a t t h e s e t O f c o m p u t a t i o n s o f P , i s a s u b s e t o f t h e s e t O f c o m p u t a t i o n s O f P . I n t h i s s e n s e , S i n c e U N I T Y p r o p e r t i e s a r e n o t e x i s t e n t i a l l y q u a n t i fi e d ( u n l i k e i n C T L [ E m e 9 0 ] ) , w e a r e g u a r a n t e e d t h a t a l l c o m p u t a t i o n s o f P , s a t i s f y t h e U N I T Y p r o p e r t i e s t h a t p a r t i c i p a t e i n S P E C e . N o t a t i o n . L e t P b e a p r o g r a m . L e t Y b e a s u b s e t o f t h e s e t O f c l o c k v a r i a b l e s o f P , i . e . , Y Q X p . W e d e n o t e t h e p r o g r a m O b t a i n e d b y r e m o v i n g t h e c l o c k v a r i a b l e s i n Y f r o m X p b y P \ Y . O b v i o u s l y , n o s t a t e a n d t r a n s i t i o n p r e d i c a t e o f P \ Y d e p e n d o n t h e v a l u e O f v a r i a b l e s i n Y . N o w , w e f o r m a l l y i d e n t i f y c o n s t r a i n t s o n s t a t e s p a c e o f P ’ ( d e n o t e d S P ’ ) ’ i n i t i a l s t a t e s O f P ’ , 1 P ” a n d t r a n s i t i o n p r e d i c a t e O f P , ( d e n o t e d T ’ p ’ ) ' O b s e r v e t h a t : o i f S P , c o n t a i n s s t a t e s t h a t a r e n o t i n S p , t h e r e i s n o g u a r a n t e e t h a t t h e c o r - r e c t n e s s O f P w i t h r e s p e c t t o S P E C e c a n b e r e u s e d t o e n s u r e t h a t P , r e fi n e s S P E C e . A l s o , s i n c e S p d e n o t e s t h e s e t O f a l l s t a t e s ( n o t j u s t r e a c h a b l e s t a t e s ) O f P , r e m o v i n g s t a t e s f r o m S p i s n o t a d v a n t a g e o u s . H o w e v e r , S i n c e m e e t i n g n e w t i m i n g c o n s t r a i n t s r e q u i r e s t i m e p r e d i c t a b i l i t y , w e l e t r e v i s i o n m e t h o d s i n - c o r p o r a t e a fi n i t e s e t X n o f n e w c l o c k v a r i a b l e s i n o r d e r t o k e e p t r a c k o f t i m e o n l y . T h u s , i n t h e r e v i s i o n p r o b l e m , w e r e q u i r e t h a t S P ’ \ X n = S p . 0 L i k e w i s e , I P ’ S h o u l d n o t h a v e a n y s t a t e s t h a t w e r e n o t t h e r e i n 1 p . M o r e o v e r , s i n c e 1 p d e n o t e s t h e s e t o f a l l i n i t i a l s t a t e s O f P , w e S h o u l d p r e s e r v e t h e m d u r i n g t h e r e V I S I o n . T h u s , w e r e q u l r e t h a t I P ’ \ X n = 1 p . 4 0 0 F i n a l l y , w e r e q u i r e t h a t T , , s h o u l d b e a s u b s e t o f T . N o t e t h a t n o t a l l P \ A n 7 ’ t r a n s i t i o n s i n T 7 3 m a y b e p r e s e r v e d i n T P P H e n c e , w e m u s t e n s u r e t h a t P I d o e s n o t d e a d l o c k . B a s e d o n D e fi n i t i o n s 2 . 2 . 1 a n d 2 . 2 . 3 , i f T 1 . T 7 ) P ’ C [ \ X ' I t _ 2 . P , d o e s n o t d e a d l o c k , a n d 3 . P r e fi n e s S P E C e , t h e n P , a l s o r e fi n e s S P E C e . T h u s , t h e r e v i s i o n p r o b l e m i s f o r m a l l y d e fi n e d a s f o l l o w s : P r o b l e m S t a t e m e n t 3 . 2 . 1 G i v e n a p r o g r a m P 2 ( H P ’ 1 p ) a n d a U N I T Y S p e c i fi - c a t i o n S P E C n , i d e n t i f y P , = ( “ 7 9 ” 1 7 9 , ) s u c h t h a t : ( C 3 ) Q T p , a n d T P ’ \ X n ( C 4 ) P , r e fi n e s S P E C n . I N o t e t h a t t h e r e q u i r e m e n t o f d e a d l o c k f r e e d o m i s n o t e x p l i c i t l y s p e c i fi e d i n t h e a b o v e p r o b l e m s t a t e m e n t , a s i t f o l l o w s f r o m ‘ P ’ r e fi n e s S P E C n ’ . T h r o u g h o u t P a r t I I o f t h e d i s s e r t a t i o n , w e u s e ‘ r e v i s i o n O f P w i t h r e s p e c t t o a s p e c i fi c a t i o n S P E C n ( o r p r o p e r t y C ) ’ a n d ‘ a d d i t i o n O f S P E C n ( r e s p e c t i v e l y , C ) t o P ’ i n t e r c h a n g e a b l y . I n C h a p t e r s 4 , 5 , a n d 6 , w e p r e s e n t t h e c o m p l e x i t y o f r e v i s i o n m e t h o d s t h a t s o l v e P r o b l e m S t a t e m e n t 3 . 2 . 1 w i t h r e s p e c t t o u n t i m e d c e n t r a l i z e d , d i s t r i b u t e d , a n d r e a l - t i m e p r o g r a m s , r e s p e c t i v e l y f o r d i f f e r e n t t y p e s o f U N I T Y p r o p e r t i e s . I n t h i s c o n t e x t , 4 1 w e a d d r e s s t w o i m p o r t a n t c r i t e r i a w i t h r e s p e c t t o r e v i s i o n a l g o r i t h m s : s o u n d n e s s a n d c o m p l e t e n e s s . D e fi n i t i o n 3 . 2 . 2 ( s o u n d n e s s ) W e s a y t h a t a r e v i s i o n a l g o r i t h m i s s o u n d i f f i t s o u t p u t m e e t s t h e c o n s t r a i n t s o f P r o b l e m S t a t e m e n t 3 . 2 . 1 . I D e fi n i t i o n 3 . 2 . 3 ( c o m p l e t e n e s s ) W e s a y t h a t a r e v i s i o n a l g o r i t h m i s c o m p l e t e i f f i t fi n d s a s o l u t i o n t o P r o b l e m S t a t e m e n t 3 . 2 . 1 i f f t h e r e e x i s t s o n e . I 4 2 C h a p t e r 4 R e v i s i n g U n t i m e d C e n t r a l i z e d P r o g r a m s I n t h i s c h a p t e r , w e p r e s e n t o u r c o n t r i b u t i o n s o n a u t o m a t e d r e v i s i o n o f u n t i m e d c e n - t r a l i z e d p r o g r a m s i n c l o s e d s y s t e m s . A l t h o u g h s u c h p r o g r a m s a r e n e i t h e r d i s t r i b u t e d n o r r e a l - t i m e , i d e n t i f y i n g t h e c o m p l e x i t y o f t h e i r r e v i s i o n i s o f i n t e r e s t i n t h e s e n s e t h a t a h a r d n e s s r e s u l t a u t o m a t i c a l l y d e t e r m i n e s a l o w e r b o u n d o n t h e c o m p l e x i t y o f t h e c o r r e s p o n d i n g p r o b l e m i n t h e d i s t r i b u t e d a n d t i m e d s e t t i n g s . T h i s c h a p t e r i s o r g a n i z e d a s f o l l o w s . I n S e c t i o n 4 . 1 , w e p r e s e n t a p o l y n o m i a l - t i m e s o u n d a n d c o m p l e t e a l g o r i t h m f o r a d d i n g a s i n g l e u n b o u n d e d p r o g r e s s U N I T Y p r o p - e r t y a l o n g w i t h a c o n j u n c t i o n o f . s a f e t y U N I T Y p r o p e r t i e s t o a n u n t i m e d c e n t r a l i z e d p r o g r a m . T h e n , i n S e c t i o n 4 . 2 , w e S h o w t h a t w h i l e i t i s p o s s i b l e t o a d d a s i n g l e p r o g r e s s p r o p e r t y i n p o l y n o m i a l - t i m e , t h e p r o b l e m o f a d d i n g t w o o r m o r e p r o g r e s s p r o p e r t i e s i s s i g n i fi c a n t l y m o r e d i f fi c u l t , i . e . , i t i s N P - c o m p l e t e . F i n a l l y , i n S e c t i o n 4 . 3 , w e S h o w t h a t a d d i t i o n o f e v e n o n e l e a d s - t o p r o p e r t y t o a n u n t i m e d c e n t r a l i z e d 4 3 p r o g r a m w h i l e r e t a i n i n g m a x i m u m n u m b e r O f t r a n s i t i o n s i s N P - c o m p l e t e . 4 . 1 A d d i n g a S i n g l e P r o g r e s s a n d M u l t i p l e S a f e t y P r o p e r t i e s I n t h i s s e c t i o n , w e p r e s e n t a s i m p l e s o l u t i o n f o r P r o b l e m S t a t e m e n t 3 . 2 . 1 w h e r e t h e n e w s p e c i fi c a t i o n S P E C n i s a c o n j u n c t i o n o f a s i n g l e l e a d s - t o p r o p e r t y a n d m u l t i p l e s a f e t y p r o p e r t i e s . W e n o t e t h a t t h e g o a l O f o u r a l g o r i t h m i s s i m p l y t o i l l u s t r a t e t h e f e a s i b i l i t y o f a p o l y n o m i a l - t i m e s o l u t i o n . H e n c e , a l t h o u g h o u r a l g o r i t h m i n t h i s s e c t i o n c a n b e m o d i fi e d t o r e d u c e t h e c o m p l e x i t y f u r t h e r , w e h a v e c h o s e n t o p r e s e n t a s i m p l e ( a n d n o t s o e f fi c i e n t ) s o l u t i o n ( s e e A l g o r i t h m 4 . 1 ) . L e t P = ( H P ’ 1 p ) b e a p r o g r a m a n d s p e c i fi c a t i o n S P E C n : . — : B / \ C , w h e r e B r e p r e s e n t s t h e c o n j u n c t i o n o f a s e t o f s a f e t y p r o p e r t i e s a n d C E ( P H Q ) f o r a r b i t r a r y s t a t e p r e d i c a t e s P a n d Q i n S p . I n o r d e r t o g u a r a n t e e t h a t t h e r e v i s e d p r o g r a m P , s a t i s fi e s B ( i . e . , P , n e v e r e x e c u t e s a t r a n s i t i o n i n t h e s e t o f b a d t r a n s i t i o n s B ) , w e s i m p l y r e m o v e a l l t r a n s i t i o n s i n B f r o m T 7 ) ( S t e p 1 ) . I n o r d e r t o a d d t h e l e a d s - t o p r o p e r t y [ I E ( P H Q ) t o P , w e n e e d t o g u a r a n t e e t h a t a n y c o m p u t a t i o n o f P , t h a t r e a c h e s a s t a t e i n P w i l l e v e n t u a l l y r e a c h a s t a t e i n Q . T o w a r d s t h i s e n d , w e r a n k a l l s t a t e s a i n S p b a s e d o n t h e l e n g t h o f t h e s h o r t e s t c o m p u t a t i o n p r e fi x o f P f r o m a t o a s t a t e i n Q ( S t e p 2 ) . I n s u c h a r a n k i n g , i f n o s t a t e o f Q i s r e a c h a b l e f r o m a t h e n t h e r a n k O f a w i l l b e i n fi n i t y . A l s o , t h e r a n k o f s t a t e s i n Q i s z e r o . T h e r e e x i s t t w o o b s t a c l e s i n g u a r a n t e e i n g t h e r e a c h a b i l i t y O f Q f r o m 4 4 P : ( 1 ) d e a d l o c k s t a t e s r e a c h a b l e f r o m P , a n d ( 2 ) c y c l e s r e a c h a b l e f r o m P i n w h i c h c o m p u t a t i o n s o f P , m a y b e t r a p p e d f o r e v e r . I n a d d i t i o n t o p o s s i b l e e x i s t i n g d e a d l o c k s t a t e s i n P , o u r a l g o r i t h m m a y a l s o i n t r o d u c e d e a d l o c k s t a t e s b y ( i ) r e m o v i n g s a f e t y - v i o l a t i n g t r a n s i t i o n s ( S t e p 1 ) , a n d ( i i ) m a k i n g i n fi n i t y - r a n k e d s t a t e s i n P u n r e a c h a b l e i n S t e p 4 . R e g a r d i n g d e a d l o c k s t a t e s , o u r a p p r o a c h i s t o m a k e t h e m u n r e a c h a b l e ( S t e p s 5 — 1 2 ) . S u c h r e m o v a l O f t r a n s i t i o n s m a y i n t r o d u c e n e w d e a d l o c k s t a t e s t h a t a r e r e m o v e d i n t h e w h i l e l o o p . I f t h e r e m o v a l o f d e a d l o c k s t a t e s c u l m i n a t e s i n m a k i n g a n i n i t i a l s t a t e d e a d l o c k e d t h e n ( P + — > Q ) c a n n o t b e a d d e d t o P . O t h e r w i s e , w e a g a i n r a n k a l l s t a t e s ( S t e p 1 3 ) a s w e m i g h t h a v e r e m o v e d s o m e d e a d l o c k s t a t e s i n Q , a n d c o n - s e q u e n t l y , c r e a t e d n e w i n fi n i t y - r a n k e d s t a t e s . W e r e p e a t t h e a b o v e s t e p s u n t i l n o r e a c h a b l e s t a t e i n P h a s t h e r a n k i n fi n i t y . A t t h i s p o i n t ( e n d o f t h e r e p e a t - u n t i l l o o p ) , t h e r e i s a p a t h f r o m e a c h s t a t e i n P t o a s t a t e i n Q . H o w e v e r , t h e r e m a y e x i s t a c o m p u t a t i o n p r e fi x ( 0 0 , 0 1 , - ~ , o n ) s u c h t h a t ( 1 ) 0 ' 0 E P , ( 2 ) o n E Q , ( 3 ) f o r a l l i E { 1 . . n — 1 } 2 0 , : E Q , a n d ( 4 ) E l j E { 2 . . n — 1 } w h e r e o j i s o n a c y c l e . T o d e a l w i t h s u c h c y c l e s , w e r e t a i n t r a n s i t i o n s f r o m h i g h - r a n k e d s t a t e s t o l o w — r a n k e d s t a t e s ( S t e p 1 5 ) . I n p a r t i c u l a r , i f R a n k ( 0 0 ) S R a n k ( o l ) t h e n i t m e a n s t h e r e e x i s t s a c o m p u t a t i o n p r e fi x o f s h o r t e r o r e q u a l l e n g t h f r o m 0 0 t o Q a s c o m p a r e d t o t h e c o m p u t a t i o n p r e fi x f r o m 0 1 t o Q . T h u s , r e m o v i n g ( 0 0 , 0 1 ) w i l l n o t m a k e 0 0 d e a d - l o c k e d . N o t i c e t h a t i n S t e p 1 5 , t r a n s i t i o n s o f t h e f o r m ( 0 0 , 0 1 ) , w h e r e R a n k ( 0 0 ) = 0 0 a n d R a n k ( 0 1 ) = s o , a r e n o t r e m o v e d . A l s o , w e e n s u r e t h a t n o t r a n s i t i o n s t h a t o r i g i - n a t e f r o m Q i s r e m o v e d . H e n c e , c o m p u t a t i o n s i n w h i c h n e i t h e r p r e d i c a t e s P a n d Q a r e r e a c h e d w i l l n o t b e a f f e c t e d . 4 5 E E ‘ R ’ Q ? 2 A l g o r i t h m 4 . 1 A d d _ U N I T Y I n p u t : u n t i m e p r o g r a m ( 1 1 7 ) , 1 p ) , l e a d s - t o p r o p e r t y P H Q , a n d s a f e t y s p e c i fi c a t i o n B . O u t p u t : r e v i s e d p r o g r a m ( H P I ’ I p / ) ~ 1 : T 7 3 1 : 2 P — { ( 0 0 , 0 1 ) I ( 0 0 , 0 1 ) E B } ; 2 : V 0 E S p : R a n k ( 0 ) = t h e l e n g t h O f t h e S h o r t e s t c o m p u t a t i o n p r e fi x O f f l i p 1 t h a t s t a r t s f r o m 0 a n d e n d s i n a s t a t e i n Q ; { R a n k ( 0 ) = 0 0 m e a n s Q i s n o t r e a c h a b l e f r o m 0 . } 3 : T p l : = T 7 3 1 — { ( 0 0 , 0 1 ) I ( 0 1 E P ) A R a n k ( 0 1 ) = 0 0 } ; ( 3 0 0 E S p : ( V 0 1 E S p : ( 0 0 , 0 1 ) ¢ T P 1 ) ) ( 0 0 ¢ 1 7 9 ) T 7 3 1 3 : T 1 9 1 - { ( 0 . 0 0 ) l ( 0 . 0 0 ) E T 7 9 1 } ; d e c l a r e t h a t t h e a d d i t i o n i s n o t p o s s i b l e ; e x i t ( ) ; V 0 E S p : R a n k ( 0 ) = t h e l e n g t h o f t h e s h o r t e s t c o m p u t a t i o n p r e fi x o f T 7 3 1 t h a t s t a r t s f r o m 0 a n d e n d s i n a s t a t e i n Q ; ( V 0 | ( 0 E P ) A ( 0 i s r e a c h a b l e f r o m 1 p u s i n g T p l ) : R a n k ( 0 ) 7 5 o o ) 8 : T 7 3 1 — { ( 0 0 , 0 1 ) I ( R a n k ( 0 0 ) > 0 ) A ( R a n k ( o o ) a é 0 0 ) A ( R a n k ( 0 0 ) S R a n k ( a l l l l ; R e m a r k . W e n o t e t h a t s i n c e e n s u r e s c a n b e e x p r e s s e d a s a c o n j u n c t i o n o f a n u n l e s s p r o p e r t y a n d a l e a d s - t o p r o p e r t y , o u r a l g o r i t h m i s a b l e t o a d d a n e n s u r e s p r o p e r t y a s w e l l . T h e o r e m 4 . 1 . 1 T h e A d d _ U N | T Y a l g o r i t h m i s s o u n d a n d c o m p l e t e . P r o o f . S i n c e A d d - U N l T Y d o e s n o t a d d a n y n e w s t a t e s t o S p , w e h a v e S p ; z S p . L i k e w i s e , A d d _ U N I T Y d o e s n o t r e m o v e ( r e s p e c t i v e l y , i n t r o d u c e ) a n y i n i t i a l s t a t e s ; w e h a v e 1 7 3 ’ 2 1 p . T h e A d d _ U N I T Y a l g o r i t h m o n l y u p d a t e s T 7 ) b y e x c l u d i n g s o m e t r a n s i t i o n s f r o m T p i n S t e p s 1 , 4 , 7 , a n d 1 5 . I t f o l l o w s t h a t T 7 ) , Q T p . B y c o n s t r u c t i o n , i f t h e A d d _ U N l T Y a l g o r i t h m g e n e r a t e s a p r o g r a m T , i n S t e p 1 5 t h e n 7 3 r e a c h a b i l i t y f r o m P t o Q i s g u a r a n t e e d i n P ’ . T h u s , P , m e e t s a l l t h e r e q u i r e m e n t s o f 4 6 P r o b l e m S t a t e m e n t 3 . 2 . 1 . W e n o w S h o w t h a t t h e a l g o r i t h m i s c o m p l e t e . N o t e t h a t a n y t r a n s i t i o n r e m o v e d i n A d d _ U N | T Y ( i n S t e p s 1 , 4 , a n d 7 ) m u s t b e r e m o v e d i n a n y p r o g r a m t h a t m e e t s t h e r e q u i r e m e n t s o f P r o b l e m S t a t e m e n t 3 . 2 . 1 . H e n c e , i f f a i l u r e i s d e c l a r e d ( i n S t e p 9 ) , t h e r e e x i s t s n o s o l u t i o n t o P r o b l e m S t a t e m e n t 3 . 2 . 1 . R e c a l l t h a t a p r o g r a m P s a t i s fi e s a s p e c i fi c a t i o n S P E C i f f a l l c o m p u t a t i o n s o f P a r e i n S P E C . H e n c e , a s u b s e t o f c o m p u t a t i o n s o f P s a t i s fi e s s p e c a s w e l l . I n t h e c o n t e x t o f t h e a l g o r i t h m A d d _ U N | T Y , a l t h o u g h i t e x c l u d e s s o m e c o m p u t a t i o n s , s i n c e i t e n s u r e s t h a t a l l c o m p u t a t i o n s a r e i n fi n i t e ( b y r e m o v i n g d e a d l o c k r e g i o n s ) , i t c o n t i n u e s t o s a t i s f y i t s o l d U N I T Y s p e c i fi c a t i o n . N o t e , h o w e v e r , t h a t t h e s a m e r e s u l t c a n n o t b e i m p l i e d f o r s p e c i fi c a t i o n l a n g u a g e s t h a t h a v e e x i s t e n t i a l q u a n t i fi c a t i o n f e a t u r e s s u c h a s b r a n c h i n g - t i m e t e m p o r a l l o g i c s T C T L . T h e o r e m 4 . 1 . 2 T h e c o m p l e x i t y o f A d d _ U N | T Y a l g o r i t h m i s p o l y n o m i a l - t i m e i n S p . I R e m a r k . W e w o u l d l i k e t o n o t e t h a t s o u n d n e s s a n d c o m p l e t e n e s s o f A d d _ U N | T Y a r e p r e s e r v e d f o r t h e c a s e w h e r e t h e r e v i s e d p r o g r a m i s a l l o w e d t o h a v e a s u b s e t o f i n i t i a l s t a t e s o f t h e o r i g i n a l p r o g r a m . F o r s u c h a c a s e , t h e a l g o r i t h m w o u l d f a i l o n l y i f a l l i n i t i a l s t a t e s a r e r e m o v e d . 4 . 1 . 1 E x a m p l e : R e a d e r s - W r i t e r s P r o g r a m I n t h i s s e c t i o n , w e i l l u s t r a t e t h e a p p l i c a t i o n o f t h e A d d _ U N | T Y a l g o r i t h m i n l o c a l r e d e s i g n o f a p r o g r a m f o r t h e r e a d e r s - w r i t e r s p r o b l e m [ C h / 1 8 8 ] . A s u s u a l , w e u s e 4 7 D i j k s t r a ’ s g u a r d e d c o m m a n d s ( a c t i o n s ) a s a s h o r t h a n d f o r r e p r e s e n t i n g t h e s e t O f p r o g r a m t r a n s i t i o n s . R e c a l l t h a t a g u a r d e d c o m m a n d 9 — — > s t c a p t u r e s t h e t r a n s i t i o n s { ( 0 0 , 0 1 ) I t h e s t a t e p r e d i c a t e g i s t r u e i n 0 0 , a n d 0 1 i s o b t a i n e d b y a t o m i c e x e c u t i o n o f s t a t e m e n t s t i n s t a t e s o I . T h e R e a d e r s - W r i t e r s P r o g r a m I n t h e T h e r e a d e r s - w r i t e r s p r o g r a m ( d e n o t e d R W ) , m u l t i p l e w r i t e r p r o c e s s e s w a i t i n a n i n fi n i t e e x t e r n a l q u e u e t o b e p i c k e d b y t h e p r o g r a m . ’ R W c o n t a i n s a fi n i t e i n t e r n a l q u e u e o f s i z e 2 t h a t i s m a n a g e d b y a q u e u e m a n a g e r p r o c e s s , w h i c h s e l e c t s w r i t e r s f r o m a n e x t e r n a l q u e u e a n d p l a c e s t h e m i n t h e i n t e r n a l q u e u e . T h e s e l e c t e d w r i t e r h a s a c c e s s t o a s h a r e d b u f f e r t o w h i c h o t h e r p r o c e s s e s h a v e a c c e s s a s w e l l . A t a n y t i m e o n l y o n e w r i t e r i s a l l o w e d t o w r i t e t h e b u f f e r . T h e r e a d e r p r o c e s s e s c a n r e a d t h e S h a r e d b u f f e r . T h e p r o g r a m h a s t h r e e i n t e g e r v a r i a b l e s 0 S n r 3 N , 0 _ < _ m u 3 N , a n d 0 g n q S 2 t h a t a r e i n i t i a l l y 0 , w h e r e N d e n o t e s t h e t o t a l n u m b e r o f p r o c e s s e s . S p e c i fi c a l l y , n r r e p r e s e n t s t h e n u m b e r o f r e a d e r s r e a d i n g f r o m t h e b u f f e r , n w r e p r e s e n t s t h e n u m b e r o f w r i t e r s w r i t i n g t h e b u f f e r , a n d n q r e p r e s e n t s t h e n u m b e r O f w r i t e r s w a i t i n g i n t h e i n t e r n a l q u e u e . T h e p r o g r a m c o n t a i n s B o o l e a n v a r i a b l e s r d j ( 1 _ < _ j S N ) , a n d q u t h a t r e s p e c t i v e l y r e p r e s e n t w h e t h e r o r n o t t h e r e a d e r R j i s r e a d i n g t h e b u f f e r , a n d a t l e a s t a w r i t e r i s w a i t i n g i n t h e i n t e r n a l q u e u e . T h e v a r i a b l e r u m i s s e t t o t r u e b y t h e q u e u e m a n a g e r w h e n t h e r e i s a p r o c e s s w a i t i n g t o w r i t e a n d q u i s s e t t o f a l s e w h e n a p r o c e s s i s w r i t i n g t h e b u f f e r . S a f e t y S p e c i fi c a t i o n 4 8 T h e s a f e t y s p e c i fi c a t i o n , B R W , o f t h e p r o g r a m r e q u i r e s t h a t w h e n a w r i t e r i s w r i t i n g i n t h e b u f f e r n o o t h e r p r o c e s s i s a l l o w e d t o a c c e s s t h e b u f f e r . H o w e v e r , m u l t i p l e r e a d e r s c a n r e a d t h e b u f f e r S i m u l t a n e o u s l y : 3 7 2 w = { ( 5 0 8 1 ) | ( " 1 1 4 8 1 ) > 1 ) V ( ( W ( S 1 ) 9 5 0 ) A " 7 1 4 8 1 ) ? é 0 ) ) } T h e s a f e t y s p e c i fi c a t i o n s t i p u l a t e s t h a t t h e c o n d i t i o n ( n w S 1 ) A ( ( n r = 0 ) V ( n w = 0 ) ) m u s t h o l d i n e v e r y r e a c h a b l e s t a t e . A n o t h e r r e p r e s e n t a t i o n o f t h e a b o v e f o r m u l a i s 0 S ( N — ( n r + N - n w ) ) . F o r e a s e o f p r e s e n t a t i o n , w e r e p r e s e n t t h e e x p r e s s i o n ( N — ( n r + N - n w ) ) w i t h t h e v a r i a b l e K . A c t i o n s o f R W T h e a c t i o n s o f t h e w r i t e r p r o c e s s e s i n t h e o r i g i n a l p r o g r a m a r e a s f o l l o w s : ” R I / V 1 2 : ( n q > 0 ) A ( K 2 3 ) — — > n w : = n w + 1 ; n q : 2 n q — 1 ; q u : = f a l s e ; ’ R W 2 : : ( n w = 1 ) — — > n w : = n w — 1 ; W h e n t h e r e e x i s t s a p r o c e s s r e a d y f o r w r i t i n g i n t h e i n t e r n a l q u e u e ( i . e . , n q > 0 ) a n d n o p r o c e s s i s u s i n g t h e b u f f e r ( i . e . , K 2 3 ) , t h e p r o g r a m a l l o w s t h e w r i t e r s t o w r i t e t h e c o m m o n b u f f e r . T h u s , t h e w r i t e r p r o c e s s w a i t s u n t i l a l l r e a d e r s fi n i s h t h e i r r e a d i n g a c t i v i t i e s . W h e n a w r i t e r p r o c e s s a c c e s s e s t h e b u f f e r , i t i n c r e m e n t s t h e v a l u e o f n w , s e t s t h e v a l u e o f q u t o f a l s e , a n d d e c r e m e n t s t h e v a l u e o f n q ( s e e a c t i o n R W 1 ) . T h i s w a y , t h e q u e u e m a n a g e r l e t s o t h e r w a i t i n g w r i t e r s i n . W h e n t h e w r i t e r fi n i s h e s i t s w r i t i n g a c t i v i t y i n t h e b u f f e r , i t e x i t s b y d e c r e m e n t i n g t h e v a l u e o f m u ( s e e a c t i o n R W 2 ) . 4 9 T h e f o l l o w i n g p a r a m e t e r i z e d a c t i o n s r e p r e s e n t t h e t r a n s i t i o n s o f t h e r e a d e r s a s t h e s t r u c t u r e s o f t h e r e a d e r s a r e s y m m e t r i c : R W 3 J - : : - q u A fi r d j A ( 1 < K ) — — - > n r : 2 n r + 1 ; r d j : 2 t r u e ; R W 4 J - : : r d j — > n r : 2 n r — 1 ; r d j : 2 f a l s e ; T h e c o n d i t i o n K > 1 h o l d s i f n o w r i t e r p r o c e s s i s w r i t i n g t h e b u f f e r a n a t m o s t N — 1 r e a d e r s e x i s t . T h u s , i f a r e a d e r p r o c e s s i s n o t a l r e a d y i n r e a d i n g s t a t u s a n d n o w r i t e r i s w a i t i n g t o w r i t e t h e b u f f e r ( s e e a c t i o n R W B j ) t h e n t h e r e a d e r c a n r e a d t h e b u f f e r . ( T h e o r i g i n a l p r o g r a m g i v e s t h e p r i o r i t y t o t h e w r i t e r s . ) W h e n a r e a d e r p r o c e s s j c o m p l e t e s i t s r e a d i n g a c t i v i t y , i t d e c r e m e n t s t h e v a l u e o f n r a n d s e t s r d j t o f a l s e . N o w , w e p r e s e n t t h e a c t i o n o f t h e q u e u e m a n a g e r p r o c e s s . ’ R W 5 : : ( n q < 2 ) — > n q : = n q + 1 ; q u : = t r u e ; O n c e t h e q u e u e m a n a g e r s e l e c t s a w a i t i n g w r i t e r , i t i n c r e m e n t s t h e v a l u e o f n q a n d s e t s q u t o t r u e i n o r d e r t o S h o w t h a t a w r i t e r i s w a i t i n g i n t h e i n t e r n a l q u e u e . W e c o n s i d e r a v e r s i o n o f t h e R W p r o g r a m w h e r e w e h a v e t w o r e a d e r s , i . e . , j E { 0 , 1 } , a n d o n e w r i t e r ( i . e . , N = 3 ) . I n i t i a l S t a t e s L e t ( n r , n w , n q , r d o , r d 1 , q u ) d e n o t e t h e s t a t e o f t h e R W p r o g r a m . W e c o n s i d e r t h e s e t I R W = ( 0 , 0 , 0 , f a l s e , f a l s e , f a l s e ) f o r i n i t i a l s t a t e t h e R W p r o g r a m . T h e D e s i r e d L e a d s - t o P r o p e r t y T h e i n i t i a l p r o g r a m s a t i s fi e s t h e s a f e t y s p e c i fi c a t i o n B R W I h o w e v e r , n o p r o g r e s s i s g u a r a n t e e d . F o r e x a m p l e , t h e w r i t e r p r o c e s s m a y w a i t f o r e v e r d u e t o a l t e r n a t i n g a c c e s s o f t h e r e a d e r s t o t h e b u f f e r . R e a d e r s m a y a l s o w a i t f o r e v e r d u e t o c o n t i n u o u s p r e s e n c e o f w r i t e r s i n t h e i n t e r n a l q u e u e . T h u s , t h e d e s i r e d l e a d s - t o p r o p e r t y f o r a r e a d e r j E { 0 , 1 } , i s ( 0 S K ) H ( r d j ) a n d t h e p r o g r a m s h o u l d s a t i s f y ( n q > 0 H ( n w = 1 ) ) t o e n s u r e t h a t w r i t e r s h a v e p r o g r e s s . I n t h i s e x a m p l e , w e p r e s e n t o n l y t h e r e d e s i g n O f R W f o r t h e p r o p e r t y ( 0 S K ) H ( r d o ) f o r t h e r e a d e r H o . A S s u c h , i n t h e p r o p e r t y P H Q i n t h e i n p u t O f A d d - U N | T Y , t h e s t a t e p r e d i c a t e P i s e q u a l t o 0 S K a n d t h e s t a t e p r e d i c a t e Q e q u a l s t o r d o ( s e e i n p u t p a r a m e t e r s o f A l g o r i t h m 4 . 1 ) . A d d i n g L e a d s - t o U s i n g A d d - U N | T Y W e t r a c e t h e e x e c u t i o n o f A d d _ U N | T Y f o r t h e a d d i t i o n o f ( 0 S K ) H ( r d o ) t o t h e R W p r o g r a m . 0 S t e p 1 . S i n c e t h e i n i t i a l p r o g r a m s a t i s fi e s i t s s a f e t y s p e c i fi c a t i o n B R W I S t e p 1 o f t h e A d d _ U N | T Y a l g o r i t h m w o u l d n o t e l i m i n a t e a n y t r a n s i t i o n s . 0 S t e p 2 . R a n k 0 i n c l u d e s e i g h t r e a c h a b l e s t a t e s w h e r e r d o = t r u e . T h e s e s t a t e s a r e a s f o l l o w s : ( 1 , 0 , 0 , t r u e , f a l s e , f a l s e ) , ( 1 , 0 , 1 , t r u e , f a l s e , t r u e ) , ( 2 , 0 , 0 , t r u e , t r u e , f a l s e ) , ( 1 , 0 , 2 , t r u e , f a l s e , t r u e ) , ( 2 , 0 , 1 , t r u e , t r u e , t r u e ) , ( 2 , 0 , 2 , t r u e , t r u e , t r u e ) , ( 2 , 0 , 1 , t r u e , t r u e , f a l s e ) , a n d ( 1 , 0 , 1 , t r u e , f a l s e , f a l s e ) . F r o m t h e i n i t i a l s t a t e ( 0 , 0 , 0 , f a l s e , f a l s e , f a l s e ) , t h e r e a d e r j = 0 c a n r e a d t h e b u f f e r a n d t h e p r o g r a m r e a c h e s t h e s t a t e ( 1 , 0 , 0 , t r u e , f a l s e , f a l s e ) . T h u s , t h e r a n k O f t h e i n i t i a l s t a t e i s 1 . M o r e o v e r , t h e r e a d e r R o c a n r e a d t h e 5 1 b u f f e r f r o m t h e s t a t e s ( 1 , 0 , 0 , f a l s e , t r u e , f a l s e ) , ( 1 , 0 , 1 , f a l s e , t r u e , f a l s e ) , a n d ( 0 , 0 , 1 , f a l s e , f a l s e , f a l s e ) . A s a r e s u l t , t h e p r o g r a m s t a t e c h a n g e s t o a s t a t e i n R a n k 0 . T h e s t a t e s ( 0 . 1 , 0 , f a l s e , f a l s e , f a l s e ) a n d ( 0 , 1 , 1 , f a l s e , f a l s e , f a l s e ) h a v e R a n k 2 a s t h e e x e c u t i o n o f a c t i o n R W 2 f r o m t h e s e s t a t e s c h a n g e s t h e p r o g r a m s t a t e t o a s t a t e i n R a n k 1 . L i k e w i s e , t h e s t a t e s ( 0 , 0 , 1 , f a l s e , f a l s e , t r u e ) a n d ( 0 , 0 , 2 , f a l s e , f a l s e , t r u e ) g e t R a n k 3 . R a n k 4 i n c l u d e s ( 1 , 0 , 1 , f a l s e , t r u e , t r u e ) , ( 0 , 1 , 1 , f a l s e , f a l s e , t r u e ) , ( 0 , 1 , 2 , f a l s e , f a l s e , t r u e ) , a n d ( 1 , 0 , 2 , f a l s e , t r u e , t r u e ) . S t e p 4 . T h e r e a r e n o s t a t e s w i t h r a n k 0 0 . S t e p s 5 - 1 2 . S i n c e S t e p 4 d o e s n o t r e m o v e a n y t r a n s i t i o n s , n o d e a d l o c k s t a t e s a r e c r e a t e d a n d , h e n c e , t h e a l g o r i t h m d o e s n o t e n t e r t h e w h i l e l o o p . S t e p 1 3 . T h i s s t e p r e s u l t s i n t h e s a m e r a n k i n g a s i n S t e p 2 . S t e p 1 4 . S i n c e a l l r e a c h a b l e s t a t e s , w h e r e 0 S K h o l d s , h a v e a fi n i t e r a n k , t h e a l g o r i t h m e x i t s t h e r e p e a t — u n t i l l o o p . S t e p 1 5 . T h i s s t e p r e m o v e s t r a n s i t i o n s t h a t s t a r t i n a l o w r a n k i n g s t a t e o u t s i d e R a n k 0 a n d t e r m i n a t e i n a h i g h e r r a n k . F o r e x a m p l e , t h e t r a n s i t i o n ( s o , 3 1 ) i n c l u d e d i n a c t i o n W 1 , w h e r e s o = ( 0 , 0 , 1 , f a l s e , f a l s e , f a l s e ) a n d ( 0 , 1 , 0 , f a l s e , f a l s e , f a l s e ) , s t a r t s i n R a n k 1 a n d e n d s i n R a n k 2 . F r o m s o , t h e e x e c u t i o n o f a c t i o n Q M g e t s t h e p r o g r a m t o s t a t e ( 0 , 0 , 2 , f a l s e , f a l s e , f a l s e ) i n R a n k 3 . M o r e o v e r , t r a n s i t i o n s t h a t f o r m a c y c l e b e t w e e n t h e s t a t e s o f t h e s a m e r a n k ( o u t s i d e R a n k 0 ) a r e r e m o v e d . F o r i n s t a n c e , t h e r e a d e r j = 1 m a y r e a d t h e 5 2 b u f f e r f r o m s o a n d t h e p r o g r a m r e a c h e s t h e s t a t e 3 1 = ( 1 , 0 , 1 , f a l s e , t r u e , f a l s e ) . A f t e r w a r d s , r e a d e r j = 1 m a y t a k e t h e s t a t e o f t h e p r o g r a m b a c k t o s o b y e x e c u t i n g t h e a c t i o n R W 4 1 , t h e r e b y , c r e a t i n g a c y c l e b e t w e e n s o a n d 5 1 i n R a n k 1 . T h e R e v i s e d P r o g r a m A f t e r a p p l y i n g t h e A d d _ U N | T Y a l g o r i t h m o n t h e R W p r o g r a m f o r p r o p e r t i e s ( 0 S K ) H ( r d o ) , ( 0 S K ) H ( r d l ) a n d s u b s e q u e n t l y ( n q > 0 ) H ( m o 2 1 ) t h e fi n a l r e v i s e d p r o g r a m i s a s f o l l o w s : R W ’ l : : ( r o w ) A ( K = 3 ) — — > n w 2 : m o + 1 ; n q : 2 n q — 1 ; q u : 2 f a l s e ; R W I 2 : ( fl u r r q ) A ( K = 0 ) — — > n w : = n w — 1 ; I n t u i t i v e l y , a w a i t i n g w r i t e r i s a l l o w e d t o w r i t e i f n o o t h e r p r o c e s s e s h a v e a c c e s s e d t h e b u f f e r ( i . e . , ( q u ) A ( K = 3 ) ) . T h e v a l u e o f K i s z e r o o n l y i f a w r i t e r h a s a c c e s s e d t h e b u f f e r , t h e r e b y , e n a b l i n g t h e w r i t e r t o r e l e a s e t h e b u f f e r . T h e f o l l o w i n g p a r a m e t e r i z e d a c t i o n r e p r e s e n t s t h e t r a n s i t i o n s O f t h e r e a d e r p r o c e s s e s ( j = 0 , 1 ) . A r e a d e r p r o c e s s i s a l l o w e d t o r e a d t h e b u f f e r i f n o w r i t e r i s w a i t i n g i n t h e i n t e r n a l q u e u e a n d a t m o s t o n e r e a d e r i s r e a d i n g t h e b u f f e r ( i . e . , K > 1 ) . T h e g u a r d o f t h e s e c o n d a c t i o n h a s b e e n s t r e n g t h e n e d i n t h a t a r e a d e r i s a l l o w e d t o r e l e a s e t h e b u f f e r i f a w r i t e r i s w a i t i n g f o r a c c e s s . R W ’ B J - : : ( - r q u ) A fi ' r d j A ( 1 < K ) — » n r : 2 n r + 1 ; r d j : = t r u e ; R W ’ 4 J - : : r d j A ( m m ) A ( K < 3 ) — — - > n r 2 : n r — 1 ; r d j : 2 f a l s e ; 5 3 T h e b e h a v i o r o f t h e q u e u e m a n a g e r p r o c e s s i s a l s o m o d i fi e d i n t h a t a w r i t e r i s p u t i n t h e i n t e r n a l b u f f e r i f ( 1 ) n o w r i t e r i s c u r r e n t l y i n t h e i n t e r n a l b u f f e r , ( 2 ) n o w r i t e r i s w r i t i n g t h e b u f f e r , a n d ( 3 ) e x a c t l y t w o r e a d e r s a r e r e a d i n g t h e b u f f e r ( i . e . , K = 1 ) . R W ’ 5 : ( n q : O ) A ( K = 1 ) A ( n w = 0 ) — — + n q : 2 n q + 1 ; q u : = t r u e ; W e r e f e r t h e r e a d e r t o I E K B O 5 ] f o r a n o t h e r e x a m p l e o n r e v i s i n g a m u t u a l e x c l u s i o n a l g o r i t h m w h i c h o r i g i n a l l y e x h i b i t s s t a r v a t i o n . 4 . 2 A d d i n g M u l t i p l e P r o g r e s s P r o p e r t i e s I n t h i s s u b s e c t i o n , w e f o c u s o n a d d i t i o n o f a c o m b i n a t i o n o f p r o g r e s s p r o p e r t i e s ( i . e . , l e a d s - t o a n d / o r e n s u r e s ) . I n t h i s c o n t e x t , w e n o t e t h a t t h e a l g o r i t h m A d d _ U N | T Y c a n b e a p p l i e d i n a s t e p w i s e f a s h i o n t o a d d m u l t i p l e p r o g r e s s p r o p e r t i e s . H o w e v e r , w h i l e s u c h s t e p w i s e a d d i t i o n i s s o u n d , i t i s n o t c o m p l e t e . T h i s i s d u e t o t h e f a c t t h a t d u r i n g t h e a d d i t i o n o f t h e fi r s t ( f o r i n s t a n c e , l e a d s - t o ) p r o p e r t y , t h e t r a n s i t i o n s r e m o v e d i n t h e l a s t s t e p ( L i n e 1 5 i n A l g o r i t h m 4 . 1 ) m a y c a u s e f a i l u r e i n a d d i n g s u b s e q u e n t p r o g r e s s p r o p e r t i e s . W e c o n s i d e r a S p e c i a l c a s e o f t h e p r o b l e m o f a d d i n g m u l t i p l e p r o g r e s s p r o p e r t i e s w h e r e t w o e v e n t u a l l y p r o p e r t i e s a r e a d d e d t o a g i v e n p r o g r a m . T h e p r o p e r t y ‘ e v e n t u a l l y Q ’ i s l o g i c a l l y e q u i v a l e n t w i t h ‘ t r u e H Q ’ ( r e s p e c t i v e l y , t r u e e n s u r e s Q ) , i . e . , s t a r t i n g f r o m a n a r b i t r a r y s t a t e , t h e p r o g r a m r e a c h e s a s t a t e i n Q . T h i s p r o p e r t y i n L i n e a r T e m p o r a l L o g i c ( L T L ) i s d e n o t e d b y D O Q ( c a l l e d a l w a y s e v e n t u a l l y Q ) . T h u s , f o r a n i n fi n i t e c o m p u t a t i o n , t h i s i m p l i e s t h a t Q m u s t b e r e a c h e d i n fi n i t e l y 5 4 o f t e n . S i n c e t h i s s p e c i a l c a s e i s N P - c o m p l e t e ( s e e T h e o r e m 4 . 2 . 1 b e l o w ) , t h e h a r d n e s s o f a d d i n g a c o m b i n a t i o n o f t w o l e a d s - t o a n d e n s u r e s p r o p e r t i e s f o l l o w s t r i v i a l l y . I n s t a n c e . A p r o g r a m ’ P = I I , 1 a n d S P E C n E L / \ L , w h e r e L E D O P p 7 9 1 2 1 a n d £ 2 E D O Q , a n d P a n d Q a r e t w o a r b i t r a r y s t a t e p r e d i c a t e s . T h e d e c i s i o n p r o b l e m ( 2 E V ) . G i v e n t h e a b o v e i n s t a n c e , d o e s t h e r e e x i s t a p r o g r a m 7 ? , = ( 1 1 7 3 , , [ 7 3 , ) s u c h t h a t ’ P ’ s a t i s fi e s t h e c o n s t r a i n t s o f P r o b l e m S t a t e m e n t . 3 . 2 . 1 ? T o s h o w t h e c o m p l e x i t y o f t h e a b o v e d e c i s i o n p r o b l e m , w e r e d u c e t h e p r o b l e m o f d e t e r m i n i n g w h e t h e r o r n o t a d i r e c t e d g r a p h h a s a s i m p l e c y c l e t h a t i n c l u d e s t w o s p e c i fi c v e r t i c e s , d e s c r i b e d n e x t , t o t h e p r o b l e m o f a d d i n g t w o e v e n t u a l l y p r o p e r t i e s . C y c l e D e t e c t i o n i n D i r e c t e d G r a p h s ( C D D G ) . G i v e n a d i r e c t e d g r a p h G = ( V , A ) , w h e r e V i s a s e t o f v e r t i c e s a n d A i s a s e t o f a r c s , a n d t w o v e r t i c e s , s a y u a n d v i n V , d o e s t h e r e e x i s t a ( s i m p l e ) c y c l e i n G t h a t i n c l u d e s b o t h u a n d v ? T h e C D D G p r o b l e m i s k n o w n t o b e N P - c o m p l e t e [ B J G 0 2 ] . T h e o r e m 4 . 2 . 1 T h e p r o b l e m o f a d d i n g t w o e v e n t u a l l y p r o p e r t i e s t o a n u n t i m e d p r o - g r a m z ' s N P - c o m p l e t e . P r o o f . S i n c e s h o w i n g m e m b e r s h i p t o N P i s s t r a i g h t f o r w a r d , w e o n l y n e e d t o S h o w t h a t t h e p r o b l e m i s N P - h a r d . T o w a r d s t h i s e n d , w e p r e s e n t a p o l y n o m i a l - t i m e m a p ~ 5 5 p i n g f r o m a n i n s t a n c e o f C D D G t o a c o r r e s p o n d i n g i n s t a n c e o f t h e 2 E V p r o b l e m . L e t G = ( V , A ) b e a d i r e c t e d g r a p h . W e c o n s t r u c t P = ( H P ’ I P ) a n d i d e n t i f y S P E C ” = _ — ‘ C l / \ £ 2 a s f o l l o w s : S : { S $ | : r E V } , T = { ( S { L ’ , 8 y ) | ( : r , y ) E A } , I = { 8 u . 8 v } . £ 1 3 D O { S ' H } , a n d £ 2 E D O { 8 1 ) } . N o w , w e s h o w t h a t t h e i n s t a n c e o f t h e C D D G p r o b l e m h a s a s o l u t i o n i f a n d o n l y i f t h e a n s w e r t o t h e c o r r e s p o n d i n g i n s t a n c e o f t h e 2 E V p r o b l e m i s a f f i r m a t i v e : ( : > ) I f t h e c y c l e d e t e c t i o n p r o b l e m h a s a s o l u t i o n t h e n t h e p r o g r a m o b t a i n e d b y t a k i n g o n l y t h e t r a n s i t i o n s c o r r e s p o n d i n g t o t h e a r c s i n t h a t c y c l e s a t i s fi e s P r o b l e m S t a t e m e n t 3 . 2 . 1 . ( 4 : ) L e t ’ P ’ = ( I I 1 7 ) , ) b e t h e p r o g r a m o b t a i n e d a f t e r a d d i n g t w o e v e n t u a l l y 7 7 ’ ’ p r o p e r t i e s . F o l l o w i n g t h e c o n s t r a i n t s ( C 2 ) o f P r o b l e m s t a t e m e n t 3 . 2 . 1 , 1 7 9 ’ = { s u , S v } - N o w , c o n s i d e r a c o m p u t a t i o n o f ” P , t h a t ( w i t h o u t l o s s o f g e n e r a l i t y ) s t a r t s f r o m s u . S i n c e 7 ” s a t i s fi e s D O { s u } , s t a t e s u m u s t b e r e v i s i t e d i n t h i s c o m p u t a t i o n . C o n s i d e r t h e s m a l l e s t p r e fi x w h e r e s u i s r e p e a t e d . F o r t h i s p r e fi x , w e s h o w t h e f o l l o w i n g : 1 . S t a t e 3 v m u s t o c c u r i n t h i s p r e fi x . I f n o t , a c o m p u t a t i o n o f P , t h a t i s o b — t a i n e d b y r e p e a t i n g t h e a b o v e c o m p u t a t i o n p r e fi x d o e s n o t s a t i s f y D O { 3 U } . 5 6 2 . N o o t h e r s t a t e c a n b e r e p e a t e d i n t h i s c o m p u t a t i o n p r e fi x . I f a s t a t e , s a y 3 5 ; , a p p e a r s t w i c e i n t h e a b o v e c o m p u t a t i o n p r e fi x t h e n t h e r e w o u l d b e a c y c l e b e t w e e n t h e t w o o c c u r r e n c e s o f 3 1 ; . T h i s i m p l i e s t h a t , t h e r e i s a c o m p u t a t i o n o f 7 3 ’ t h a t s t a r t s i n s u , r e a c h e s 5 3 : a n d t h e n r e p e a t s t h i s c y c l e . C l e a r l y , t h i s c o m p u t a t i o n d o e s n o t s a t i s f y C K ) { s u } . N o w , c o n s i d e r t h e c y c l e o b t a i n e d b y t a k i n g t h e e d g e s c o r r e s p o n d i n g t o t h e t r a n s i t i o n s o f t h e a b o v e c o m p u t a t i o n p r e fi x . B a s e d o n t h e fi r s t p o i n t a b o v e , t h i s c y c l e c o n t a i n s b o t h u a n d ' 1 ) . A n d , f r o m t h e s e c o n d p o i n t , i t i s a s i m p l e c y c l e , i . e . , n o v e r t e x i s r e p e a t e d i n i t . I C o r o l l a r y 4 . 2 . 2 T h e p r o b l e m o f a d d i n g t w o o r m o r e p r o g r e s s p r o p e r t i e s t o u n t i m e d U N I T Y p r o g r a m s i s N P — c o m p l e t e . I 4 . 3 A d d i n g a S i n g l e L e a d s - t o P r o p e r t y w i t h M a x - i m u m N o n - d e t e r m i n i s m G i v e n a p r o g r a m ’ P = ( H p J p ) a n d a U N I T Y s p e c i fi c a t i o n S P E C n , w e s a y t h a t t h e r e v i s e d p r o g r a m 7 " h a s m a x i m u m n o n - d e t e r m i n i s m i f f P , = ( H 1 7 9 / ) m e e t s P ” t h e c o n s t r a i n t s o f P r o b l e m S t a t e m e n t 3 . 2 . 1 a n d t h e c a r d i n a l i t y o f T 1 ) , i s m a x i m u m . M a i n t a i n i n g m a x i m u m n o n - d e t e r m i n i s m i s d e s i r a b l e i n t h e s e n s e t h a t i t i n c r e a s e s t h e p o t e n t i a l f o r f u t u r e s u c c e s s f u l a d d i t i o n o f o t h e r p r o p e r t i e s . 5 7 I n s t a n c e . A p r o g r a m P = ( H p , 1 7 ; ) , S P E C n E ( P I — — > Q ) , a n d p o s i t i v e i n t e g e r k , w h e r e k g l T p l - T h e d e c i s i o n p r o b l e m ( M N D ) . G i v e n t h e a b o v e i n s t a n c e , d o e s t h e r e e x i s t a p r o g r a m ’ P ' = ( 1 1 ? ” I P ’ ) s u c h t h a t ’ P ’ m e e t s t h e c o n s t r a i n t s o f P r o b l e m S t a t e m e n t 4 . 1 a n d I T p / l Z k ? W e n o w s h o w t h a t t h e p r o b l e m o f a d d i n g a s i n g l e l e a d s — t o p r o p e r t y w h i l e m a i n t a i n i n g m a x i m u m n o n - d e t e r m i n i s m i s N P — c o m p l e t e . T o t h i s e n d , w e r e d u c e t h e f e e d b a c k a r e s e t p r o b l e m i n d i r e c t e d g r a p h s t o t h e a b o v e d e c i s i o n p r o b l e m . F e e d b a c k A r c S e t P r o b l e m ( F A S ) . L e t G = ( V , A ) b e a d i g r a p h a n d j b e a p o s i t i v e i n t e g e r , w h e r e j 3 I A ] . T h e f e e d b a c k a r e s e t p r o b l e m d e t e r m i n e s w h e t h e r t h e r e e x i s t s a s u b s e t A , Q A , s u c h t h a t [ A I ] 3 j a n d A , c o n t a i n s a t l e a s t o n e a r e f r o m e v e r y d i r e c t e d c y c l e i n G . T h e F A S p r o b l e m i s k n o w n t o b e N P - c o m p l e t e [ K a r 7 2 ] . T h e o r e m 4 . 3 . 1 T h e p r o b l e m o f a d d i n g a s i n g l e l e a d s - t o p r o p e r t y w h i l e p r e s e r v i n g m a x i m u m n o n - d e t e r m i n i s m i s N P — c o m p l e t e . P r o o f . S i n c e s h o w i n g m e m b e r s h i p t o N P i s s t r a i g h t f o r w a r d , w e o n l y s h o w t h a t t h e p r o b l e m i s N P - h a r d . G i v e n a n i n s t a n c e o f t h e F A S p r o b l e m , w e p r e s e n t a p o l y n o m i a l — t i m e m a p p i n g f r o m F A S i n s t a n c e t o a c o r r e s p o n d i n g i n s t a n c e o f t h e M N D p r o b l e m . L e t G = ( V , A ) b e a d i r e c t e d g r a p h a n d j b e a p o s i t i v e i n t e g e r . W e c o n s t r u c t p r o g r a m p = ( H p , 1 7 ; ) a n d i d e n t i f y i n t e g e r k a n d s p e c i fi c a t i o n S P E C n E P l - — - 9 Q a s f o l l o w s : 5 8 . - 5 [ = = f 3 { l ’ v 1 l v a i ’ 2 e ” V 7 ' } U { P l a P 2 " ' P | A | + 1 } U { q l v ’ [ A | + 1 } ’ 0 T 7 ; = { ( S u . s i - ) | ( u r v ) E A } U { ( P i = 5 v ) | ( 1 S i 5 I A ! + 1 ) / \ ( v E V ) } U { ( 8 1 2 4 1 ) I ’ U E V } U { ( 0 . 6 1 ) } . o P = { p 1 , p 2 - - - p | A I + 1 } , a n d c Q = { q } , a n d k = l T ’ P l — j . W e n o w s h o w t h a t t h e i n s t a n c e o f F A S h a s a s o l u t i o n i f a n d o n l y i f t h e a n s w e r t o t h e c o r r e s p o n d i n g i n s t a n c e o f M N D i s a f f i r m a t i v e : a ( = > ) L e t t h e a n s w e r t o F A S b e t h e s e t A , o f a r c s w h e r e | A ’ | g j . C l e a r l y , g i v e n o u r m a p p i n g , c o n s t r a i n t s ( C 1 ) a n d ( C 2 ) o f t h e P r o b l e m S t a t e m e n t 3 . 2 . 1 a r e m e t b y c o n s t r u c t i o n . N o w , i f w e o b t a i n T 7 ) , b y r e m o v i n g t h e t r a n s i t i o n s t h a t c o r r e s p o n d t o A , f r o m T 7 3 , t h e r e s u l t a n t p r o g r a m ’ P ' w i l l h a v e n o c y c l e s i n S 7 ; — ( P U Q ) . M o r e o v e r , s i n c e t h e r e e x i s t s a t r a n s i t i o n f r o m e a c h s t a t e i n P t o a l l s t a t e s i n S 7 ; — ( P U Q ) a n d a l s o t h e r e e x i s t s a t r a n s i t i o n f r o m e a c h s t a t e i n S p — — P t o q , a n y c o m p u t a t i o n t h a t s t a r t s f r o m a s t a t e i n P e v e n t u a l l y r e a c h e s Q . O b s e r v e t h a t t h e n u m b e r o f t r a n s i t i o n s r e m o v e d f r o m T 7 ? i s I A ’ I . H e n c e , l T p , | = | T P | — — I A ’ I 2 l T p l — j = k . 0 ( < = ) L e t t h e a n s w e r t o M N D b e t h e p r o g r a m ” P , = ( 1 1 7 9 ” 1 7 3 W e s h o w t h a t t h e s e t A ’ = { ( r , y ) | ( 3 3 3 , 5 1 0 6 T — T P ’ } i s t h e a n s w e r t o F A S . , ) w h e r e ” P " 2 k . S i n c e ( I A I + 1 ) . | V | a r c s l e a v e s t a t e s i n P , a n d , t h e n u m b e r o f t r a n s i t i o n s t h a t 5 9 a r e r e m o v e d f r o m T 7 ) ( i . e . , I T P — T P ’ I ) i s l e s s t h a n | A | , a n y s t a t e 3 1 ; , w h e r e u E V , i s r e a c h a b l e f r o m a l l s t a t e s i n P . M o r e o v e r , s i n c e I T P ’ I 2 k = l T p l — j , i t f o l l o w s t h a t | A ’ | = I T P — p / l g j . N o w , i f t h e r e e x i s t s a c y c l e i n P , a l l i t s t r a n s i t i o n s m u s t b e i n t h e s e t { ( s m , 3 y ) | : r , y E V } . O b v i o u s l y , t h i s c y c l e i s r e a c h a b l e f r o m s t a t e s i n P e v e n t h o u g h n o s t a t e i n t h a t c y c l e i s i n Q . H o w e v e r , t h i s c o n t r a d i c t s t h e a s s u m p t i o n t h a t P ’ s a t i s fi e s P + — — > Q . H e n c e , t h e s e t o f a r c s t h a t c o r r e s p o n d t o t r a n s i t i o n s i n T 7 3 — T , ( i . e . , | A ' I ) c o n t a i n s a t l e a s t o n e a r e p f r o m e a c h c y c l e i n C . I 6 0 C h a p t e r 5 R e v i s i n g D i s t r i b u t e d P r o g r a m s I n t h i s c h a p t e r , w e s h i f t o u r f o c u s t o d i s t r i b u t e d p r o g r a m s w h e r e p r o c e s s e s c a n r e a d a n d w r i t e o n l y a s u b s e t o f p r o g r a m v a r i a b l e s . W e e x p e c t t h e c o n c e p t o f p r o g r a m r e v i s i o n t o p l a y a m o r e c r u c i a l r o l e i n t h e c o n t e x t o f d i s t r i b u t e d p r o g r a m s , s i n c e n o n - d e t e r m i n i s m a n d r a c e c o n d i t i o n s m a k e i t s i g n i fi c a n t l y d i f fi c u l t t o a s s e r t p r o g r a m c o r r e c t n e s s . W e fi n d s o m e w h a t u n e x p e c t e d r e s u l t s a b o u t t h e c o m p l e x i t y o f a d d i n g U N I T Y p r o p e r t i e s t o d i s t r i b u t e d p r o g r a m s . I n p a r t i c u l a r , w e fi n d t h a t t h e p r o b l e m o f a d d i n g o n l y o n e U N I T Y s a f e t y p r o p e r t y o r o n e p r o g r e s s p r o p e r t y t o a d i s t r i b u t e d p r o g r a m i s N P - c o m p l e t e i n t h e s i z e o f t h e i n p u t p r o g r a m ’ s s t a t e s p a c e . T h e k n o w l e d g e o f t h e s e c o m p l e x i t y b o u n d s i s e s p e c i a l l y i m p o r t a n t i n b u i l d i n g t o o l s f o r i n c r e m e n t a l s y n t h e s i s . I n p a r t i c u l a r , t h e N P - c o m p l e t e n e s s r e s u l t s d e m o n s t r a t e t h a t t o o l s f o r r e v i s i n g d i s t r i b u t e d p r o g r a m s m u s t u t i l i z e e f fi c i e n t h e u r i s t i c s t o e x p e d i t e t h e r e v i s i o n a l g o r i t h m a t t h e c o s t o f c o m p l e t e n e s s . M o r e o v e r , N P - c o m p l e t e n e s s p r o o f s o f t e n i d e n t i f y w h e r e t h e e x p o n e n t i a l c o m p l e x i t y l i e s i n t h e p r o b l e m . T h u s , t h o r o u g h a n a l y s i s o f p r o o f s i s a l s o c r u c i a l i n d e v i s i n g e f fi c i e n t h e u r i s t i c s . 6 1 W i t h t h i s m o t i v a t i o n , i n t h i s p a p e r , w e a l s o p r o p o s e a n e f fi c i e n t s y m b o l i c h e u r i s t i c t h a t a d d s a l e a d s - t o p r o p e r t y t o a d i s t r i b u t e d p r o g r a m . w e i n t e g r a t e t h i s h e u r i s t i c w i t h o u r t o o l S Y C R A F T ( s e e C h a p t e r 1 2 ) t h a t i s d e s i g n e d f o r a d d i n g f a u l t — t o l e r a n c e t o e x i s t i n g d i s t r i b u t e d p r o g r a m s . M e e t i n g l e a d s - t o p r o p e r t i e s a r e o f s p e c i a l i n t e r e s t i n f a u l t - t o l e r a n t c o m p u t i n g w h e r e r e c o v e r y w i t h i n a fi n i t e n u m b e r o f s t e p s i s e s s e n t i a l . T o t h i s e n d , o n e c a n fi r s t a u g m e n t t h e p r o g r a m w i t h a l l p o s s i b l e r e c o v e r y t r a n s i t i o n s t h a t i t c a n u s e . T h i s a u g m e n t e d p r o g r a m c l e a r l y d o e s n o t g u a r a n t e e t h a t i t w o u l d r e c o v e r t o a s e t o f l e g i t i m a t e s t a t e s , a l t h o u g h t h e r e i s a p o t e n t i a l t o r e a c h t h e l e — g i t i m a t e s t a t e s f r o m s t a t e s r e a c h e d i n t h e p r e s e n c e o f f a u l t s . I n p a r t i c u l a r , i t m a y c o n t i n u e t o e x e c u t e o n a c y c l e t h a t i s e n t i r e l y o u t s i d e t h e l e g i t i m a t e s t a t e s . T h u s , w e a p p l y o u r h e u r i s t i c f o r a d d i n g a l e a d s - t o p r o p e r t y t o m o d i f y t h e a u g m e n t e d p r o g r a m s o t h a t f r o m a n y s t a t e r e a c h a b l e i n t h e p r e s e n c e o f f a u l t s , t h e p r o g r a m i s g u a r a n t e e d r e c o v e r y t o i t s l e g i t i m a t e s t a t e s w i t h i n a fi n i t e n u m b e r o f s t e p s . A b y — p r o d u c t o f t h e h e u r i s t i c f o r a d d i n g l e a d s - t o p r o p e r t i e s i s a c y c l e r e s o l u t i o n a l g o r i t h m . O u r e x p e r i - m e n t a l r e s u l t s s h o w t h a t t h i s a l g o r i t h m c a n a l s o b e i n t e g r a t e d w i t h s t a t e - o f - t h e — a r t m o d e l c h e c k e r s f o r a s s i s t i n g i n d e v e l o p i n g p r o g r a m s t h a t a r e c o r r e c t - b y - c o n s t r u c t i o n . T h i s c h a p t e r i s o r g a n i z e d a s f o l l o w s . I n S e c t i o n 5 . 1 , w e p r e s e n t o u r N P - c o m p l e t e n e s s r e s u l t o n r e v i s i o n o f d i s t r i b u t e d p r o g r a m s w i t h r e s p e c t t o U N I T Y s a f e t y p r o p e r t i e s . I n S e c t i o n 5 . 2 , w e s h o w t h a t t h e p r o b l e m o f a d d i n g o n e p r o g r e s s p r o p - e r t y t o a d i s t r i b u t e d p r o g r a m i s N P - c o m p l e t e . W e p r e s e n t o u r s y m b o l i c h e u r i s t i c f o r a d d i n g a l e a d s - t o p r o p e r t y t o a d i s t r i b u t e d p r o g r a m a n d e x p e r i m e n t a l r e s u l t s i n S e c t i o n 5 . 3 . 6 2 5 . 1 A d d i n g U N I T Y S a f e t y P r o p e r t i e s t o D i s - t r i b u t e d P r o g r a m s A s m e n t i o n e d i n S e c t i o n 4 . 1 , U N I T Y s a f e t y p r o p e r t i e s c a n b e c h a r a c t e r i z e d b y a t r a n s i t i o n p r e d i c a t e , s a y 8 , w h o s e t r a n s i t i o n s s h o u l d o c c u r i n n o c o m p u t a t i o n o f a p r o g r a m . I n S e c t i o n 4 . 1 , w e a l s o s h o w e d t h a t i n a c e n t r a l i z e d s e t t i n g w h e r e p r o c e s s e s h a v e n o r e s t r i c t i o n s o n r e a d i n g a n d w r i t i n g v a r i a b l e s , a p r o g r a m P = ( H p , 1 1 ; ) c a n b e e a s i l y r e v i s e d w i t h r e s p e c t t o B b y s i m p l y ( 1 ) r e m o v i n g t h e t r a n s i t i o n s i n B f r o m , T 7 3 , a n d ( 2 ) m a k i n g n e w l y c r e a t e d d e a d l o c k s t a t e s u n r e a c h a b l e . T o t h e c o n t r a r y , t h e a b o v e a p p r o a c h i s n o t a d e q u a t e f o r a d i s t r i b u t e d s e t t i n g , a s i t i s s o u n d ( i . e . , i t c o n s t r u c t s a c o r r e c t p r o g r a m ) , b u t n o t c o m p l e t e ( i . e . , i t m a y f a i l t o fi n d a s o l u t i o n w h i l e t h e r e e x i s t s o n e ) . T h i s i s d u e t o t h e i s s u e o f r e a d r e s t r i c t i o n s i n d i s t r i b u t e d p r o g r a m s , w h i c h a s s o c i a t e s e a c h t r a n s i t i o n o f a p r o c e s s w i t h a g r o u p p r e d i c a t e . T h i s n o t i o n o f g r o u p i n g m a k e s t h e r e v i s i o n c o m p l e x , a s a r e v i s i o n a l g o r i t h m h a s t o e x a m i n e m a n y c o m b i n a t i o n s t o d e t e r m i n e w h i c h g r o u p o f t r a n s i t i o n s m u s t b e r e m o v e d a n d , h e n c e , w h a t d e a d l o c k s t a t e s n e e d t o b e h a n d l e d . I n d e e d , w e s h o w t h a t t h e i s s u e o f r e a d r e s t r i c t i o n s c h a n g e s t h e c l a s s o f c o m p l e x i t y o f t h e r e v i s i o n p r o b l e m e n t i r e l y . I n s t a n c e . A d i s t r i b u t e d p r o g r a m P = ( H p , I r p ) a n d a U N I T Y s a f e t y s p e c i fi c a t i o n S P E C n . D e c i s i o n p r o b l e m . D o e s t h e r e e x i s t a p r o g r a m P ’ = < H P ” [ P ’ > s u c h t h a t P , 6 3 m e e t s t h e c o n s t r a i n t s o f P r o b l e m S t a t e m e n t 3 . 2 . 1 f o r t h e a b o v e i n s t a n c e ? W e n o w s h o w t h a t t h e a b o v e d e c i s i o n p r o b l e m i s N P - c o m p l e t e b y a r e d u c t i o n f r o m t h e w e l l — k n o w n s a t i s fi a b i l i t y p r o b l e m . T h e S A T p r o b l e m i s a s f o l l o w s : L e t 1 : 1 , 3 : 2 " ' 1 ' N b e p r o p o s i t i o n a l v a r i a b l e s . G i v e n a B o o l e a n f o r m u l a y = y N + 1 / \ y N + 2 ° ” 3 / M + N i w h e r e e a c h c l a u s e y j , N + 1 3 j g M + N , i s a d i s j u n c t i o n o f t h r e e o r m o r e l i t e r a l s , d o e s t h e r e e x i s t a n a s s i g n m e n t o f t r u t h v a l u e s t o 3 : 1 , 2 : 2 - - ~ 1 1 : N s u c h t h a t y i s s a t i s fi a b l e ? W e n o t e t h a t t h e u n c o n v e n t i o n a l s u b s c r i p t i n g o f c l a u s e s i n t h e a b o v e d e fi n i t i o n o f t h e S A T p r o b l e m i s d e l i b e r a t e l y c h o s e n t o m a k e o u r p r o o f s s i m p l e r . T h e o r e m 5 . 1 . 1 T h e p r o b l e m o f a d d i n g a U N I T Y s a f e t y p r o p e r t y t o a d i s t r i b u t e d p r o g r a m i s N P — c o m p l e t e . P r o o f . S i n c e s h o w i n g m e m b e r s h i p t o N P i s s t r a i g h t f o r w a r d , w e o n l y n e e d t o s h o w t h a t t h e p r o b l e m i s N P - h a r d . T o w a r d s t h i s e n d , w e p r e s e n t a p o l y n o m i a l - t i m e m a p p i n g f r o m a n i n s t a n c e o f t h e S A T p r o b l e m t o a c o r r e s p o n d i n g i n s t a n c e o f o u r r e v i s i o n p r o b l e m . I n t u i t i v e l y , t h e m a p p e d i n s t a n c e P = ( I 1 7 3 , 1 7 ; ) c o n s i s t s o f f o u r p r o c e s s e s . E a c h p r o c e s s i s o b v i o u s l y s p e c i fi e d b y i t s v a r i a b l e s a n d r e a c h a b l e s t a t e s u s i n g a c e r t a i n s e t o f t r a n s i t i o n s . M o r e o v e r , e a c h p r o c e s s i s s u b j e c t t o c e r t a i n r e a d / w r i t e r e s t r i c t i o n s . T h e s e r e s t r i c t i o n s a l o n g w i t h t h e a s s i g n m e n t o f v a l u e s t o v a r i a b l e s o f p r o c e s s e s d e t e r m i n e t h e g r o u p i n g s t r u c t u r e o f t h e i n s t a n c e . T h e m a p p e d i n s t a n c e a l s o s p e c i fi e s t h e s e t o f i n i t i a l s t a t e s a n d t h e s a f e t y s p e c i fi c a t i o n . T h e s t r u c t u r e o f t h e m a p p e d i n s t a n c e i s s u c h t h a t t h e a n s w e r t o t h e S A T p r o b l e m i s 6 4 . i w e n t r o d u c e t h e f o l l o - w m g s t a t e s . . . . , fl r . , . , 3 ] I j S i ’ . h . , t a n d ’ j t i ' a fi i r m a t i v e i f a n d o n l y i f t h e r e e x i s t s a s o l u t i o n t o t h e r e v i s i o n p r o b l e m w i t h r e s p e c t t o P . W e c o n s t r u c t t h e i n s t a n c e P = ( H p , I r p ) a s f o l l o w s . V a r i a b l e s . T h e s e t o f v a r i a b l e s o f p r o g r a m P a n d , h e n c e , i t s p r o c e s s e s i s V = { v 0 , v 1 , v 2 , v 3 , v 4 } . T h e d o m a i n o f t h e s e v a r i a b l e s a r e r e s p e c t i v e l y a s f o l l o w s : { — 1 , 0 , 1 } , { — 1 , 0 , 1 } , { 0 , 1 } , { 0 , 1 } , { — N - - - — 2 , — 1 , 1 , 2 - - - 1 \ 1 + N } U { j i | ( 1 g 2 ' g N ) / \ ( N + 1 S j S M + N ) } . - W e n o t e t h a t j i i n t h e l a s t s e t i s n o t a n e x p o n e n t , b u t a d e n o t a t i o n a l s y m b o l . R e a c h a b l e s t a t e s . T h e s e t o f r e a c h a b l e s t a t e s i n o u r m a p p i n g i s a s f o l l o w s : 0 F o r e a c h p r o p o s i t i o n a l v a r i a b l e 1 7 , , 1 S i S N , i n t h e i n s t a n c e o f t h e S A T p r o b l e m , w e i n t r o d u c e t h e f o l l o w i n g s t a t e s ( s e e F i g u r e 5 . 1 ) : a - b ' b ; , c i , c £ , d i , 7 , " 2 ’ a n d d l ' W e r e q u i r e t h a t s t a t e s a 1 a n d a N + 1 a r e i d e n t i c a l . 0 F o r e a c h c l a u s e y j , N + 1 S j S M + N , w e i n t r o d u c e s t a t e r j . o F o r e a c h c l a u s e y j , N + 1 _ < _ j S M + N , a n d v a r i a b l e . 1 7 , - i n c l a u s e y j , 1 g i g N , V a l u e a s s i g n m e n t s . A s s i g n m e n t o f v a l u e s t o e a c h v a r i a b l e a t r e a c h a b l e s t a t e s i s s h o w n i n F i g u r e 5 . 1 ( d e n o t e d b y < v 0 , v 1 , v 2 , v 3 , v 4 > ) . W e e m p h a s i z e t h a t a s s i g n m e n t o f v a l u e s i n o u r m a p p i n g i s t h e m o s t c r u c i a l f a c t o r i n f o r m i n g g r o u p p r e d i c a t e s . F o r r e a d e r ’ s c o n v e n i e n c e , T a b l e 5 . 1 i l l u s t r a t e s t h e a s s i g n m e n t o f v a l u e s t o v a r i a b l e s m o r e c l e a r l y . ( a ) ( b ) S t a t e / V a r . I v 0 I v 1 I v 2 I v 3 I v 4 I I S t a t e / V a r i a b l e I v 0 I v 1 I v 2 I v 3 I v 4 I a , - - 1 1 O 1 2 r 1 0 O 1 0 j b ; 0 O 0 O — i r j i 0 0 0 0 f t ( 3 2 ' 1 0 1 1 — 2 5 6 1 ' 1 0 1 1 j z c g 0 1 1 1 i t 1 ” 1 1 0 1 . , d , - 0 1 1 1 — — i j " 1 1 0 1 3 2 . ( I f 1 0 1 1 i i t " ' " J T a b l e 5 . 1 : A s s i g n m e n t o f v a l u e s t o v a r i a b l e s i n p r o o f o f T h e o r e m 5 . 1 . 1 . P r o c e s s e s . P r o g r a m P c o n s i s t s o f f o u r p r o c e s s e s . F o r m a l l y , H P = { p 1 , p 2 , p 3 , p 4 } . T r a n s i t i o n p r e d i c a t e a n d r e a d / w r i t e r e s t r i c t i o n s o f p r o c e s s e s i n H P a r e a s f o l l o w s : a R e a d / w r i t e r e s t r i c t i o n s . T h e r e a d / w r i t e r e s t r i c t i o n s o f p r o c e s s e s p 1 , p 2 , p 3 , a n d p 4 a r e a s f o l l o w s : - R p l = { v 0 , v 2 , v 3 } a n d W 7 9 1 = { v 0 , v 2 , v 3 } . - — R 1 9 2 2 { v l , v 2 , v 3 } a n d W p 2 = { v 1 , v 2 , v 3 } . — R p 3 = { v 0 , v 1 , v 2 , v 3 , v 4 } a n d W p 3 = { v 0 , v 1 , v 2 , v 4 } . — R p 4 = { v 0 , v 1 , v 2 , v 3 , v 4 } a n d W 1 9 4 = { v 0 , v 1 , v 3 , v 4 } . 0 T r a n s i t i o n p r e d i c a t e s . F o r e a c h p r o p o s i t i o n a l v a r i a b l e 2 3 , - , 1 S i g N , w e i n c l u d e t h e f o l l o w i n g t r a n s i t i o n s i n p r o c e s s e s p 1 , p 2 , p 3 , a n d p 4 ( s e e F i g u r e 5 . 1 ) : ‘ T m = { ( b § , d g l , ( b i a c z ' ) | 1 £ i £ N } - — T p g = { ( b ; . c ; ) . ( b . » d . ; ) I 1 3 2 ' : N } . 6 6 — T p 3 = { ( c ; , a i + 1 ) , ( c i , a i + 1 ) , ( d £ , a , ~ + 1 ) , ( ( 1 , - , a i + 1 ) I 1 g i g N } . M o r e o v e r , c o r r e s p o n d i n g t o e a c h c l a u s e y j , N + 1 S j g M + N , a n d v a r i a b l e ” ’ 2 ' : 1 < i g N , i n c l a u s e y j , w e i n c l u d e t r a n s i t i o n ( i j r j i ) i n T 2 9 3 a n d t h e f o l l o w i n g : — I f 1 ‘ , - i s a l i t e r a l i n c l a u s e y j , t h e n w e i n c l u d e t r a n s i t i o n ( T j i ’ S j i ) i n T 3 9 2 , ( S j i ’ t j i ) i n T p 3 , a n d ( ( j i ’ b ’ i ) i n T p 4 . _ _ I f fi x , - i s a l i t e r a l i n c l a u s e y j , t h e n w e i n c l u d e t r a n s i t i o n ( T j i v 3 9 7 : ) i n T p l , I ( 3 9 . 2 . , t j i ) i n T 1 3 3 , a n d ( t b i ’ b i ) i n T p 4 . N o t e t h a t o n l y f o r t h e s a k e o f i l l u s t r a t i o n , F i g u r e 5 . 1 s h o w s a l l p o s s i b l e t r a n s i - t i o n s . H o w e v e r , i n o r d e r t o c o n s t r u c t P , b a s e d o n t h e e x i s t e n c e o f : 1 7 , - o r fi x , - i n y j , w e o n l y i n c l u d e a s u b s e t o f t h e t r a n s i t i o n s . I n i t i a l s t a t e s . T h e s e t I r p o f i n i t i a l s t a t e s r e p r e s e n t s c l a u s e s o f t h e i n s t a n c e o f t h e S A T p r o b l e m , i . e . , I 1 ; = { r j I N + 1 _ < _ j S M + N } . S a f e t y p r o p e r t y . L e t P b e a s t a t e p r e d i c a t e t h a t c o n t a i n s a l l r e a c h a b l e s t a t e s i n F i g u r e 5 . 1 e x c e p t c , a n d C ; ( i . e . , c i , c ; E n P ) . T h u s , t h e p r o p e r - t i e s s t a b l e P a n d i n v a r i a n t P c a n b e c h a r a c t e r i z e d b y t h e t r a n s i t i o n p r e d i c a t e B = { ( b i , c , - ) , ( b ; , c £ ) I 1 g i S N } . S i m i l a r l y , l e t P a n d Q b e t w o s t a t e p r e d i c a t e s t h a t c o n t a i n a l l r e a c h a b l e s t a t e s i n F i g u r e 5 . 1 e x c e p t c , a n d C I . T h u s , t h e s a f e t y 6 7 r j = < 0 , 0 , 1 , 0 , j > r , , = < 0 , 0 , 0 , 0 , f > / a , - = < - 1 , 1 , 0 , l , i > ‘ \ \ ‘ b ' . - = < 0 , 0 , 0 , 0 , i > c i = < 1 . 0 . 1 , 1 . - i > \ d ’ , - = < l , 0 , 1 , l , i > o < - - E 3 d i = < 0 , l , l , l , - i > a i + 1 = < ' 1 3 1 2 0 a 1 3 i + 1 > L e g e n d < V 0 , V 1 , V 2 , V 3 , v 4 > 0 S t a t e — ’ P r o c e s s p ] - - - - > P r o c e s s p 2 — > P r o c e s s p 3 - - - > P r o c e s s p 4 0 G r o u p 1 [ I G r o u p 2 B a d X t r a n s i t i o n T r a n s i t i o n s 6 w h e r e l i t e r a l x , - i s i n c l a u s e y } - T r a n s i t i o n s w h e r e l i t e r a l — x , ~ I I i s i n c l a u s e y j F i g u r e 5 . 1 : M a p p i n g S A T t o a d d i t i o n o f U N I T Y s a f e t y p r o p e r t i e s . p r o p e r t y P u n l e s s Q c a n b e c h a r a c t e r i z e d b y B a s w e l l . I n o u r m a p p i n g , w e l e t 8 r e p r e s e n t t h e s a f e t y s p e c i fi c a t i o n f o r w h i c h P h a s t o b e r e v i s e d . 6 8 B e f o r e w e p r e s e n t o u r r e d u c t i o n f r o m t h e S A T p r o b l e m u s i n g t h e a b o v e m a p p i n g , w e m a k e t h e f o l l o w i n g o b s e r v a t i o n s r e g a r d i n g t h e g r o u p i n g o f t r a n s i t i o n s i n d i f f e r e n t p r o c e s s e s : 1 . D u e t o i n a b i l i t y o f p r o c e s s p 1 t o r e a d v a r i a b l e v 4 , f o r a l l i , 1 S i S N , t r a n s i t i o n s ( T j ' l ’ 5 3 - 2 . ) , ( b ; , d £ ) , a n d ( b l - , c z ) a r e g r o u p e d i n p l . 2 . D u e t o i n a b i l i t y o f p r o c e s s p 2 t o r e a d v a r i a b l e v 4 , f o r a l l i , 1 S i S N , t r a n s i t i o n s ( r j i , S j i l = ( b i , d z ) , a n d ( 1 1 $ , ( 3 ; ) a r e g r o u p e d i n p g . 3 . T r a n s i t i o n s g r o u p e d w i t h t h e r e s t o f t h e t r a n s i t i o n s i n F i g u r e 5 . 1 a r e u n r e a c h a b l e a n d , h e n c e , a r e i r r e l e v a n t . N o w , w e s h o w t h a t t h e a n s w e r t o t h e S A T p r o b l e m i s a f fi r m a t i v e i f a n d o n l y i f t h e r e e x i s t s a s o l u t i o n t o t h e r e v i s i o n p r o b l e m . T h u s , w e d i s t i n g u i s h t w o c a s e s : 0 ( = > ) F i r s t , w e s h o w t h a t i f t h e g i v e n i n s t a n c e o f t h e S A T f o r m u l a i s s a t i s fi a b l e , t h e n t h e r e e x i s t s a s o l u t i o n t h a t m e e t s t h e r e q u i r e m e n t s o f t h e r e v i s i o n d e c i s i o n p r o b l e m . S i n c e t h e S A T f o r m u l a i s s a t i s fi a b l e , t h e r e e x i s t s a n a s s i g n m e n t o f t r u t h v a l u e s t o a l l v a r i a b l e s 3 3 , - , 1 S i S N , s u c h t h a t e a c h y j , N + 1 S j S M + N , i s t r u e . N o w , w e i d e n t i f y a p r o g r a m P ’ , t h a t i s o b t a i n e d b y a d d i n g t h e s a f e t y p r o p e r t y r e p r e s e n t e d b y B t o p r o g r a m P a s f o l l o w s . — T h e s t a t e s p a c e o f P , c o n s i s t s o f a l l t h e s t a t e s o f P , i . e . , S p = P ] . — T h e i n i t i a l s t a t e s o f P , c o n s i s t s o f a l l t h e i n i t i a l s t a t e s o f P , i . e . , 1 p 2 1 P " — F o r e a c h v a r i a b l e m i , 1 S i S N , i f : 1 : 2 i s t r u e , t h e n w e i n c l u d e t h e f o l l o w i n g t r a n s i t i o n s : ( a , , b i ) i n T p 4 , ( b i , d i ) i n T p 2 , a n d ( ( 1 , , t i l - + 1 ) i n T 1 9 3 . 6 9 ( T ' j i ’ I j S i ) . 1 n T p l , a n d I ’ j ( l i ’ I . 2 b ) - 1 n T 1 9 4 . — F o r e a c h v a r i a b l e I i , 1 S i S N , i f 1 7 2 - i s f a l s e , t h e n w e i n c l u d e t h e f o l l o w i n g t r a n s i t i o n s : ( a , , ; , b ; ) i n T 1 3 4 , ( b ; , d : ) i n T p l ’ a n d ( d ; , a , ; + 1 ) i n T p 3 . — - F o r e a c h c l a u s e y j , N + 1 S j S M + N , t h a t c o n t a i n s l i t e r a l x i , i f 1 : , - i s t r u e , w e i n c l u d e t h e f o l l o w i n g t r a n s i t i o n s : ( r j , r J - . , - ) a n d ( S j i v t j i ) i n T p 3 , ( T j i v s j i ) i n s z , a n d ( t fl , b , - ) i n T p 4 . — F o r e a c h c l a u s e y j , N + 1 S j S A ! + N , t h a t c o n t a i n s l i t e r a l - w : r . , ; , i f 1 1 3 , ; i s f a l s e , w e i n c l u d e t h e f o l l o w i n g t r a n s i t i o n s : ( T j ’ T j i ) a n d ( 5 3 2 - , ‘ 3 1 ) i n T 7 9 3 , A s a n i l l u s t r a t i o n , w e s h o w t h e p a r t i a l s t r u c t u r e o f P ’ , f o r t h e f o r m u l a ( 1 : 1 V - : r 2 V . 7 3 3 ) / \ ( 1 1 V 2 : 2 V n x 4 ) , w h e r e $ 1 = t r u e , r 2 = f a l s e , 1 3 3 = f a l s e , a n d 2 : 4 2 f a l s e , i n F i g u r e 5 . 2 . N o t i c e t h a t s t a t e s w h o s e a l l o u t g o i n g a n d i n c o m i n g t r a n s i t i o n s a r e e l i m i n a t e d a r e n o t i l l u s t r a t e d . N o w , w e s h o w t h a t P , m e e t s t h e r e q u i r e m e n t s o f t h e P r o b l e m S t a t e m e n t 3 . 2 . 1 : 1 . T h e fi r s t t h r e e c o n s t r a i n t s o f t h e d e c i s i o n p r o b l e m a r e t r i v i a l l y s a t i s fi e d b y c o n s t r u c t i o n . 2 . W e n o w s h o w t h a t c o n s t r a i n t C 4 h o l d s . F i r s t , i t i s e a s y t o o b s e r v e t h a t b y c o n s t r u c t i o n , t h e r e e x i s t n o r e a c h a b l e d e a d l o c k s t a t e s i n t h e r e v i s e d p r o g r a m . H e n c e , i f P r e fi n e s U N I T Y s p e c i fi c a t i o n S P E C e , t h e n P , r e fi n e s S P E C e a s w e l l . M o r e o v e r , i f a c o m p u t a t i o n o f P ’ r e a c h e s a s t a t e b i f o r s o m e i , f r o m a n i n i t i a l s t a t e r : ( i . e . , 2 : , - i s t r u e i n c l a u s e y j ) , t h e n t h a t J c o m p u t a t i o n c a n n o t v i o l a t e s a f e t y s i n c e b a d t r a n s i t i o n ( b i , C i ) i s r e m o v e d . 7 0 d ' 4 b ' 4 | \ 6 1 3 b ' 3 \ d ' z b ' z ' \ L e g e n d 1 \ \ | \ I \ \ I \ I \ \ I \ 0 S t a t e I \ v \ I \ I — > P r o c e s s p ] I b a 4 5 a 3 1 a 2 p a l - - - ' > P r o c e s s p 2 . I / — — > P r o c e S S p 3 I . d - - ; f — - - - , - - - > P r o c e s s p 4 1 I ' 1 1 ‘ ' 1 ‘ 6 4 t < 5 1 t 5 2 t 5 1 I 8 ' 6 4 S 6 1 I 3 ' 5 2 $ 5 1 I I I l l 1 r 6 4 ’ 6 1 I r 5 2 r 5 1 I m L _ _ _ _ _ _ _ _ _ : 5 _ _ _ _ _ I F i g u r e 5 . 2 : T h e s t r u c t u r e o f t h e r e v i s e d p r o g r a m f o r B o o l e a n f o r m u l a ( 3 3 1 V + 2 3 2 V 1 : 3 ) A ( . 1 2 1 V x 2 V 1 7 : 4 ) , w h e r e 1 3 1 = t r u e , 2 : 2 = f a l s e , 1 7 3 = f a l s e , a n d x 4 = f a l s e . T h i s i s d u e t o t h e f a c t t h a t ( b , ; , C i ) i s g r o u p e d w i t h t r a n s i t i o n ( 1 ) - 7 3 , 3 3 2 ) a n d t h i s t r a n s i t i o n i s n o t i n c l u d e d i n T 7 ) “ a s l i t e r a l : 1 3 , - i s t r u e i n y j . L i k e w i s e , i f a c o m p u t a t i o n o f P I r e a c h e s a s t a t e b ; - f o r s o m e i , f r o m i n i t i a l s t a t e 7 ' ] - ( i . e . , 1 : 7 ; i s f a l s e i n c l a u s e y j ) , t h e n t h a t c o m p u t a t i o n c a n n o t v i o l a t e s a f e t y s i n c e t r a n s i t i o n ( b : , c £ ) i s r e m o v e d . T h i s i s d u e t o t h e f a c t t h a t ( b i - , c i . ) i s g r o u p e d w i t h t r a n s i t i o n ( " ' j i i S j i ) a n d t h i s t r a n s i t i o n i s n o t i n c l u d e d i n T 7 ) “ a s : 1 3 , - i s f a l s e . T h u s , P , r e fi n e s S P E C n . o ( 4 : ) N e x t , w e s h o w t h a t i f t h e r e e x i s t s a s o l u t i o n t o t h e r e v i s i o n p r o b l e m f o r t h e i n s t a n c e i d e n t i fi e d b y o u r m a p p i n g f r o m t h e S A T p r o b l e m , t h e n t h e g i v e n S A T f o r m u l a i s s a t i s fi a b l e . L e t P , b e t h e p r o g r a m t h a t i s o b t a i n e d b y a d d i n g t h e s a f e t y p r o p e r t y S P E C ” t o p r o g r a m P . N o w , i n o r d e r t o o b t a i n a s o l u t i o n f o r S A T , w e p r o c e e d a s f o l l o w s . I f t h e r e e x i s t s a c o m p u t a t i o n o f P , w h e r e s t a t e 7 1 b , - i s r e a c h a b l e , t h e n w e a s s i g n L , - t h e t r u t h v a l u e t r u e . O t h e r w i s e , w e a s s i g n t h e t r u t h v a l u e f a l s e . \ N e n o w s h o w t h a t t h e a b o v e t r u t h a s s i g n m e n t s a t i s fi e s a l l c l a u s e s . L e t y j b e a c l a u s e f o r s o m e j , N + 1 S j S M + N , a n d l e t r j b e t h e c o r r e s p o n d i n g i n i t i a l s t a t e i n [ 7 3 , . S i n c e r j i s a n i n i t i a l s t a t e a n d P , c a n n o t d e a d l o c k , t h e t r a n s i t i o n ( r j , r j i ) m u s t b e p r e s e n t i n T 7 ) ” f o r s o m e i , 1 S i S N . B y t h e s a m e a r g u m e n t , t h e r e m u s t e x i s t s o m e t r a n s i t i o n t h a t o r i g i n a t e s f r o m r j i ' T h i s t r a n s i t i o n t e r - m i n a t e s i n e i t h e r S j i o r 3 9 2 . . O b s e r v e t h a t T 7 ) , c a n n o t h a v e b o t h t r a n s i t i o n s , a s g r o u p i n g o f t r a n s i t i o n s w i l l i n c l u d e b o t h ( b i , C i ) a n d ( b : , c g ) w h i c h i n t u r n c a u s e s v i o l a t i o n o f s a f e t y b y P ' . N o w , i f t h e t r a n s i t i o n f r o m r - - t e r m i n a t e s i n s j t h e n 3 2 i i c l a u s e y j c o n t a i n s l i t e r a l 3 7 , - a n d : 1 7 , - i s a s s i g n e d t h e t r u t h v a l u e t r u e . H e n c e , y ] - e v a l u a t e s t o t r u e . L i k e w i s e , i f t h e t r a n s i t i o n f r o m T j i t e r m i n a t e s i n 3 3 5 , t h e n c l a u s e y j c o n t a i n s l i t e r a l fi r , - a n d : 1 7 , - i s a s s i g n e d t h e t r u t h v a l u e f a l s e . H e n c e , y j e v a l u a t e s t o t r u e . T h e r e f o r e , t h e a s s i g n m e n t o f v a l u e s c o n s i d e r e d a b o v e i s a s a t i s f y i n g t r u t h a s s i g n m e n t f o r t h e g i v e n S A T f o r m u l a . I 5 . 2 A d d i n g U N I T Y P r o g r e s s P r o p e r t i e s t o D i s - t r i b u t e d P r o g r a m s I n a c e n t r a l i z e d s e t t i n g , w h e r e p r o g r a m s h a v e n o r e s t r i c t i o n o n r e a d i n g a n d w r i t i n g v a r i a b l e s , a p r o g r a m , s a y P = ( H P J P ) , c a n b e e a s i l y r e v i s e d w i t h r e s p e c t t o a P r 0 g r e s s p r o p e r t y b y s i m p l y ( 1 ) b r e a k i n g n o n - p r o g r e s s c y c l e s t h a t p r e v e n t a p r o g r a m 7 2 t o e v e n t u a l l y r e a c h a d e s i r a b l e s t a t e p r e d i c a t e , a n d ( 2 ) r e m o v i n g d e a d l o c k s t a t e s ( s e e S e c t i o n 4 . 1 ) . T o t h e c o n t r a r y , i n a d i s t r i b u t e d s e t t i n g , d u e t o t h e i s s u e o f g r o u p i n g , i t m a t t e r s w h i c h t r a n s i t i o n ( a n d a s a r e s u l t i t s c o r r e s p o n d i n g g r o u p ) i s r e m o v e d t o b r e a k a n o n — p r o g r e s s c y c l e . I n s t a n c e . A d i s t r i b u t e d p r o g r a m P = ( H P ’ 1 7 ; ) a n d a U N I T Y p r o g r e s s p r o p e r t y S P E C n . I ) s u c h t h a t 1 3 ’ D e c i s i o n p r o b l e m . D o e s t h e r e e x i s t a p r o g r a m P , = ( I I P ’ P ’ ’ m e e t s t h e c o n s t r a i n t s o f P r o b l e m S t a t e m e n t 3 . 2 . 1 f o r t h e a b o v e i n s t a n c e ? T h e o r e m 5 . 2 . 1 T h e p r o b l e m o f a d d i n g a U N I T Y p r o g r e s s p r o p e r t y t o a d i s t r i b u t e d p r o g r a m i s N P - c o m p l e t e . P r o o f . S i n c e s h o w i n g m e m b e r s h i p t o N P i s s t r a i g h t f o r w a r d , w e o n l y s h o w t h a t t h e p r o b l e m i s N P — h a r d b y a r e d u c t i o n f r o m t h e S A T p r o b l e m . F i r s t , w e p r e s e n t a p o l y n o m i a l - t i m e m a p p i n g . V a r i a b l e s . T h e s e t o f v a r i a b l e s o f p r o g r a m P a n d , h e n c e , i t s p r o c e s s e s i s V = { 1 1 0 , 1 1 1 , 2 1 2 , 1 1 3 , v 4 } . T h e d o m a i n o f t h e s e v a r i a b l e s a r e r e s p e c t i v e l y a s f o l l o w s : { 0 , 1 } , { 0 . 1 } . { — N - - - - 2 , — 1 , 1 . 2 - - - M + N } U { j i I ( 1 s z ’ s N ) / \ ( N + 1 S j S M + N ) } , { — 1 , 0 , 1 } , a n d { — 1 , 0 , 1 } . R e a c h a b l e s t a t e s . T h e s e t o f r e a c h a b l e s t a t e s i n o u r m a p p i n g i s a s f o l l o w s : 7 3 o F o r e a c h p r o p o s i t i o n a l v a r i a b l e x i , 1 S i S N , w e i n t r o d u c e t h e f o l l o w i n g s t a t e s . . _ I I _ I I I ( s e e F l g u r e 5 . 3 ) . a , , a i , b i , b i ’ c i , C i ’ d i , d i ’ Q 1 , a n d Q i ' o F o r e a c h c l a u s e y j , N + 1 S j S M + N , w e i n t r o d u c e s t a t e r j . o F o r e a c h c l a u s e y j , N + 1 S j S M + N , a n d v a r i a b l e x i , 1 S i S N , i n c l a u s e y j , w e i n t r o d u c e s t a t e s r fl , S j ' l ’ a n d s , u a 3 1 ’ V a l u e a s s i g n m e n t s . A s s i g n m e n t o f v a l u e s t o e a c h v a r i a b l e a t r e a c h a b l e s t a t e s i s s h o w n i n F i g u r e 5 . 3 ( d e n o t e d b y < v O , v 1 , v 2 , v 3 , v 4 > ) . F o r r e a d e r ’ s c o n v e n i e n c e , T a b l e 5 . 2 i l l u s t r a t e s t h e a s s i g n m e n t o f v a l u e s t o v a r i a b l e s m o r e c l e a r l y . ( a ) ( b ) I S t a t e / V a r i a b l e I v 0 v 1 I v 2 v 3 v 4 I I S t a t e / V a r . v 0 v 1 I ' 0 2 v 3 v 4 a i 1 O — i - 1 - 1 r j 0 1 _ 7 1 1 a ; 1 0 l - 1 1 r ] , - 0 0 fl 0 0 I ) ; 0 0 + 1 0 0 3 . 7 2 . 1 1 3 2 0 1 c , - 1 1 — i 0 1 c ; 1 1 z 1 0 ( 1 , - 0 1 i 1 - 1 ( I I 0 1 — i 1 1 Q , - 1 1 — i 1 0 I 1 1 2 ; 0 1 T a b l e 5 . 2 : A s s i g n m e n t o f v a l u e s t o v a r i a b l e s i n p r o o f o f T h e o r e m 5 . 2 . 1 . P r o c e s s e s . P r o g r a m P c o n s i s t s o f f o u r p r o c e s s e s . F o r m a l l y , U p = { p 1 , p 2 , p 3 , p 4 } . T r a n s i t i o n p r e d i c a t e a n d r e a d / w r i t e r e s t r i c t i o n s o f p r o c e s s e s i n H p a r e a s f o l l o w s : 0 R e a d / w r i t e r e s t r i c t i o n s . T h e r e a d / w r i t e r e s t r i c t i o n s o f p r o c e s s e s 1 9 } , p 2 , p 3 , a n d p 4 a r e a s f o l l o w s : 7 4 - _ T 1 2 4 = { ( d § . b . - ) . ( d . - . b § ) I 1 _ < _ z ' _ < _ N } . I f fi x , - i s a l i t e r a l i n c l a u s e y j , t h e n w e i n c l u d e t r a n s i t i o n ( r j i , 3 3 . 2 ) i n T p l — R P ] = { 0 0 , 2 2 1 , 1 1 3 } a n d l / V p l = { 1 2 0 , 1 1 1 , 1 1 3 } . - R p 2 = { 2 9 0 , 1 2 1 , 1 1 4 } a n d W ' p 2 = { 1 0 , 2 1 1 , 1 1 4 } . — R p g = { 1 1 0 , v 1 , ' v g , v 3 , v 4 } a n d l e 3 = { 1 1 0 , v 2 , v 3 , v 4 } . — R 1 9 4 = { 1 7 0 , ” U 1 , U 2 , ’ U 3 , U 4 } a n d W p 4 = { ' v 1 , v 2 , v 3 , v 4 } . 0 T r a n s i t i o n p r e d i c a t e s . F o r e a c h p r o p o s i t i o n a l v a r i a b l e m i , 1 S i S N , w e i n c l u d e t h e f o l l o w i n g t r a n s i t i o n s i n p r o c e s s e s p 1 , p 2 , p 3 , a n d p 4 ( s e e F i g u r e 5 . 3 ) : - T 1 0 1 = { ( b g v c g l a ( b i i Q i l l 1 3 i S N } ~ - T 1 2 2 = { ( b i , C - I ) a ( b I , Q I ) I 1 S i S N } ~ - T p 3 = { ( a i I b I ) , ( a é a b l l d c a d y z l d c g fl é ) , ( Q i I Q I ) . ( Q I I Q I ) | 1 S i S N } . 7 . M o r e o v e r , c o r r e s p o n d i n g t o e a c h c l a u s e - , N + 1 S j S M + N , a n d v a r i a b l e y ] : 1 : 1 < i S N , i n c l a u s e y j , w e i n c l u d e t r a n s i t i o n ( r j , r j z - ) i n T 7 7 4 a n d t h e i , . _ f o l l o w i n g : — I f r , - i s a l i t e r a l i n c l a u s e y j , t h e n w e i n c l u d e t r a n s i t i o n ( r J - i , S j i ) i n T p 2 , a n d ( S j i ’ a i ) i n T 1 3 4 . , - / . a n d ( 3 N o t e t h a t f o r t h e s a k e o f i l l u s t r a t i o n , F i g u r e 5 . 3 s h o w s a l l p o s s i b l e t r a n s i t i o n s . H o w e v e r , i n o r d e r t o c o n s t r u c t P ’ , b a s e d o n t h e e x i s t e n c e o f 1 ' , - o r fi x , - i n y j , 7 5 C , - Q = 1 < = l , l , - i , 0 , < 1 , 1 . - i , l 1 > . c ' , - = < 1 , 1 , i , 1 , 0 > . _ _ - _ O 0 > a , - = < 1 , 0 , - i , - 1 , - 1 > Q ' , = < 1 , 1 , 1 ; 0 , 1 > a ' , - = < l , 0 , i , - 1 , 1 > C O ‘ . ‘ D . . Q b ' ; = < 0 , 0 , i , 0 , 0 / > d 1 : < 0 , I , i , I , - 1 > s ' j , = < 1 , 1 , j " , 1 , 0 > \ r j i = < 0 : O a j : 0 : O > Q . b , - = < 0 , 0 , - i , 0 , O > L e g e n d < V 0 , V 1 , V 2 . V 3 , W ? S t a t e P r o c e s s p 1 P r o c e s s [ 2 ; P r o c e s s p 3 P r o c e s s p 4 O — > . - - * — > - — — > a G r o u p 1 C l G r o u p 2 T r a n s i t i o n s ( I I I ) w h e r e l i t e r a l x , - i s i n c l a u s e y j T r a n s i t i o n s w h e r e l i t e r a l - x , - i s i n c l a u s e y j F i g u r e 5 . 3 : M a p p i n g S A T t o a d d i t i o n o f a p r o g r e s s p r o p e r t y . w e o n l y i n c l u d e a s u b s e t o f t r a n s i t i o n s . I n i t i a l s t a t e s . T h e s e t 1 7 ; o f i n i t i a l s t a t e s r e p r e s e n t s c l a u s e s o f t h e B o o l e a n f o r m u l a i n t h e i n s t a n c e o f t h e S A T p r o b l e m , i . e . , I 7 ; = { r j I N + 1 S j S M + N } . 7 6 P r o g r e s s p r o p e r t y . I n o u r m a p p i n g , t h e d e s i r a b l e p r o g r e s s p r o p e r t y i s o f t h e f o r m S P E C " E ( t r u e l e a d s - t o Q ) , w h e r e Q = { Q . , - , Q g I 1 S i S N } ( s e e F i g u r e 5 . 3 ) . O b s e r v e t h a t S P E C n i s a l e a d s - t o a s w e l l a s a n e n s u r e s p r o p e r t y . T h i s p r o p — e r t y i n L i n e a r T e m p o r a l L o g i c ( L T L ) i s d e n o t e d b y D O Q ( c a l l e d a l w a y s e v e n t u a l l y Q ) . B e f o r e w e p r e s e n t o u r r e d u c t i o n f r o m t h e S A T p r o b l e m u s i n g t h e a b o v e m a p p i n g , w e m a k e t h e f o l l o w i n g o b s e r v a t i o n s r e g a r d i n g t h e g r o u p i n g o f t r a n s i t i o n s i n d i f f e r e n t p r o c e s s e s : 1 . D u e t o i n a b i l i t y o f p r o c e s s p 1 t o r e a d v a r i a b l e v 2 , f o r a l l i , l S i S N , t r a n s i t i o n s ( T j ’ i ’ 3 3 7 ; ) , ( b g , C I ) , a n d ( b i : Q i ) a r e g r o u p e d i n p r o c e s s p l . 2 . D u e t o i n a b i l i t y o f p r o c e s s p 2 t o r e a d v a r i a b l e v 2 , f o r a l l i , 1 S i S N , t r a n s i t i o n s ( T j i i S j i l v ( b i , C i ) , a n d ( b g , Q ; ) a r e g r o u p e d i n p r o c e s s p g . 3 . T r a n s i t i o n s g r o u p e d w i t h t h e r e s t o f t h e t r a n s i t i o n s i n F i g u r e 5 . 3 a r e u n r e a c h a b l e a n d , h e n c e , a r e i r r e l e v a n t . W e d i s t i n g u i s h t h e f o l l o w i n g t w o c a s e s f o r r e d u c i n g t h e S A T p r o b l e m t o o u r r e v i - s i o n p r o b l e m : o ( : > ) F i r s t , w e s h o w t h a t i f t h e g i v e n i n s t a n c e o f t h e S A T f o r m u l a i s s a t i s fi a b l e , t h e n t h e r e e x i s t s a s o l u t i o n t h a t m e e t s t h e r e q u i r e m e n t s o f t h e r e v i s i o n d e c i s i o n p r o b l e m . S i n c e t h e S A T f o r m u l a i s s a t i s fi a b l e , t h e r e e x i s t s a n a s s i g n m e n t o f t r u t h v a l u e s t o a l l v a r i a b l e s 2 5 , - , 1 S i S N , s u c h t h a t e a c h y j , N + 1 S j S 7 7 M + N , i s t r u e . N o w , w e i d e n t i f y a p r o g r a m P ] , t h a t i s o b t a i n e d b y a d d i n g t h e p r o g r e s s p r o p e r t y D O Q t o p r o g r a m P a s f o l l o w s . - — T h e s t a t e s p a c e o f P I c o n s i s t s o f a l l t h e s t a t e s o f P , i . e . , S p = 7 3 , . — T h e i n i t i a l s t a t e s o f P I c o n s i s t s o f a l l t h e i n i t i a l s t a t e s o f P , i . e . , I p = 1 7 ) , . — F o r e a c h v a r i a b l e 2 7 , - , 1 S i S N , i f : 1 3 , - i s t r u e , t h e n w e i n c l u d e t h e f o l l o w i n g t r a n s i t i o n s : ( o z - , b z ' ) , ( c i , d i ) , a n d ( Q ; , Q g - ) i n T 1 7 3 , ( b i , c , , - ) a n d ( b g , Q I ) i n T 1 9 2 , a n d , ( d z - , b g ) i n T M . — F o r e a c h v a r i a b l e I i , 1 S i S N , i f 2 3 , ; i s f a l s e , t h e n w e i n c l u d e t h e f o l l o w i n g t r a n s i t i o n s : ( a g , b g ) , ( c g , d g ) , a n d ( Q i , Q , - ) i n T 1 9 3 , ( b § , c ; - ) a n d ( b i , Q z - ) i n r m , a n d , ( d I , 0 , ) i n T 1 9 4 . — F o r e a c h c l a u s e y j , N + 1 S j S M + N , t h a t c o n t a i n s l i t e r a l 5 1 3 , - , i f x , - i s t r u e , w e i n c l u d e t r a n s i t i o n s ( r j , r j . , ° ) a n d ( S j ’ l ’ a ’ l ) i n T M , a n d , t r a n s i t i o n ( r j i , s j i ) i n T p 2 . — F o r e a c h c l a u s e y j , N + 1 S j S M + N , t h a t c o n t a i n s l i t e r a l fi x i , i f 1 1 5 , ; i s f a l s e , w e i n c l u d e t r a n s i t i o n s ( r j , T j i ) a n d ( 8 3 1 " a ; ) i n T p 4 , a n d , t r a n s i t i o n I . ( 7 . q u S j i ) 1 n T p 1 . A s a n i l l u s t r a t i o n , w e s h o w t h e p a r t i a l s t r u c t u r e o f P ’ , f o r t h e f o r m u l a ( : 5 1 V fi z z V : 1 : 3 ) / \ ( . 7 3 1 V 1 3 2 V “ 1 1 7 4 ) , w h e r e 1 7 1 = t r u e , x 2 = f a l s e , 1 : 3 = f a l s e , a n d 5 1 : 4 = f a l s e i n F i g u r e 5 . 4 . N o t i c e t h a t s t a t e s w h o s e a l l o u t g o i n g a n d i n c o m i n g t r a n s i t i o n s a r e e l i m i n a t e d a r e n o t i l l u s t r a t e d . N o w , w e s h o w t h a t P , m e e t s t h e r e q u i r e m e n t s o f t h e P r o b l e m s S t a t e m e n t 3 . 2 . 1 : 7 8 1 . T h e fi r s t t h r e e c o n s t r a i n t s o f t h e d e c i s i o n p r o b l e m a r e t r i v i a l l y s a t i s fi e d b y c o n s t r u c t i o n . 2 . W e n o w s h o w t h a t c o n s t r a i n t C 4 h o l d s . F i r s t , i t i s e a s y t o o b s e r v e t h a t b y c o n s t r u c t i o n , t h e r e e x i s t n o r e a c h a b l e d e a d l o c k s t a t e s i n t h e r e v i s e d p r o g r a m . H e n c e , i f P r e fi n e s U N I T Y s p e c i fi c a t i o n S P E C e , t h e n P , r e fi n e s S P E C e a s w e l l . M o r e o v e r , b y c o n s t r u c t i o n , a l l c o m p u t a t i o n s o f P , e v e n - t u a l l y r e a c h e i t h e r Q , - o r Q ; a n d w i l l s t u t t e r t h e r e . T h i s i s d u e t o t h e f a c t t h a t i f l i t e r a l ' T ' i i s t r u e i n c l a u s e y j , t h e n t r a n s i t i o n ( T j i ’ 5 3 % . ) i s n o t i n c l u d e d i n T 1 ) , a n d , h e n c e , i t s g r o u p - m a t e s ( b g , c 2 ) a n d ( b i , Q i l a r e n o t i n T 7 3 , a s w e l l . C o n s e q u e n t l y , a c o m p u t a t i o n t h a t s t a r t s f r o m r j e v e n t u a l l y r e a c h e s Q ; w i t h o u t m e e t i n g a c y c l e . L i k e w i s e , i f l i t e r a l fi x , - i s f a l s e i n c l a u s e y j , t h e n t r a n s i t i o n ( T j i ’ S j i l i s n o t i n c l u d e d i n T , a n d , h e n c e , i t s 1 3 g r o u p - m a t e s ( b , , c i ) a n d ( w a Q I l a r e n o t i n T , a s w e l l . C o n s e q u e n t l y , a p c o m p u t a t i o n t h a t s t a r t s f r o m r j e v e n t u a l l y r e a c h e s Q z - w i t h o u t m e e t i n g a c y c l e . H e n c e , P ’ r e fi n e s S P E C n E D O Q . 0 ( < = ) N e x t , w e s h o w t h a t i f t h e r e e x i s t s a s o l u t i o n t o t h e r e v i s i o n p r o b l e m f o r t h e i n s t a n c e i d e n t i fi e d b y o u r m a p p i n g f r o m t h e S A T p r o b l e m , t h e n t h e g i v e n S A T f o r m u l a i s s a t i s fi a b l e . L e t P I b e t h e p r o g r a m t h a t i s o b t a i n e d b y a d d i n g t h e p r o g r e s s p r o p e r t y i n S P E C n E D O Q t o p r o g r a m P . N o w , i n o r d e r t o o b t a i n a s o l u t i o n f o r S A T , w e p r o c e e d a s f o l l o w s . I f t h e r e e x i s t s a c o m p u t a t i o n o f P , w h e r e s t a t e a , - i s r e a c h a b l e , t h e n w e a s s i g n 5 1 3 , ; t h e t r u t h v a l u e t r u e . O t h e r w i s e , w e a s s i g n t h e t r u t h v a l u e f a l s e . 7 9 I I I 1 I r 5 I r 6 I , O I R I / / / \ \ I / \ I x / \ l / \ I ’ \ d \ l r S I C f r 5 2 5 4 ' - - I " 6 1 r 6 4 I \ S 6 1 I \ I ‘ Q r s ' I S 5 1 \ I S 5 2 / 6 4 l \ / / I I I - - - - - - - a 1 a 2 r a 4 I C 2 I C 4 d , 2 4 b ' ] [ ) 1 [ 3 ' 2 b 2 b ' 4 b 4 0 I ' t 3 & 0 " I , ( 1 1 C I L e g e n d g 0 S t a t e — > P r o c e s s Q ' , [ J ] Q 2 Q 4 n u ) P r o c e s s p 2 — > P r o c e s s p 3 - - - > P r o c e s s p 4 F i g u r e 5 . 4 : T h e s t r u c t u r e o f t h e r e v i s e d p r o g r a m f o r B o o l e a n f o r m u l a ( 2 : 1 V 1 1 : 2 V x 3 ) / \ ( 2 7 1 V 3 : 2 V p . 1 2 4 ) , w h e r e 3 3 1 = t r u e , 1 2 = f a l s e , x 3 = f a l s e , a n d $ 4 = f a l s e . W e n o w s h o w t h a t t h e a b o v e t r u t h a s s i g n m e n t s a t i s fi e s a l l c l a u s e s . L e t y j b e a c l a u s e f o r s o m e j , N + 1 S j S M + N , a n d l e t r j b e t h e c o r r e s p o n d i n g i n i t i a l s t a t e i n 1 1 ) , . S i n c e r j i s a n i n i t i a l s t a t e a n d P , c a n n o t d e a d l o c k , t h e t r a n s i t i o n ( r - r - - ) m u s t b e p r e s e n t i n J ’ J , , , f o r s o m e i , 1 S i S N . B y t h e T 1 3 s a m e a r g u m e n t , t h e r e m u s t e x i s t s o m e t r a n s i t i o n t h a t o r i g i n a t e s f r o m T j i ' T h i s t r a n s i t i o n t e r m i n a t e s i n e i t h e r s j i o r 3 3 2 . . O b s e r v e t h a t T 7 ) , c a n n o t h a v e b o t h t r a n s i t i o n s , a s g r o u p i n g o f t r a n s i t i o n s w i l l i n c l u d e t r a n s i t i o n s ( b i : C ? ) a n d ( b ’ - , c g ) . I f t h i s i s t h e c a s e , P , d o e s n o t r e fi n e t h e p r o p e r t y D O Q d u e t o t h e e x i s t e n c e o f c y c l e 1 2 . , - — - > C i — + d , - — > b ; — — > c ; - — > d ; — — > h i T h u s , t h e r e c a n b e o n e a n d o n l y o n e 8 0 o u t g o i n g t r a n s i t i o n f r o m " j i i n T 7 9 " i n S j i i t h e n c l a u s e y j c o n t a i n s l i t e r a l 1 2 , ; a n d 5 1 7 , ; i s a s s i g n e d t h e t r u t h v a l u e t r u e . N o w , i f t h e t r a n s i t i o n f r o m T j i t e r m i n a t e s H e n c e , y j e v a l u a t e s t o t r u e . L i k e w i s e , i f t h e t r a n s i t i o n f r o m T j i t e r m i n a t e s i n I S j i ’ t h e n c l a u s e y j c o n t a i n s l i t e r a l 1 1 3 - a n d a s , i s a s s i g n e d t h e t r u t h v a l u e f a l s e . 2 H e n c e , y j e v a l u a t e s t o t r u e . T h e r e f o r e , t h e a s s i g n m e n t o f v a l u e s c o n s i d e r e d a b o v e i s a s a t i s f y i n g t r u t h a s s i g n m e n t f o r t h e g i v e n S A T f o r m u l a . I 5 . 3 A S y m b o l i c H e u r i s t i c f o r A d d i n g L e a d s - T o P r o p e r t i e s W e n o w p r e s e n t a p o l y n o m i a l - t i m e ( i n t h e s i z e o f t h e s t a t e s p a c e ) s y m b o l i c ( B D D l - b a s e d ) h e u r i s t i c f o r a d d i n g l e a d s - t o p r o p e r t i e s t o d i s t r i b u t e d p r o g r a m s . L e a d s - t o p r o p - e r t i e s h a v e i n t e r e s t i n g a p p l i c a t i o n s i n a u t o m a t e d a d d i t i o n o f r e c o v e r y f o r s y n t h e s i z i n g f a u l t — t o l e r a n t d i s t r i b u t e d p r o g r a m s . T h e N P - h a r d n e s s r e d u c t i o n p r e s e n t e d i n t h e p r o o f o f T h e o r e m 5 . 2 . 1 p r e c i s e l y s h o w s w h e r e t h e c o m p l e x i t y o f t h e p r o b l e m l i e s i n . I n d e e d , F i g u r e 5 . 3 s h o w s t h a t t r a n s i t i o n ( b i , C i ) w h i c h c a n p o t e n t i a l l y b e r e m o v e d t o b r e a k t h e n o n - p r o g r e s s c y c l e b , - — — > C i - — > d , - — > b ; — > c ; — » d ; — > b , - i s g r o u p e d w i t h t h e c r i t i c a l t r a n s i t i o n ( T j i i S j i ) w h i c h e n s u r e s t h a t s t a t e T j i a n d c o n s e q u e n t l y i n i t i a l s t a t e r j a r e n o t d e a d l o c k e d . T h e s a m e a r g u m e n t h o l d s f o r t r a n s i t i o n s ( b é , C I ) a n d ( r j i , 3 3 2 ) . T h u s , a h e u r i s t i c t h a t 1 O r d e r e d B i n a r y D e c i s i o n D i a g r a m s [ B r y 8 6 ] r e p r e s e n t B o o l e a n f o r m u l a e a s d i r e c t e d a c y c l i c g r a p h s m a k i n g t e s t i n g o f f u n c t i o n a l p r o p e r t i e s s u c h a s s a t i s fi a b i l i t y a n d e q u i v a l e n c e s t r a i g h t f o r w a r d a n d e x t r e m e l y e f fi c i e n t . 8 1 A l g o r i t h m 5 . 1 A d d _ L e a d s T o I n p u t : A d i s t r i b u t e d p r o g r a m P = ( H P ’ 1 p ) a n d p r o p e r t y P l e a d s - t o Q . O u t p u t : I f s u c c e s s f u l , t r a n s i t i o n p r e d i c a t e T , o f t h e n e w p r o g r a m . ' p 1 : 2 : r e p e a t 3 : L e t R a n i n I b e t h e s t a t e p r e d i c a t e w h o s e l e n g t h o f s h o r t e s t p a t h t o Q i s i , w h e r e R a n k I O ] = Q a n d R a n h o c I = t h e s t a t e p r e d i c a t e t h a t i s r e a c h a b l e f r o m P , b u t c a n n o t r e a c h Q ; 4 f o r a l l i a n d j d o 5 . C : 2 C o m p u t e C y c l e s ( T p , P ) ; 6 : i f ( i S j ) A ( i 7 6 0 ) / \ ( i # o o ) t h e n 7 t m p : = G r o u p ( ( C / \ R a n i n I ) / \ ( C A R a n k I j ] ) ’ ) ; 8 i f r e m o v a l o f t m p f r o m T 1 ) e l i m i n a t e s a s t a t e f r o m Q t h e n 9 : M a k e ( C / \ t m p ) u n r e a c h a b l e ; 1 0 : e l s e 1 1 : T : = T — t m p ° ’ P 7 1 2 : e n d p i f 1 3 : e n d i f 1 4 : e n d f o r 1 5 : u n t i l R a n h o o I = { } 1 6 : T 7 ) , : = E l i m i n a t e D e a d l o c k S t a t e s ( P , Q , ( H P ’ I p ) ) ; 1 7 : r e t u r n T ’ p / i a d d s a l e a d s - t o p r o p e r t y t o a d i s t r i b u t e d p r o g r a m n e e d s t o a d d r e s s t h i s i s s u e . O u r h e u r i s t i c w o r k s a s f o l l o w s ( c f . A l g o r i t h m 5 . 1 ) . T h e A l g o r i t h m A d d - L e a d s T o t a k e s a d i s t r i b u t e d p r o g r a m P = ( H p , 1 p ) a n d a p r o p e r t y P l e a d s - t o Q a s i n p u t , w h e r e P a n d Q a r e t w o a r b i t r a r y s t a t e p r e d i c a t e s i n t h e s t a t e s p a c e o f P . T h e a l g o r i t h m ( i f s u c c e s s f u l ) r e t u r n s t r a n s i t i o n p r e d i c a t e o f t h e d e r i v e d p r o g r a m P , = ( I I 1 7 3 / ) t h a t r e fi n e s P l e a d s - t o Q a s o u t p u t . I n o r d e r t o t r a n s f o r m P t o P ’ , fi r s t , P I ’ t h e a l g o r i t h m r a n k s s t a t e s t h a t c a n b e r e a c h e d f r o m P b a s e d o n t h e l e n g t h o f t h e i r s h o r t e s t p a t h t o Q ( L i n e 2 ) . T h e n , i t a t t e m p t s t o b r e a k n o n - p r o g r e s s c y c l e s ( L i n e s 3 - 1 3 ) . T o t h i s e n d , i t fi r s t c o m p u t e s t h e s e t o f c y c l e s t h a t a r e r e a c h a b l e f r o m P ( L i n e 4 ) . T h i s c o m p u t a t i o n c a n b e a c c o m p l i s h e d u s i n g a n y B D D — b a s e d c y c l e d e t e c t i o n 8 2 a l g o r i t h m . W e a p p l y t h e E m e r s o n — L i e m e t h o d I E L 8 6 I . T h e n , t h e a l g o r i t h m r e m o v e s t r a n s i t i o n s f r o m T 7 ) t h a t p a r t i c i p a t e i n a c y c l e a n d w h o s e r a n k o f s o u r c e s t a t e i s l e s s t h a n o r e q u a l t o t h e r a n k o f d e s t i n a t i o n s t a t e ( L i n e s 6 - 1 0 ) . H o w e v e r , s i n c e r e m o v a l o f a t r a n s i t i o n m u s t t a k e p l a c e w i t h i t s e n t i r e g r o u p p r e d i c a t e , w e d o n o t r e m o v e a t r a n s i t i o n t h a t c a u s e s c r e a t i o n o f d e a d l o c k s t a t e s i n Q . I n s t e a d , w e m a k e t h e c o r r e s p o n d i n g c y c l e u n r e a c h a b l e ( L i n e 8 ) . T h i s c a n b e d o n e b y s i m p l y r e m o v i n g t r a n s i t i o n s t h a t t e r m i n a t e i n a s t a t e o n t h e c y c l e . T h u s , i f r e m o v a l o f a g r o u p o f t r a n s i t i o n s d o e s n o t c r e a t e n e w d e a d l o c k s t a t e s i n Q , t h e a l g o r i t h m r e m o v e s t h e m ( L i n e 1 0 ) . F i n a l l y , s i n c e r e m o v a l o f t r a n s i t i o n s m a y c r e a t e d e a d l o c k s t a t e s o u t s i d e Q b u t r e a c h a b l e f r o m P , w e n e e d t o e l i m i n a t e t h o s e d e a d l o c k s t a t e s ( L i n e 1 5 ) . S u c h e l i m i n a t i o n c a n b e a c c o m p l i s h e d u s i n g t h e B D D - b a s e d m e t h o d p r o p o s e d i n I B K O 7 b ] . G i v e n 0 ( n 2 ) c o m p l e x i t y o f t h e c y c l e d e t e c t i o n a l g o r i t h m I E L 8 6 I , i t i s s t r a i g h t f o r - w a r d t o o b s e r v e t h a t t h e c o m p l e x i t y o f o u r h e u r i s t i c i s 0 ( n 4 ) , w h e r e n i s t h e s i z e o f s t a t e s p a c e o f P . I n o r d e r t o e v a l u a t e t h e p e r f o r m a n c e o f o u r h e u r i s t i c , w e h a v e i m p l e m e n t e d t h e A l g o r i t h m A d d _ L e a d s T o i n o u r t o o l S Y C R A F T I B K O 8 c I . T h i s h e u r i s - t i c c a n b e u s e d f o r a d d i n g r e c o v e r y i n o r d e r t o s y n t h e s i z e f a u l t - t o l e r a n t d i s t r i b u t e d p r o g r a m s a s f o l l o w s . L e t S b e a s e t o f l e g i t i m a t e s t a t e s ( e . g . , a n i n v a r i a n t p r e d i c a t e ) a n d T b e t h e f a u l t - s p a n p r e d i c a t e ( i . e . , t h e s e t o f s t a t e s r e a c h a b l e i n t h e p r e s e n c e o f f a u l t s ) . F i r s t , w e a d d a l l p o s s i b l e t r a n s i t i o n s t h a t s t a r t f r o m T — S a n d e n d i n T . T h e n , w e a p p l y t h e A l g o r i t h m A d d - L e a d s T o f o r p r o p e r t y ( T — S ) l e a d s - t o S . T a b l e 5 . 3 i l l u s t r a t e s e x p e r i m e n t a l r e s u l t s o f o u r h e u r i s t i c f o r a d d i n g s u c h r e c o v - e r y . A l l e x p e r i m e n t s a r e r u n o n a P C w i t h a 2 . 8 G H z I n t e l X e o n p r o c e s s o r a n d 1 . 2 G B R A M . T h e B D D r e p r e s e n t a t i o n o f t h e B o o l e a n f o r m u l a e h a s b e e n d o n e u s i n g 8 3 S p a c e T i m e ( s ) r e a c h a b l e m e m o r y c y c l e p r u n i n g t o t a l s t a t e s ( K B ) d e t e c t i o n t r a n s i t i o n s 8 A 5 1 0 4 1 2 0 . 5 2 . 5 3 B A I O 1 0 8 1 8 5 1 8 2 3 B A 1 5 1 0 1 2 2 6 4 7 7 6 1 2 5 B A 2 0 1 0 1 6 2 9 5 2 2 3 7 2 8 9 4 B A 2 5 1 0 2 0 3 0 3 7 2 2 1 1 3 1 4 8 5 3 T R 5 1 0 2 6 0 . 2 0 . 3 0 . 5 T R “ ) 1 0 5 7 1 3 2 1 5 T R 1 5 1 0 7 1 0 4 7 0 1 0 4 8 0 T R 2 0 1 0 9 3 3 2 7 4 3 1 7 3 2 9 1 6 7 1 2 2 5 1 0 1 1 5 3 2 2 1 0 7 2 2 7 5 2 4 3 8 2 T a b l e 5 . 3 : E x p e r i m e n t a l r e s u l t s o f t h e s y m b o l i c h e u r i s t i c . t h e G l u / C U D D p a c k a g e [ S o m ] . O u r e x p e r i m e n t s t a r g e t a d d i t i o n o f r e c o v e r y t o t w o w e l l - k n o w n p r o b l e m s i n f a u l t - t o l e r a n t d i s t r i b u t e d c o m p u t i n g , n a m e l y , t h e B y z a n t i n e a g r e e m e n t p r o b l e m [ L S P 8 2 I ( d e n o t e 8 A 1 . ) a n d t h e t o k e n r i n g p r o b l e m [ A K 9 8 a I ( d e - n o t e d T R I ) , w h e r e i i s t h e n u m b e r o f p r o c e s s e s . T a b l e 5 . 3 s h o w s t h e s i z e o f r e a c h a b l e s t a t e s i n t h e p r e s e n c e o f f a u l t s , m e m o r y u s a g e , t o t a l t i m e s p e n t t o a d d t h e d e s i r a b l e l e a d s - t o p r o p e r t y , t i m e s p e n t f o r c y c l e d e t e c t i o n ( i . e . , L i n e 4 i n A l g o r i t h m 5 . 1 ) , a n d t i m e s p e n t f o r b r e a k i n g c y c l e s b y p r u n i n g t r a n s i t i o n s . G i v e n t h e h u g e s i z e o f r e a c h - a b l e s t a t e s a n d c o m p l e x i t y o f s t r u c t u r e o f p r o g r a m s i n o u r e x p e r i m e n t s , w e fi n d t h e e x p e r i m e n t a l r e s u l t s q u i t e e n c o u r a g i n g . W e n o t e t h a t t h e r e a s o n t h a t T R . a n d B A b e h a v e d i f f e r e n t l y a s t h e i r n u m b e r o f p r o c e s s e s g r o w i s d u e t o t h e i r d i f f e r e n t s t r u c — t u r e s , e x i s t i n g c y c l e s , a n d n u m b e r o f r e a c h a b l e s t a t e s . I n p a r t i c u l a r , t h e s t a t e s p a c e 8 4 o f T R i s h i g h l y r e a c h a b l e a n d i t s o r i g i n a l p r o g r a m h a s a c y c l e t h a t i n c l u d e s a l l o f i t s l e g i t i m a t e s t a t e s . T h i s i s n o t t h e c a s e i n B A . W e a l s o n o t e t h a t i n c a s e o f T R , t h e s y m b o l i c h e u r i s t i c p r e s e n t e d i n t h i s s u b s e c t i o n t e n d t o b e s l o w e r t h a n t h e c o n s t r u c - t i v e l a y e r e d a p p r o a c h i n t r o d u c e d i n I B K O 7 b I . H o w e v e r , t h e a p p r o a c h i n t h i s p a p e r i s m o r e g e n e r a l a n d h a s a b e t t e r p o t e n t i a l o f s u c c e s s t h a n t h e a p p r o a c h i n I B K O 7 b I . 8 5 C h a p t e r 6 R e v i s i n g R e a l - T i m e P r o g r a m s I n t h i s c h a p t e r , w e f o c u s o n a u t o m a t e d r e v i s i o n o f r e a l - t i m e U N I T Y p r o g r a m s . O u r f o c u s i n t h i s c h a p t e r i s m a i n l y o n a d d i t i o n o f b o u n d e d - t i m e l e a d s - t o p r o p e r t i e s t o r e a l - t i m e p r o g r a m s . T h i s i s d u e t o t h e f o l l o w i n g t w o r e a s o n s : 1 . t h e c o m p l e x i t y o f a d d i t i o n o f o t h e r r e a l — t i m e U N I T Y p r o p e r t i e s ( i . e . , b o u n d e d - t i m e u n l e s s , b o u n d e d - t i m e s t a b l e , a n d b o u n d e d - t i m e e n s u r e s ) c a n b e e a s i l y s h o w n t o b e i n t h e s a m e c l a s s a s b o u n d e d - t i m e l e a d s - t o , a n d 2 . b o u n d e d - t i m e l e a d s — t o i s t y p i c a l l y u s e d i n s p e c i f y i n g m o s t o f t h e i n t e r e s t i n g p r o p e r t i e s o f r e a l — t i m e s y s t e m s s u c h a s m e e t i n g a d e a d l i n e a n d c o n v e r g i n g t o n o r m a l b e h a v i o r o f a s y s t e m . T h e r e s t o f t h i s c h a p t e r i s o r g a n i z e d a s f o l l o w s . I n S e c t i o n 6 . 1 , w e p r e s e n t a s o u n d a n d c o m p l e t e a l g o r i t h m f o r a d d i n g a b o u n d e d - t i m e l e a d s - t o p r o p e r t y t o a r e a l - t i m e p r o g r a m . T h e c o m p l e x i t y o f t h i s a l g o r i t h m i s i n p o l y n o m i a l - t i m e i n t h e s i z e o f t h e i n p u t p r o g r a m ’ s r e g i o n g r a p h . T h e n , i n S e c t i o n 6 . 2 , w e s h o w t h a t t h e p r o b l e m o f 8 6 a d d i n g a b o u n d e d - t i m e l e a d s - t o p r o p e r t y t o a r e a l - t i m e p r o g r a m w h i l e m a i n t a i n i n g m a x i m u m n o n — d e t e r m i n i s m i s N P - c o m p l e t e i n t h e s i z e o f t h e p r o g r a m ’ s r e g i o n g r a p h e v e n i f t h e g i v e n p r o g r a m s a t i s fi e s t h e c o r r e s p o n d i n g u n b o u n d e d l e a d s - t o p r o p e r t y . F i n a l l y , i n S e c t i o n 6 . 3 , w e s h o w t h a t t h e p r o b l e m o f a d d i n g a n i n t e r v a l b o u n d e d - t i m e l e a d s — t o p r o p e r t y t o a r e a l - t i m e p r o g r a m i s a l s o N P - c o m p l e t e i n t h e s i z e o f t h e i n p u t p r o g r a m ’ s r e g i o n g r a p h . 6 . 1 A d d i n g a S i n g l e B o u n d e d - T i m e L e a d s - t o P r o p - e r t y I n t h i s s u b s e c t i o n , w e p r e s e n t a s o u n d a n d c o m p l e t e a l g o r i t h m t h a t a u t o m a t i c a l l y a d d s a s i n g l e b o u n d e d - t i m e l e a d s - t o p r o p e r t y t o a r e a l — t i m e p r o g r a m . A l g o r i t h m s k e t c h . I n t u i t i v e l y , t h e a l g o r i t h m w o r k s i n f o u r p h a s e s . I n P h a s e 1 , w e t r a n s f o r m t h e i n p u t r e a l - t i m e p r o g r a m i n t o a r e g i o n g r a p h a n d s u b s e q u e n t l y a w e i g h t e d d i r e c t e d g r a p h ( c a l l e d M a x D e l a y d i g r a p h I C Y 9 1 ] ) . T h e p r o p e r t y o f t h i s d i g r a p h i s s u c h t h a t t h e l o n g e s t d i s t a n c e b e t w e e n a n y t w o v e r t i c e s i s e q u a l t o t h e m a x i m u m t i m e d e l a y b e t w e e n t h e c o r r e s p o n d i n g r e g i o n s i n t h e r e g i o n g r a p h . T h e n , i n P h a s e 2 , w e i d e n t i f y a s u b g r a p h o f t h e M a x D e l a y d i g r a p h i n w h i c h t h e d e s i r e d b o u n d e d - t i m e l e a d s - t o p r o p e r t y i s n e v e r v i o l a t e d . I n P h a s e 3 , w e r e m o v e d e a d l o c k r e g i o n s . F i n a l l y , i n P h a s e 4 , w e t r a n s f o r m t h e r e s u l t a n t r e g i o n g r a p h b a c k i n t o a r e a l - t i m e p r o g r a m . 8 7 C o n s t r u c t i o n o f M a x D e l a y d i g r a p h . w e n o w d e s c r i b e h o w w e t r a n s f o r m a r e g i o n g r a p h R ( P ) = ( 7 7 3 , 1 5 3 ) i n t o a M a x D e l a y d i g r a p h G = ( V , A ) . V e r t i c e s o f C c o n s i s t o f t h e r e g i o n s i n R ( P ) . N o t a t i o n : W e d e n o t e t h e w e i g h t o f a n a r c ( v 0 , v 1 ) E A b y W e i g h t ( v o , v l ) . L e t y : S ; H V d e n o t e a b i j e c t i o n t h a t m a p s e a c h r e g i o n r E S I ) t o i t s c o r r e s p o n d i n g v e r t e x i n G a n d v i c e v e r s a , i . e . , 7 ( 7 ‘ ) i s a v e r t e x o f C t h a t r e p r e s e n t s r e g i o n r o f R ( P ) a n d 7 — 1 ( v ) i s t h e r e g i o n o f R ( P ) t h a t c o r r e s p o n d s t o v e r t e x v i n V . L e t I ‘ : 2 S P < — — > 2 V b e a b i j e c t i o n t h a t m a p s a r e g i o n p r e d i c a t e i n R ( P ) t o t h e c o r r e s p o n d i n g s e t o f v e r t i c e s o f C a n d l e t F — 1 b e i t s i n v e r s e . F i n a l l y , f o r a b o u n d a r y r e g i o n r w i t h r e s p e c t t o c l o c k v a r i a b l e : 1 7 , w e d e n o t e t h e v a l u e o f : 1 : b y r 4 1 : ( e q u a l t o s o m e n o n n e g a t i v e i n t e g e r ) . A r c s o f G c o n s i s t o f t h e f o l l o w i n g : o A r c s o f w e i g h t 0 f r o m v 0 t o v l , i f ' 7 — 1 ( v 0 ) — - + 7 _ 1 ( v 1 ) r e p r e s e n t s a n i m m e d i a t e t r a n s i t i o n i n R ( P ) o A r c s o f w e i g h t c ’ — c f r o m 1 2 0 t o v 1 , w h e r e c , c I E Z 2 0 a n d c , > c , i f ’ 7 — 1 ( v 0 ) a n d 7 _ 1 ( v 1 ) a r e b o t h b o u n d a r y r e g i o n s w i t h r e s p e c t t o c l o c k v a r i a b l e 2 : , s u c h t h a t ' y _ 1 ( v 0 ) . : r = c , y — 1 ( v 1 ) . x = c ’ , a n d t h e r e i s a p a t h i n R ( P ) f r o m y _ 1 ( v 0 ) t o 7 - 1 ( “ 1 ) w h i c h d o e s n o t r e s e t 2 : . o A r c s o f w e i g h t c ’ — c — e f r o m v 0 t o v 1 , w h e r e c , c ’ E Z > 0 , c ’ > c , a n d 0 < 6 < < 1 , i f ( 1 ) 7 _ 1 ( v 0 ) i s a b o u n d a r y r e g i o n w i t h r e s p e c t t o c l o c k v a r i a b l e 2 : , ( 2 ) ' 7 — 1 ( v l ) i s a n o p e n r e g i o n w h o s e t i m e — s u c c e s s o r 7 - 1 ( 2 1 2 ) i s a b o u n d a r y r e g i o n w i t h r e s p e c t t o c l o c k v a r i a b l e : 5 , ( 3 ) 7 7 7 1 ( v 0 ) — > 7 — 1 ( v l ) r e p r e s e n t s a d e l a y t r a n s i t i o n i n 8 8 A l g o r i t h m 6 . 1 A d d _ r t U N I T Y I n p u t : r e a l - t i m e p r o g r a m ( H P ’ I p ) a n d b o u n d e d l e a d s - t o p r o p e r t y P H r Q . O u t p u t : r e v i s e d p r o g r a m ( I I I P ] , 7 3 / ) 1 : L e t C t : = r w h e r e t i s a n e w c l o c k v a r i a b l e ; { P h a s e 1 } 2 : V ( ( l O , 1 / ) — > ( l 1 , V I / \ : = 0 ] ) ) 6 t i p I ( l 0 Q ’ P A l l E P ) : A : = / \ U { t } ; 3 : ( T I T ’ I ’ P l ’ P T , Q T : 2 C o n s t r u c t R e g i o n G r a p h ( ( H p , I p ) , P , Q ) ; 4 : I s R e m o v e d : = f a l s e ; 5 : ( V , A ) : = C o n s t r u c t M a x D e l a y G r a p h ( R ( P ) ) ; 6 : ( V ’ , A ’ ) : = C o n s t r u c t S u b g r a p h ( ( V , A ) , P T , Q r , r ) ; { P h a s e 2 } 7 = T I ) ; = = { ( 7 1 . 7 2 ) E T 1 7 5 I ( 7 ( 7 ‘ 1 ) , 7 ( 7 ’ 2 ) ) E A ' V a r o : W e i g h t ( y ( r 0 ) , ' y ( r 1 ) ) = 1 — e } ; ( B r o E S ; : ( V r l 6 S P : ( r 0 , r 1 ) ¢ T 7 2 , » { P h a s e 3 } ( r 0 6 Q T ) 8 : I s Q R e m o v e d : = t r u e ; 9 : f f l z i c f f ‘ d f } ; ) | ( ) r t } 1 0 : : = - — r , r r , r E ; 1 1 : b f ‘ p e a k ; P O 0 ’ P ( 7 0 ¢ 1 % ) 1 2 : T I " ) , : = T ; , - { ( r , r 0 ) I ( r , r O ) E T E A ; 1 3 : d e c l a r e t h a t a d d i t i o n i s n o t p o s s i b l e ; 1 4 : e x i t ( ) ; ( I s Q R e m o v e d = f a l s e ) ; 1 5 : C o n s t r u c t R e a l T i m e P r o g r a m ( ( 1 1 3 ) , , 1 ; » ) ; { P h a s e 4 } 3 ( 7 ) ) , a n d ( 4 ) 7 — 1 ( ' 1 7 0 ) . . r = c a n d 7 4 ( 5 2 ) : ) : = c ’ . o S e l f - l o o p a r c s o f w e i g h t 0 0 a t v e r t e x v , i f 7 — 1 ( v ) i s a n e n d r e g i o n . I n o r d e r t o c o m p u t e t h e m a x i m u m t i m e d e l a y b e t w e e n r e g i o n p r e d i c a t e s P T a n d Q T , i t s u f fi c e s t o fi n d t h e l o n g e s t d i s t a n c e b e t w e e n F ( P r ) a n d F ( Q T ) i n G . I n o u r a d d i t i o n a l g o r i t h m , t h e p r o c e d u r e C o n s t r u c t M a x D e l a y G r a p h t r a n s f o r m a r e g i o n g r a p h R ( P ) 2 ( H T I T ) i n t o a M a x D e l a y d i g r a p h G = ( V , A ) a s a b l a c k b o x . 7 9 1 7 3 T h e a d d i t i o n a l g o r i t h m . W e n o w d e s c r i b e t h e a l g o r i t h m A d d _ r t U N l T Y i n d e t a i l s ( s e e A l g o r i t h m 6 . 1 ) : 8 9 P r o c e d u r e 6 . 2 C o n s t r u c t S u b g r a p h I n p u t : M a x D e l a y d i g r a p h ( V , A ) , s e t o f v e r t i c e s V p a n d V q , a n d a n i n t e g e r 7 . O u t p u t : a s u b g r a p h ( V ’ , A ' ) . 1 : V ’ : = V ; 2 : A , 2 : { } ; e a c h v e r t e x v i n V p t h e l e n g t h o f t h e s h o r t e s t p a t h I I f r o m v t o V q i s a t m o s t 7 ' 3 : A ’ : = A ’ U { a I a i s o n I I } ; 4 ; A ’ g : A ’ U { ( u , v ) E A I ( V w E V , : ( w , u ) 9 ! A l ) V ( a E V q ) } ; 5 : ( V ’ , A ’ ) ; a ( P h a s e 1 ) F i r s t , i n o r d e r t o k e e p t r a c k o f t i m e e l a p s e d s i n c e P h a s b e c o m e t r u e i n a c o m p u t a t i o n , w e a d d a n e x t r a c l o c k v a r i a b l e t t o X p a n d r e s e t i t o n i m m e d i a t e t r a n s i t i o n s w h o s e s o u r c e s t a t e i s n o t i n P a n d t a r g e t s t a t e i s i n P ( L i n e s 1 - 2 ) . N e x t , w e c o n s t r u c t t h e r e g i o n g r a p h R ( P ) = ( T I T , I g p ) ( L i n e 3 ) . W e n o w r e d u c e o u r p r o b l e m t o t h e p r o b l e m o f b o u n d i n g t h e l e n g t h o f t h e l o n g e s t p a t h i n o r d i n a r y w e i g h t e d d i g r a p h s . T o w a r d s t h i s e n d , w e fi r s t g e n e r a t e t h e M a x D e l a y d i g r a p h ( V , A ) ( L i n e 6 ) . a ( P h a s e 2 ) N e x t , w e i n v o k e t h e p r o c e d u r e C o n s t r u c t S u b g r a p h ( L i n e 7 ) w h i c h t a k e s a M a x D e l a y d i g r a p h ( V , A ) , a n i n t e g e r r , a n d t w o s e t s o f v e r t i c e s V p a n d V q a s i n p u t a n d g e n e r a t e s a s u b g r a p h o f ( V , A ) , n a m e l y ( V ’ , A ’ ) , w h o s e l e n g t h o f l o n g e s t p a t h f r o m e v e r y v e r t e x i n V p t o V q i s b o u n d e d b y 7 ' ( s e e P r o c e d u r e 6 . 2 ) . W e b e g i n w i t h a n e m p t y s e t o f a r c s ( L i n e 2 ) . N e x t , w e i n c l u d e a r c s t h a t p a r t i c i p a t e i n t h e s h o r t e s t p a t h f r o m e a c h v e r t e x i n V p t o a v e r t e x i n V q p r o v i d e d t h e l e n g t h o f t h e p a t h i s a t m o s t 7 ( L i n e s 3 - 7 ) . T h e n , w e a d d t h e r e s t o f t h e a r c s t o ( V ' , A ’ ) ( L i n e 8 ) e x c e p t t h e o n e s t h a t o r i g i n a t e f r o m a s h o r t e s t p a t h f r o m V p t o V q i d e n t i f i e d i n L i n e s 3 - 7 . A f t e r i n v o k i n g C o n s t r u c t S u b g r a p h , 9 O w e t r a n s f o r m ( V I , A ’ ) b a c k i n t o a r e g i o n g r a p h 1 1 ’ . ( P ’ ) = ( I I ; , , 1 ; , ) ( L i n e 8 i n A l g o r i t h m 6 . 1 ) . 0 ( P h a s e 3 ) W e n o w r e m o v e d e a d l o c k r e g i o n s ( c r e a t e d d u e t o p r u n i n g o f a r c s i n P h a s e 2 ) f r o m R ( P ’ ) ( L i n e s 9 — 2 2 ) . H o w e v e r , w e n e e d t o c o n s i d e r a s p e c i a l c a s e w h e r e a r e g i o n r 0 i n Q r b e c o m e s a d e a d l o c k r e g i o n ( L i n e s 1 0 - 1 5 ) . I n t h i s c a s e , i t i s p o s s i b l e t h a t a l l t h e r e g i o n s a l o n g a p a t h t h a t s t a r t s f r o m s o m e r e g i o n , s a y r , i n P " ~ a n d e n d i n r 0 b e c o m e d e a d l o c k r e g i o n s . H e n c e , o u r a l g o r i t h m n e e d s t o i d e n t i f y a n e w p a t h f r o m r t o a r e g i o n i n Q T o t h e r t h a n r 0 . T h u s , i n s u c h a c a s e , w e r e m o v e r 0 f r o m Q T ( L i n e s 1 2 - 1 3 ) a n d r e r u n t h e a l g o r i t h m f r o m s c r a t c h . I f a n i n i t i a l r e g i o n b e c o m e s a d e a d l o c k r e g i o n , w e d e c l a r e f a i l u r e ( L i n e s 1 8 - 2 0 ) . 0 ( P h a s e 4 ) F i n a l l y , w e c o n s t r u c t a n d r e t u r n a r e a l - t i m e p r o g r a m o u t o f t h e r e g i o n g r a p h R ( P , ) w i t h r e v i s e d s e t o f e d g e s T E , ( L i n e s 2 4 ) . L e v e l o f n o n - d e t e r m i n i s m . I n o r d e r t o i n c r e a s e t h e l e v e l o f n o n - d e t e r m i n i s m , w e m a y i n c l u d e a d d i t i o n a l p a t h s w h o s e l e n g t h i s a t m o s t r . H o w e v e r , e v e r y t i m e w e a d d a p a t h , w e n e e d t o t e s t w h e t h e r o r n o t t h i s p a t h c r e a t e s n e w p a t h s o f l e n g t h g r e a t e r t h a n 7 ' . T o t h i s e n d , w e c a n u s e o n e o f t h e a l g o r i t h m s i n t h e l i t e r a t u r e o f g r a p h t h e o r y ( e . g . , [ E p p 9 9 I ) t o fi n d a n d a d d t h e k s h o r t e s t p a t h s i n a n o r d i n a r y w e i g h t e d d i g r a p h . T h e o r e m 6 . 1 . 1 T h e a l g o r i t h m A d d _ r t U N I T Y i s s o u n d a n d c o m p l e t e . P r o o f . I n o r d e r t o p r o v e s o u n d n e s s , w e s h o w t h a t t h e o u t c o m e o f t h e a l g o r i t h m m e e t s t h e c o n s t r a i n t s o f P r o b l e m S t a t e m e n t 3 . 2 . 1 . S i n c e w e d o n o t a d d n e w s t a t e s o r t r a n s i t i o n s , c o n s t r a i n t s C 1 - C 3 a r e t r i v i a l l y s a t i s fi e d . M o r e o v e r , b y c o n s t r u c t i o n , t h e 9 1 a l g o r i t h m o n l y i n c l u d e s s t a t e s i n P f r o m w h e r e a l l c o m p u t a t i o n s c a n r e a c h a s t a t e i n Q w i t h i n 7 ' t i m e u n i t s . F i n a l l y , s i n c e t h e a l g o r i t h m r e m o v e s d e a d l o c k r e g i o n s , i t d o e s n o t i n t r o d u c e n e w t i m e - c o n v e r g e n t b e h a v i o r s t o t h e i n p u t p r o g r a m . T h e r e f o r e , t h e o u t p u t o f t h e a l g o r i t h m s a t i s fi e s c o n s t r a i n t C 4 a s w e l l . I n o r d e r t o p r o v e t h e c o m p l e t e n e s s , w e s h o w t h a t i f a n i n i t i a l s t a t e b e c o m e s a d e a d l o c k s t a t e , t h i s s t a t e i s d e a d l o c k e d i n a l l r e a l - t i m e p r o g r a m s t h a t s a t i s f y t h e c o n - s t r a i n t s o f P r o b l e m S t a t e m e n t 3 . 2 . 1 . O b s e r v e t h a t t h e o n l y s t a t e s t h a t o u r a l g o r i t h m m a y m a k e u n r e a c h a b l e a r e s t a t e s i n P f r o m w h e r e t h e r e d o e s n o t e x i s t a c o m p u t a t i o n t h a t r e a c h e s a s t a t e i n Q w i t h i n 7 ' . C l e a r l y , s u c h s t a t e s c a n n o t b e p r e s e n t i n a n y p r o g r a m t h a t s a t i s fi e s t h e c o n s t r a i n t s o f P r o b l e m S t a t e m e n t 3 . 2 . 1 . M o r e o v e r , i f a s t a t e , s a y 3 1 , i n P b e c o m e s u n r e a c h a b l e b y r e m o v i n g a l l i t s i n c o m i n g t r a n s i t i o n s , i t i s p o s s i b l e t h a t s o m e o t h e r s t a t e , s a y s o , b e c o m e s a d e a d l o c k s t a t e . L i k e w i s e , s u c h a s t a t e c a n n o t b e p r e s e n t i n a n y p r o g r a m t h a t s a t i s fi e s t h e c o n s t r a i n t s o f P r o b l e m S t a t e m e n t 3 . 2 . 1 . I f s o i s a n i n i t i a l s t a t e t h e n o u r a l g o r i t h m d e c l a r e s f a i l u r e . N o t i c e t h a t i n t h i s c a s e , t h e r e e x i s t s n o s o l u t i o n t o t h e P r o b l e m S t a t e m e n t 3 . 2 . 1 . I T h e o r e m 6 . 1 . 2 T h e c o m p l e x i t y o f A d d . r t U N I T Y a l g o r i t h m i s p o l y n o m i a l - t i m e i n t h e s i z e o f t h e i n p u t p r o g r a m ’ s r e g i o n g r a p h . I P r o o f . O b s e r v e t h a t t h e a l g o r i t h m A d d - r t U N | T Y fi r s t g e n e r a t e s t h e r e g i o n g r a p h o f t h e i n p u t p r o g r a m . T h e n , i t p e r f o r m s a s e q u e n c e o f p o l y n o m i a l - t i m e p r o c e d u r e s ( e . g . , r e a c h a b i l i t y a n a l y s i s a n d fi n d i n g s h o r t e s t p a t h s ) i n t h e s i z e o f t h e r e g i o n g r a p h . H e n c e , t h e c o m p l e x i t y o f o u r a l g o r i t h m i s i n p o l y n o m i a l — t i m e i n t h e s i z e o f t h e i n p u t p r o g r a m ’ s r e g i o n g r a p h . I 9 2 9 3 F i g u r e 6 . 1 : R e g i o n g r a p h o f t h e r e a l - t i m e r e s o u r c e a l l o c a t i o n p r o g r a m . ‘ . I n i t i a l r e g i o n R e g i o n s w h e r e i o . 1 b e c o m e s t r u e R e g i o n s m a d e u n r e a c h a b l e E d g e s r e m o v e d d u r i n g a d d i t i o n E d g e s p a r t i c i p a t i n g i n a s h o r t e s t p a t h E d g e s i n a d d i t i o n a l s h o r t e s t p a t h s 6 . 1 . 1 E x a m p l e : R e a l - T i m e R e s o u r c e A l l o c a t i o n W e n o w d e m o n s t r a t e h o w t h e a l g o r i t h m A d d _ r t U N l T Y w o r k s u s i n g a n e x a m p l e o n a r e a l - t i m e r e s o u r c e a l l o c a t i o n p r o g r a m . T h e p r o g r a m R A c o n s i s t s o f t w o p r o c e s s e s j , w h e r e j E { 1 , 2 } . E a c h p r o c e s s n e e d s t w o s t e p s t o c o m p l e t e a n d e a c h s t e p n e e d s 1 t i m e u n i t t o c o m p l e t e . I n t h e fi r s t s t e p , t h e p r o c e s s s u b m i t s a r e q u e s t f o r a r e s o u r c e . I n t h e s e c o n d s t e p , t h e p r o c e s s p e r f o r m s a n I / 0 o p e r a t i o n u s i n g t h e a c q u i r e d r e s o u r c e . A l s o , o n l y o n e s t e p i s b e i n g e x e c u t e d a t a t i m e . T h e t i m e d a c t i o n s o f R A a r e a s f o l l o w s : R A I J - : : r e q . j / \ ( : 1 3 : 1 ) fl » i o . j , r e q . j : 2 t r u e , f a l s e ; R A Q J - : : i o . j / \ ( . 7 3 : 1 ) { i 4 r e q . j , i o . j : = t r u e , f a l s e ; 7 2 / 1 3 : : 0 S a : g 1 — > w a i t ; w h e r e j E { 1 , 2 } . C l e a r l y , i n R A , e a c h p r o c e s s m a y k e e p a c q u i r i n g a r e s o u r c e a n d p e r f o r m i n g I / O O p e r a t i o n b y a n u n b o u n d e d t i m e d u r a t i o n . H o w e v e r , w e w o u l d l i k e t o e n s u r e t h a t p r o c e s s 3 ' = 1 p e r f o r m s i t s I / O o p e r a t i o n w i t h i n 2 t i m e u n i t s a f t e r a c q u i r i n g t h e r e s o u r c e . T o t h i s e n d , w e a d d t h e b o u n d e d - t i m e l e a d s - t o p r o p e r t y [ I E ( i o . 1 H 2 r e q . 1 ) . B a s e d o n w h a t t h e a l g o r i t h m A d d _ r t U N I T Y p r e s c r i b e s , w e fi r s t n e e d t o a d d a n e w c l o c k v a r i a b l e t a n d r e s e t i t w h e n e v e r i o . 1 b e c o m e s t r u e . M o r e o v e r , w e l e t c t = 2 w h e n g e n e r a t i n g t h e r e g i o n g r a p h ( s e e F i g u r e 6 . 1 ) . N e x t , w e a d d t h e s h o r t e s t p a t h ( t h e b o l d e d g e s i n F i g u r e 6 . 1 ) f r o m e a c h r e g i o n w h e r e i o . 1 b e c o m e s t r u e t o a r e g i o n w h e r e r e q . 1 h o l d s . S u b s e q u e n t l y , w e c a n a d d a d d i t i o n a l k s h o r t e s t p a t h s ( t h e z i g z a g e d g e s i n F i g u r e 6 . 1 ) t h a t p r e s e r v e E . I t i s e a s y t o s e e t h a t t h e a l g o r i t h m A d d - r t U N | T Y p r u n e s d o t t e d e d g e s i n F i g u r e 6 . 1 . A l s o , t h e r e g i o n s s h o w n i n d o t t e d 9 4 c i r c l e s a r e m a d e u n r e a c h a b l e b y A d d _ r t U N I T Y d u e t o r e m o v a l o f t h e d o t t e d e d g e s . T h u s , t h e t i m e d g u a r d e d c o m m a n d s o f t h e r e v i s e d p r o g r a m a r e a s f o l l o w s : 7 { N } . 7 1 . 4 1 1 3 r e q . 1 / \ ( x = 1 ) — — — > i o . 1 , r e q . 1 : 2 t r u e , f a l s e ; . . - _ { 1 ' } - . _ . 7 2 . 4 % . . i o . 1 / \ ( 1 1 3 — 1 ) — — — > r e q . 1 , i o . 1 . — t r u e , f a l s e , 7 2 / 1 1 2 3 r e q . 2 / \ ( . 1 : = 1 ) / \ ( i o . 1 = > t S 1 ) { m — } > i o . 2 , r e q . 2 : = t r u e , f a l s e 7 2 / 1 2 2 3 i o . 2 / \ ( a : = 1 ) / \ ( i o . 1 = > t S 1 ) — i $ — } — > r e q . 2 , i o . 2 : 2 t r u e , f a l s e ; 7 2 . 4 3 : 0 g : 1 7 S 1 — — + w a i t ; N o t i c e t h a t i f w e o n l y a d d t h e s h o r t e s t p a t h s f r o m r e g i o n s w h e r e i o . 1 b e c o m e s t r u e , i . e . , w e d o n o t a d d a d d i t i o n a l s h o r t e s t p a t h s , t h e n i n t h e r e s u l t i n g p r o g r a m , t h e s e c o n d c o n j u n c t i n t i m e d a c t i o n s 7 2 . 4 1 2 a n d R A 2 2 w o u l d b e r e p l a c e d w i t h i o . 1 = f a l s e . I n t h i s c a s e , w e w o u l d f o r c e t h e p r o g r a m t o a l w a y s e x e c u t e t h e s e c o n d s t e p o f p r o c e s s j = 1 ( i . e . , t i m e d a c t i o n 7 2 / 1 2 1 ) i m m e d i a t e l y a f t e r t h e fi r s t s t e p ( i . e . , t i m e d a c t i o n 7 2 / 1 1 1 ) . W e r e f e r t h e r e a d e r t o [ B K 0 6 a ] f o r a n o t h e r e x a m p l e o n r e v i s i n g a c o n t r o l l e r f o r a r a i l r o a d c r o s s i n g g a t e w h i c h o r i g i n a l l y e x h i b i t s u n b o u n d e d w a i t . 6 . 2 R e v i s i n g R e a l - T i m e U N I T Y P r o g r a m s w i t h M a x i m u m N o n - d e t e r m i n i s m I n t h i s s e c t i o n , w e s h o w t h a t t h e p r o b l e m o f a d d i n g a b o u n d e d - t i m e l e a d s - t o p r o p e r t y t o a r e a l - t i m e p r o g r a m w h i l e m a i n t a i n i n g m a x i m u m n o n - d e t e r m i n i s m i s N P - c o m p l e t e i n t h e s i z e o f t h e p r o g r a m ’ s r e g i o n g r a p h e v e n i f t h e g i v e n p r o g r a m s a t i s fi e s t h e 9 5 c o r r a l : l n s t a t i m e P H T h e a r e C 0 1 ] p H i s c o r r e s p o n d i n g u n b o u n d e d l e a d s - t o p r o p e r t y . I n s t a n c e . R e g i o n g r a p h R ( ’ P ) = ( 1 1 5 3 , 1 3 5 5 ) o f a r e a l - t i m e p r o g r a m P , a b o u n d e d - t i m e l e a d s - t o p r o p e r t y [ I E ( P H T Q ) , a n d a p o s i t i v e i n t e g e r k , w h e r e P s a t i s fi e s P H Q a n d I T I T _ > _ k . T h e d e c i s i o n p r o b l e m ( M N B L ) . G i v e n t h e a b o v e i n s t a n c e , d o e s t h e r e e x i s t a r e g i o n g r a p h R ( ’ P ' ) = ( I I ; , , I ; , ) , s u c h t h a t | T ; , | 2 k a n d R ( P ’ ) m e e t s t h e c o n s t r a i n t s o f P r o b l e m S t a t e m e n t 3 . 2 . 1 ? W e n o w p r o v e t h a t M N B L i s N P — c o m p l e t e b y a r e d u c t i o n f r o m t h e v e r t e x s p l i t t i n g p r o b l e m [ P R S Q 4 , P R S Q 8 ] i n w e i g h t e d d i r e c t e d a c y c l i c g r a p h s ( D A G ) . T h i s p r o b l e m i s d e s c r i b e d n e x t . T h e D A G V e r t e x S p l i t t i n g P r o b l e m ( D V S P ) . L e t G = ( V , A ) b e a w e i g h t e d D A G a n d v s c w t g b e u n i q u e s o u r c e a n d t a r g e t v e r t i c e s i n V w h e r e t h e i n d e g r e e o f u s e a n d t h e o u t d e g r e e o f v t g a r e z e r o . L e t G / Y d e n o t e t h e D A G w h e n e a c h v e r t e x v E Y i s s p l i t i n t o v e r t i c e s v i " a n d v o u t s u c h t h a t a l l a r c s ( v , u ) E A , w h e r e u E V , a r e r e p l a c e d b y a r c s o f t h e f o r m ( v o u t , u ) a n d a l l a r c s ( 2 1 2 , 1 2 ) 6 A , w h e r e w E V , a r e r e p l a c e d b y a r c s o f t h e f o r m ( 1 1 1 , 1 ) . I n o t h e r w o r d s , t h e o u t g o i n g a r c s o f u n o w W t w h i l e t h e i n c o m i n g a r c s o f u n o w e n t e r u m , a n d , t h e r e i s n o a r c l e a v e v e r t e x v b e t w e e n u m a n d ” o u t . T h e D A G v e r t e x s p l i t t i n g p r o b l e m i s t o fi n d a v e r t e x s e t Y , w h e r e Y Q V a n d a p o s i t i v e i n t e g e r i , w h e r e | Y | g i , s u c h t h a t t h e l e n g t h o f t h e l o n g e s t p a t h o f G / Y f r o m ’ U s c t o “ t g i s b o u n d e d b y a p r o - s p e c i fi e d v a l u e ( 1 . D V S P i s 9 6 M P v _ 2 : M p ( u , v ) : . ( l z v i n ) / \ ( i = 0 ) / \ ( 1 7 m g ; _ . z ; = v o u t - j . 1 3 : ( I : u m “ ) A ( x = 0 ) ‘ — ’ [ 3 : t m p ( u , v ) . j ; k n o w n t o b e N P - c o m p l e t e [ P R S Q 4 , P R S Q S ] , f o r t h e c a s e w h e r e d 2 2 a n d t h e w e i g h t o f a l l a r c s i s 1 . T h e o r e m 6 . 2 . 1 T h e p r o b l e m o f a d d i n g a b o u n d e d - t i m e l e a d s - t o p r o p e r t y t o a r e a l - t i m e p r o g r a m i s N P — c o m p l e t e i n t h e s i z e o f t h e p r o g r a m ’ 3 r e g i o n g r a p h e v e n i f t h e p r o g r a m s a t i s fi e s t h e c o r r e s p o n d i n g u n b o u n d e d l e a d s - t 0 p r o p e r t y . P r o o f . S i n c e m e m b e r s h i p t o N P i s t r i v i a l , w e s h o w t h a t t h e p r o b l e m i s N P - h a r d . M a p p i n g . L e t G = ( V , A ) b e a n y i n s t a n c e o f D V S P w h o s e l o n g e s t p a t h i s t o b e b o u n d e d b y d . W e c o n s t r u c t n o w a r e a l - t i m e p r o g r a m M P ( a n d a s a r e s u l t t h e r e g i o n g r a p h R ( M P ) = ( I ' l l / ( 4 7 3 , 1 . 1 / " V I P ” i n t h e f o r m o f t i m e d g u a r d e d c o m m a n d s a s f o l l o w s . L e t t h e s e t o f d i s c r e t e a n d c l o c k v a r i a b l e s o f M P b e t h e s i n g l e t o n s { l } a n d { 2 : } , r e s p e c t i v e l y . F o r e a c h v e r t e x v E V — { ’ U t g } a n d f o r t h e t a r g e t v e r t e x v t g , w e i n t r o d u c e t h e f o l l o w i n g t i m e d g u a r d e d c o m m a n d s : M P U J : : ( l 2 v i " ) / \ ( : r = 0 ) / \ ( l 7 5 v 2 ? ) — — + Z : v o u t ; t g ’ M p v t g n l : ( l 2 v i ? ) / \ ( . 1 : = 0 ) — ’ l 3 : t m p t g fl i { 1 5 } M p v t g . n . 2 = ( 1 = t m p t g m ) A ( 3 5 = | A | + 1 — d ) — ’ ’ 1 : ” £ 0 9 m ; M P v t g : : ( 1 = ' v f g m ) v ( ( l = t m p t g fl ) / \ ( 0 g : 1 : S | A | + 1 — d ) ) — > w a i t ; f o r a l l 1 S n g 2 | V I . F o r t h e s o u r c e v e r t e x ' U s c , w e l e t v 3 ? = v f g m . A l s o , f o r e a c h a r e ( u , v ) i n A , w e i n t r o d u c e t h e f o l l o w i n g t i m e d g u a r d e d c o m m a n d s t o M P : M p ( u , v U 3 ) ' . j U ) . : : 2 : : ( l = t m p ( u , v U , ) U . ) j . ) / \ ( 1 ‘ = 1 ) j ) M P ( ( 1 : = t m p ( / \ ( 0 g . r S 1 ) — — — > w a i t ; f o r a l l j , w h e r e 1 S j g 2 | V | . I n t u i t i v e l y , f o r e a c h a r c ( u , v ) E A , t h e d i s c r e t e v a r i a b l e I i n p r o g r a m M P i s a s s i g n e d o n e o f t h e f o l l o w i n g v a l u e s : v m , v o u t , u m , n o w , o r t m p ( u , v ) . 1 - - - t m p ( u , v ) . 2 | V | ' C l e a r l y , t h e v a l u e o f I a l o n g w i t h t h e c l o c k r e g i o n s i d e n t i f y S i l l / I P ' T h e s e t o f i n i t i a l r e g i o n s o f 1 ? . ( M P ) i s t h e s i n g l e t o n [ 3 4 7 3 = { ( l = 1 2 3 2 , 1 1 : = 0 ) } . T h e s e t T h 7 ) o f e d g e s i s i d e n t i fi e d b y t h e a b o v e s e t o f t i m e d g u a r d e d c o m m a n d s . F i n a l l y , w e l e t P = { s | [ ( 3 ) = 2 2 3 3 , 6 2 = { s | [ ( 3 ) = v t o g m } , k = w i l l / 1 P ] — i , a n d r = I / l l + 1 . O b s e r v e t h a t a l l c o m p u t a t i o n s o f M P s t a r t f r o m w h e r e P h o l d s a n d e v e n t u a l l y r e a c h Q , a s G i s a c y c l i c . H e n c e , M P s a t i s fi e s P + — + Q . W e n o t e t h a t s i n c e U s e a n d v t g a r e u n i q u e v e r t i c e s i n G , Q i s r e a c h a b l e f r o m a l l s t a t e s i n M P a n d , h e n c e , M P s a t i s fi e s t r u e r — > Q a s w e l l . R e d u c t i o n . W e n e e d t o s h o w t h a t a v e r t e x v E Y i n G m u s t b e s p l i t i f f t h e o u t c o r r e s p o n d i n g t i m e d g u a r d e d c o m m a n d ( 1 = v i ” ) / \ ( . 1 : = 0 ) / \ ( l 7 5 v 2 ? ) — > 1 : = v m u s t b e r e m o v e d f r o m M P : 0 ( = > ) L e t t h e a n s w e r t o D V S P b e t h e s e t Y , w h e r e | Y | S i , i . e . , a f t e r s p l i t t i n g a l l v e r t i c e s v E Y , t h e l e n g t h o f t h e l o n g e s t p a t h i n G i s a t m o s t d . W e o b t a i n t h e r e g i o n g r a p h R ( M P ’ ) = ( H R / ” 3 , , { i i / 1 P » a s f o l l o w s . F i r s t , w e l e t S i l l / 1 P , = 8 . 7 / P I P a n d I L ” ) , 2 I i i / 1 1 9 ‘ I n o r d e r t o o b t a i n T M P ” w e r e m o v e t h e e d g e s t h a t c o r r e s p o n d t o t i m e d a c t i o n M P U J f r o m T L ” ) , f o r a l l v E Y . S i n c e v t g i s t h e u n i q u e t a r g e t v e r t e x i n G , Q r e m a i n s t o b e t h e s e t { 3 | l ( s ) = v f g m } i n M P ’ . T h u s , a n y c o m p u t a t i o n o f M P , t h a t b e g i n s f r o m a s t a t e i n P w i l l r e a c h 9 8 [ £ 4 7 3 1 m u s t b e { ( 1 = ” £ 7 1 . 1 7 = 0 ) } O b s e r v e t h a t i n o r d e r t o o b t a i n R ( M ’ P ’ ) , Q . N o w , w e s h o w t h a t t h e m a x i m u m t i m e d e l a y t o r e a c h Q i s 7 . O b s e r v e t h a t t h e r e a r e t w o w a y s t o r e a c h Q : ( 1 ) f r o m t h e s t a t e w h e r e l = ” i f ? ( u s i n g t i m e d a c t i o n s M P ' U t g n J a n d M P ' U t g n 2 f o r s o m e n , 1 g n g 2 | V | ) , a n d ( 2 ) f r o m a s t a t e w h e r e l # v i ; ( u s i n g t h e i m m e d i a t e t r a n s i t i o n i n t i m e d a c t i o n M P U 2 f o r s o m e v E V ) . I n t h e f o r m e r c a s e , t h e d e l a y i n r e a c h i n g t h e s t a t e w h e r e l = v i " i s l e s s t h a n a t a n d s i n c e t h e t i m e d e l a y o f t i m e d a c t i o n s M p v t g n 1 a n d M P t h n 2 i s | A | + 1 — d , t h e t o t a l t i m e d e l a y t o r e a c h Q i s a t m o s t I A I + 1 = T . I n t h e l a t t e r c a s e , b y c o n s t r u c t i o n , t h e d e l a y t o r e a c h Q i s a t m o s t 7 . M o r e o v e r , r e c a l l t h a t k = l T J ‘ l / l ‘ P l — i . T h e r e f o r e , M P , m e e t s t h e c o n s t r a i n t s o f P r o b l e m S t a t e m e n t 3 . 2 . 1 w i t h r e s p e c t t o . C a n d l T h / I P " 2 l T / T t / I ’ P l — i = k . ( < = ) L e t t h e a n s w e r t o M N B L b e R ( M 7 > ’ ) = ( H L P P I R A V ) , w h e r e T T 2 k a n d t h e m a x i m u m d e l a y t o r e a c h Q f r o m P i s a t m o s t 7 ' . N o t e t h a t M P ’ r e m o v i n g o n e o r m o r e t i m e d g u a r d e d c o m m a n d s M p ( u , v ) . j . 1 ’ M p ( u , v ) . j . 2 ’ M p v t g n l ’ o r M P v t g fl 2 d o e s n o t c o n t r i b u t e i n b o u n d i n g t h e m a x i m u m d e - l a y . T h i s i s d u e t o t h e f a c t t h a t t h e n u m b e r o f e d g e s r e m o v e d f r o m T X A P i s a t m o s t l T / K / [ P l — k , a n d k = I T M P I — i , w h e r e i 3 W I , a n d t h e r e a r e 2 | V | o f s u c h g u a r d e d c o m m a n d s a n d , h e n c e , t h e i r r e m o v a l w o u l d n o t c h a n g e t h e m a x i m u m d e l a y . T h u s , w e c a n a s s u m e t h a t t h e e d g e s r e m o v e d a r e o f t h e f o r m ( 1 2 v i ” ) / \ ( a : = 0 ) / \ ( l y é v 3 3 “ ) — > I : = v 0 2 “ . O b s e r v e t h a t i n o r d e r t o r e a c h Q f r o m P , a c o m p u t a t i o n e i t h e r t a k e s a t i m e d g u a r d e d c o m m a n d M P u Q f o r s o m e i n t 9 ' C l e a r l y , i n t h e l a t e r c a s e , t h e v E V , o r i t r e a c h e s Q v i a t h e s t a t e w h e r e l = v 9 9 d e l a y t o r e a c h t h e s t a t e w h e r e l = v i ; i s a t m o s t 7 ' — ( I A I + 1 - — d ) = d . I n t h e f o r m e r c a s e , t h e c o r r e s p o n d i n g p a t h i n G d o e s n o t e x i s t a n d , h e n c e , i t s l e n g t h d o e s n o t m a t t e r . T h u s , t h e t i m e d a c t i o n s r e m o v e d t o o b t a i n T 7 . M t h e s e t Y o f v e r t i c e s t h a t s h o u l d b e s p l i t i n G , i . e , Y = { v E V — { ' U t g } I ( ( l = P ’ i d e n t i f y v i n e = 0 ) — > ( z = e o u t e = 0 ) ) e ( T j W D — 7 1 4 7 ) , » . I 6 . 3 A d d i n g I n t e r v a l - B o u n d e d L e a d s - t o P r o p e r t i e s I n t h i s s e c t i o n , w e c o n s i d e r a u t o m a t i c a d d i t i o n o f i n t e r v a l b o u n d e d - t i m e l e a d s - t o p r o p e r t i e s t o r e a l - t i m e p r o g r a m s . A n i n t e r v a l b o u n d e d - t i m e l e a d s - t o p r o p e r t y i s o f t h e f o r m £ 1 E ( P H S [ 6 1 , 6 2 ] Q ) , w h e r e 6 1 > 0 . T h i s p r o p e r t y e x p r e s s e s c o m p u t a t i o n s w h e r e i f P b e c o m e s t r u e t h e n Q m u s t b e c o m e s t r u e w i t h i n 6 2 t i m e u n i t s b u t n o t e a r l i e r t h a n 6 1 t i m e u n i t s . A s a n a i v e s o l u t i o n , l e t u s a p p l y t h e a l g o r i t h m A d d - r t U N | W t o a d d £ 1 t o a r e a l — t i m e p r o g r a m . S i n c e t h e r e q u i r e d r e s p o n s e t i m e h a s a l o w e r b o u n d , t h e s u b r o u t i n e C o n s t r u c t S u b g r a p h h a s t o fi r s t e n u m e r a t e a n d i g n o r e a l l t h e p a t h s t h a t s t a r t f r o m P a n d r e a c h Q s u c h t h a t t h e i r l e n g t h i s l e s s t h a n 6 1 . O b v i o u s l y , t h i s e n u m e r a t i o n c a n n o t b e a c c o m - p l i s h e d i n p o l y n o m i a l - t i m e i n t h e s i z e o f t h e r e g i o n g r a p h . I n f a c t , w e s h o w t h a t t h e p r o b l e m o f a d d i n g a n i n t e r v a l b o u n d e d - t i m e l e a d s - t o p r o p e r t y t o a r e a l - t i m e p r o g r a m i s N P - c o m p l e t e b y a s i m p l e r e d u c t i o n f r o m t h e l o n g e s t p a t h p r o b l e m [ G 3 7 9 ] . I n s t a n c e . R e g i o n g r a p h R ( P ) = ( fl a w l é g ) o f a r e a l - t i m e p r o g r a m P a n d a n i n t e r v a l b o u n d e d - t i m e l e a d s - t o p r o p e r t y S P E C n E ( P r — + S l 6 1 ’ 6 2 ] Q ) . 1 0 0 T h e d e c i s i o n p r o b l e m ( I B R A ) . G i v e n t h e a b o v e i n s t a n c e , d o e s t h e r e e x i s t a r e g i o n g r a p h R ( P ’ ) = ( I I ; , , I T ) s u c h t h a t R ( P ’ ) m e e t s t h e c o n s t r a i n t s o f t h e p l P r o b l e m S t a t e m e n t 3 . 2 . 1 ? T h e l o n g e s t p a t h p r o b l e m . G i v e n a r e a d i r e c t e d w e i g h t e d g r a p h G = ( V , A ) , a s o u r c e v e r t e x v s , a t a r g e t v e r t e x v t , a n d a n i n t e g e r k . T h e p r o b l e m i s t o d e t e r m i n e w h e t h e r o r n o t t h e r e e x i s t s a s i m p l e p a t h i n G , i . e . , a s e q u e n c e o f d i s t i n c t v e r t i c e s v 1 , v 2 , . . . , v m , s u c h t h a t v 1 2 v 3 , v m = v t , a n d Z Z Z — 1 1 W e i g h t ( v z - , v i + 1 ) Z k , w h e r e ( v i , v Z - + 1 ) € A f o r a l l i , l g i g m — l . T h e o r e m 6 . 3 . 1 T h e p r o b l e m o f a d d i n g a n i n t e r v a l b o u n d e d - t i m e l e a d s - t o p r o p e r t y t o a r e a l - t i m e p r o g r a m i s N P - c o m p l e t e i n t h e s i z e o f t h e t h e p r o g r a m ’ s r e g i o n g r a p h . P r o o f . F i r s t , w e m a p a n i n s t a n c e o f t h e l o n g e s t p a t h p r o b l e m t o a n i n s t a n c e o f t h e I B R A p r o b l e m a s f o l l o w s . L e t t h e s e t o f d i s c r e t e a n d c l o c k v a r i a b l e s o f P b e t h e s i n g l e t o n s { l } a n d { a } , r e s p e c t i v e l y . F o r e a c h e d g e ( u , v ) E A , w e i n c l u d e t h e f o l l o w i n g t i m e d g u a r d e d c o m m a n d s i n P : P 1 ( u v ) : : ( l = u ) / \ ( : 1 : = W e i g h t ( u , v ) ) i i i » P 2 ( : : ( l = u ) / \ ( : 1 : S W e i g h t ( u , v ) ) — — > w a i t ; u , v ) W e a l s o i n c l u d e t h e f o l l o w i n g d e l a y a c t i o n t o e n s u r e t h a t a l l c o m m u n i c a t i o n s a r e i n fi n i t e : 1 0 1 P 3 : : ( l = v t ) — — > w a i t ; M o r e o v e r , w e l e t P = { s | 1 ( 3 ) = v 3 } , Q = { s | [ ( s ) = v t } , ( 5 2 = 0 0 , a n d 6 1 = k , w h e r e k i s t h e b o u n d o n t h e l e n g t h o f t h e l o n g e s t p a t h i n t h e i n s t a n c e o f t h e l o n g e s t p a t h p r o b l e m . C l e a r l y , t h e v a l u e o f I a l o n g w i t h t h e c l o c k r e g i o n s i d e n t i f y 8 ; ) P . W e a l s o l e t I 7 ; = { v 5 } . N o w , w e s h o w t h a t G h a s a p a t h o f l e n g t h o f a t l e a s t k f r o m v 3 t o v t i f f t h e r e e x i s t s R ( P ’ ) = = ( n ; , , 1 ; , ) s u c h t h a t i t m e e t s t h e c o n s t r a i n t s o f t h e P r o b l e m S t a t e m e n t 3 . 2 . 1 . I t i s e a s y t o s e e t h a t i f t h e r e e x i s t s a p a t h i n G f r o m v 3 t o v t w h o s e l e n g t h i s g r e a t e r t h a n o r e q u a l t o k t h e n w e c a n c o n s t r u c t R ( P ’ ) u s i n g t h e c o r r e s p o n d i n g c o m p u t a t i o n i n P p l u s t h e d e l a y a c t i o n P 3 . M o r e o v e r , i f t h e a n s w e r t o I B R A i s a f fi r m a t i v e t h e n t h e r e e x i s t s a c o m p u t a t i o n i n R ( P ’ ) w h i c h s t a r t s f r o m P a n d r e a c h e s Q a f t e r 6 1 t i m e u n i t s . H e n c e , t h e a n s w e r t o t h e l o n g e s t p a t h p r o b l e m i s a f fi r m a t i v e a s w e l l . I 1 0 2 P a r t I I I R e v i s i n g P r o g r a m s i n O p e n S y s t e m s 1 0 3 I n P a r t I I o f t h i s d i s s e r t a t i o n , w e a s s u m e d t h a t t h e p r o g r a m t o b e r e v i s e d d o e s n o t i n t e r a c t w i t h t h e e n v i r o n m e n t i n a n y w a y s . I n P a r t s I I I a n d I V o f t h e d i s s e r - t a t i o n , w e c o n s i d e r o p e n s y s t e m s w h e r e p r o g r a m s d o i n t e r a c t w i t h t h e e n v i r o n m e n t . T o t h i s e n d , w e m o d e l s u c h i n t e r a c t i o n s v i a a u g m e n t i n g p r o g r a m c o m p u t a t i o n s w i t h t r a n s i t i o n s t h a t a r e u n c o n t r o l l a b l e b y t h e p r o g r a m a n d c a u s e u n a n t i c i p a t e d t i m e d e - l a y s , s t a t e c o r r u p t i o n s , o r c l o c k r e s e t s . W e r e f e r t o t h e s e u n c o n t r o l l a b l e t r a n s i t i o n s a s f a u l t s . T h u s , t h e n o t i o n o f p r o g r a m r e v i s i o n i n t h e c o n t e x t o f o p e n s y s t e m s i n f o r m a l l y t r a n s l a t e s t o s y n t h e s i z i n g f a u l t - t o l e r a n t p r o g r a m s a s f o l l o w s : G i v e n a r e a f a u l t - i n t o l e r a n t p r o g r a m P , a s e t F o f f a u l t s , a n d a s p e c i fi c a — t i o n S P E C , w h e r e P r e fi n e s S P E C i n t h e a b s e n c e o f F , b u t P d o e s n o t r e fi n e S P E C i n t h e p r e s e n c e o f F . T h e p r o b l e m i s w h e t h e r o r n o t i t i s p o s s i b l e t o a u t o m a t i c a l l y r e v i s e P i n s i d e t h e s t a t e s p a c e o f P s u c h t h a t t h e r e v i s e d p r o g r a m i s f a u l t - t o l e r a n t i n t h e s e n s e t h a t P r e fi n e s S P E C i n t h e a b s e n c e a n d p r e s e n c e o f F . T h r o u g h o u t t h e d i s s e r t a t i o n , w e r e f e r t o t h i s p r o b l e m a s s y n t h e s i z i n g f a u l t - t o l e r a n t p r o g r a m s o r a d d i t i o n o f f a u l t - t o l e r a n c e a n d w e c o n s i d e r v a r i o u s l e v e l s o f f a u l t - t o l e r a n c e i n o r d e r t o s t u d y t h e p r o b l e m . T h i s p a r t i s o r g a n i z e d a s f o l l o w s . F i r s t , i n C h a p t e r 7 , w e p r e s e n t t h e t y p e o f s a f e t y a n d l i v e n e s s p r o p e r t i e s t h a t w e c o n s i d e r i n t h i s p a r t . W e p r e s e n t o u r f a u l t m o d e l a n d t h e n o t i o n o f l e v e l s o f f a u l t - t o l e r a n c e a s w e l l . W e a l s o f o r m a l l y s t a t e t h e p r o b l e m o f r e v i s i n g p r o g r a m s i n o p e n s y s t e m s i n C h a p t e r 7 . F o l l o w i n g t h e p r o b l e m s t a t e m e n t , w e p r e s e n t o u r r e s u l t s o n t h e c o m p l e x i t y o f r e v i s i n g p r o g r a m s i n o p e n 1 0 4 s y s t e m s i n C h a p t e r s 8 - 1 2 . M o r e s p e c i fi c a l l y , i n C h a p t e r 8 , w e p r e s e n t o u r r e s u l t s o n t h e c o m p l e x i t y o f t r a n s f o r m i n g f a u l t - i n t o l e r a n t r e a l - t i m e p r o g r a m s t o f a u l t - t o l e r a n t r e a l - t i m e p r o g r a m s . C h a p t e r 9 i s d e d i c a t e d t o t h e c o n c e p t o f s y n t h e s i z i n g b o u n d e d - t i m e p h a s e d r e c o v e r y i n f a u l t - t o l e r a n t r e a l - t i m e p r o g r a m s . C h a p t e r 1 0 s t u d i e s a d e c o m p o s i t i o n m e t h o d f o r f a c i l i t a t i n g v e r i fi c a t i o n o f ( a u t o m a t i c a l l y s y n t h e s i z e d o r m a n u a l l y d e s i g n e d ) f a u l t — t o l e r a n t r e a l - t i m e p r o g r a m s . I n C h a p t e r 1 1 , w e p r e s e n t s y m b o l i c ( B D D - b a s e d ) h e u r i s t i c s f o r a d d i n g f a u l t - t o l e r a n c e t o d i s t r i b u t e d p r o g r a m s . F i n a l l y , i n C h a p t e r 1 2 , w e p r e s e n t o u r t o o l S Y C R A F T , w h i c h c a n t r a n s f o r m a f a u l t - i n t o l e r a n t d i s t r i b u t e d p r o g r a m t o a f a u l t - t o l e r a n t p r o g r a m . 1 0 5 C h a p t e r 7 T h e R e v i s i o n P r o b l e m i n O p e n S y s t e m s I n t h i s c h a p t e r , w e f o r m a l i z e t h e p r o b l e m o f r e v i s i n g p r o g r a m s i n o p e n s y s t e m s . T h i s c h a p t e r i s o r g a n i z e d a s f o l l o w s . S e c t i o n 7 . 1 i s d e d i c a t e d t o p r e s e n t t h e t y p e o f s p e c i fi c a t i o n s t h a t w e c o n s i d e r i n r e v i s i n g p r o g r a m s i n o p e n s y s t e m s . T h e n , i n S e c t i o n 7 . 2 , w e i n t r o d u c e o u r f a u l t m o d e l a n d t h e n o t i o n o f l e v e l s o f f a u l t - t o l e r a n c e . F i n a l l y , i n S e c t i o n 7 . 3 , w e f o r m a l l y s t a t e t h e r e v i s i o n p r o b l e m . 7 . 1 B a s i c C o n c e p t s S i n c e p r o g r a m s i n o p e n s y s t e m s a r e s u b j e c t t o f a u l t s , t h e y m a y r e a c h s t a t e s t h a t a r e u n r e a c h a b l e b y p r o g r a m t r a n s i t i o n s a l o n e . T h u s , t h e n o t i o n o f c l o s u r e n e e d s t o b e d e fi n e d . I n t u i t i v e l y , b y c l o s u r e o f a s t a t e p r e d i c a t e S i n a t r a n s i t i o n p r e d i c a t e T , w e m e a n t h a t ( 1 ) i f a n i m m e d i a t e t r a n s i t i o n i n T o r i g i n a t e s i n S , t h e n i t m u s t t e r m i n a t e 1 0 6 i n S a s w e l l , a n d ( 2 ) i f a d e l a y t r a n s i t i o n o f T o r i g i n a t e s i n S , t h e n i t m u s t r e m a i n i n S c o n t i n u o u s l y . D e fi n i t i o n 7 . 1 . 1 ( c l o s u r e ) A s t a t e p r e d i c a t e S i s c l o s e d i n t r a n s i t i o n p r e d i c a t e T i f f ( V ( 0 0 , 0 1 ) E T 8 : ( ( 0 0 E S ) = > ( 0 1 6 S ) ) ) / \ ( V ( o , 6 ) E T d : ( ( a e S ) = > ‘ v ’ e E l R Z O H E S r U ; o + e E S ) ) . l F o l l o w i n g D e fi n i t i o n s 7 . 1 . 1 a n d 2 . 1 . 6 , b y c l o s u r e o f a p r o g r a m P i n a s t a t e p r e d i c a t e S , w e m e a n t h e c l o s u r e o f i t s t r a n s i t i o n p r e d i c a t e T P i n S . T h e c o n c e p t o f c l o s u r e a p p l i e s t o p r o c e s s e s i n t h e o b v i o u s w a y . I n C h a p t e r 2 , w e d e fi n e d w h a t w e m e a n b y a p r o g r a m r e fi n i n g a s p e c i fi c a t i o n . I n t h e c o n t e x t o f o p e n s y s t e m s , i t i s c r u c i a l t o a u g m e n t t h e n o t i o n o f c l o s u r e i n r e fi n e m e n t . T o t h i s e n d , w e i n t r o d u c e t h e c o n c e p t o f s a t i s f a c t i o n w h i c h i s s t r o n g e r t h a n r e fi n e m e n t . M o r e o v e r , i n o r d e r t o r e a s o n a b o u t t h e c o r r e c t n e s s o f p r o g r a m s i n t h e a b s e n c e o f f a u l t s , w e i n c o r p o r a t e i n v a r i a n c e p r o p e r t i e s o f p r o g r a m s . I n t u i t i v e l y , a n i n v a r i a n t p r e d i c a t e i s o n e f r o m w h e r e t h e e x e c u t i o n o f a p r o g r a m i s c l o s e d a n d t h e p r o g r a m r e fi n e s i t s s p e c i fi c a t i o n . M o r e s p e c i fi c a l l y , w e u s e i n v a r i a n t p r e d i c a t e s t o s p e c i f y ( 1 ) c l o s u r e p r o p e r t i e s , a n d ( 2 ) i n i t i a l s t a t e s o f p r o g r a m s . T h u s , g i v e n a p r o g r a m P = ( H P ’ I P ) ’ i n P a r t s 1 1 1 a n d I V , t h e s t a t e p r e d i c a t e I 7 3 d e n o t e s a n i n v a r i a n t p r e d i c a t e a n d w e r e n a m e t h i s p r e d i c a t e b y I n v p . B e l o w , w e f o r m a l l y d e fi n e t h e n o t i o n s o f s p e c i fi c a t i o n s a t i s f a c t i o n a n d i n v a r i a n t . D e fi n i t i o n 7 . 1 . 2 ( s a t i s fi e s ) L e t P = ( H p , I n v p ) b e a p r o g r a m a n d S P E C b e a s p e c i fi c a t i o n f o r P . W e w r i t e P l = 1 n v p S P E C a n d s a y t h a t P s a t i s fi e s S P E C f r o m 1 0 7 t h l l D e f i n i t i c s p e a fi c a t d p h r V i b e i s a n i n t h a t D < c o m m i t W h r fi n t h e f o l D e l i a a s p e ( l S C l t fi l D l n i t fl d a f \ l ' S P E C l l b d u ( fl u n g a d t h l h b ( h : I n v r p i f f ( 1 ) I n v p i s c l o s e d i n T , a n d ( 2 ) P r e fi n e s S P E C . I D e fi n i t i o n 7 . 1 . 3 ( i n v a r i a n t ) L e t P 2 ( H P , I n v p ) b e a p r o g r a m a n d S P E C b e a s p e c i fi c a t i o n f o r P . I f P l = 1 n v 7 3 S P E C , w e s a y t h a t I n v p i s a n i n v a r i a n t p r e d i c a t e o f P f o r S P E C . I W h e n e v e r t h e s p e c i fi c a t i o n i s c l e a r f r o m t h e c o n t e x t , w e w i l l o m i t i t ; t h u s , “ I n v p i s a n i n v a r i a n t o f P ” a b b r e v i a t e s “ I n v p i s a n i n v a r i a n t o f P f o r S P E C ” . N o t e t h a t D e fi n i t i o n 7 . 1 . 2 i n t r o d u c e s t h e n o t i o n o f s a t i s f a c t i o n w i t h r e s p e c t t o i n fi n i t e c o m p u t a t i o n s . I n c a s e o f fi n i t e c o m p u t a t i o n s , w e c h a r a c t e r i z e t h e m b y d e t e r m i n i n g w h e t h e r t h e y c a n b e e x t e n d e d t o a n i n fi n i t e c o m p u t a t i o n i n t h e s p e c i fi c a t i o n u s i n g t h e f o l l o w i n g d e fi n i t i o n . D e fi n i t i o n 7 . 1 . 4 ( m a i n t a i n s ) L e t P = ( 1 1 7 , , I n v p ) b e a p r o g r a m a n d S P E C b e a s p e c i fi c a t i o n f o r P . W e s a y t h a t P m a i n t a i n s S P E C f r o m I n v p i f f ( 1 ) I n v p i s c l o s e d i n T , a n d ( 2 ) f o r a l l c o m p u t a t i o n p r e fi x e s H o f P t h a t s t a r t f r o m a s t a t e i n I n v p , t h e r e e x i s t s a c o m p u t a t i o n s u f f i x B s u c h t h a t 5 2 3 ” E S P E C . W e s a y t h a t P v i o l a t e s S P E C i f f i t i s n o t t h e c a s e t h a t P m a i n t a i n s S P E C . I W e n o t e t h a t i f P = ( I ' L P , I n v p ) s a t i s fi e s S P E C f r o m I n v p , t h e n P m a i n t a i n s S P E C f r o m I n v r p a s w e l l , b u t t h e r e v e r s e d i r e c t i o n d o e s n o t a l w a y s h o l d . W e i n - t r o d u c e d t h e n o t i o n o f m a i n t a i n s f o r c o m p u t a t i o n s t h a t a ( f a u l t - i n t o l e r a n t ) p r o g r a m c a n n o t p r o d u c e , b u t t h e c o m p u t a t i o n c a n b e e x t e n d e d t o o n e t h a t i s i n S P E C b y a d d i n g r e c o v e r y . W e n o w p r e s e n t t h e t y p e o f s p e c i fi c a t i o n s w e c o n s i d e r i n P a r t I I I o f t h e d i s s e r t a t i o n . 1 0 8 7 . 1 . 1 T h e T y p e o f S p e c i fi c a t i o n s i n P a r t I I I I n o r d e r t o e x p r e s s t i m e - r e l a t e d b e h a v i o r s o f r e a l - t i m e p r o g r a m s ( e . g . , d e a d l i n e s a n d r e c o v e r y t i m e ) , w e f o c u s o n a s t a n d a r d p r o p e r t y t y p i c a l l y u s e d i n r e a l - t i m e c o m p u t i n g k n o w n a s t h e b o u n d e d - t i m e r e s p o n s e p r o p e r t y ( o r s i m p l y b o u n d e d r e s p o n s e ) . D e fi n i t i o n 7 . 1 . 5 ( b o u n d e d r e s p o n s e p r o p e r t y ) L e t P a n d Q b e t w o s t a t e p r e d i c a t e s a n d 6 b e a n o n n e g a t i v e i n t e g e r . A b o u n d e d r e s p o n s e p r o p e r t y , d e n o t e d P H 3 5 Q , i s t h e s e t o f a l l c o m p u t a t i o n s ( 0 0 , 7 ' 0 ) — ) ( 0 1 , r 1 ) — + i n w h i c h , f o r a l l i E Z 2 0 , i f a , - E P , t h e n t h e r e e x i s t s j , j Z i , s u c h t h a t ( 1 ) o j E Q , a n d ( 2 ) r j — r , - g 6 . I n o t h e r w o r d s , i t i s a l w a y s t h e c a s e t h a t a s t a t e i n P i s f o l l o w e d b y a s t a t e i n Q w i t h i n 6 t i m e u n i t s . W e c a l l P t h e e v e n t p r e d i c a t e , Q t h e r e s p o n s e ( o r r e c o v e r y ) p r e d i c a t e , a n d 6 t h e r e s p o n s e ( o r r e c o v e r y ) t i m e . I S i m i l a r t o P a r t I I , t h e s p e c i fi c a t i o n s c o n s i d e r e d i n P a r t I I I a r e a n i n t e r s e c t i o n o f a s a f e t y s p e c i fi c a t i o n a n d a l i v e n e s s s p e c i fi c a t i o n [ A 8 8 5 , H e n 9 2 ] . I n p a r t i c u l a r , w e c o n c e n t r a t e o n a s p e c i a l c a s e w h e r e t h e s p e c i fi c a t i o n i s t h e i n t e r s e c t i o n o f ( 1 ) t i m i n g i n d e p e n d e n t s a f e t y c h a r a c t e r i z e d b y a s e t o f b a d i n s t a n t a n e o u s t r a n s i t i o n s ( d e n o t e d S P E C b t ) ’ ( 2 ) t i m i n g d e p e n d e n t s a f e t y c h a r a c t e r i z e d b y a s e t o f b o u n d e d r e s p o n s e p r o p e r t i e s ( d e n o t e d S P E C b — r ) ’ a n d ( 3 ) l i v e n e s s ( s e e D e fi n i t i o n 2 . 2 . 5 ) . R e c a l l t h a t w e a s s u m e t h a t t h e s e t o f v a r i a b l e s a n d t h e i r r e s p e c t i v e d o m a i n s o f a p r o g r a m a n d i t s s p e c i fi c a t i o n a r e i d e n t i c a l . D e fi n i t i o n 7 . 1 . 6 ( s a f e t y s p e c i fi c a t i o n s ) 1 . ( t i m i n g i n d e p e n d e n t s a f e t y ) L e t S P E C b t b e a fi n i t e s e t o f i n s t a n t a n e o u s b a d 1 0 9 t r a n s i t i o n s o f t h e f o r m ( . s O , I / ) — + ( s l , I / [ ) \ : 2 0 ] ) , w h e r e 3 0 a n d 5 1 a r e t w o l o c a t i o n s a n d A i s s e t o f c l o c k v a r i a b l e s . W e d e n o t e t h e s p e c i fi c a t i o n w h o s e c o m p u t a t i o n s h a v e n o t r a n s i t i o n i n S P E C b t b y S P E C H . 2 . ( t i m i n g c o n s t r a i n t s ) W e d e n o t e S P E C S ; b y t h e c o n j u n c t i o n A Z T Z O U D i H 3 6 , - Q i ) , w h e r e f o r a l l i , 0 S i S m , P , - a n d Q , - a r e t w o s t a t e p r e d i c a t e s , a n d ( 5 ? : E Z 2 0 . I T h u s , g i v e n a s p e c i fi c a t i o n S P E C , o n e c a n i m p l i c i t l y i d e n t i f y S P E C H a n d S P E C E a s d e fi n e d a b o v e . T h r o u g h o u t t h e p a p e r , S P E C ; i s m e a n t t o p r e s c r i b e h o w a p r o g r a m s h o u l d m e e t i t s t i m i n g c o n s t r a i n t s s u c h a s p r o v i d i n g b o u n d e d - t i m e r e c o v e r y t o i t s n o r m a l b e h a v i o r a f t e r t h e o c c u r r e n c e o f f a u l t s . W e f o r m a l l y d e fi n e t h e n o t i o n o f r e c o v e r y i n S e c t i o n 7 . 2 . A s f a r a s l i v e n e s s s p e c i fi c a t i o n , w e r e q u i r e t h a t o u r r e v i s i o n m e t h o d s p r e s e r v e l i v e - n e s s p r o p e r t i e s o f t h e i n p u t p r o g r a m . T h u s , l i v e n e s s p r o p e r t i e s n e e d n o t b e s p e c i fi e d e x p l i c i t l y . 7 . 1 . 2 E x a m p l e R e a l - t i m e t r a f fi c c o n t r o l l e r . W e p r e s e n t e d t h e t i m i n g i n d e p e n d e n t s a f e t y s p e c i - fi c a t i o n o f t h e r e a l - t i m e t r a f fi c c o n t r o l l e r p r o g r a m i n S u b s e c t i o n 2 . 2 . 1 . O n e i n v a r i a n t p r e d i c a t e f o r T C i s t h e f o l l o w i n g : I a n C = V i 6 { 0 , 1 } : [ ( 8 1 9 1 = 0 ) = > ( ( 8 i n = R ) / \ ( 1 3 2 ' s 1 0 ) A ( Z 7 ; > 1 ) ) l / \ [ < s z ' g . = Y > = > ( e a - = 1 ? ) A v . 3 2 ) A ( z . > 1 > > 1 A 1 1 0 a ( ( 2 . : : 1 ) e ( z , - _ < _ 1 > > 1 . w h e r e j = ( i + 1 ) m o d 2 a n d E B d e n o t e s t h e e x c l u s i v e - o r o p e r a t o r . I t i s s t r a i g h t f o r w a r d t o s e e t h a t T C s a t i s fi e s S P E C b — ( d e fi n e d i n S u b s e c t i o n 2 . 2 . 1 ) f r o m I T C ' W e W e p r e s e n t t h e t i m i n g c o n s t r a i n t s o f T C i n S e c t i o n 7 . 2 . D i s t r i b u t e d B y z a n t i n e a g r e e m e n t . W e p r e s e n t e d t h e s a f e t y s p e c i fi c a t i o n o f t h e B y z a n t i n e a g r e e m e n t p r o g r a m B A i n S u b s e c t i o n 2 . 2 . 1 . O n e p o s s i b l e i n v a r i a n t p r e d i c a t e o f B A c o n s i s t s o f t h e f o l l o w i n g s e t s o f s t a t e s : 1 . F i r s t , w e c o n s i d e r t h e s e t o f s t a t e s w h e r e t h e g e n e r a l i s n o n - B y z a n t i n e . I n t h i s c a s e : 0 o n e o f t h e n o n — g e n e r a l p r o c e s s e s m a y b e B y z a n t i n e , o i f a n o n - g e n e r a l p r o c e s s , s a y j , i s n o n - B y z a n t i n e , i t i s n e c e s s a r y t h a t d . j b e i n i t i a l i z e d t o e i t h e r I o r d . g , a n d e a n o n - B y z a n t i n e p r o c e s s c a n n o t fi n a l i z e i t s d e c i s i o n i f i t s d e c i s i o n e q u a l s 1 . 2 . W e a l s o c o n s i d e r t h e s e t o f s t a t e s w h e r e t h e g e n e r a l i s B y z a n t i n e . I n t h i s c a s e , g c a n c h a n g e i t s d e c i s i o n a r b i t r a r i l y . I t f o l l o w s t h a t o t h e r p r o c e s s e s a r e n o n - B y z a n t i n e a n d d . j , d i e a n d d . l a r e i n i t i a l i z e d t o t h e s a m e v a l u e t h a t i s d i f f e r e n t f r o m . L . T h u s , t h e i n v a r i a n t p r e d i c a t e i s a s f o l l o w s : 1 1 1 1 7 2 n g = fi b g A ( a i j e b k ) A ( fl a k y — 1 b . ! ) A ( fl a w — ( b y ) A ( V p E { j , k , l } : - u b . p : > ( d p : _ L V d . p = d . g ) ) / \ ( V P E { 3 3 l e = ( “ ' b - P A f - P ) = > ( c l - 2 9 7 5 1 ) ) V ( b y A — w b . j A a t } : / \ — 1 b . l A ( . 1 4 : d . l : _ — . d . l A d j , e 1 ) ) A n a l e r t r e a d e r c a n e a s i l y v e r i f y t h a t B A s a t i s fi e s S P E C b — t B A f r o m I n v B A ' N o t i c e t h a t i n c a s e o f b o t h t h e t r a f fi c c o n t r o l l e r a n d B y z a n t i n e a g r e e m e n t p r o - g r a m s , t h e i n v a r i a n t p r e d i c a t e i s a s u p e r s e t o f t h e i n i t i a l s t a t e s i n t r o d u c e d i n S u b s e c - t i o n s 2 . 1 . 2 a n d 2 . 1 . 3 . T h i s s h o u l d c l a r i f y t h e d o u b l e r o l e o f i n v a r i a n t p r e d i c a t e s f o r s p e c i f y i n g b o t h c l o s u r e p r o p e r t i e s a n d ( i n i t i a l ) s t a t e s s t a r t i n g f r o m w h e r e t h e p r o g r a m s a t i s fi e s i t s s p e c i fi c a t i o n . 7 . 2 F a u l t M o d e l a n d F a u l t - T o l e r a n c e I n t h i s s e c t i o n , w e g e n e r a l i z e f o r m a l d e fi n i t i o n s o f f a u l t s a n d f a u l t - t o l e r a n c e d u e t o A r o r a a n d G o u d a [ A G 9 3 ] , a n d K u l k a r n i [ K u 1 9 9 ] . 7 . 2 . 1 F a u l t M o d e l T h e f a u l t s t h a t a p r o g r a m i s s u b j e c t t o a r e s y s t e m a t i c a l l y r e p r e s e n t e d b y a t r a n s i t i o n p r e d i c a t e . P r e c i s e l y , a c l a s s o f f a u l t s F f o r p r o g r a m P = ( H P ’ I n v p ) i s a t r a n s i t i o n p r e d i c a t e i n t h e s t a t e s p a c e o f p r o g r a m P , i . e . , F Q S r p x S p . T h u s , s i m i l a r t o p r o g r a m t r a n s i t i o n s , f a u l t s a r e c l a s s i fi e d b y i m m e d i a t e f a u l t s a n d d e l a y f a u l t s . W e u s e P fl F t o d e n o t e t h e p r o g r a m P i n t h e p r e s e n c e o f f a u l t s F . H e n c e , t r a n s i t i o n s o f 1 1 2 p r o g r a m P i n t h e p r e s e n c e o f F i s o b t a i n e d b y t a k i n g t h e u n i o n o f t h e t r a n s i t i o n s i n T 7 ) a n d t h e t r a n s i t i o n s i n F . W e e m p h a s i z e t h a t s u c h r e p r e s e n t a t i o n i s p o s s i b l e n o t w i t h s t a n d i n g t h e t y p e o f t h e f a u l t s ( b e t h e y s t u c k - a t , c r a s h , f a i l — s t o p , t i m i n g , p e r f o r m a n c e , B y z a n t i n e , m e s s a g e l o s s , e t c . ) , t h e n a t u r e o f t h e f a u l t s ( b e t h e y p e r m a n e n t , t r a n s i e n t , o r i n t e r m i t t e n t ) , o r t h e a b i l i t y o f t h e p r o g r a m t o o b s e r v e t h e e f f e c t s o f t h e f a u l t s ( b e t h e y d e t e c t a b l e o r u n d e t e c t a b l e ) . J u s t a s w e i n t r o d u c e d t h e n o t i o n o f i n v a r i a n t f o r r e a s o n i n g a b o u t t h e c o r r e c t n e s s o f p r o g r a m s i n t h e a b s e n c e o f f a u l t s , w e i n t r o d u c e t h e n o t i o n o f f a u l t - s p a n t o r e a s o n a b o u t p r o g r a m c o r r e c t n e s s i n t h e p r e s e n c e o f f a u l t s . D e fi n i t i o n 7 . 2 . 1 ( f a u l t - s p a n ) L e t P = ( I L P , I n v p ) b e a p r o g r a m a n d F b e a s e t o f f a u l t s . W e s a y t h a t a s t a t e p r e d i c a t e S p i s a n F - s p a n ( r e a d a s f a u l t - s p a n ) o f P f r o m I n v p i f f t h e f o l l o w i n g c o n d i t i o n s a r e s a t i s fi e d : 1 . I n v p _ C _ S P ’ a n d 2 . S p i s c l o s e d i n T P U F . I O b s e r v e t h a t f o r a l l c o m p u t a t i o n s o f P t h a t s t a r t f r o m s t a t e s w h e r e I n v p i s t r u e , S p i s a b o u n d a r y i n t h e s t a t e s p a c e o f P u p t o w h i c h ( b u t n o t b e y o n d w h i c h ) t h e s t a t e o f P m a y b e p e r t u r b e d o r d e l a y e d b y t h e o c c u r r e n c e o f t h e t r a n s i t i o n s i n F . S u b s e q u e n t l y , a s w e d e fi n e d t h e c o m p u t a t i o n s o f P , o n e c a n d e fi n e c o m p u t a t i o n s o f p r o g r a m P i n t h e p r e s e n c e o f f a u l t s F b y s i m p l y s u b s t i t u t i n g T 7 ; w i t h T P U F i n D e fi n i t i o n 2 . 1 . 7 . 1 1 3 7 . 2 . 2 L e v e l s o f F a u l t - T o l e r a n c e O b v i o u s l y , i n t h e a b s e n c e o f f a u l t s , a p r o g r a m s h o u l d s a t i s f y i t s s p e c i fi c a t i o n . I n t h e p r e s e n c e o f f a u l t s , h o w e v e r , i t m a y n o t s a t i s f y t h e e n t i r e s p e c i fi c a t i o n a n d , h e n c e , i t m a y s a t i s f y s o m e ( p o s s i b l y ) w e a k e r t o l e r a n c e s p e c i fi c a t i o n . T h e s e s p e c i fi c a t i o n s a r e b a s e d o n s a t i s f a c t i o n o f a c o m b i n a t i o n o f t i m i n g i n d e p e n d e n t s a f e t y , l i v e n e s s , t i m i n g c o n s t r a i n t s , a n d a d e s i r a b l e b o u n d e d — t i m e r e c o v e r y m e c h a n i s m . I n t u i t i v e l y , w e c o n s i d e r t h r e e l e v e l s o f f a u l t - t o l e r a n c e , n a m e l y , n o n m a s k i n g , f a i l s a f e , a n d m a s k i n g b a s e d o n s a t i s f a c t i o n o f t i m i n g i n d e p e n d e n t s a f e t y ( i . e . , S P E C H i n D e fi n i t i o n 7 . 1 . 6 ) a n d l i v e n e s s ( i . e . , r e c o v e r y t o t h e p r o g r a m i n v a r i a n t ) p r o p e r t i e s i n t h e p r e s e n c e o f f a u l t s . F o r f a i l s a f e a n d m a s k i n g f a u l t — t o l e r a n c e , w e p r o p o s e t w o a d d i t i o n a l l e v e l s , n a m e l y , s o f t a n d h a r d , b a s e d o n s a t i s f a c t i o n o f t i m i n g c o n s t r a i n t s ( i . e . , S P E C ; i n D e fi n i t i o n 7 . 1 . 6 ) i n t h e p r e s e n c e o f f a u l t s . I n o r d e r t o m o t i v a t e t h e i d e a o f s o f t a n d h a r d f a u l t - t o l e r a n c e , l e t u s c o n s i d e r t h e r a i l r o a d c r o s s i n g p r o b l e m . S u p p o s e t h a t a t r a i n i s a p p r o a c h i n g a r a i l r o a d c r o s s i n g . T h e t i m i n g - i n d e p e n d e n t s a f e t y s p e c i fi c a t i o n r e q u i r e s t h a t : “ i f t h e t r a i n i s c r o s s i n g , t h e g a t e m u s t b e c l o s e d . ” O b v i o u s l y , t h i s r e q u i r e m e n t i s n o t t i m e - r e l a t e d . I n a d d i t i o n t o t h i s r e q u i r e m e n t , a t i m i n g c o n s t r a i n t r e q u i r e s t h a t : “ o n c e t h e g a t e i s c l o s e d , i t s h o u l d r e o p e n w i t h i n 5 m i n u t e s . ” I n t h i s e x a m p l e , i t m a y b e c a t a s t r o p h i c i f t h e g a t e i s o p e n w h i l e t h e t r a i n i s c r o s s i n g d u e t o o c c u r r e n c e o f f a u l t s . T o t h e c o n t r a r y , i f t h e g a t e r e m a i n s c l o s e d f o r m o r e t h a n 1 1 4 T i m i n g - i n d e p e n d e n t B o u n d e d r e c o v e r y T i m i n g c o n s t r a i n t s s a f e t y ( S P E C R ) t o i n v a r i a n t ( S P E C S ? ) S o f t - F a i l s a f e J H a r d - F a i l s a f e J J N o n m a s k i n g J S o f t - M a s k i n g J J H a r d - M a s k i n g J J J T a b l e 7 . 1 : L e v e l s o f f a u l t - t o l e r a n c e . 5 m i n u t e s d u e t o o c c u r r e n c e o f f a u l t s , t h e o u t c o m e i s u n d e s i r a b l e , b u t n o t d i s a s t r o u s . T h u s , d e p e n d i n g u p o n t h e o u t c o m e o f v i o l a t i o n o f a s a f e t y s p e c i fi c a t i o n , t h e d e s i r e d l e v e l o f f a u l t - t o l e r a n c e v a r i e s . I n t h e r a i l r o a d c r o s s i n g p r o b l e m , w e r e q u i r e t h a t t h e s y s t e m m u s t t o l e r a t e f a u l t s t h a t c a u s e t h e g a t e t o r e m a i n o p e n w h i l e t h e t r a i n i s c r o s s i n g . W e c a l l s u c h a s y s t e m s o f t f a u l t - t o l e r a n t . I n t u i t i v e l y , a s o f t f a u l t - t o l e r a n t p r o g r a m i s n o t r e q u i r e d t o s a t i s f y i t s t i m i n g c o n s t r a i n t s i n t h e p r e s e n c e o f f a u l t s , b u t i t h a s t o m e e t i t s t i m i n g - i n d e p e n d e n t s a f e t y p r o p e r t i e s i n b o t h a b s e n c e a n d p r e s e n c e o f f a u l t s . N o w , c o n s i d e r a s y s t e m t h a t c o n t r o l s i n t e r n a l p r e s s u r e o f a b o i l e r . S u p p o s e t h a t i n t h i s s y s t e m , t h e s a f e t y s p e c i fi c a t i o n r e q u i r e s t h a t : “ o n c e a p r e s s u r e g a u g e r e a d s 3 0 p o u n d s p e r s q u a r e i n c h , t h e c o n t r o l l e r m u s t i s s u e a c o m m a n d t o o p e n a v a l v e w i t h i n 2 0 s e c o n d s . ” I n s u c h a s y s t e m , i f o c c u r r e n c e o f f a u l t s c a u s e s t h e c o n t r o l l e r n o t t o r e s p o n d w i t h i n t h e r e q u i r e d t i m e , t h e o u t c o m e m a y b e d i s a s t r o u s . T h u s , o u r b o i l e r c o n t r o l l e r m u s t s a t i s f y i t s t i m i n g c o n s t r a i n t s e v e n i n t h e p r e s e n c e o f f a u l t s . I n o t h e r w o r d s , t h e b o i l e r 1 1 5 c o n t r o l l e r m u s t b e h a r d f a u l t - t o l e r a n t . I n t u i t i v e l y , a h a r d f a u l t — t o l e r a n t p r o g r a m m u s t s a t i s f y i t s t i m i n g c o n s t r a i n t s e v e n i n t h e p r e s e n c e o f f a u l t s . I n f a c t , i n h a r d f a u l t - t o l e r a n t p r o g r a m s , t h e d e m a n d f o r h a r d r e a l - t i m e p r o c e s s i n g m e r g e s w i t h c a t a s t r o p h i c c o n s e q u e n c e s o f s y s t e m s , w h e r e a s i n s o f t f a u l t — t o l e r a n c e t h e c a t a s t r o p h i c c o n s e q u e n c e s a r e n o t r e l a t e d t o t h e p r o g r a m ’ s t i m i n g c o n s t r a i n t s . T a b l e 7 . 1 i l l u s t r a t e s a n i n f o r m a l d e s c r i p t i o n o f t h e l e v e l s o f f a u l t - t o l e r a n c e i n t h e c o n t e x t o f r e a l - t i m e p r o g r a m s b a s e d o n s a t i s f a c t i o n o f S P E C E , S P E C E , a n d b o u n d e d - t i m e r e c o v e r y . W e n o w f o r m a l l y d e fi n e t h e l e v e l s o f f a u l t - t o l e r a n c e . T h e s t r o n g e s t l e v e l o f f a u l t - t o l e r a n c e i s c a l l e d h a r d - m a s k i n g . A h a r d - m a s k i n g p r o g r a m s a t i s fi e s i t s e n t i r e s p e c i fi - c a t i o n i n b o t h a b s e n c e a n d p r e s e n c e f a u l t s , i . e . , i t m a s k s t h e o c c u r r e n c e o f f a u l t s . D e fi n i t i o n 7 . 2 . 2 ( h a r d - m a s k i n g f a u l t - t o l e r a n c e ) L e t P = ( H p J n v p ) b e a p r o g r a m , F b e a s e t o f f a u l t s , a n d S P E C b e a s p e c i fi c a t i o n . W e s a y t h a t P i s h a r d - m a s k i n g F - t o l e r a n t t o S P E C f r o m I n v p w i t h r e c o v e r y t i m e 6 , 6 E Z 2 0 , i f f 3 . t h e r e e x i s t s a s t a t e p r e d i c a t e S s u c h t h a t S i s a n F — s p a n o f P f r o m I n v p a n d ( a ) P U F m a i n t a i n s S P E C H f r o m S , ( b ) P [ ] F m a i n t a i n s S P E C E f r o m S , a n d ( c ) e v e r y c o m p u t a t i o n o f P [ ] F t h a t s t a r t s f r o m a s t a t e i n S , r e a c h e s a s t a t e i n I n v p w i t h i n 6 t i m e u n i t s . I 1 1 6 l l ] O H 8 3 . f a u l t s D e fi W e n o w d e fi n e o t h e r l e v e l s o f f a u l t — t o l e r a n c e b y w e a k e n i n g D e fi n i t i o n 7 . 2 . 2 b a s e d o n s a t i s f a c t i o n o f S P E C — b t ’ S P E C E , o r b o u n d e d - t i m e r e c o v e r y i n t h e p r e s e n c e o f f a u l t s . D e fi n i t i o n 7 . 2 . 3 ( w e a k e r l e v e l s o f f a u l t - t o l e r a n c e ) o ( N o n m a s k i n g ) w e s a y t h a t P i s n o n m a s k i n g F - t o l e r a n t t o S P E C f r o m I n v p w i t h r e c o v e r y t i m e 6 , 5 E Z > O , i f f i t m e e t s c o n d i t i o n s 1 , 2 , a n d 3 - c o f D e fi n i t i o n 7 . 2 . 2 . o ( S o f t - F a i l s a f e ) W e s a y t h a t P i s s o f t - f a i l s a f e F - t o l e r a n t t o S P E C f r o m I n v p i f f i t m e e t s c o n d i t i o n s 1 , 2 , a n d 3 — a o f D e fi n i t i o n 7 . 2 . 2 . o ( H a r d - F a i l s a f e ) W e s a y t h a t P i s h a r d - f a i l s a f e F - t o l e r a n t t o S P E C f r o m I n v p i f f i t m e e t s c o n d i t i o n s 1 , 2 , 3 - a , a n d 3 - b o f D e fi n i t i o n 7 . 2 . 2 . o ( S o f t — M a s k i n g ) W e s a y t h a t P i s s o f t - m a s k i n g F - t o l e r a n t t 0 S P E C f r o m I n v p w i t h r e c o v e r y t i m e 6 , ( 5 E Z 2 0 , i f f i t m e e t s c o n d i t i o n s 1 , 2 , 3 - a , a n d 3 - c o f D e fi n i t i o n 7 . 2 . 2 . I N o t a t i o n . G i v e n a p r o g r a m P 2 ( H P ’ I n v p ) a n d a s e t F o f f a u l t s , w h e n e v e r t h e s p e c i fi c a t i o n S P E C a n d t h e i n v a r i a n t I n v p a r e c l e a r f r o m t h e c o n t e x t , w e o m i t t h e m ; t h u s , “ F - t o l e r a n t ” a b b r e v i a t e s “ F - t o l e r a n t t o S P E C f r o m I n v p ” . 7 . 2 . 3 E x a m p l e R e a l - t i m e t r a fl i c c o n t r o l l e r . O u r r e a l - t i m e t r a f fi c c o n t r o l l e r p r o g r a m T C i s s u b j e c t t o c l o c k r e s e t f a u l t s d u e t o c i r c u i t m a l f u n c t i o n s . I n p a r t i c u l a r , w e c o n s i d e r 1 1 7 S P E C E T C E ( fi I a n C H S 3 Q T C ) / \ ( fi l fl / U T C H 3 7 1 7 2 . 2 1 7 6 ) , f a u l t s t h a t r e s e t e i t h e r 2 0 o r 2 1 a t a n y s t a t e i n t h e i n v a r i a n t p r e d i c a t e I n v r I - C ( c f . S u b s e c t i o n 7 . 1 . 2 ) , w i t h o u t c h a n g i n g t h e l o c a t i o n o f T C : { 3 0 } F 0 : : I n v r f c s k i p ; { 3 1 } F 1 : : I a n C s k i p ; I t i s s t r a i g h t f o r w a r d t o s e e t h a t i n t h e p r e s e n c e o f F 0 a n d F 1 , T C m a y v i o l a t e S P E C E T C . F o r i n s t a n c e , c o n s i d e r t h e c a s e w h e r e F 1 o c c u r s w h e n T C i s i n a s t a t e o f I a n C w h e r e ( s i g O = s i g l = R ) / \ ( : 0 g 1 ) / \ ( z l > 1 ) . I n t h e r e s u l t i n g s t a t e , w e h a v e ( s i g O = s i g l = R ) A ( z O _ < _ 1 ) / \ ( 2 1 = 0 ) . F r o m t h i s s t a t e , i m m e d i a t e e x e c u t i o n o f t i m e d a c t i o n s T C 3 0 a n d t h e n T C 3 1 r e s u l t s i n a s t a t e w h e r e ( s i g O = s i g l = G ) , w h i c h i s c l e a r l y a v i o l a t i o n o f t h e s a f e t y s p e c i fi c a t i o n . I n C h a p t e r 9 , w e p r e s e n t a r e v i s i o n a l g o r i t h m f o r s y n t h e s i z i n g a f a u l t - t o l e r a n t v e r s i o n o f T C w h i c h e n s u r e s s a t i s f a c t i o n o f s a f e t y a n d p r o v i d e s b o u n d e d - t i m e p h a s e d r e c o v e r y t o I a n C i n t h e p r e s e n c e t h e a b o v e f a u l t s . T h e p h a s e d r e c o v e r y c o n d i t i o n c a n b e m o d e l e d b y t i m i n g c o n s t r a i n t s i n t h e s a f e t y s p e c i fi c a t i o n a s f o l l o w s . W e r e q u i r e T C t o , fi r s t , e n s u r e t h a t n o t h i n g c a t a s — t r o p h i c h a p p e n s a n d t h e n r e c o v e r t o i t s n o r m a l b e h a v i o r . T h u s , t h e f a u l t - t o l e r a n t v e r s i o n o f T C h a s t o , fi r s t , r e a c h a s t a t e w h e r e b o t h s i g n a l s a r e r e d a n d s u b s e q u e n t l y r e c o v e r t o I a n C w h e r e e x a c t l y o n e s i g n a l t u r n s g r e e n . T h u s , w h e r e Q T C 2 V i 6 { 0 , 1 } : ( ( s i g z - = R ) / \ ( z , - > 1 ) ) . T h e r e s p o n s e t i m e s i n S P E C E T T C a r e s i m p l y t w o a r b i t r a r y n u m b e r s f o r i l l u s t r a t i o n . 1 1 8 D i s t r i b u t e d B y z a n t i n e a g r e e m e n t . I n t h e c o n t e x t o f t h e B y z a n t i n e a g r e e m e n t p r o b l e m , t h e f a u l t t r a n s i t i o n s t h a t a f f e c t a p r o c e s s , s a y j , o f B A a r e a s f o l l o w s : ( W e i n c l u d e s i m i l a r a c t i o n s f o r k , l , a n d g ) F 0 : : fi b g / \ — I b . j / \ p b k / \ fi b l — — > b . j 2 : t r u e ; F 1 : : b . j — > d . j , f . j : 2 0 | ] , f a l s e l t r u e ; w h e r e d . j : 2 0 | 1 m e a n s t h a t d . j c o u l d b e a s s i g n e d e i t h e r 0 o r 1 . I n c a s e o f t h e g e n e r a l p r o c e s s , t h e s e c o n d a c t i o n d o e s n o t c h a n g e t h e v a l u e o f a n y f - v a r i a b l e . I t i s e a s y t o o b s e r v e t h a t B A m a y v i o l a t e b o t h v a l i d i t y a n d a g r e e m e n t ( s e e S u b s e c t i o n 2 . 2 . 1 ) i n t h e p r e s e n c e o f F 0 a n d F 1 . T h e p r o g r a m m a y a l s o r e a c h d e a d l o c k s t a t e s . I n C h a p t e r 1 1 , w e p r e s e n t a n a l g o r i t h m f o r s y n t h e s i z i n g f a u l t - t o l e r a n t d i s t r i b u t e d p r o g r a m s a n d d e m o n s t r a t e i t s a p p l i c a t i o n i n o r d e r t o s y n t h e s i z e a f a u l t - t o l e r a n t v e r s i o n o f B A w h i c h e n s u r e s s a t i s f a c t i o n o f s a f e t y a n d l i v e n e s s i n t h e p r e s e n c e t h e a b o v e f a u l t s . 7 . 3 P r o b l e m S t a t e m e n t G i v e n a r e a f a u l t - i n t o l e r a n t p r o g r a m P = ( H P J n v p ) , a s e t F o f f a u l t s , a n d a s p e c i fi c a t i o n S P E C s u c h t h a t P l = 1 n v p S P E C . O u r g o a l i s t o r e v i s e P i n o r d e r t o s y n t h e s i z e a p r o g r a m P ’ = ( 1 1 1 ) , , I n v p l ) s u c h t h a t P , i s F - t o l e r a n t t o S P E C f r o m I n v p ] . W e r e q u i r e t h a t o u r r e v i s i o n m e t h o d s o b t a i n P , f r o m P b y a d d i n g f a u l t - t o l e r a n c e t o P w i t h o u t i n t r o d u c i n g n e w b e h a v i o r s i n t h e a b s e n c e o f f a u l t s . T o t h i s e n d , w e fi r s t d e fi n e t h e n o t i o n o f p r o j e c t i o n . I n f o r m a l l y , p r o j e c t i o n o f a t r a n s i t i o n s p r e d i c a t e T o n a s t a t e p r e d i c a t e S c o n s i s t s o f i m m e d i a t e t r a n s i t i o n s o f T 3 t h a t s t a r t i n S a n d e n d i n S , a n d d e l a y t r a n s i t i o n s o f T d t h a t s t a r t a n d r e m a i n i n S c o n t i n u o u s l y . 1 1 9 D e fi n i t i o n 7 . 3 . 1 ( p r o j e c t i o n ) P r o j e c t i o n o f a s e t T o f t r a n s i t i o n s o n a s t a t e p r e d i c a t e S ( d e n o t e d T I S ) i s t h e f o l l o w i n g s e t o f t r a n s i t i o n s : T I S = { ( 0 0 . 0 1 ) E T 3 I 0 0 , 0 1 6 S } U { ( 0 , 6 ) E T d I O E S ; / \ ( V € E R Z O | ( £ 3 6 ) : o + e E S ) } . I L i k e w i s e , t h e p r o j e c t i o n o f a s e t o f e d g e s T 7 7 5 o n r e g i o n p r e d i c a t e S T ( d e n o t e d T 7 ' S I U T ) i s t h e s e t o f e d g e s { ( r 0 , r 1 ) E T 7 7 3 | r 0 , r 1 E U r } . S i m i l a r t o t h e r e v i s i o n p r o b l e m f o r c l o s e d s y s t e m s , s i n c e m e e t i n g t i m i n g c o n s t r a i n t s i n t h e p r e s e n c e o f f a u l t s r e q u i r e s t i m e p r e d i c t a b i l i t y , w e l e t o u r s y n t h e s i s m e t h o d s i n c o r p o r a t e a fi n i t e s e t X n o f n e w c l o c k v a r i a b l e s . W e d e n o t e t h e p r o g r a m o b t a i n e d b y r e m o v i n g t h e c l o c k v a r i a b l e s i n Y f r o m X p b y P \ Y . O b v i o u s l y , n o s t a t e a n d t r a n s i t i o n p r e d i c a t e o f P \ Y d e p e n d o n t h e v a l u e o f v a r i a b l e s i n Y . O b s e r v e t h a t i n t h e a b s e n c e o f f a u l t s : 1 . I f I n v p , c o n t a i n s s t a t e s t h a t a r e n o t i n I n v p , t h e n P ’ m a y i n c l u d e c o m p u t a - . ‘ . . . I . t i o n s t h a t s t a r t o u t s i d e I n v p ] . S l n c e w e r e q u i r e t h a t P l = I n v . P / S P E C , i t i m p l i e s t h a t P , i s u s i n g a n e w w a y t o s a t i s f y S P E C . T h e r e f o r e , w e r e q u i r e t h a t ( I n U P ’ \ X n ) Q I n v p . 2 . R e g a r d i n g t h e t r a n s i t i o n s o f P a n d P ’ , w e f o c u s o n t r a n s i t i o n s t h a t o c c u r i n s i d e t h e i n v a r i a n t I n v p ] . I f T P , | I n v p / c o n t a i n s a t r a n s i t i o n t h a t i s n o t i n T P I I n v p / , t h e n P , c a n u s e t h i s t r a n s i t i o n i n o r d e r t o s a t i s f y S P E C . T h e r e f o r e , w e r e q u i r e t h a t ( T P ’ \ X n I I n v P ’ \ X n ) g ( T P I I n v P ’ \ X n ) ' T h u s , t h e r e v i s i o n p r o b l e m i n t h e c o n t e x t o f o p e n s y s t e m s i s a s f o l l o w s . 1 2 0 P r o b l e m S t a t e m e n t 7 . 3 . 2 G i v e n a p r o g r a m P = ( H p J n v p ) , s p e c i fi c a t i o n S P E C , a n d a s e t F o f f a u l t s s u c h t h a t P l = I n v p S P E C , i d e n t i f y P , = < H P ” I n v p / ) s u c h t h a t : ( C 1 ) S P ’ \ X n = S p , w h e r e X n i s a fi n i t e s e t o f n e w c l o c k v a r i a b l e s , ( C 2 ) ( I n v p / \ X n ) Q I n v p , ( C 3 ) ( T P , \ X n | I n v p / \ X n ) Q ( T P I I n v P / \ X n ) ’ a n d ( C 4 ) P , i s F - t o l e r a n t t o S P E C f r o m I n v I 7 9 " O b v i o u s l y , t h e p r o b l e m s t a t e m e n t c a n b e i n s t a n t i a t e d f o r d i f f e r e n t l e v e l s o f f a u l t - t o l e r a n c e i n t r o d u c e d i n D e fi n i t i o n s 7 . 2 . 2 a n d 7 . 2 . 3 . N o t i c e t h a t c o n s t r a i n t C 3 i m p l i c i t l y i m p l i e s t h a t t h e s y n t h e s i z e d p r o g r a m i s n o t a l l o w e d t o e x h i b i t n e w fi n i t e c o m p u t a t i o n s , w h i c h i n t u r n m e a n s t h a t s y n t h e s i s a l g o r i t h m s a r e n o t a l l o w e d t o c r e a t e d e a d l o c k s t a t e s . P u t i t a n o t h e r w a y , t h i s c o n d i t i o n e n s u r e s t h a t i f t h e g i v e n i n t o l e r a n t p r o g r a m s a t i s fi e s a u n i v e r s a l l y q u a n t i fi e d p r o p e r t y , t h e n t h e s y n t h e s i z e d f a u l t - t o l e r a n t p r o g r a m s a t i s fi e s i t a s w e l l . C o m p a r i s o n t o c o n t r o l l e r s y n t h e s i s a n d g a m e t h e o r y . O u r f o r m u l a t i o n o f t h e s y n t h e s i s p r o b l e m i s i n s p i r i t c l o s e t o b o t h c o n t r o l l e r s y n t h e s i s , w h e r e p r o g r a m a n d f a u l t t r a n s i t i o n s m a y b e m o d e l e d a s c o n t r o l l a b l e a n d u n c o n t r o l l a b l e a c t i o n s , a n d g a m e t h e o r y , w h e r e p r o g r a m a n d f a u l t t r a n s i t i o n s m a y b e m o d e l e d i n t e r m s o f t w o p l a y e r s . I n f a c t , i n b o t h p r o b l e m s , t h e o b j e c t i v e i s t o r e s t r i c t t h e p r o g r a m a c t i o n s a t e a c h s t a t e t h r o u g h s y n t h e s i z i n g a c o n t r o l l e r o r a w i n i n g s t r a t e g y s u c h t h a t t h e b e h a v i o r o f t h e e n t i r e s y s t e m i s a l w a y s d e s i r a b l e a c c o r d i n g t o s a f e t y a n d r e a c h a b i l i t y c o n d i t i o n s , i n 1 2 1 t h e p r e s e n c e o f a n a d v e r s a r y . N o t i c e t h a t t h e c o n d i t i o n s C 1 a n d C 2 p r e c i s e l y e x p r e s s t h i s n o t i o n o f r e s t r i c t i o n . F u r t h e r m o r e , t h e c o n j u n c t i o n o f a l l c o n d i t i o n s e x p r e s s e s t h e n o t i o n o f l a n g u a g e i n c l u s i o n , w h e r e t h e s y n t h e s i z e d p r o g r a m i s s u p p o s e d t o e x h i b i t a s u b s e t o f b e h a v i o r s o f t h e i n p u t i n t o l e r a n t p r o g r a m . U n l i k e c o n t r o l l e r s y n t h e s i s a n d g a m e t h e o r y a l g o r i t h m s w h e r e a r b i t r a r y s p e c i fi c a t i o n s a r e o f t e n c o n s i d e r e d , o u r a l g o r i t h m s a r e t a i l o r e d f o r p r o p e r t i e s t y p i c a l l y u s e d i n s p e c i f y i n g r e a l - t i m e a n d f a u l t - t o l e r a n c e r e q u i r e m e n t s a n d , h e n c e , t h e y s y n t h e s i z e p r o g r a m s m o r e e f fi c i e n t l y . W e e l a b o r a t e o n c o m p a r i s o n a n d c o n t r a s t w i t h c o n t r o l l e r s y n t h e s i s a n d g a m e t h e o r y i n C h a p t e r 1 5 i n d e t a i l . 1 2 2 f a t t e l S R . 9 8 1 h ( ' 0 P l : D r s C h a p t e r 8 S y n t h e s i z i n g R e a l - T i m e F a u l t - T o l e r a n t P r o g r a m s I n t h i s c h a p t e r , w e s t u d y t h e p r o b l e m o f a d d i t i o n o f f a u l t - t o l e r a n c e t o r e a l - t i m e f a u l t - i n t o l e r a n t p r o g r a m s . R e c a l l t h a t i n C h a p t e r 7 , w e d e fi n e d t h e n o t i o n o f f a u l t - t o l e r a n c e i n t e r m s o f a v a r i e t y o f l e v e l s b a s e d o n s a t i s f a c t i o n o f t i m i n g i n d e p e n d e n t s a f e t y , t i m i n g c o n s t r a i n t s , a n d l i v e n e s s s p e c i fi c a t i o n s i n t h e p r e s e n c e o f f a u l t s . F o r e a c h l e v e l o f f a u l t - t o l e r a n c e , i n t h i s c h a p t e r , w e p r e s e n t t h e c o m p l e x i t y o f i t s a d d i t i o n t o a n i n p u t f a u l t - i n t o l e r a n t p r o g r a m . T h e r e s t o f t h i s c h a p t e r i s o r g a n i z e d a s f o l l o w s . F i r s t , i n S e c t i o n 8 . 1 , w e p r e s e n t t h e A l t i t u d e S w i t c h p r o g r a m , w h i c h w e u s e a s a r u n n i n g d e m o n s t r a t i o n t h r o u g h o u t t h i s c h a p t e r . I n S e c t i o n 8 . 2 , w e s h o w t h a t t h e r e e x i s t s a p o l y n o m i a l - t i m e s o u n d a n d c o m p l e t e a l g o r i t h m f o r a d d i n g n o n m a s k i n g f a u l t - t o l e r a n c e t o a g i v e n f a u l t - i n t o l e r a n t p r o g r a m i n t h e s i z e o f t h e i n t o l e r a n t p r o g r a m ’ s r e g i o n g r a p h . T h e n , i n S e c t i o n 8 . 3 , w e p r e s e n t a p o l y n o m i a l - t i m e s o u n d a n d c o m p l e t e a l g o r i t h m f o r a d d i n g s o f t - f a i l s a f e f a u l t - 1 2 3 t o l e r a n c e t o a g i v e n f a u l t - i n t o l e r a n t p r o g r a m i n t h e s i z e o f t h e i n t o l e r a n t p r o g r a m ’ s r e g i o n g r a p h . W e a l s o s h o w t h e s a m e r e s u l t f o r a d d i n g h a r d - f a i l s a f e f a u l t - t o l e r a n c e , w h e r e t h e t i m i n g d e p e n d e n t s a f e t y s p e c i fi c a t i o n c o n s i s t s o f o n l y o n e t i m i n g c o n s t r a i n t . F i n a l l y , i n S e c t i o n 8 . 4 , w e p r e s e n t o u r r e s u l t s o n a u t o m a t e d s y n t h e s i s o f s o f t a n d h a r d - m a s k i n g f a u l t - t o l e r a n t p r o g r a m s . S p e c i fi c a l l y , w e p r e s e n t a p o l y n o m i a l - t i m e s o u n d a n d c o m p l e t e a l g o r i t h m f o r a d d i n g s o f t - m a s k i n g f a u l t - t o l e r a n c e t o a g i v e n p r o g r a m . T h e n , w e s h o w t h a t t h e p r o b l e m o f a d d i n g h a r d - m a s k i n g f a u l t - t o l e r a n c e t o a g i v e n p r o g r a m w h e r e t h e s a f e t y s p e c i fi c a t i o n r e q u i r e s t w o o r m o r e t i m i n g c o n s t r a i n t s i s N P - c o m p l e t e . 8 . 1 C a s e S t u d y : A l t i t u d e S w i t c h W e u s e a s i m p l i fi e d v e r s i o n o f a n a l t i t u d e s w i t c h p r o g r a m [ B H O O ] a s a r u n n i n g e x a m p l e t o i l l u s t r a t e t h e c o n c e p t s a n d a l g o r i t h m s p r e s e n t e d i n t h i s c h a p t e r . F a u l t - i n t o l e r a n t p r o g r a m T h e a l t i t u d e s w i t c h p r o g r a m ( d e n o t e d A S ) r e a d s a s e t o f i n p u t v a r i a b l e s . T h e n , i t p o w e r s o n a D e v i c e o f I n t e r e s t ( D O I ) w h e n t h e a i r c r a f t d e s c e n d s b e l o w a p r e - s p e c i fi e d a l t i t u d e t h r e s h o l d . T h e r e e x i s t t h r e e i n t e r n a l v a r i a b l e s , a m o d e v a r i a b l e t h a t d e t e r m i n e s t h e o p e r a t i n g m o d e o f t h e p r o g r a m , t w o e n v i r o n m e n t v a r i a b l e s , a n d t h r e e w a t c h d o g t i m e r s ( f o r p u r p o s e o f s y n t h e s i s t h e v a r i a b l e s a r e t r e a t e d i d e n t i c a l l y ) : o T h e i n t e r n a l v a r i a b l e s a r e a s f o l l o w s : ( i ) i A l t B e l o w i s e q u a l t o 1 i f t h e a l t i t u d e i s b e l o w a p r e - s p e c i fi e d t h r e s h o l d , o t h e r w i s e , i t i s e q u a l t o 0 ; ( i i ) i D O I S t a t u s 1 2 4 i s e q u a l t o 1 i f t h e D 0 1 i s p o w e r e d o n , o t h e r w i s e , i t i s e q u a l t o 0 , a n d ( i i i ) i C o r r u p t S e n s o r i s e q u a l t o 1 i f t h e s y s t e m r e a d s a n i n v a l i d v a l u e f r o m t h e a l t i t u d e m e t e r s e n s o r s , o t h e r w i s e , i t i s e q u a l t o 0 . o T h e A 5 p r o g r a m c a n b e i n t h r e e d i f f e r e n t m o d e s : ( i ) i n i t i a l i z a t i o n m o d e w h e n t h e s y s t e m i s i n i t i a l i z i n g ; ( i i ) a w a i t m o d e w h e n t h e s y s t e m i s w a i t i n g f o r t h e D O I t o p o w e r o n , a n d ( i i i ) s t a n d b y m o d e . W e u s e t h e v a r i a b l e m S t a t u s w i t h d o m a i n { I N I T , A W A I T , S T A N D B Y } t o s h o w t h e s y s t e m m o d e s i n t h e p r o g r a m . 0 W e m o d e l t h e v a l i d i t y o f s i g n a l s t h a t c o m e f r o m t h e a l t i t u d e m e t e r b y t h e e n v i r o n m e n t v a r i a b l e e S e n s o r R e a d i n g . T h i s v a r i a b l e i s e q u a l t o I w h e n t h e s y s t e m f a i l s t o r e a d t h e a l t i t u d e m e t e r . O t h e r w i s e , i t i s n o t e q u a l t o _ L ( i . e . , i t i s e q u a l t o t h e a l t i t u d e o f t h e a i r c r a f t ) . T h e s y s t e m m a y i s s u e r e s e t c o m m a n d s i n d i f f e r e n t s i t u a t i o n s . T h e e n v i r o n m e n t v a r i a b l e e R e s e t i s e q u a l t o 0 i f a s y s t e m r e s e t c o m m a n d h a s b e e n i s s u e d . O t h e r w i s e , i t i s e q u a l t o 1 . 0 A S h a s t h r e e w a t c h d o g t i m e r s : ( i ) t h e c l o c k v a r i a b l e 2 : m e a s u r e s t h e t i m e e l a p s e d s i n c e t h e s y s t e m h a s b e e n i n t h e I N I T m o d e ; ( i i ) t h e c l o c k v a r i a b l e y m e a s u r e s t h e t i m e e l a p s e d s i n c e t h e s y s t e m h a s f a i l e d t o r e a d t h e a l t i t u d e m e t e r ( i . e . , i C o r r a p t S e n s o r = 1 ) , a n d ( i i i ) t h e c l o c k v a r i a b l e 2 m e a s u r e s t h e t i m e e l a p s e d s i n c e t h e s y s t e m h a s b e e n i n t h e A W A I T m o d e . F o r m a l l y , t h e t i m e d g u a r d e d c o m m a n d s o f A S a r e i l l u s t r a t e d i n F i g u r e 8 . 1 . T h e p r o g r a m c h a n g e s i t s m o d e f r o m I N I T t o S T A N D B Y w i t h i n 1 s e c o n d ( t i m e d a c t i o n A S 1 ) . A l s o , t h e p r o g r a m m a y g o b a c k t o t h e I N I T m o d e i f i t i s i n S T A N D B Y 1 2 5 A 8 1 : : ( m S t a t u s = I N I T ) A ( . 1 : g 1 ) — — > m S t a t u s : 2 S T A N D B Y ; A 8 2 : : ( m S t a t u s = S T A N D B Y ) A ( e R e s e t = 0 ) i i i m S t a t u s , e R e s e t : 2 I N I T , 1 ; A 8 3 : : ( m S t a t u s = S T A N D B Y ) / \ ( i A l t B e l o w = 0 ) / \ ( i D O I S t a t u s = 0 ) i i i — L m S t a t u s , i A l t B e l o w : = A W A I T , 1 ; A 8 4 : : ( m S t a t u s = A W A I T ) / \ ( i D O I S t a t u s = 0 ) / \ ( z 3 2 ) — — > m S t a t u s , i D O I S t a t u s : = S T A N D B Y , 1 A 8 5 : : ( m S t a t u s = A W A I T ) A ( e R e s e t = 0 ) / \ ( z 3 2 ) fl » m S t a t u s , e R e s e t : 2 I N I T , 1 ; A 8 6 : : ( ( m S t a t u s = S T A N D B Y ) / \ ( i C o r r u p t S e n s o r = 0 ) ) V ( x 3 1 ) v a s e v ( . 2 3 2 ) — + w a i t ; A 8 7 : : ( e S e n s o r R e a d i n g = _ L ) / \ ( i C o r r u p t S e n s o r = 0 ) E L i C o r r u p t S e n s o r : 2 1 ; A 8 8 : : ( m S t a t u s = S T A N D B Y ) A { 1 1 3 } ( i C o r r u p t S e n s o r = 1 ) / \ ( y S 2 ) — > m S t a t u s , i C o r r u p t S e n s o r : = I N I T , 0 ; F i g u r e 8 . 1 : T i m e d g u a r d e d c o m m a n d s o f A 8 . m o d e a n d t h e r e s e t s i g n a l i s r e c e i v e d ( t i m e d a c t i o n A 8 2 ) . I f t h e p r o g r a m i s i n t h e S T A N D B Y m o d e a n d t h e D 0 1 i s n o t p o w e r e d o n t h e n t h e p r o g r a m m a y g o t o a s t a t e w h e r e t h e a l t i t u d e o f t h e a i r c r a f t i s b e l o w t h e t h r e s h o l d a n d i t i s i n t h e A W A I T m o d e ( t i m e d a c t i o n A 8 3 ) . I n t h i s c a s e , t h e p r o g r a m s t a r t s t h e w a t c h d o g t i m e r 2 . O t h e r w i s e , t h e p r o g r a m s t a y s i n t h e S T A N D B Y m o d e f o r a n a r b i t r a r y t i m e a s l o n g a s t h e a l t i t u d e m e t e r i s n o t s h o w i n g a n i n v a l i d v a l u e ( d e l a y a c t i o n A 8 6 ) . I n t h e A W A I T m o d e , t h e p r o g r a m e i t h e r ( i ) p o w e r s o n t h e D O I w i t h i n 2 s e c o n d s a n d g o e s b a c k t o t h e S T A N D B Y m o d e ( t i m e d a c t i o n A 8 4 ) , o r ( i i ) g o e s t o t h e I N I T m o d e u p o n r e c e i v i n g t h e r e s e t s i g n a l ( t i m e d a c t i o n A 8 5 ) . T h e p r o g r a m m a y t a k e d e l a y s a s l o n g a s a s i t d o e s n o t v i o l a t e t h e t i m i n g c o n s t r a i n t s o f t h e p r o g r a m ( d e l a y a c t i o n A 8 6 ) . I f t h e p r o g r a m r e c e i v e s a s i g n a l i n d i c a t i n g t h a t t h e a l t i t u d e m e t e r s e n s o r s 1 2 6 7 a r e s h o w i n g a n i n v a l i d v a l u e , i t s e t s t h e v a r i a b l e i C o r r u p t S e n s o r t o 1 a n d s t a r t s t h e t i m e r y ( t i m e d a c t i o n A 8 7 ) . I n t h i s c a s e , t h e p r o g r a m s h o u l d g o b a c k t o t h e I N I T m o d e w i t h i n 2 s e c o n d s ( t i m e d a c t i o n A 8 8 ) . I n v a r i a n t T h e i n v a r i a n t o f A 8 c o n s i s t s o f t h e f o l l o w i n g s t a t e s : S A S = { 0 | ( ( m S t a t u s ( o ) = I N I T ) = > ( : r . ( o ) S 1 ) ) A ( ( m S t a t u s ( o ) = S T A N D B Y ) : > ( i C o r r u p t S e n s o r ( o ) = 0 V y ( 0 ) S 2 ) ) / \ ( ( m S t a t u s ( 0 ) = A W A I T ) = > ( z ( o ) S 2 ) ) } . S a f e t y s p e c i fi c a t i o n T h e s a f e t y s p e c i fi c a t i o n r e q u i r e s t h a t t h e p r o g r a m d o e s n o t c h a n g e i t s m o d e f r o m S T A N D B Y t o A W A I T , i f i t f a i l s t o r e a d a v a l i d a l t i t u d e . A l s o , w h e n t h e p r o g r a m i s i n a s t a t e o u t s i d e t h e i n v a r i a n t t h e n i t c a n o n l y g o t o t h e I N I T m o d e . F u r t h e r m o r e , t h e s a f e t y s p e c i fi c a t i o n r e q u i r e s t h r e e t i m i n g c o n s t r a i n t s w i t h r e s p e c t t o e a c h w a t c h d o g t i m e r . F o r m a l l y , t h e s a f e t y s p e c i fi c a t i o n i s a s f o l l o w s : s p s c b , = { ( 0 0 , 0 1 ) 1 ( ( i C o r r u p t S e n s o r 0 ) = 1 / \ ( m S t a t u s a = S T A N D B Y / \ 0 0 1 2 7 u s ( 0 1 ) = S A N T } 1 ) ) ( ( , b m m ” S S . ” T t t 2 1 3 a a t t = = = S S S P P P E C E C ) E C u u s s ( ( 0 a 1 l ) ) = = ( ( m m S S t t a a t t u u s s ( ( m S t a t u A A s W W = = A A I I I A T T W N = S ) A I T ) ) T » ) I T V ) A N D v B ( ( ( H H ( 0 a 0 3 ( 3 i D Y ) 1 2 O A e S A 3 ) o ¢ I S t ( ( 5 a ( i C m ( t A S u ( o 8 m r t s ) a S r t = t u A u a p ( = ) s e ( ( n e = m s R S v S o e T t S r s A a T ( t N A m e = A s t t u S 1 ) t ( D N S 0 B D Y 1 B ) ) Y t 1 a t ) ) = s / S ) u H \ = ? D ) a B t Y ) v u s = I N I T ) I N ( I m T S ) t S T A N D B Y i D O I S a r u s = l A W A I T i A I t B e / o w = l 0 < 2 5 2 i C o r r u p t S e n s o r = l 0 < y < 1 S T A N D B Y i C o r r u p t S e n s o r = I y = 1 A W A I T i A l t B e / o w = 1 z = 0 S T A N D B Y i C o r r u p t S e n s o r = l l < y < 2 S T A N D B Y i C o r r u p r S e n s o r = 1 y = 2 F i g u r e 8 . 2 : R e g i o n g r a p h o f A S . R e g i o n g r a p h 1 2 8 F i g u r e 8 . 2 i l l u s t r a t e s t h e r e g i o n g r a p h o f t h e A 8 p r o g r a m . N o t e t h a t d u e t o t h e l a r g e s t a t e s p a c e o f A S , w e o n l y i n c l u d e r e g i o n s , e d g e s , a n d ( i n s i d e e a c h r e g i o n ) v a r i a b l e s t h a t a r e i m p o r t a n t t o i l l u s t r a t e h o w o u r s y n t h e s i s a l g o r i t h m s w o r k i n S e c t i o n s 8 . 2 , 8 . 3 , a n d 8 . 4 . F o r t h e s a m e r e a s o n , s o m e r e g i o n s a r e c o l l a p s e d i n t o o n e r e g i o n . F a u l t s A 8 i s s u b j e c t t o a s e t o f d e l a y f a u l t s w h e r e t h e p r o g r a m i s ( i ) i n i t i a l i z i n g ; ( i i ) i n S T A N D B Y m o d e a n d t h e a l t i t u d e m e t e r s h o w s a n i n v a l i d v a l u e , o r ( i i i ) w a i t i n g f o r t h e D O I t o p o w e r o n . M o r e o v e r , i m m e d i a t e f a u l t s c a n c o r r u p t t h e r e a d i n g o f t h e a l t i t u d e m e t e r ( c f . F i g u r e 8 . 3 ) . F i g u r e 8 . 4 i l l u s t r a t e s t h e r e g i o n g r a p h o f t h e A 8 p r o g r a m w i t h r e s p e c t t o t h e m e n t i o n e d d e l a y f a u l t s . I n s e c t i o n s 8 . 2 , 8 . 3 , a n d 8 . 4 w e s h o w t h a t h o w w e a d d n o n m a s k i n g , h a r d - f a i l s a f e , a n d s o f t - m a s k i n g f a u l t - t o l e r a n c e t o A 8 , r e s p e c t i v e l y . ( 0 F 1 : : ( m S t a t u s = I N I T ) A ( 1 S : 1 : S 2 ) w a i t ; F 2 : : ( m S t a t u s = S T A N D B Y ) A t ( i C o r r u p t S e n s o r = 1 ) A ( 2 S y S 3 ) L w a i t ; t F 3 : : ( m S t a t u s = A W A I T ) A ( 2 S 2 S 3 ) A w a i t ; F 4 : : ( e S e n s o r R e a d i n g 7 Q _ L ) — — > e S e n s o r R e a d i n g : = J _ ; F i g u r e 8 . 3 : F a u l t t i m e d a c t i o n s i n A S . 1 2 9 S T A N D B Y $ i C o r r u p t S e n s o S T A N D B Y r = O ‘ S T A N D B Y i C o r r u p t S e n s o r = l y = 0 A W A I T i A l t B e l o w = l S T A N D B Y A W A I T i C o r r u p t S e n s o r = l 2 < z < 3 O < y < l A W A I T = O i A l t B e l o w = 1 z = O S T A N D B Y i C o r r u p t S e n s o r = l y = 1 S T A N D B Y i C o r r u p t S e n s o r = l l < y < 2 S T A N D B Y i C o r r u p t S e n s o r = 1 y = 2 L e g e n d P r o g r a m — > F a u l t — ) ‘ S T A N D B Y I n v a r i a n t O i C o r r u p t S e n s o r = l 1 C o r r u p t S e n s o r = 1 F a u l t - S p a n o 2 ( y < 3 2 < y < 3 0 < I < 1 ’ = 0 F i g u r e 8 . 4 : R e g i o n g r a p h w i t h r e s p e c t t o f a u l t - s p a n o f A 8 . 8 . 2 A d d i n g N o n m a s k i n g F a u l t - T o l e r a n c e I n t h i s s e c t i o n , w e p r e s e n t a s y n t h e s i s a l g o r i t h m f o r a d d i n g n o n m a s k i n g f a u l t — t o l e r a n c e t o a g i v e n f a u l t - i n t o l e r a n t p r o g r a m P . I n t u i t i v e l y , t o d e r i v e a n o n m a s k i n g f a u l t - t o l e r a n t p r o g r a m P ] , w e n e e d t o e n s u r e t h a t i f t h e s t a t e o f P I i s p e r t u r b e d o r d e l a y e d b y f a u l t s t h e n i t r e c o v e r s t o a s t a t e i n t h e i n v a r i a n t w i t h i n a p r e — s p e c i fi e d r e c o v e r y t i m e . T o t h i s e n d , w e fi r s t i n t r o d u c e t h e p r o c e d u r e A d d _ B o u n d e d R e c o v e r y , w h i c h 1 3 0 g u a r a n t e e s b o u n d e d - t i m e r e c o v e r y f r o m a s o u r c e s t a t e p r e d i c a t e , s a y P , t o a t a r g e t s t a t e p r e d i c a t e , s a y Q , w i t h i n a r e q u i r e d r e c o v e r y t i m e , s a y 6 , i n t h e p r e s e n c e o f f a u l t s . O b v i o u s l y , s u c h r e c o v e r y m e c h a n i s m c a n b e e x p r e s s e d a s t h e b o u n d e d r e s p o n s e p r o p e r t y P 1 — > S 0 - Q . T h u s , m o r e f o r m a l l y , o u r g o a l i s t o e n s u r e t h a t t h e s y n t h e s i z e d p r o g r a m P ’ s a t i s fi e s P H S c i Q e v e n i n t h e p r e s e n c e o f f a u l t s . W e r e u s e t h i s a l g o r i t h m i n t h i s s e c t i o n a s w e l l a s i n S e c t i o n s 8 . 3 a n d 8 . 4 t o d e s i g n s y n t h e s i s a l g o r i t h m s f o r a d d i n g n o n m a s k i n g , h a r d - f a i l s a f e , a n d s o f t - m a s k i n g f a u l t - t o l e r a n c e , r e s p e c t i v e l y . B e f o r e w e d e s c r i b e o u r s y n t h e s i s a l g o r i t h m s , w e m a k e t h e f o l l o w i n g a s s u m p t i o n s i n t h e c o n t e x t o f r e a l - t i m e f a u l t - t o l e r a n t p r o g r a m s A s s u m p t i o n 8 . 2 . 1 W e a s s u m e t h a t f a u l t s a r e i m m e d i a t e l y d e t e c t a b l e a n d t h a t g i v e n a s t a t e o f t h e p r o g r a m , w e c a n d e t e r m i n e t h e n u m b e r o f f a u l t s t h a t h a v e o c c u r r e d i n r e a c h i n g t h a t s t a t e . T h i s a s s u m p t i o n i s n e e d e d o n l y f o r a d d i t i o n o f h a r d f a u l t - t o l e r a n c e a n d i s r e a l i s t i c i n m a n y c o m m o n l y - c o n s i d e r e d s y s t e m s . F o r i n s t a n c e , i n m u l t i p r o c e s s o r s c h e d u l i n g t h e o r y , a p r o c e s s o r - c r a s h i s i m m e d i a t e l y d e t e c t a b l e a n d i t s n u m b e r o f o c c u r r e n c e s i s e a s i l y t r a c e a b l e . N o t e t h a t o n e c a n m o d e l f a u l t s w h o s e d e t e c t i o n i s s u b j e c t t o t i m e d e l a y s b y a p a i r o f f a u l t t r a n s i t i o n s : fi r s t a d e l a y f a u l t a n d t h e n t h e o r i g i n a l f a u l t t r a n s i t i o n . B a s e d o n t h i s a s s u m p t i o n , w e a u g m e n t f a u l t t i m e d a c t i o n s w i t h a t i m e r t t h a t i s r e s e t u p o n o c c u r r e n c e . I A s s u m p t i o n 8 . 2 . 2 O b s e r v e t h a t t h e a b o v e f o r m u l a t i o n o f p r o g r a m c o m p u t a t i o n s i n t h e p r e s e n c e o f f a u l t s g u a r a n t e e s t h a t t h e n u m b e r o f o c c u r r e n c e o f f a u l t s i n a l l c o m p u t a t i o n s i s fi n i t e . H o w e v e r , s i n c e w e d e a l w i t h r e a l - t i m e p r o g r a m s a n d o u r g o a l i s t o d e s i g n t r a n s f o r m a t i o n a l g o r i t h m s t h a t g u a r a n t e e b o u n d e d - t i m e r e c o v e r y 1 3 1 i n t h e p r e s e n c e o f f a u l t s , w e a s s u m e t h a t t h e n u m b e r o f o c c u r r e n c e o f f a u l t s i n a l l c o m p u t a t i o n s i s b o u n d e d b y s o m e i n t e g e r n E Z 2 0 . T h i s a s s u m p t i o n i s r e a s o n a b l e i n m a n y c o m m o n l y - c o n s i d e r e d f a u l t - t o l e r a n t r e a l - t i m e p r o g r a m s . I n f a c t , i t c a n b e t r i v i a l l y s h o w n t h a t p r o v i d i n g b o u n d e d - t i m e r e c o v e r y i n t h e p r e s e n c e o f u n b o u n d e d n u m b e r o f a r b i t r a r y f a u l t s i s n o t p o s s i b l e . I A s s u m p t i o n 8 . 2 . 3 L e t P = ( H p , I n v p ) b e a p r o g r a m t h a t s a t i s fi e s s p e c i fi c a t i o n S P E C f r o m I n v p i n t h e a b s e n c e o f f a u l t s . T h u s , s i n c e P s a t i s fi e s S P E C ; E A Z " : ‘ 0 ( P 2 - H S d z - Q i l v w i t h o u t l o s s o f g e n e r a l i t y , w e a s s u m e t h a t f o r e a c h b o u n d e d r e s p o n s e p r o p e r t y ( P , - H s d i Q t ) » 1 S i S m , P a l r e a d y h a s a c l o c k v a r i a b l e t h a t i s r e s e t o n t r a n s i t i o n s , s a y ( 0 0 , 0 1 ) t h a t o r i g i n a t e w h e r e o E P , - a n d 0 1 E P i - T h i s c l o c k v a r i a b l e a c t s a s a t i m e r i n o r d e r t o k e e p t r a c k o f t i m e w h e n P , - b e c o m e s t r u e . I 8 . 2 . 1 A d d i n g B o u n d e d - T i m e R e c o v e r y i n t h e P r e s e n c e o f F a u l t s A l g o r i t h m s k e t c h . W e n o w d e v e 1 0 p a p r o c e d u r e t h a t a d d s b o u n d e d - t i m e r e c o v e r y t o a g i v e n r e g i o n g r a p h f r o m a n a r b i t r a r y s t a t e p r e d i c a t e P t o a n o t h e r s t a t e p r e d i c a t e Q w i t h i n 5 t i m e u n i t s . T h e p r o c e d u r e h a s f o u r p h a s e s . F i r s t , w e t r a n s f o r m t h e r e g i o n g r a p h i n t o a w e i g h t e d d i r e c t e d g r a p h ( c a l l e d M a x D e l a y d i g r a p h [ C Y 9 1 ] ) , i n w h i c h t h e l e n g t h o f a p a t h f r o m a s o u r c e v e r t e x u s t o a t a r g e t v e r t e x ” t i s e q u a l t o t h e t h e d e l a y f o r r e a c h i n g t h e r e g i o n t h a t c o r r e s p o n d s t o v t f r o m t h e r e g i o n t h a t c o r r e s p o n d s t o v s . W e u s e t h i s d i g r a p h t o i d e n t i f y a n d e x c l u d e t h e c o m p u t a t i o n s t h a t v i o l a t e P H 3 5 Q . T h u s , i n P h a s e 2 , w e r a n k v e r t i c e s o f t h e M a x D e l a y d i g r a p h b y a p p l y i n g 1 3 2 F i g u r e 8 . 5 : A d j u s t e d s h o r t e s t p a t h . a n a d j u s t e d D i j k s t r a ’ s s h o r t e s t p a t h a l g o r i t h m . T h i s a l g o r i t h m a d j u s t s t h e l e n g t h o f t h e s h o r t e s t p a t h f r o m a s o u r c e t o a t a r g e t v e r t e x b y t a k i n g t h e a m o u n t o f t i m e w a s t e d b y o c c u r r e n c e o f f a u l t s i n t o a c c o u n t . F o r i n s t a n c e , s u p p o s e t h a t a c o m p u t a t i o n s t a r t s f r o m a s t a t e 0 0 E P . N o w , i f f a u l t s t a k e t h e c o m p u t a t i o n t o a s t a t e w h e r e s o m e c o m p u t a t i o n p r e fi x s h o u l d b e r e d o n e , t h e m a x i m u m d e l a y o f t h a t c o m p u t a t i o n t o r e a c h Q i s o b v i o u s l y i n c r e a s e d . H e n c e , w e a d j u s t t h e l e n g t h o f t h e s h o r t e s t p a t h f r o m 0 0 t o Q s u c h t h a t t h e a m o u n t o f t i m e w a s t e d b y e v e r y o c c u r r e n c e o f f a u l t s i s c o n s i d e r e d ( c f . F i g u r e 8 . 5 f o r a n e x a m p l e ) . I n P h a s e 3 , w e i n c l u d e r e g i o n s a n d e d g e s w h o s e r a n k i s a t m o s t t h e r e q u i r e d r e s p o n s e t i m e 6 . F i n a l l y , i n P h a s e 4 , w e t r a n s f o r m t h e s y n t h e s i z e d M a x D e l a y d i g r a p h b a c k i n t o a r e g i o n g r a p h . W e n o t e t h a t t h e t r a n s f o r m a t i o n o f r e g i o n g r a p h s t o M a x D e l a y d i g r a p h s i s p r e c i s e l y t h e s a m e a s w h a t d e s c r i b e d i n S e c t i o n 6 . 1 . O u r n o t a t i o n a l s o f o l l o w s t h e n o t a t i o n i n S e c t i o n 6 . 1 . I n p a r t i c u l a r , r e c a l l t h a t 7 i s a b i j e c t i o n t h a t m a p s e a c h r e g i o n i n R ( P ) t o i t s c o r r e s p o n d i n g v e r t e x i n t h e M a x D e l a y d i g r a p h . A l s o , I ‘ i s a b i j e c t i o n t h a t m a p s e a c h r e g i o n p r e d i c a t e R ( P ) t o i t s c o r r e s p o n d i n g s e t o f v e r t i c e s i n t h e M a x D e l a y d i g r a p h . W e n o w d e s c r i b e t h e p r o c e d u r e A d d _ B o u n d e d R e c o v e r y ( c f . P r o c e d u r e 8 . 1 ) i n d e t a i l : 1 3 3 0 ( P h a s e 1 ) G i v e n a r e g i o n g r a p h R ( P ) , w e fi r s t t r a n s f o r m s i t i n t o a M a x D e l a y d i g r a p h G = ( V , A ) ( L i n e 1 ) . R e c a l l t h a t , b y A s s u m p t i o n 8 . 2 . 1 , f a u l t s a r e d e t e c t a b l e a n d P h a s a v a r i a b l e t h a t s h o w s h o w m a n y f a u l t s h a v e o c c u r r e d i n a c o m p u t a t i o n . T h u s , w e l e t ( V i , A i ) b e t h e p o r t i o n o f G , i n w h i c h n - — i f a u l t s h a v e o c c u r r e d , w h e r e 0 S i S n ( L i n e 2 ) . M o r e s p e c i fi c a l l y , i n i t i a l l y , a c o m p u t a t i o n s t a r t s f r o m t h e p o r t i o n G " w h e r e n o f a u l t s h a v e o c c u r r e d . I f a f a u l t o c c u r s i n a c o m p u t a t i o n t h a t i s c u r r e n t l y i n p o r t i o n G i , t h e c o m p u t a t i o n w i l l p r o c e e d i n p o r t i o n G i — l . W e u s e t h e s e p o r t i o n s t o v e r i f y w h e t h e r i t i s p o s s i b l e t o r e a c h a v e r t e x i n I ‘ ( Q T ) f r o m e a c h v e r t e x i n F ( P T ) w i t h i n 6 t i m e u n i t s . 0 ( P h a s e 2 ) N e x t , w e r a n k v e r t i c e s o f a l l p o r t i o n s o f G u s i n g a m o d i fi e d D i j k s t r a ’ s s h o r t e s t p a t h a l g o r i t h m , w h i c h t a k e s s t a t e p e r t u r b a t i o n s a n d d e l a y f a u l t s i n t o a c c o u n t ( l i n e s 3 - 1 5 i n P r o c e d u r e 8 . 1 a n d P r o c e d u r e 8 . 2 ) . M o r e s p e c i fi c a l l y , s i n c e n o f a u l t s o c c u r i n G O , w e fi r s t l e t t h e r a n k o f e a c h v e r t e x v E V 0 b e t h e l e n g t h o f s t a n d a r d D i j k s t r a ’ s s h o r t e s t p a t h f r o m v t o I ‘ ( Q r ) O ( L i n e 4 ) . N o w , l e t v 0 b e a v e r t e x i n V i w h e r e 1 S i S n , a n d l e t v l b e a v e r t e x i n V Z T I , s u c h t h a t ( 7 _ 1 ( v 0 ) , 7 — 1 ( v 1 ) ) i s a f a u l t e d g e i n R ( P ) w h e r e 1 ’ 0 i s o n a p a t h f r o m I ‘ ( P T ) t o F ( Q T ) . T h e r e e x i s t t w o c a s e s : ( 1 ) t h e f a u l t e d g e ( 7 _ 1 ( v 0 ) , 7 _ 1 ( v 1 ) ) d e c r e a s e s o r d o e s n o t c h a n g e t h e c o m p u t a t i o n d e l a y , i . e , t h e l e n g t h o f t h e s h o r t e s t d i s t a n c e f r o m v l t o I ‘ ( Q 7 " ) 7 : _ 1 i s l e s s t h a n o r e q u a l t o t h e l e n g t h o f t h e s h o r t e s t d i s t a n c e f r o m v 0 t o I ‘ ( Q T ) i , a n d ( 2 ) t h e f a u l t e d g e ( 7 _ 1 ( v 0 ) , 7 _ 1 ( v 1 ) ) i n c r e a s e s t h e c o m p u t a t i o n d e l a y , i . e . , t h e l e n g t h o f t h e s h o r t e s t d i s t a n c e f r o m 1 1 1 t o I ‘ ( Q 7 ‘ ) i _ 1 1 3 4 P r o c e d u r e 8 . 1 A d d _ B o u n d e d R e c o v e r y I n p u t : r e g i o n g r a p h R ( P ) = ( H T , I n v 5 3 ) , s e t o f f a u l t e d g e s F 7 ' , r e g i o n p r e d i c a t e s O u t p u t : r e v i s e d r e g i o n g r a p h ( H T 6 . 1 0 : 1 1 : 1 2 : 1 3 : 1 4 : 1 5 : 1 6 : P T , Q T , a n d i n t e g e r s n a n d 6 , , I n v ; , ) b y a d d i n g b o u n d e d - t i m e r e c o v e r y f r o m 1 ’ P T t o Q r i n t h e p r e s e n c e o f F , a n d , t h e s e t n s o f r e g i o n s f r o m w h e r e P H < 6 Q m a y b e v i o l a t e d i n t h e p r e s e n c e o f f a u l t s . — : ( V , A ) : = C o n s t r u c t M a x D e l a y G r a p h ( R ( P ) : ( H g ) , I n v a ) , F T ) ; { P h a s e 1 } L e t G L = ( V L , A L ) b e t h e p o r t i o n o f G , i n w h i c h ( n — i ) f a u l t s h a v e o c c u r r e d , w h e r e 0 S i S n ; I e a c h v e r t e x v E V 0 { P h a s e 2 } R a n k ( v ) : = L e n g t h o f t h e s t a n d a r d s h o r t e s t p a t h f r o m v t o I ‘ ( Q r ) 0 ; i = 1 t o n . e a c h v e r t e x v O E V L : V ; : = M 6 W 1 | ( 7 - 1 ( v 0 ) , 1 ‘ 1 ( v 1 ) ) € F r } ; v f 7 9 { 1 M i n R a n k ( v O ) : 2 m a x { ( R a n k ( v l ) + W e i g h t ( v 0 , v 1 ) ) f o r a l l v 1 E V f } ; M i n R a n k ( v 0 ) : — — 0 ; A d j u s t S h o r t e s t P a t h s ( ( V L , A L ) , ( Q T ) L ) ; { C o n s t r u c t i n g a s u b g r a p h o f e a c h p o r t i o n s u c h t h a t t h e l o n g e s t d i s t a n c e b e t w e e n I ‘ ( P T ) a n d I ‘ ( Q T ) i s a t m o s t 6 a n d t h e n a d d i n g t h e a r c s a n d v e r t i c e s t h a t d o n o t a p p e a r o n p a t h s f r o m F ( P T ) t o I ‘ ( Q T ) } i = 0 t o 7 1 { P h a s e 3 . 1 } ( V ’ L , A L L ) : 2 { } ; e a c h v e r t e x v E I ‘ ( P T ) L R a n k ( v ) S 6 1 1 : : t h e s h o r t e s t p a t h f r o m v t o F ( Q T ) L ; V L L : = V ’ L U { u | u i s o n 1 1 } ; A L L = A ’ L U { a | a i s o n I I } ; A — — A ’ 1 u { < u v ) 6 A t | u e v ’ i v M n 6 n e w } ; V ’ L z — - V ’ L U { u I 3 v : ( ( u , v ) E A ’ L V ( v , u ) E A L L ) } ; A d d a d d i t i o n a l p a t h s f r o m F ( P T ) t o I ‘ ( Q T ) ; ( s e e R e m a r k 8 . 2 . 4 ) ; { P h a s e 3 . 2 } { T r a n s f o r m i n g w e i g h t e d d i g r a p h G , i n t o a r e g i o n g r a p h } T 7 , ; 1 : { ( 7 ’ 1 fl ‘ 2 ) 6 T } ; l ( ( 7 ( 7 ‘ 1 ) . 7 ( r 2 ) ) 6 A L ) V 3 7 ‘ 0 = W e i g h t ( “ r ( r 0 ) . v ( 7 ‘ 1 ) ) = 1 — 6 } ; { P h a s e 4 } n s : = { r l ” 7 ( r ) E ( V — V L ) } ; r e t u r n T ” , a s ; i s g r e a t e r t h a n t h e l e n g t h o f t h e s h o r t e s t d i s t a n c e f r o m 1 1 0 t o F ( Q T ) L ( c f . F i g u r e 8 . 5 f o r a n e x a m p l e ) . W h i l e t h e f o r m e r c a s e d o e s n o t c a u s e v i o l a t i o n o f P 1 — > < ( 5 Q i n t h e p r e s e n c e o f f a u l t s , t h e l a t e r m a y d o . H e n c e , w e s e t t h e r a n k o f v 0 E V L t o 1 3 5 P r o c e d u r e 8 . 2 A d j u s t S h o r t e s t P a t h s I n p u t : d i r e c t e d w e i g h t e d g r a p h G L 2 ( V L , A L ) : a n d s e t o f v e r t i c e s V q { A d j u s t s t h e r a n k o f e a c h v e r t e x b a s e d o n t h e r a n k s c o m p u t e d i n A d d _ B o u n d e d R e c o v e r y } 1 : A p p l y D i j k s t r a ’ s s h o r t e s t p a t h o n a l l s o u r c e v e r t i c e s v E V L t o s i n k v e r t i c e s V q w i t h t h e f o l l o w i n g m o d i fi c a t i o n : D i j k s t r a ’ s s h o r t e s t p a t h c o m p u t e s a l e n g t h l e s s t h a n M i n R a n k ( v ) 2 : R a n k ( v ) : 2 M i n R a n k ( v ) ; 3 : R a n k ( v ) : 2 l e n g t h o f D i j k s t r a ’ s s h o r t e s t p a t h f r o m v t o V q ; a t l e a s t t h e r a n k o f 1 1 1 E V L _ 1 . M o r e o v e r , i f t h e r e e x i s t m u l t i p l e f a u l t e d g e s a t 7 _ 1 ( v o ) ( L i n e 8 ) t h e n w e t a k e t h e m a x i m u m r a n k ( L i n e 1 0 ) . I f t h e r e e x i s t n o f a u l t e d g e s a t r e g i o n 7 _ 1 ( v 0 ) , w e t e m p o r a r i l y l e t t h e r a n k o f c o b e 0 ( L i n e 1 1 ) . A f t e r c o m p u t i n g t h e r a n k o f v e r t i c e s f r o m w h e r e f a u l t s m a y o c c u r , w e a d j u s t t h e r a n k o f t h e r e s t o f v e r t i c e s f r o m w h e r e f a u l t s d o n o t o c c u r b y i n v o k i n g t h e p r o c e d u r e A d j u s t S h o r t e s t P a t h ( L i n e 1 2 ) . 0 ( P h a s e 3 ) N o w , f o r e a c h p o r t i o n G L , w e c o n s t r u c t a s u b g r a p h o f G L w h o s e l o n g e s t d i s t a n c e f r o m e a c h v e r t e x i n I ‘ ( P T ) L t o I ‘ ( Q T ) L i s a t m o s t 6 ( L i n e s 1 7 - 2 7 ) . W e b e g i n w i t h a n e m p t y d i g r a p h ( V , L , A L L ) a n d w e fi r s t i n c l u d e t h e s h o r t e s t p a t h s f r o m e a c h v e r t e x v E F ( P T ) L t o I ‘ ( Q T ) L , p r o v i d e d R a n k ( v ) S 6 ( L i n e s 1 9 - 2 3 ) . N e x t , w e i n c l u d e t h e r e m a i n i n g a r c s a n d v e r t i c e s i n G L L , s o t h a t n o a r c s o f t h e f o r m ( v 0 , v 1 ) , w h e r e v 0 i s o n a p a t h f r o m I ‘ ( P T ) L t o I ‘ ( Q T ) L a r e a d d e d ( L i n e s 2 5 - 2 6 ) . N o t e t h a t i f w e a d d a n a r e t h a t o r i g i n a t e s a t a v e r t e x o n a p a t h f r o m I ‘ ( P T ) L t o I ‘ ( Q T ) L , w e c a n n o t g u a r a n t e e t h a t t h e r e s u l t a n t n e w p a t h r e a c h e s F ( Q T ) L w i t h i n 6 . R e m a r k 8 . 2 . 4 O b s e r v e t h a t s i n c e w e d o n o t i n c l u d e a l l l e g i t i m a t e p a t h s f r o m 1 3 6 I ‘ ( P T ) t o I ‘ ( Q T ) , t h e r e s u l t a n t p r o g r a m i s n o t m a x i m a l i n t e r m s o f t r a n s i t i o n s . H o w e v e r , o n e c a n i n c l u d e a d d i t i o n a l p a t h s ( w h i c h a r e n o t n e c e s s a r i l y s h o r t e s t p a t h s ) a s l o n g a s t h e i r a d d i t i o n d o n o t v i o l a t e t h e g i v e n b o u n d e d r e s p o n s e p r o p e r t y ( P h a s e 3 . 2 ) . S u c h a d d i t i o n c a n b e a c h i e v e d u s i n g g r a p h t h e o r e t i c p o l y n o m i a l t i m e a l g o r i t h m s f o r fi n d i n g k - s h o r t e s t p a t h s ( e . g . , [ E p p 9 9 ] ) . 0 ( P h a s e 4 ) I n t h e l a s t p h a s e , w e fi r s t . t r a n s f o r m t h e d i g r a p h G ’ b a c k i n t o a r e g i o n g r a p h ( L i n e 2 9 ) . T h e n , w e r e t u r n t h e s e t T ” f ; o f e d g e s f r o m w h e r e P 1 — + < 5 Q m a y n o t b e v i o l a t e d e v e n i n t h e p r e s e n c e o f f a u l t s , a n d t h e s e t u s o f r e g i o n s f r o m w h e r e P H S 6 Q m a y b e v i o l a t e d i n t h e p r e s e n c e o f f a u l t s ( L i n e s 3 0 — 3 1 ) . 8 . 2 . 2 A d d i n g N o n m a s k i n g F a u l t - T o l e r a n c e U s i n g B o u n d e d - T i m e R e c o v e r y I n o r d e r t o s y n t h e s i z e a n o n m a s k i n g p r o g r a m , i t o n l y s u f fi c e s t o a d d b o u n d e d - t i m e r e c o v e r y f r o m t h e f a u l t - s p a n t o t h e i n v a r i a n t o f t h e i n t o l e r a n t p r o g r a m , a s a n o n - m a s k i n g p r o g r a m i s n o t r e q u i r e d t o s a t i s f y i t s s a f e t y s p e c i fi c a t i o n i n t h e p r e s e n c e o f f a u l t s . A l g o r i t h m s k e t c h . I n t u i t i v e l y , o u r a l g o r i t h m f o r a d d i n g n o n m a s k i n g f a u l t - t o l e r a n c e c o n s i s t s o f t h r e e m a i n p h a s e s . I n P h a s e 1 , w e t r a n s f o r m t h e i n t o l e r a n t p r o g r a m i n t o i t s r e g i o n g r a p h . T h e n , i n P h a s e 2 , w e r e c o m p u t e t h e s e t o f p r o g r a m t r a n s i t i o n s , i n v a r i a n t , a n d f a u l t - s p a n i n a l o o p s o t h a t : ( 1 ) t h e f a u l t - s p a n i s c l o s e d i n t h e s e t o f p r o g r a m t r a n s i t i o n s i n t h e p r e s e n c e o f f a u l t s , ( 2 ) p r o g r a m i n v a r i a n t i s d e a d l o c k - f r e e a n d i t i s a s u b s e t o f t h e f a u l t - s p a n , a n d ( 3 ) f r o m e a c h s t a t e i n t h e f a u l t - 1 3 7 A l g o r i t h m 8 . 3 A d d _ N o n m a s k i n g I n p u t : r e a l - t i m e p r o g r a m P = ( 1 1 7 3 , I n v p ) , t r a n s i t i o n p r e d i c a t e F , i n t e g e r s n , 6 O u t p u t : a n o n m a s k i n g f a u l t - t o l e r a n t p r o g r a m P ’ = ( H ’ P ’ J m ’ P ’ l w i t h b o u n d e d - t i m e r e c o v e r y 6 . 1 : ( 1 1 % , I n v r p ) , F r : = C o n s t r u c t R e g i o n G r a p h ( ( H p , I n v p ) , F ) ; { P h a s e 1 } 2 : S r : = 8 . 7 " ) ; 3 : r e p e a t { P h a s e 2 } 4 : S 5 , I n v g : 2 S i , I n v L I ' ; 5 : T £ 1 : = T ' E l l n v i ' U { ( ( 8 0 , p 0 ) , ( . 3 1 , / ) 1 ) ) I ( 8 0 , , 0 0 ) 6 ( S i — I n v ? ) / \ ( 8 1 , p 1 ) E D } S 7 1 " A 3 , 0 2 | p 2 i s a t i m e — s u c c e s s o r o f p o : ( 3 A Q X : p 1 2 p 2 [ / \ - — { t } z : 0 ; 6 : T $ 3 1 , 7 1 8 : 2 A d d _ B o u n d e d R e c o v e r y ( ( 1 ' I L ‘ 1 , 1 n v % 1 ) , F T , S ' f — I n v 7 1 ' , 1 n v 7 1 ' , n , 6 ) ; 7 : S ; : = C o n s t r u c t F a u l t S p a n ( S { - — a s , F T ) ; 8 : I n v l l a : = R e m o v e D e a d l o c k s U n v L i fl S { , T 7 7 3 1 ) ; 9 : i f ( I n l e ' = { } V S T = { } ) t h e n 1 0 : d e c l a r e n o n o n m a s k i n g F - t o l e r a n t p r o g r a m P , e x i s t s ; 1 1 : e x i t ( ) ; 1 2 : e n d i f 1 3 : u n t i l ( S ; = 8 5 A l u v ? 2 I n v g ) ; 1 4 : ( 1 1 1 ) , , I n v p l ) z : C o n s t r u c t R e a l T i m e P r o g r a m ( ( H 5 3 1 , I n v r p 1 ) ) ; { P h a s e 3 } s p a n , t h e r e e x i s t s a p a t h o f l e n g t h a t m o s t t h e d e s i r a b l e r e c o v e r y t i m e w h i c h e n d s a t a s t a t e i n t h e i n v a r i a n t . T h i s l o o p t e r m i n a t e s w h e n a fi x p o i n t i n r e c o m p u t i n g t h e f a u l t - s p a n a n d i n v a r i a n t i s r e a c h e d . F i n a l l y , i n P h a s e 3 , w e t r a n s f o r m t h e r e s u l t a n t r e g i o n g r a p h f r o m P h a s e 2 b a c k i n t o a r e a l - t i m e p r o g r a m . W e n o w d e s c r i b e t h e a l g o r i t h m A d d - N o n m a s k i n g ( c f . A l g o r i t h m 8 . 3 ) i n d e t a i l . L e t P = ( 1 1 7 , , I n v p ) b e a f a u l t - i n t o l e r a n t p r o g r a m a n d F b e a s e t o f f a u l t s . I n o r d e r t o d e r i v e a n o n m a s k i n g p r o g r a m P L w i t h r e c o v e r y t i m e 6 f r o m P , w e m e r e l y n e e d t o a d d r e c o v e r y f r o m f a u l t - s p a n S p t o t h e i n v a r i a n t I n v p w i t h i n 6 . I n o t h e r w o r d s , a d d i n g n o n m a s k i n g f a u l t - t o l e r a n c e r e d u c e s t o a d d i n g t h e b o u n d e d r e s p o n s e p r o p e r t y S p 1 — — > < 5 I n v p i n t h e p r e s e n c e o f F . D e t a i l e d s t e p s o f t h e a l g o r i t h m a r e a s f o l l o w s : 1 3 8 0 ( P h a s e I ) W e fi r s t t r a n s f o r m t h e r e a l - t i m e p r o g r a m P = ( H p , I n v p ) , i n v a r i - a n t S , a n d t h e s e t o f f a u l t t r a n s i t i o n s f i n t o a r e g i o n g r a p h R ( P ) 2 ( H T , I n v % ) , r e g i o n i n v a r i a n t m u g , a n d f a u l t e d g e s F 7 ‘ b y i n v o k i n g t h e p r o c e d u r e C o n s t r u c - t R e g i o n G r a p h ( L i n e 1 ) , a s d e s c r i b e d i n S u b s e c t i o n 2 . 3 . N e x t , w e l e t o u r i n i t i a l e s t i m a t e o f r e g i o n f a u l t - s p a n b e t h e e n t i r e r e g i o n s p a c e ( L i n e 2 ) . 0 ( P h a s e 2 ) N e x t , w e r e c o m p u t e t h e s e t T 7 7 5 1 o f e d g e s , r e g i o n f a u l t - s p a n S r , a n d r e g i o n i n v a r i a n t I n v L i u n t i l w e r e a c h a fi x p o i n t a s f o l l o w s ( L i n e s 3 - 1 3 ) : 1 . I n o r d e r t o c o m p u t e t h e s e t T P I o f e d g e s ( L i n e 5 ) , w e fi r s t i n c l u d e e d g e s i n T 7 7 5 | I n v 7 1 1 T h e n , i n o r d e r t o e n s u r e t h a t I n v l l ' i s r e a c h a b l e f r o m a l l r e g i o n s i n S T , w e a d d r e c o v e r y e d g e s t h a t o r i g i n a t e f r o m r e g i o n s i n S i — I n v L i a n d t e r m i n a t e a t r e g i o n s i n S ; w h e r e t h e t i m e - m o n o t o n i c i t y c o n d i t i o n i s p r e s e r v e d . N o t i c e t h a t t h e a l g o r i t h m a l l o w s a r b i t r a r y c l o c k r e s e t s d u r i n g r e c o v e r y ( e x c e p t t h e c l o c k v a r i a b l e t t h a t k e e p s t r a c k o f r e c o v e r y t i m e 6 ) . S i n c e s u c h c l o c k r e s e t s o c c u r o n l y i n s t a t e s o u t s i d e t h e i n v a r i a n t , w h e r e a n o n m a s k i n g p r o g r a m i s n o t r e q u i r e d t o s a t i s f y i t s s a f e t y s p e c i fi c a t i o n , t h e y a r e l e g i t i m a t e . A f t e r a d d i n g r e c o v e r y e d g e s , w e i n v o k e t h e p r o c e d u r e A d d _ B o u n d e d R e c o v e r y ( L i n e 6 ) . T h i s i n v o c a t i o n i d e n t i fi e s t h e s e t T 7 7 3 1 o f P r o c e d u r e 8 . 4 C o n s t r u c t F a u l t S p a n I n p u t : r e g i o n p r e d i c a t e S T a n d s e t o f e d g e s F r O u t p u t : t h e l a r g e s t s u b s e t o f S T t h a t i s c l o s e d i n F T 1 2 . 3 : 4 : w h i l e ( 3 7 0 , 7 ' 1 : r O E S T A r 1 E S T / \ ( r 0 , r 1 ) E F r ) d o S r 2 : S T — { r 0 } ; e n d w h i l e : r e t u r n S T ; 1 3 9 w e r h e n i I t d l n u v e w r r h n 3 : ( i 1 e 7 2 l I n ) v : L ' e n v I r n v — I { r : 0 } ( ; r ; V r l | ( r 1 # r 0 A r 1 6 I n v " ) : ( r 0 1 7 1 ) 9 ! T " ) ) d o P r o c e d u r e 8 . 5 R e m o v e D e a d l o c k s I n p u t : r e g i o n p r e d i c a t e I n v ' r a n d s e t o f e d g e s T r O u t p u t : t h e l a r g e s t s u b s e t o f I n v r f r o m w h e r e a l l c o m p u t a t i o n s o f T r a r e i n fi n i t e 1 : 2 : 3 : l e g i t i m a t e p r o g r a m e d g e s w i t h r e s p e c t t o o u r r e c o v e r y t i m e r e q u i r e m e n t , a n d t h e s e t n s o f r e g i o n s i n S T f r o m w h e r e r e c o v e r y w i t h i n 6 i s n o t p o s s i b l e . 1 . S i n c e a p r o g r a m d o e s n o t h a v e c o n t r o l o v e r o c c u r r e n c e o f f a u l t s , t h e s e t o f r e g i o n s f r o m w h e r e n s i s r e a c h a b l e b y t a k i n g f a u l t e d g e s a l o n e s h o u l d n o t b e r e a c h a b l e . T h u s , w e r e c o m p u t e t h e r e g i o n f a u l t - s p a n b y i n v o k i n g t h e p r o c e d u r e C o n s t r u c t F a u l t S p a n ( s e e P r o c e d u r e 8 . 4 ) w i t h p a r a m e t e r S f — n s ( L i n e 7 ) . T h i s p r o c e d u r e i t s e l f i s a l a r g e s t fi x p o i n t c o m p u t a t i o n . I n p a r t i c u l a r , i n p r o c e d u r e C o n s t r u c t F a u l t S p a n , w e k e e p r e m o v i n g t h e r e g i o n s f r o m w h e r e c l o s u r e o f f a u l t - s p a n i s v i o l a t e d t h r o u g h a f a u l t e d g e u n t i l n o s u c h r e g i o n s e x i s t . . N e x t , d u e t o t h e p o s s i b i l i t y o f r e m o v a l o f s o m e r e g i o n s a n d e d g e s i n t h e p r e v i o u s s t e p s , t h e a l g o r i t h m r e m o v e s d e a d l o c k r e g i o n s b y i n v o k i n g t h e p r o c e d u r e R e m o v e D e a d l o c k s ( s e e P r o c e d u r e 8 . 5 ) , w h i c h i s a l s o a l a r g e s t fi x p o i n t c a l c u l a t i o n ( L i n e 8 ) . N o t i c e t h a t s i n c e I n v ; m u s t b e a s u b s e t o f S T , w e i n v o k e t h e p r o c e d u r e R e m o v e D e a d l o c k s f o r I n v l l l ( 1 S i . I n t h e p r o c e d u r e R e m o v e D e a d l o c k s , w e r e q u i r e t h a t s e l f - l o o p s a t o p e n r e g i o n s a r e n o t c o n s i d e r e d a s o u t g o i n g e d g e s . W e w i l l u s e t h i s r e q u i r e m e n t t o p r o v e 1 4 0 t h a t c o m p u t a t i o n s o f t h e s y n t h e s i z e d p r o g r a m a r e t i m e - d i v e r g e n t . 0 ( P h a s e 3 ) F i n a l l y , u p o n r e a c h i n g a fi x p o i n t , t h e a l g o r i t h m t r a n s f o r m s t h e s y n t h e s i z e d r e g i o n g r a p h R ( P l ) 2 ( H r , I n v r p ) i n t o a r e a l — t i m e p r o g r a m P , = ( H p , , 1 n v p / ) ( L i n e 1 4 ) . T h e o r e m 8 . 2 . 5 T h e a l g o r i t h m A d d _ N o n m a s k i n g i s s o u n d a n d c o m p l e t e . P r o o f . F i r s t , w e s h o w t h a t t h e a l g o r i t h m i s s o u n d . T o t h i s e n d , w e n e e d t o p r o v e t h a t t h e a l g o r i t h m m e e t s t h e t h r e e c o n s t r a i n t s o f P r o b l e m S t a t e m e n t 7 . 3 . 2 . T h u s , w e p r o c e e d a s f o l l o w s : 1 . ( C 2 ) ( I n v p / \ X n ) Q I n v p . B y c o n s t r u c t i o n o f I n v p l , I n v p , i s o b t a i n e d b y r e m o v i n g z e r o o r m o r e s t a t e s i n S . T h e r e f o r e , t h i s c o n d i t i o n i s t r i v i a l l y s a t i s fi e d . . C . F r o m t h e c o n s t r u c t i o n o f T 7 3 , , t h e t r a n s i t i o n s i n T 7 ) a r e a s u b s e t o f t h e t r a n s i t i o n s i n T 7 ) . N o t e t h a t a l l t h e r e c o v e r y t r a n s i t i o n s t h a t t h e a l g o r i t h m A d d - N o n m a s k i n g a d d s i n L i n e 5 o r i g i n a t e o u t s i d e I n v p ] . T h e r e f o r e , c o n d i t i o n C 3 i s m e t . 3 . ( C 4 ) P , i s n o n m a s k i n g F - t o l e r a n t t o S P E C f r o m I n v P / . W e d i s t i n g u i s h t w o s u b g o a l s b a s e d o n t h e b e h a v i o r o f P L i n t h e a b s e n c e a n d p r e s e n c e o f f a u l t s : 0 F i r s t , w e n e e d t o s h o w t h a t i n t h e a b s e n c e o f f a u l t s , P L I = 1 n v p l S P E C . T o t h i s e n d , c o n s i d e r a c o m p u t a t i o n E o f T , t h a t s t a r t s i n I n v p ] : F r o m 7 ) 1 4 1 1 , ‘ 5 s t a r t s f r o m a s t a t e i n I n v p , a n d f r o m 2 , E i s a c o m p u t a t i o n o f T p . M o r e o v e r , s i n c e w e r e m o v e d e a d l o c k s t a t e s f r o m I n v p ] , i f E i s i n fi n i t e i n P t h e n i t i s i n fi n i t e i n 7 9 ’ a s w e l l . I t f o l l o w s t h a t a e S P E C . T h u s , e v e r y c o m p u t a t i o n o f T 7 ) , t h a t s t a r t s f r o m a s t a t e i n S ’ i s i n S P E C . A l s o , b y c o n s t r u c t i o n , I n v p , i s c l o s e d i n T , . F u r t h e r m o r e , s i n c e w e 7 ) r e m o v e d e a d l o c k r e g i o n s f r o m I n v g , f o r a l l o p e n r e g i o n s , s a y r 0 , i n I n v r 7 3 ’ t h e r e e x i s t s a n o u t g o i n g e d g e , s a y ( 1 0 , 7 1 ) , f o r s o m e r 1 E M u r p , w h e r e r 0 a é r 1 . C l e a r l y , s u c h a n e d g e c a n o n l y t e r m i n a t e a t a d i f f e r e n t c l o c k r e g i o n w h i c h i n t u r n a d v a n c e s t i m e . T h i s m e a n s t h a t i n t h e a b s e n c e o f f a u l t s o u r a l g o r i t h m d o e s n o t i n t r o d u c e t i m e - c o n v e r g e n t c o m p u t a t i o n s t o 7 9 ’ a n d , h e n c e , 7 9 ’ 1 : I n v p , S P E C . F i r s t , n o t i c e t h a t b y c o n s t r u c t i o n , S P , i s c l o s e d i n T p l l F - N o w , w e n e e d t o s h o w t h a t e v e r y c o m p u t a t i o n o f T P ’ U F t h a t s t a r t s f r o m a s t a t e i n S P ’ r e a c h e s a s t a t e i n I n v p , w i t h i n 6 t i m e u n i t s . C o n s i d e r a c o m p u t a t i o n ‘ 0 ' = ( 0 0 , r 0 ) — + ( 0 1 , T 1 ) — — > o f T p , [ ] F t h a t s t a r t s f r o m a s t a t e i n S p ] . L e t r 0 — > r 1 — — > b e t h e c o r r e s p o n d i n g s e q u e n c e o f r e g i o n s . I n t h e a l g o r i t h m , a f t e r t h e l o o p t e r m i n a t e s , b y c o n s t r u c t i o n o f G , ( P h a s e 2 ) i n t h e p r o c e d u r e A d d _ B o u n d e d R e c o v e r y , t h e f o l l o w i n g h o l d s : \ 7 ’ j : ( ( ( R a n k ( 7 ( r j ) ) S 6 A ( R a n k ( r y ( r j ) ) > 0 ) ) ) = > R a n k ( c / ( r j + 1 ) ) < R a n k ( y ( r j ) ) ) . S i n c e t h e r a n k o f r e g i o n s a r e i n t e g e r s , i t f o l l o w s t h a t t h e r e e x i s t s a r e g i o n r n s u c h t h a t r n E I n v ? ) w h i c h i n t u r n m e a n s t h a t f o r a l l s t a t e s a E r 1 4 2 i n c l u d i n g t h e o n e t h a t o c c u r s i n 2 ' 7 " , s a y ” I : a t g l o b a l t i m e r k , 0 k : E I n v p , a n d 7 k — r 0 S 6 . T h u s , c o m p u t a t i o n 6 ' r e a c h e s I n v p , w i t h i n 6 . T h i s a l s o m e a n s t h a t i n t h e p r e s e n c e o f f a u l t s a s w e l l , o u r a l g o r i t h m d o e s n o t i n t r o d u c e t i m e - c o n v e r g e n t c o m p u t a t i o n s t o P L , a s i t e v e n t u a l l y r e a c h e s a s t a t e i n t h e i n v a r i a n t . N o w , w e s h o w t h a t t h e a l g o r i t h m A d d - N o n m a s k i n g i s c o m p l e t e . I n t u i t i v e l y , i n o r d e r t o p r o v e t h e c o m p l e t e n e s s , w e s h o w t h a t i f o u r a l g o r i t h m r e m o v e s a s t a t e f r o m S p o r I n v p t h e n n o n o n m a s k i n g p r o g r a m t h a t m e e t s t h e c o n s t r a i n t s o f P r o b l e m S t a t e m e n t 7 . 3 . 2 c a n i n c l u d e t h a t s t a t e i n i t s f a u l t — s p a n o r i n v a r i a n t . T h u s , w h e n o u r a l g o r i t h m d e c l a r e s f a i l u r e , i t i m p l i e s t h a t t h e r e d o e s n o t e x i s t a l e g i t i m a t e s t a t e i n f a u l t — s p a n o r i n v a r i a n t o f a n y s o l u t i o n t o P r o b l e m S t a t e m e n t 7 . 3 . 2 . O b s e r v e t h a t t h e a l g o r i t h m r e m o v e s a s t a t e , s a y 0 1 , f r o m S p — I n v p , i f t h e r e d o e s n o t e x i s t a c o m p u t a t i o n t h a t s t a r t s f r o m 0 1 a n d r e a c h e s a s t a t e i n I n v p w i t h i n 6 i n t h e p r e s e n c e o f f a u l t s . I t f o l l o w s t h a t s u c h a s t a t e c a n n o t b e p r e s e n t i n t h e f a u l t - s p a n o f a n y n o n m a s k i n g p r o g r a m t h a t s a t i s fi e s t h e c o n s t r a i n t s o f P r o b l e m S t a t e m e n t 7 . 3 . 2 . N o w , c o n s i d e r t h e c a s e w h e r e 0 1 i s r e a c h a b l e f r o m a n o t h e r s t a t e , s a y 0 0 , i n S p b y t a k i n g f a u l t t r a n s i t i o n s a l o n e . I t f o l l o w s t h a t 0 0 a n d a l l s t a t e s i n t h e c o r r e s p o n d i n g c o m p u t a t i o n f r o m 0 0 t o ( 7 1 c a n n o t b e p r e s e n t i n t h e f a u l t - s p a n o f a n y n o n m a s k i n g p r o g r a m . F u r t h e r m o r e , i f r e m o v a l o f s u c h s t a t e s c r e a t e s o m e d e a d l o c k s t a t e s i n s i d e t h e p r o g r a m i n v a r i a n t t h e n t h e i r r e m o v a l i s i n e v i t a b l e a s w e l l . T h u s , s t a t e s r e m o v e d b y o u r a l g o r i t h m c a n n o t b e p r e s e n t i n a n y n o n m a s k i n g p r o g r a m . O u r a l g o r i t h m d e c l a r e s f a i l u r e w h e n e i t h e r t h e i n v a r i a n t o r f a u l t - s p a n o f t h e s y n - 1 4 3 t h e s i z e d p r o g r a m i s e q u a l t o t h e e m p t y s e t . I n o t h e r w o r d s , o u r a l g o r i t h m f a i l s t o fi n d a s e l u t i o n w h e n a l l s t a t e s o f t h e i n t o l e r a n t p r o g r a m a r e i l l e g i t i m a t e w i t h r e s p e c t t o P r o b l e m S t a t e m e n t 7 . 3 . 2 . T h e r e f o r e , t h e a l g o r i t h m A d d - N o n a s k i n g i s c o m p l e t e . I T h e o r e m 8 . 2 . 6 T h e p r o b l e m o f a d d i n g n o n m a s k i n g f a u l t - t o l e r a n c e t o a r e a l - t i m e p r o g r a m i s i n P S P A C E . P r o o f . O b s e r v e t h a t t h e a l g o r i t h m fi r s t g e n e r a t e s t h e r e g i o n g r a p h o f t h e i n t o l e r a n t p r o g r a m w h i c h i s k n o w n t o b e i n P S P A C E [ A D 9 4 ] . T h e n , i t p e r f o r m s a s e q u e n c e o f p o l y n o m i a l - t i m e p r o c e d u r e s ( e . g . , r e a c h a b i l i t y a n a l y s i s a n d fi n d i n g s h o r t e s t p a t h s ) i n " t h e s i z e o f t h e r e g i o n g r a p h . T h e r e f o r e , o u r a l g o r i t h m i s i n P S P A C E . I C a s e s t u d y ( c o n t ’ d ) . F i g u r e 8 . 6 i l l u s t r a t e s t h e r e g i o n g r a p h g e n e r a t e d b y t h e A l g o r i t h m A d d _ N o n m a s k i n g g i v e n A S a s t h e i n p u t p r o g r a m a n d r e c o v e r y t i m e 6 = 1 . A s c a n b e s e e n , n e w r e c o v e r y e d g e s a r e a d d e d f r o m a l l r e g i o n s i n t h e r e g i o n f a u l t — s p a n t o t h e r e g i o n s i n t h e i n v a r i a n t w h e r e a t l e a s t o n e c l o c k v a r i a b l e i s r e s e t o r t h e r e g i o n s w h e r e t h e s y s t e m i s i n t h e S T A N D B Y m o d e a n d n o a l t i t u d e s e n s o r f a i l u r e i s r e p o r t e d . N o t e t h a t , i n t h e u n t i m e d v e r s i o n o f A 8 , a n o n m a s k i n g p r o g r a m c o u l d h a v e r e c o v e r y t r a n s i t i o n s t h a t o r i g i n a t e f r o m f a u l t - s p a n a n d e n d a t a n y s t a t e i n t h e i n v a r i a n t . H o w e v e r , i n t h e t i m e d s e t t i n g , s i n c e w e d o n o t a l l o w t i m e d e c r e a s e s d u r i n g r e c o v e r y ( o f . L i n e 5 i n A l g o r i t h m 8 . 3 ) , t h e a l g o r i t h m m e r e l y a d d s r e c o v e r y e d g e s t h a t e i t h e r r e s e t a c l o c k v a r i a b l e o r l e t i t a d v a n c e t o a t i m e - s u c c e s s o r c l o c k r e g i o n . I n t h e c o n t e x t o f A S , o n e m a y a r g u e t h a t r e c o v e r y f r o m f a u l t — s p a n t o a s t a t e w h e r e t h e s y s t e m i s i n A W A I T m o d e t o p o w e r o n t h e D 0 1 i s n o t d e s i r a b l e a n d r e c o v e r y s h o u l d b e o n l y p o s s i b l e t o t h e I N I T m o d e . S u c h a c o n s t r a i n t c a n b e s p e c i fi e d b y 1 4 4 S T A N D B Y i D O I S t a t u s = 1 P r o g r a m — > R e c o v e r y — - - > F a u l t - ) I n v a r i a n t O F a u l t - s p a n O K h w m fi b m v = l 2 < y S 3 O S t < l F i g u r e 8 . 6 : R e g i o n g r a p h o f n o n m a s k i n g A 8 . A 8 9 1 : ( 0 S t < 1 ) M m S t a t u s : = I N I T A 8 1 0 : 1 ( 0 S t < 1 ) — > m S t a t u s , i C o r r u p t S e n s o r : = S T A N D B Y , 0 A 8 1 1 : : ( 0 S t < 1 ) M m S t a t u s : = S T A N D B Y A 8 1 2 : : ( 0 g t < 1 ) M » m S t a t u s : 2 A W A I T A 8 1 3 : : ( 0 S t < I ) — > w a i t F i g u r e 8 . 7 : R e c o v e r y t i m e d g u a r d e d c o m m a n d s o f n o n m a s k i n g A S . a s a f e t y p r o p e r t y t h a t n e e d s t o b e m e t i n t h e p r e s e n c e o f f a u l t s . H o w e v e r , s i n c e n o n m a s k i n g p r o g r a m s a r e n o t r e q u i r e d t o s a t i s f y s a f e t y p r o p e r t i e s i n t h e p r e s e n c e o f f a u l t s , n o n m a s k i n g A 8 m a y c o n t a i n s u c h t r a n s i t i o n s . I n S e c t i o n 8 . 4 , i n s y n t h e s i z i n g 1 4 5 s o f t - m a s k i n g A 8 , w e w i l l c o n s t r a i n t h e r e c o v e r y m e c h a n i s m b y a s a f e t y s p e c i fi c a t i o n s u c h t h a t o n l y d e s i r a b l e r e c o v e r y t r a n s i t i o n s a r e a d d e d . T h e a l g o r i t h m d o e s n o t r e m o v e a n y s t a t e s f r o m t h e i n v a r i a n t , a s r e c o v e r y i s p o s - s i b l e f r o m a n y p e r t u r b e d o r d e l a y e d s t a t e ( i . e . , n s = { } ) . H e n c e , I n v A 5 . R e c o v e r y t i m e d a c t i o n s o f n o n m a s k i n g A 8 a r e p r e s e n t e d i n F i g u r e 8 . 7 . T h e r e s t o f t h e t i m e d g u a r d e d c o m m a n d s o f n o n m a s k i n g A 8 a r e t h e s a m e a s t h e i n t o l e r a n t A 8 . T h e t i m e d a c t i o n s i n c l u d e t r a n s i t i o n s t h a t a r e n o t i l l u s t r a t e d i n F i g u r e 8 . 6 . T h i s i s d u e t o t h e r e a s o n t h a t a l l t h e r e a c h a b l e r e g i o n s a r e n o t s h o w n i n F i g u r e 8 . 6 . T i m e d a c t i o n s a s s o c i a t e d w i t h t w o s e t s o f c l o c k v a r i a b l e s ( e . g . , { . r } / / { y , 2 } ) m e a n s t h a t t h e t i m e d a c t i o n r e s e t s a l l t h e c l o c k v a r i a b l e s i n t h e fi r s t s e t ( i . e . , { r } ) a n d a s u b s e t o f t h e s e c o n d s e t ( i . e . , e i t h e r { } , { y } , { z } , o r { y , z } ) . 8 . 3 A d d i n g S o f t a n d H a r d - F a i l s a f e F a u l t - T o l e r a n c e I n t h i s s e c t i o n , w e p r e s e n t o u r a l g o r i t h m s f o r s y n t h e s i z i n g s o f t a n d h a r d - f a i l s a f e f a u l t - t o l e r a n t p r o g r a m s . R e c a l l t h a t , i n t u i t i v e l y , a s o f t — f a i l s a f e p r o g r a m i s r e q u i r e d t o s a t i s f y o n l y t h e u n t i m e d p a r t o f i t s s a f e t y s p e c i fi c a t i o n i n t h e p r e s e n c e o f f a u l t s . A l s o , r e c a l l t h a t a h a r d - f a i l s a f e p r o g r a m s a t i s fi e s i t s u n t i m e d p a r t o f s a f e t y s p e c i fi c a t i o n a s w e l l a s i t s t i m i n g c o n s t r a i n t s i n t h e p r e s e n c e o f f a u l t . 8 . 3 . 1 A d d i n g S o f t - F a i l s a f e F a u l t - T o l e r a n c e A s m e n t i o n e d i n S e c t i o n 2 . 2 , t h e s a f e t y s i m c i fi c a t i o n c o n s i s t s o f a s e t S P E C b t o f b a d t r a n s i t i o n s a n d a c o n j u n c t i o n S P E C b — r o f m u l t i p l e b o u n d e d r e s p o n s e p r o p e r t i e s . I n 1 4 6 1 2 ; : ; T ( ( 1 1 P 1 ; ” 3 1 ) ? , ” I n I v n I a v n s r v p ) , , p l z ) F : T , d A = : S _ o d C P U E n n s t C t i m g r t e u d c : F t = a R C l a i e o s l n a T s f i t e r ( u ( m e P I c r t I r o R g e , r g I a i n v m o l ( n ‘ ( G P ) H r , T a p F P T p ( h , ( S H P p E s C I n v ; , ) p ; I n v ) g ) t ; ) , F , S P E C b t ) § t h e p r e s e n c e o f f a u l t s , a s o f t — f a i l s a f e p r o g r a m i s r e q u i r e d t o m a i n t a i n S P E C R - o n l y . A l g o r i t h m s k e t c h . W e a d a p t t h e p r o p o s e d a l g o r i t h m i n [ K A E 0 7 ] , w h i c h a d d s f a i l s a f e f a u l t - t o l e r a n c e t o u n t i m e d p r o g r a m s . I n t u i t i v e l y , o u r a l g o r i t h m c o n s i s t s o f t h r e e m a i n p h a s e s . F i r s t , w e i d e n t i f y a n d r e m o v e t h e s e t o f s t a t e s a n d t r a n s i t i o n s f r o m w h e r e a s e q u e n c e o f f a u l t s a l o n e m a y t a k e t h e p r o g r a m t o a s t a t e w h e r e a f a u l t t r a n s i t i o n d i r e c t l y v i o l a t e s S P E C H . I n P h a s e 2 , w e e n s u r e t h a t t h i s r e m o v a l d o e s n o t c r e a t e n e w fi n i t e c o m p u t a t i o n s i n t h e a b s e n c e o f f a u l t s . T o t h i s e n d , w e r e m o v e d e a d l o c k s t a t e s f r o m t h e i n v a r i a n t . F i n a l l y , i n P h a s e 3 , w e e n s u r e t h e c l o s u r e o f t h e n e w p r o g r a m i n v a r i a n t i n t h e s e t o f p r o g r a m t r a n s i t i o n s . W e n o w d e s c r i b e t h e a l g o r i t h m A d d _ S o f t F a l i s a f e ( c f . A l g o r i t h m 8 . 6 ) i n d e t a i l . W e fi r s t t r a n s f o r m t h e i n t o l e r a n t p r o g r a m P = ( H P ’ I n v p ) i n t o i t s r e g i o n g r a p h R ( P ) = ( 1 1 ; ) , I n v r p ) ( L i n e 1 ) . S i n c e t h e r e g i o n g r a p h i s t i m e - a b s t r a c t e d , w e a p p l y t h e a l g o r i t h m f o r a d d i n g f a i l s a f e f a u l t - t o l e r a n c e ( f r o m [ K A E 0 7 ] ) t o t h e r e g i o n g r a p h o f P s o t h a t n o e d g e i n S P E C g t o c c u r s i n c o m p u t a t i o n s o f R ( P ) i n t h e p r e s e n c e o f f a u l t s . T o t h i s e n d , w e i n v o k e t h e p r o c e d u r e A d d _ U n t i m e d F a i l s a f e ( L i n e 2 ) . T h e p r o c e d u r e A d d - U n t i m e d F a i | s a f e ( c f . P r o c e d u r e 8 . 7 ) fi r s t i d e n t i fi e s t h e s e t m s A l g o r i t h m 8 . 6 A d d _ S o f t F a i l s a f e I n p u t : r e a l - t i m e p r o g r a m P = ( I L P , I n v p ) , f a u l t t r a n s i t i o n p r e d i c a t e F , a n d t i m i n g i n d e p e n d e n t s a f e t y s p e c i fi c a t i o n r e p r e s e n t e d b y S P E C b t O u t p u t : a s o f t — f a i l s a f e f a u l t - t o l e r a n t p r o g r a m P , = ( H P L ’ I n v p ” ) O J 4 : r e t u r n ( H P , , 1 n U p / ) 1 4 7 o f r e g i o n s f r o m w h e r e S P E C b t m a y b e v i o l a t e d b y t a k i n g f a u l t s a l o n e ( L i n e 1 ) b y c a l c u l a t i n g t h e s m a l l e s t fi x p o i n t o f s e t o f s u c h r e g i o n s . N e x t ( L i n e 2 ) , w e c o m p u t e t h e s e t m t o f e d g e s t h a t c o n s i s t s o f ( 1 ) e d g e s t h a t d i r e c t l y v i o l a t e s a f e t y ( i . e . , t r a n s i t i o n s i n S P E C b t ) o r ( 2 ) e d g e s w h o s e t a r g e t r e g i o n i s i n m s ( i . e . , e d g e s t h a t l e a d a c o m p u t a t i o n t o a s t a t e f r o m w h e r e s a f e t y m a y b e v i o l a t e d b y f a u l t s a l o n e ) . S i n c e p r o g r a m s d o n o t h a v e c o n t r o l o v e r o c c u r r e n c e o f f a u l t s , w e r e m o v e t h e s e t m s ( r e s p e c t i v e l y , t h e s e t m t ) f r o m t h e r e g i o n i n v a r i a n t I n v r p ( r e s p e c t i v e l y , s e t o f p r o g r a m e d g e s T 7 7 5 ) o f R ( P ) ( L i n e 3 ) . T h e n , w e r e m o v e d e a d l o c k r e g i o n s f r o m [ n u l l s ( L i n e 4 ) t o e n s u r e t h a t r e m o v a l o f m s f r o m I n v ; d o e s n o t i n t r o d u c e n e w fi n i t e c o m p u t a t i o n s t o R ( P ) : ( H r P ’ I n v p ) . S i n c e w e m a y r e m o v e a s e t o f r e g i o n s f r o m I n v r p , w e e n s u r e t h e c l o s u r e o f I n v ’ fi i n T 7 7 ; ( L i n e 9 ) . F i n a l l y , w e r e t u r n t h e f a i l s a f e r e g i o n g r a p h R ( P ’ ) — — ( H T I n v ; , ) ( L i n e 7 9 ” 1 0 ) . A f t e r c o m p u t i n g t h e f a i l s a f e r e g i o n g r a p h R ( P ’ ) = ( H I n v ; , ) i n t h e a l g o r i t h m P ” P r o c e d u r e 8 . 7 A d d _ U n t i m e d F a i l s a f e I n p u t . r e g i o n g r a p h ( H T , I n v l l s ) , s e t o f f a u l t s e d g e s F T , a n d s e t o f e d g e s S P E C g t O u t p u t : a n u n t i m e d f a i l s a f e f a u l t - t o l e r a n t p r o g r a m ( 1 1 % , , I n v ; , ) 1 : m s : = { r 0 I 3 7 1 , 7 2 - u r n . ( ‘ v ’ j I 0 S j < n : ( r j , r j + 1 ) E f r ) A ( r n _ _ 1 , r n ) E S P E C b t } ; { P h a s e 1 } 2 : m t ; = { ( r 7 9 , r 1 ) I r ; E m s V ( r r O , r 1 ) E S P E C b t } ; 3 : I n v ? , _ T 7 , 2 : I n v p — m s , T P T — 3 ; { P h a s e 2 } 4 : I n v v . — . P R e m o v e D e a d l o c k s U n v p , P ) ’ 5 : i f ( I n v r p — — { } ) t h e n 6 : d e c l a r e n o s o f t / h a r d - f a i l s a f e F - t o l e r a n t p r o g r a m P , e x i s t s ; 7 : e x i t ( ) ; 8 : e n d i f 9 : T P : = T P _ { ( r 0 , r 1 ) I r O E I a n P A r 1 9 ? I n v ' r p } ; { P h a s e 3 } 1 0 : r e t u r n T , I n v r p ; 1 4 8 A d d _ S o f t F a i l s a f e ( L i n e 2 ) , w e t r a n s f o r m t h e R ( P ’ ) b a c k i n t o a r e a l — t i m e p r o g r a m P L ( L i n e 3 ) . T h e o r e m 8 . 3 . 1 T h e a l g o r i t h m A d d _ S o f t F a l i s a f e i s s o u n d a n d c o m p l e t e . P r o o f . F i r s t , w e s h o w t h a t t h e a l g o r i t h m i s s o u n d . S i m i l a r t o t h e p r o o f o f T h e o r e m 8 . 2 . 5 , w e p r o c e e d a s f o l l o w s : 1 . ( C 2 ) ( I n v p / \ X n ) Q I n v p . B y c o n s t r u c t i o n , I n v p ; i s o b t a i n e d b y r e m o v i n g z e r o o r m o r e s t a t e s i n I n v p . T h e r e f o r e , t h i s c o n d i t i o n i s t r i v i a l l y s a t i s fi e d . ( C 3 ) ( T P ’ \ X n | 1 n v P / \ X n ) Q ( T P l l n v P L \ X n ) ' F r o m t h e c o n s t r u c t i o n o f T , t h e t r a n s i t i o n s i n T 7 3 a r e a s u b s e t o f t h e t r a n s i t i o n s i n T 7 ) . T h e r e f o r e , c o n d i t i o n C 2 i s m e t . 2 . P L i s s o f t - f a i l s a f e F - t o l e r a n t t o S P E C f r o m I n v p ] . W e n e e d t o s h o w t w o s u b g o a l s b a s e d o n t h e b e h a v i o r o f P , i n t h e a b s e n c e a n d p r e s e n c e o f f a u l t s . P r o o f o f P , ' 2 1 ” v a S P E C i s e x a c t l y t h e s a m e a s t h e p r o o f o f t h e fi r s t s u b g o a l o f T h e o r e m 8 . 2 . 5 . N o w , w e s h o w t h a t P ’ n e v e r v i o l a t e s S P E C h t i n t h e p r e s e n c e o f F . L e t M S ( r e s p e c t i v e l y , M T ) b e t h e s t a t e p r e d i c a t e ( r e s p e c t i v e l y , s e t o f t r a n s i t i o n s ) t h a t c o r r e s p o n d s t o m s ( r e s p e c - t i v e l y , m t ) . w e l e t t h e f a u l t - s p a n S P ’ t o b e t h e s e t o f s t a t e s r e a c h e d i n a n y c o m p u t a t i o n o f T 7 ) , [ I F t h a t s t a r t s f r o m a s t a t e i n I n v P I . C o n s i d e r a c o m p u - t a t i o n p r e fi x ( 7 o f T P ’ U F t h a t s t a r t s f r o m a s t a t e i n 8 7 3 , . F r o m t h e d e fi n i t i o n o f S P 1 . t h e r e e x i s t s a c o m p u t a t i o n p r e fi x 5 ’ o f T P , I I F s u c h t h a t ‘ d ‘ i s a s u f - 1 4 9 fi x o f a ’ a n d 6 ’ s t a r t s f r o m a s t a t e i n I n v p l . l f ( ‘ 1 ’ v i o l a t e s S P E C S ; t h e n t h e r e e x i s t s a p r e fi x o f 6 , , s a y ( 0 0 , r 0 ) — - + ( 0 1 , 7 1 ) — — > ~ - ( o n , r n ) , s u c h t h a t ( 0 0 , r 0 ) — — + ( 0 1 , 1 ' 1 ) — — > - - - ( o n , r n ) v i o l a t e s S P E C - 6 ? . W i t h o u t l o s s o f g e n e r — a l i t y , l e t ( 0 0 , 7 0 ) — > ( 0 1 , r 1 ) — — > - - - ( o n , r n ) b e t h e s m a l l e s t s u c h p r e fi x . I t f o l l o w s t h a t ( o n _ _ 1 , o n ) v i o l a t e s S P E C b t a n d , h e n c e , ( o n _ 1 , o n ) E M T . B y c o n s t r u c t i o n , T 7 3 , d o e s n o t c o n t a i n a n y t r a n s i t i o n s i n M T . T h u s , ( o n _ 1 , o n ) i s a t r a n s i t i o n o f F . I f ( o n _ 1 , o n ) i s a t r a n s i t i o n o f F t h e n U n — l E M S . I t f o l l o w s t h a t ( o n _ 2 , o n _ 1 ) E M T . B y t h e s a m e a r g u m e n t , ( O n — 2 w U n — 1 ) i s a t r a n s i t i o n o f f . H e n c e , ( I n — 2 E M S . C o n t i n u i n g t h u s , b y i n d u c t i o n , i f ( 0 0 , T O ) — > ( 0 1 , r 1 ) — — + - - - ( o n , r n ) v i o l a t e s S P E C E , 0 0 E M S , w h i c h i s a c o n - t r a d i c t i o n s i n c e 0 0 E S ’ . T h u s , e a c h p r e fi x o f 5 2 ’ m a i n t a i n s S P E C E a n d , h e n c e , T p , [ ] F m a i n t a i n s S P E C S ; f r o m S p ] . N o t e t h a t i n t h e p r e s e n c e o f f a u l t s a s o f t - f a i l s a f e p r o g r a m n e e d n o t t o r e c o v e r t o i t s i n v a r i a n t . I n o t h e r w o r d s , i n t h e p r e s e n c e o f f a u l t s , a s o f t - f a i l s a f e p r o g r a m i s a l l o w e d t o d e a d l o c k o r v i o l a t e i t s l i v e n e s s s p e c i fi c a t i o n . H e n c e , w e a r e n o t r e q u i r e d t o s h o w t h a t a s o f t - f a i l s a f e p r o - g r a m d o e s n o t e x h i b i t t i m e - c o n v e r g e n t c o m p u t a t i o n s i n t h e p r e s e n c e o f f a u l t s . N o w , w e s h o w t h a t t h e a l g o r i t h m A d d _ S o f t F a i l s a f e i s c o m p l e t e . L e t p r o g r a m P ” = ( H p I / r l n v p ” ) s o l v e t h e P r o b l e m S t a t e m e n t 8 . 2 . 4 . C l e a r l y , I a n P ” ( 1 m s 2 { } ; i f r 0 E I n v ? ? ? ” 0 m s t h e n t h e e x e c u t i o n o f f a u l t s a l o n e f r o m r 0 t a k e s t h e p r o g r a m t o a 7 ' p l ! L i k e w i s e , T 7 3 , , I 1 n v r p , , c a n n o t i n c l u d e a n y e d g e s i n m t . H e n c e , T 7 2 ” Q ( T 1 7 ; — m t ) . s t a t e f r o m w h e r e S P E C H m a y b e v i o l a t e d . I t f o l l o w s t h a t I n v Q ( I n v r p — m s ) . F i n a l l y , e v e r y c o m p u t a t i o n o f P ” t h a t s t a r t s f r o m a s t a t e i n I n v p ” m u s t b e i n fi n i t e 1 5 0 i f i t w e r e t o b e i n S P E C . I t f o l l o w s t h a t t h e r e e x i s t s a n o n e m p t y s u b s e t o f I n v r p , T p / I ’ O u r a l g o r i t h m d e c l a r e s t h a t n o s o l u t i o n f o r t h e s y n t h e s i s p r o b l e m e x i s t s o n l y w h e n n a m e l y I n v s u c h t h a t a l l c o m p u t a t i o n s o f T 7 7 5 — m t w i t h i n t h a t s u b s e t a r e i n fi n i t e . t h e r e i s n o n o n e m p t y s u b s e t o f l a v a . ) — m s s u c h t h a t a l l t h e c o m p u t a t i o n s o f T I ; - m t w i t h i n t h a t s u b s e t a r e i n fi n i t e . I t f o l l o w s t h a t o u r a l g o r i t h m d e c l a r e s f a i l u r e o n l y i f t h e r e e x i s t s n o s o f t — f a i l s a f e f a u l t — t o l e r a n t p r o g r a m t h a t s o l v e s P r o b l e m S t a t e m e n t 7 . 3 . 2 . I R e m a r k 8 . 3 . 2 W e n o t e t h a t , t h e c o m p l e t e n e s s p r o o f o f T h e o r e m 8 . 3 . 1 i m p l i e s t h a t t h e o u t c o m e o f a d d i n g s o f t - f a i l s a f e i s a m a x i m a l p r o g r a m i n t h e s e n s e t h a t e v e r y s t a t e t h a t i s r e m o v e d b y A d d - S o f t F a i | s a f e h a s t o b e r e m o v e d , i . e . , s u c h s t a t e s c a n n o t b e p r e s e n t i n a n y s o f t — f a i l s a f e p r o g r a m t h a t s a t i s fi e s t h e c o n s t r a i n t s o f P r o b l e m S t a t e m e n t 7 . 3 . 2 . T h e o r e m 8 . 3 . 3 T h e p r o b l e m o f a d d i n g s o f t - f a i l s a f e f a u l t - t o l e r a n c e t o a r e a l - t i m e p r o - g r a m i s i n P S P A C E . P r o o f . O b s e r v e t h a t o u r a l g o r i t h m fi r s t g e n e r a t e s t h e r e g i o n g r a p h o f t h e i n t o l e r a n t p r o g r a m w h i c h i s k n o w n t o b e i n P S P A C E [ A D 9 4 ] . T h e n i t p e r f o r m s a s e q u e n c e o f p o l y n o m i a l t i m e p r o c e d u r e s ( m a i n l y r e a c h a b i l i t y a n a l y s i s ) i n t h e s i z e o f r e g i o n g r a p h . T h e r e f o r e , o u r a l g o r i t h m i s i n P S P A C E . I 1 5 1 8 . 3 . 2 A d d i n g H a r d - F a i l s a f e F a u l t - T o l e r a n c e I n t h i s s u b s e c t i o n , w e p r e s e n t o u r a l g o r i t h m A d d _ H a r d F a i l s a f e f o r t h e c a s e w h e r e t h e s y n t h e s i z e d h a r d - f a i l s a f e p r o g r a m i s r e q u i r e d t o s a t i s f y o n l y o n e b o u n d e d r e s p o n s e p r o p e r t y i n t h e p r e s e n c e ' o f f a u l t s , i . e . , S P E C b T r E P H S 6 Q . A l g o r i t h m s k e t c h . I n t u i t i v e l y , t h e a l g o r i t h m w o r k s i n t h r e e p h a s e s . F i r s t , w e a d d s o f t - f a i l s a f e f a u l t - t o l e r a n c e t o P t o e n s u r e t h a t t r a n s i t i o n s i n S P E C b t o c c u r i n n o c o m p u t a t i o n o f P ’ . I n P h a s e 2 , s i m i l a r t o a d d i t i o n o f n o n m a s k i n g , w e r e c o m p u t e t h e s e t o f p r o g r a m t r a n s i t i o n s , i n v a r i a n t , a n d f a u l t - s p a n i n a l o o p u n t i l w e r e a c h a fi x p o i n t . I n t h i s l o o p , t h e g o a l i s t o r e m o v e c o m p u t a t i o n s o f T p l l F t h a t v i o l a t e S P E C ; E P H s é Q . I n P h a s e 3 , w e r e s o l v e a s p e c i a l c a s e w h e r e a s t a t e i n I n v p fl Q b e c o m e s a d e a d l o c k s t a t e . N o t e t h a t s i n c e s u c h a s t a t e i s i n t h e i n v a r i a n t , w e n e e d t o e n s u r e t h a t i t s r e m o v a l w i l l n o t c r e a t e n e w d e a d l o c k s t a t e s u n n e c e s s a r i l y . T h u s , I f s u c h a d e a d l o c k s t a t e e x i s t s i n I n v p O Q , w e r e m o v e i t f r o m b o t h I n v p a n d Q a n d r e r u n t h e a l g o r i t h m . W e n o w d e s c r i b e t h e a l g o r i t h m i n d e t a i l ( c f . A l g o r i t h m 8 . 8 ) : 0 ( P h a s e 1 ) I n o r d e r t o e n s u r e t h a t P L m a i n t a i n s S P E C H , w e fi r s t a d d s o f t - f a i l s a f e f a u l t - t o l e r a n c e t o P ( L i n e 1 ) . W e t h e n t r a n s f o r m P i n t o i t s r e g i o n g r a p h R ( P ) ( L i n e 2 ) . O u r fi r s t e s t i m a t e o f i n v a r i a n t o f P L i s t h e i n v a r i a n t g e n e r a t e d b y A d d _ S o f t F a i l s a f e a n d o u r fi r s t e s t i m a t e o f f a u l t - s p a n o f P ’ i s o b t a i n e d b y r e m o v i n g t h e r e g i o n s i n m s ( a s c a l c u l a t e d i n A d d _ S o f t F a i l s a f e ) f r o m t h e r e g i o n s p a c e . 0 ( P h a s e 2 ) W e n o w m o d i f y R ( P ) , s u c h t h a t a n y c o m p u t a t i o n t h a t s t a r t s f r o m a 1 5 2 : ( t h I n v P I ) : = C o n s t r u c t R e a l T i m e P r o g r a m ( ( I I T P I , 1 7 1 7 1 5 3 1 ) r e g i o n i n P T , r e a c h e s a r e g i o n i n Q T w i t h i n 6 t i m e u n i t s e v e n i n t h e p r e s e n c e o f f a u l t s . W e a c h i e v e t h i s i n t h e s a m e f a s h i o n a s w e a d d e d b o u n d e d - t i m e r e c o v e r y f o r s y n t h e s i z i n g n o n m a s k i n g p r o g r a m s i n S e c t i o n 8 . 2 ; w e r e c o m p u t e t h e s e t T 7 7 5 1 o f e d g e s , r e g i o n f a u l t - s p a n S T , a n d r e g i o n i n v a r i a n t I n v l l ~ u n t i l w e r e a c h a fi x p o i n t . H o w e v e r , t h e r e e x i s t t w o d i f f e r e n c e s : ( 1 ) w e e x c l u d e t h e s e t m t f r o m P r o c e d u r e 8 . 8 A d d _ H a r d F a i l s a f e I n p u t : r e a l - t i m e p r o g r a m P = ( 1 1 7 3 , 1 n v p ) , f a u l t t r a n s i t i o n p r e d i c a t e F , t i m i n g i n d e p e n d e n t s a f e t y s p e c i fi c a t i o n r e p r e s e n t e d b y S P E C b t ’ b o u n d e d r e s p o n s e p r o p - e r t y P H Q ; Q , a n d i n t e g e r n O u t p u t : a h a r d - f a i l s a f e f a u l t - t o l e r a n t p r o g r a m P , = ( 1 1 1 3 , , I n v P I ) 1 : ( H Z ) , I n v p ) : = A d d _ S o f t F a i l s a f e ( ( I I . P , I n v p ) , F , S P E C b t ) ; { P h a s e 1 } 2 : ( H P , 1 n v r p ) , P r , Q T , F T : = C o n s t r u c t R e g i o n G r a p h ( ( I I . P , I n v p ) , P , Q , F ) ; 3 : S T , I n l e l : = 8 ; ) — m s , I n v r p ; 4 : r e p e a t { P h a s e 2 } 5 : S S , I n v g : = S I , I n l e ' ; 6 : T 7 7 3 1 = = T 7 7 3 l I n v ’ i U { ( ( S o a p o l = ( 8 1 a p 1 ) ) | ( 8 0 1 / 1 0 ) E ( S I - 1 m g ) / \ ( 8 1 1 1 0 1 ) 6 S I " A 3 , 0 2 I p 2 i s a t i m e — s u c c e s s o r o p r : ( 3 ) . Q X : p 1 = p Q I A — { t } 2 : 0 ] ) } — m t ; 7 : T 7 7 5 1 , n s : 2 A d d _ B o u n d e d R e c o v e r y ( ( I I l i ) 1 , I n v g p l ) , F r , P r , Q r , n , 6 ) ; 8 : S ; : = C o n s t r u c t F a u l t S p a n ( S I — a s , F T ) ; 9 : I n v l l ' : = R e m o v e D e a d l o c k s U n v l l " fl S T , T 7 L ; 1 ) 1 0 : q r m : = Q T fl ( I n v f p — I n v l l ' ) ; { P h a s e 3 } 1 1 : i f ( q r m a é { } ) t h e n 1 2 : I n v ? ) : = I n v r p — — q r m ; 1 3 : T 7 7 5 : 2 T 7 7 D — { ( r 0 , r 1 ) | ( r 0 E q r m ) V ( r 1 E q r m ) } ; 1 4 : Q T : = Q T — - q r m ; 1 5 : g o t o L i n e 3 ; 1 6 : e n d i f 1 7 : i f ( 1 n v 7 1 ‘ = { } V S I = { } ) t h e n 1 8 : d e c l a r e n o h a r d - f a i l s a f e f - t o l e r a n t p r o g r a m P , e x i s t s ; 1 9 : e x i t ( ) ; 2 0 : e n d i f 2 1 : u n t i l ( S ; = 8 5 A I n v L i = I n v g ) ; 2 2 1 5 3 T 7 7 5 1 t o e n s u r e t h a t t h e p r o g r a m d o e s n o t v i o l a t e S P E C - 6 2 f r o m f a u l t — s p a n ( L i n e 6 ) , a n d ( 2 ) w e i n v o k e t h e p r o c e d u r e A d d _ B o u n d e d R e c o v e r y f o r r e g i o n p r e d i c a t e s P T a n d Q T ( L i n e 7 ) . 0 ( P h a s e 3 ) S i n c e t h e p r o c e d u r e A d d _ B o u n d e d R e c o v e r y d o e s n o t i n c l u d e a l l l e - g i t i m a t e c o m p u t a t i o n s t h a t s t a r t i n P a n d e n d i n Q , w e n e e d t o c o n s i d e r a s p e c i a l c a s e w h e r e a r e g i o n , s a y r 1 , i n I n l e ~ fl Q T b e c o m e s a d e a d l o c k r e g i o n ( L i n e 9 ) . I n t h i s c a s e , i t i s p o s s i b l e t h a t a l l t h e r e g i o n s a l o n g a p a t h t h a t s t a r t s f r o m s o m e r e g i o n , s a y T o , i n P T a n d e n d i n r 1 b e c o m e d e a d l o c k r e g i o n s . H e n c e , o u r a l g o r i t h m n e e d s t o i d e n t i f y a n e w p a t h f r o m r 0 t o a r e g i o n i n Q T o t h e r t h a n r 1 . T h u s , i n s u c h a c a s e , w e r e m o v e s u c h d e a d l o c k r e g i o n s a n d a s s o c i a t e d e d g e s f r o m I n v ; fl Q T a n d T I E ] ( L i n e 1 3 — 1 5 ) a n d r e r u n t h e a l g o r i t h m w i t h t h e u p d a t e d r e g i o n p r e d i c a t e s ( L i n e 1 5 ) . F i n a l l y , t h e a l g o r i t h m t r a n s f o r m s t h e s y n t h e s i z e d r e g i o n g r a p h R ( P l ) = ( I 1 7 7 ; 1 , I n v r p l ) b a c k i n t o a r e a l — t i m e p r o g r a m P , = ( I I I n v P I ) ( L i n e 2 2 ) . 7 9 ” T h e o r e m 8 . 3 . 4 T h e a l g o r i t h m A d d . H a r d F a / i s a f e i s s o u n d a n d c o m p l e t e . P r o o f . A g a i n , i n o r d e r t o p r o v e t h e s o u n d n e s s , w e s h o w t h a t o u r a l g o r i t h m m e e t s t h e c o n s t r a i n t s o f P r o b l e m S t a t e m e n t 7 . 3 . 2 . W e o n l y s h o w t h a t t h e o u t p u t o f o u r a l g o r i t h m i s h a r d - f a i l s a f e F - t o l e r a n t t o S P E C f r o m I n v p “ a s t h e r e s t o f t h e p r o o f i s t h e s a m e a s p r o o f o f t h e o r e m s 8 . 2 . 5 a n d 8 . 3 . 1 . I n o r d e r t o p r o v e t h a t P , i s h a r d - f a i l s a f e F - t o l e r a n t t o S P E C f r o m S p ] , w e n e e d t o s h o w t h a t ( 1 ) P L [ I F m a i n t a i n s S P E C b I f r o m S p “ a n d ( 2 ) P ’ I I F m a i n t a i n s S P E C b — r = P H < 6 Q f r o m S P " S i n c e t h e a l g o r i t h m A d d _ H a r d F a i l s a f e fi r s t a d d s 1 5 4 s o f t - f a i l s a f e f a u l t - t o l e r a n c e t o P ( L i n e 1 ) a n d t h e e d g e s t h a t a r e a d d e d i n L i n e 6 a r e d i s j o i n t f r o m m t , t h e fi r s t s u b g o a l o f t h e p r o o f i s i m m e d i a t e l y d i s c h a r g e d b y a p p l y i n g T h e o r e m 8 . 3 . 1 . L e t G b e a c o m p u t a t i o n p r e fi x o f T P , I _ I F t h a t s t a r t s f r o m a s t a t e i n S P " F r o m t h e d e fi n i t i o n o f S p ] , t h e r e e x i s t s a c o m p u t a t i o n p r e fi x a ’ o f T P ’ U F s u c h t h a t E ? i s a s u f fi x o f a ’ a n d 6 ’ s t a r t s f r o m a s t a t e i n I n v p l . I f E 1 ” v i o l a t e s S P E C l T r t h e n t h e r e e x i s t s a p r e fi x o f 6 ’ , s a y ( 0 0 , r 0 ) — > ( 0 1 , 7 ' 1 ) — > A s - ( o a n ) , s u c h t h a t ( 0 0 , r 0 ) — — > ( 0 1 , r 1 ) — + - - - ( o n , r n ) v i o l a t e s S P E C S ; W i t h o u t l o s s o f g e n e r a l i t y , l e t ( 0 0 , r 0 ) — > ( 0 1 , r 1 ) — > ( 0 7 1 , 7 7 1 ) b e t h e s m a l l e s t s u c h p r e fi x . I t f o l l o w s t h a t t h e r e e x i s t s i 2 0 s u c h t h a t ( 1 ) o , - E P , ( 2 ) T n — r , - > 6 , a n d ( 3 ) f o r a l l k , i S k S n , 0 k E Q . L e t r b e t h e r e g i o n t h a t c o n t a i n s 0 1 " I t f o l l o w s t h a t i n t h e c o r r e s p o n d i n g M a x D e l a y d i g r a p h R a n k ( 7 ( r ) ) > 6 , w h i c h i m p l i e s t h a t r E n s . I n t h i s c a s e , ( 0 i _ _ 1 , 0 ’ z ‘ ) i s n o t i n T 7 3 . T h u s , ( O i — 1 1 0 i ) i s a t r a n s i t i o n o f f . I f ( O i — 1 1 0 i ) i s a t r a n s i t i o n o f f t h e n t h e p r o c e d u r e C o n s t r u c t F a u l t S p a n i d e n t i fi e s 0 , - _ 1 a n d r e m o v e s i t f r o m S p , w h i c h i n t u r n r e m o v e s t h e i n c i d e n t t r a n s i t i o n s i n t h e n e x t i t e r a t i o n ( L i n e 6 ) . B y t h e s a m e a r g u m e n t , ( o z - _ 2 , o z - _ 1 ) i s a t r a n s i t i o n o f F a n d , h e n c e , ( T n — 2 s h o u l d n o t b e p r e s e n t i n S P ' a s w e l l . C o n t i n u i n g t h u s , b y i n d u c t i o n , i f ( 0 0 , 7 0 ) — 1 ( o l , r 1 ) — 1 - ~ - ( o n , r n ) v i o l a t e s S P E C H , 0 0 i s e x p l o r e d b y t h e p r o c e d u r e C o n s t r u c t F a u l t S p a n , w h i c h i s a c o n t r a d i c t i o n , a s w e i n i t i a l l y a s s u m e d t h a t 0 0 E I n v p ] . T h u s , e a c h p r e fi x o f 6 ’ m a i n t a i n s S P E C E ' I t f o l l o w s t h a t , [ ] F m a i n t a i n s S P E C - b 7 f r o m S p ] . N o t e t h a t T p i n t h e p r e s e n c e o f f a u l t s a h a r d — f a i l s a f e p r o g r a m n e e d n o t t o r e c o v e r t o i t s i n v a r i a n t . I n o t h e r w o r d s , i n t h e p r e s e n c e o f f a u l t s , a h a r d - f a i l s a f e p r o g r a m i s a l l o w e d t o d e a d l o c k o r v i o l a t e i t s l i v e n e s s s p e c i fi c a t i o n . H e n c e , w e a r e n o t r e q u i r e d t o s h o w t h a t a h a r d - 1 5 5 f a i l s a f e p r o g r a m d o e s n o t e x h i b i t t i m e - c o n v e r g e n t c o m p u t a t i o n s i n t h e p r e s e n c e o f f a u l t s . W e n o w s h o w t h a t t h e a l g o r i t h m i s c o m p l e t e . I n t u i t i v e l y , w e s h o w t h a t a n y s t a t e t h a t i s r e m o v e d b y o u r a l g o r i t h m c a n n o t b e p r e s e n t i n a n y h a r d - f a i l s a f e p r o g r a m . F i r s t , o b s e r v e t h a t i n T h e o r e m 8 . 3 . 1 , w e s h o w e d t h a t t h e o u t c o m e o f a d d i n g s o f t — f a i l s a f e f a u l t - t o l e r a n c e i s a m a x i m a l p r o g r a m i n t h e s e n s e t h a t a n y s t a t e r e m o v e d b y t h e a l g o r i t h m A d d _ S o f t F a i l s a f e h a s t o b e r e m o v e d ( c f . R e m a r k 8 . 3 . 2 ) . H e n c e , i n o r d e r t o p r o v e t h e c o m p l e t e n e s s o f t h e a l g o r i t h m A d d - H a r d F a i l s a f e , w e o n l y n e e d t o f o c u s o n t h e c a s e w h e r e t h e a l g o r i t h m f a i l s t o s y n t h e s i z e P ’ = ( H I n v p l ) s u c h P L ’ t h a t T P , I ] F m a i n t a i n s S P E C — f r o m S P " O b s e r v e t h a t t h e a l g o r i t h m r e m o v e s a b r s t a t e , s a y 0 1 , i n P , i f t h e r e d o e s n o t e x i s t a c o m p u t a t i o n t h a t s t a r t s f r o m 0 1 a n d r e a c h e s a s t a t e i n Q w i t h i n 6 i n t h e p r e s e n c e o f f a u l t s . N o t i c e t h a t s u c h a s t a t e c a n n o t b e p r e s e n t i n a n y h a r d - f a i l s a f e p r o g r a m . M o r e o v e r , i f 0 1 i s r e a c h a b l e f r o m a n o t h e r s t a t e , s a y 0 0 , i n S P ’ b y t a k i n g f a u l t t r a n s i t i o n s a l o n e t h e n 0 0 c a n n o t b e p r e s e n t i n t h e f a u l t - s p a n o f a n y h a r d - f a i l s a f e p r o g r a m a s w e l l . F u r t h e r m o r e , i f r e m o v a l o f s t a t e s s u c h a s 0 0 a n d 0 1 c r e a t e s d e a d l o c k s t a t e s i n s i d e t h e p r o g r a m i n v a r i a n t t h e n t h e i r r e m o v a l i s a l s o i n e v i t a b l e ( s i n c e P L m u s t m e e t c o n s t r a i n t C 3 o f P r o b l e m S t a t e m e n t 7 . 3 . 2 ) . N o t i c e t h a t P h a s e 2 o f t h e a l g o r i t h m e n s u r e s t h a t n o n m a x i m a l i t y o f t h e s e t o f t r a n s i t i o n s d o e s n o t i n d u c e d e a d l o c k s t a t e s u n n e c e s s a r i l y . H e n c e , s t a t e s r e m o v e d b y o u r a l g o r i t h m a r e p r e s e n t i n n o h a r d — f a i l s a f e p r o g r a m . O u r a l g o r i t h m d e c l a r e s f a i l u r e w h e n t h e i n v a r i a n t o f t h e s y n t h e s i z e d p r o g r a m i s e q u a l t o t h e e m p t y s e t . I n o t h e r w o r d s , o u r a l g o r i t h m f a i l s t o fi n d a s o l u t i o n w h e n a l l s t a t e s o f t h e i n t o l e r a n t p r o g r a m a r e i l l e g i t i m a t e w i t h r e s p e c t t o P r o b l e m S t a t e m e n t 7 . 3 . 2 . T h e r e f o r e , t h e a l g o r i t h m 1 5 6 A d d _ H a r d F a i l s a f e i s c o m p l e t e . I C o m p l e x i t y o f a d d i n g h a r d - f a i l s a f e f a u l t - t o l e r a n c e . W e n o w s h o w t h a t t h e p r o b l e m o f a d d i n g h a r d - f a i l s a f e f a u l t - t o l e r a n c e t o r e a l - t i m e p r o g r a m s , w h e r e t h e s y n t h e s i z e d p r o g r a m i s r e q u i r e d t o s a t i s f y o n l y o n e b o u n d e d r e s p o n s e p r o p e r t y , i s P S P A C E - c o m p l e t e . O u r r e d u c t i o n i s f r o m t h e r e a c h a b i l i t y p r o b l e m i n t i m e d a u t o m a t a k n o w n t o b e P S P A C E - c o m p l e t e [ A D 9 4 ] . I n s t a n c e . A r e a l - t i m e p r o g r a m P = ( 1 1 7 3 , I n v p ) , a s e t o f f a u l t s F , a n d s a f e t y s p e c i fi c a t i o n S P E C s u c h t h a t P I : I n v P S P E C . H a r d - f a i l s a f e s y n t h e s i s d e c i s i o n p r o b l e m . D o e s t h e r e e x i s t a r e a l - t i m e p r o g r a m 7 3 ’ = ( t h I n v p » s u c h t h a t P , i s h a r d - m a s k i n g F - t o l e r a n t t o S P E C f r o m I n v p ] ? T h e o r e m 8 . 3 . 5 T h e h a r d - f a i l s a f e s y n t h e s i s d e c i s i o n p r o b l e m i s P S P A C E - c o m p l e t e i n t h e s i z e o f t h e i n p u t i n t o l e r a n t p r o g r a m . P r o o f . M e m b e r s h i p t o P S P A C E f o l l o w s i m m e d i - a t e l y f r o m t h e s p a c e c o m p l e x i t y o f t h e a l g o r i t h m A d d _ H a r d F a i l s a f e . N o w , w e s h o w t h a t t h e p r o b l e m i s P S P A C E — h a r d . T o t h i s e n d , w e r e d u c e t h e r e a c h a b i l i t y p r o b l e m i n t i m e d a u t o m a t a t o t h e a b o v e d e c i s i o n p r o b l e m . M a p p i n g . L e t A = ( L , L 0 , X , I , E ) b e a n i n s t a n c e o f t h e r e a c h a b i l i t y p r o b l e m i n t i m e d a u t o m a t a . L e t s o a n d 5 1 b e t w o l o c a t i o n s i n L . W i t h o u t l o s s o f g e n e r a l i t y , w e a s s u m e t h a t s o E L 0 . W e m a p A t o a n i n s t a n c e o f o u r p r o b l e m a s f o l l o w s : 0 ( S t a t e s p a c e ) T h e s t a t e s p a c e o f P c o n s i s t s o f a l l l e g i t i m a t e s t a t e s o f A . T h a t i s , s p = a e a 1 e e n A w u e u s h ( P r o g r a m t r a n s i t i o n s ) T h e s e t o f p r o g r a m t r a n s i t i o n s o f P i s o b t a i n e d b y r e m o v - i n g a l l t r a n s i t i o n s i n A t h a t o r i g i n a t e f r o m . 9 1 a n d t h e n b y a d d i n g a s e l f - l o o p a t l o c a t i o n 5 1 - T h a t i s , T p = { ( 3 1 » V ) — * ( 5 1 1 V ) I V I = I ( 5 1 ) } U { ( s . v ) - + ( t . u ) | ( s # s 1 ) / \ 3 ( s L , / \ , < , o , t ’ ) E E : ( s ’ = s ) A ( 1 ’ = 1 ) A ( t e e ) A ( h i : I ( t ’ ) ) } - ( I n v a r i a n t ) T h e i n v a r i a n t o f P c o n s i s t s o f s t a t e s w h o s e l o c a t i o n i s s ] : I n v p = { ( 8 1 : 1 0 | V l = I ( 8 1 ) } - ( F a u l t t r a n s i t i o n s ) W e l e t t h e s e t o f f a u l t t r a n s i t i o n s t o b e F = { ( 3 1 , 1 1 ) - — > ( s o , V [ X : = 0 ] ) I 1 / I : 1 ( s l ) } . N o t e t h a t i n t i m e d a u t o m a t a , i t i s a s s u m e d t h a t a l l c l o c k v a r i a b l e s a r e r e s e t i n i n i t i a l l o c a t i o n s . ( S a f e t y s p e c i fi c a t i o n ) L e t S P E C b t c o n s i s t o f a l l t r a n s i t i o n s t h a t a r e n o t p r e s e n t i n A . F u r t h e r m o r e , l e t S P E C E ; E 1 ) . — ’ 3 5 Q , w h e r e : — P = « n m n u e u n h - Q = « n m u u e n n n s m — W e c h o o s e t h e r e c o v e r y t i m e t o b e u n b o u n d e d , i . e . , 6 = 0 0 . 1 5 8 R e d u c t i o n . I f s ] i s r e a c h a b l e f r o m s o i n A t h e n t h e r e e x i s t s a c o m p u t a t i o n i n A w h i c h s t a r t s f r o m a s t a t e w h o s e l o c a t i o n i s s o a n d e n d s a t a s t a t e w h o s e l o c a t i o n i s 5 1 ° A r e a l - t i m e p r o g r a m P , = ( I I I n v P I ) c o n s t r u c t e d f r o m t h i s c o m p u t a t i o n p l u s P L ’ t h e s e l f - l o o p a t 5 1 i s c l e a r l y a h a r d - f a i l s a f e p r o g r a m w i t h i n v a r i a n t I n v p , 2 : I n v p a n d m e e t s t h e c o n s t r a i n t s o f P r o b l e m S t a t e m e n t 7 . 3 . 2 . N o w , w e s h o w t h e o t h e r d i r e c t i o n . L e t u s a s s u m e t h a t t h e a n s w e r t o t h e d e c i s i o n p r o b l e m i s a f f i r m a t i v e , i . e . , w e c a n s y n t h e s i z e a h a r d - f a i l s a f e p r o g r a m P L w i t h i n v a r i a n t I n v p , b y s t a r t i n g f r o m P . I f t h i s i s t h e c a s e t h e n s t a t e p r e d i c a t e Q m u s t b e r e a c h a b l e f r o m s t a t e p r e d i c a t e P i n P ] . N o t e t h a t d u e t o t h e w a y e w e c o n s t r u c t e d S P E C “ , w e r u l e d o u t h a r d - f a i l s a f e p r o g r a m s t h a t s a t i s f y S P E C ; b y a d d i n g r e c o v e r y t r a n s i t i o n s o u t s i d e t h e i n v a r i a n t I n v p ] . T h u s , i n P ’ , a c o m p u t a t i o n t h a t s t a r t s f r o m P r e a c h e s Q u s i n g t r a n s i t i o n s i n A a l o n e . H e n c e , l o c a t i o n 3 1 m u s t b e r e a c h a b l e f r o m l o c a t i o n s o i n t i m e d a u t o m a t o n A . I C a s e s t u d y ( c o n t ’ d ) . W e n o w d e m o n s t r a t e t h a t h o w o u r a l g o r i t h m s y n t h e s i z e s a h a r d ~ f a i l s a f e v e r s i o n o f A 8 w i t h r e s p e c t t o S P E C b t a n d S P E C fi a s d e fi n e d i n c a s e s t u d y o f S u b s e c t i o n 2 . 2 . F i g u r e s 8 . 8 a n d 8 . 9 i l l u s t r a t e t h e r e g i o n g r a p h a n d r e v i s e d t i m e d g u a r d e d c o m m a n d s o f h a r d - f a i l s a f e A 8 r e s p e c t i v e l y . O b s e r v e t h a t t h e t i m e d a c t i o n A 8 3 i n t h e i n t o l e r a n t p r o g r a m d o e s n o t m a i n t a i n S P E C - 5 i w h e n t h e a l t i t u d e m e t e r s h o w s a n i n v a l i d v a l u e d u e t o o c c u r r e n c e o f f a u l t a c t i o n F 4 . I t i s e a s y t o s e e t h a t w h e n t h e a l g o r i t h m A d d _ S o f t F a i l s a f e i s i n v o k e d i n L i n e 2 : 0 m s 2 { } , a n d 0 m t = S P E C g t . 1 5 9 ‘ i C o I x I < = N N x T O T I I S l O S r C r i T A u o p r t S r i C N S u T o n t A e p y D r S r B s S = N 0 Y o e D 0 p r n A t < T u B s = N S y 0 n < o Y e r D l r = l = B s Y o 1 . I D O I S t a t u s i A I A t W e A I = B z I o 0 _ _ w 1 T = 1 = l . 1 A A t l 0 A 2 W B < W < 1 A I z z A e : T 2 3 w T I S < o O I S T A N D B Y S T A N D B Y i C o r r u p t S e n s o r = l y = 1 L e g e n d P r o g r a m — - > F a u l t — ) I n v a r i a n t O F a u l t - s p a n O F i g u r e 8 . 8 : R e g i o n g r a p h o f h a r d - f a i l s a f e A S . T h u s , i n v o c a t i o n o f t h e a l g o r i t h m A d d _ S o f t F a i l s a f e r e m o v e s e d g e s t h a t o r i g i n a t e f r o m S T A N D B Y r e g i o n s , w h e r e i C o r r u p t S e n s o r = 1 , a n d e n d a t A W A I T r e g i o n s . I n t e r m s o f t i m e d g u a r d e d c o m m a n d s , t h e a l g o r i t h m s t r e n g t h e n s t h e g u a r d o f t i m e d a c t i o n A 8 3 s u c h t h a t i C o r r u p t S e n s o r 7 9 1 . A d d i t i o n a l l y , S P E C E T — 3 r e q u i r e s t h a t i f t h e p r o g r a m f a i l s t o r e a d t h e a l t i t u d e m e - t e r , i t s h o u l d i n i t i a l i z e w i t h i n 2 s e c o n d s e v e n i n t h e p r e s e n c e o f t h e d e l a y f a u l t a c t i o n F 2 . I t i s e a s y t o o b s e r v e t h a t i n t h e a l g o r i t h m A d d _ H a r d F a i l s a f e : n s = { ( s , p ) I 1 < 3 1 ( 7 ) ) S 3 } - T h u s , t h e a l g o r i t h m r e m o v e s e d g e s t h a t a d v a n c e c l o c k v a r i a b l e y b e y o n d y = 1 . I n 1 6 0 t e r m s o f t i m e d g u a r d e d c o m m a n d s , t h e a l g o r i t h m s t r e n g t h e n s d e l a y a c t i o n A 8 6 s u c h t h a t y S 1 . I n f a c t , t h e h a r d - f a i l s a f e A 8 t o l e r a t e s F 2 b y t a k i n g d e l a y t r a n s i t i o n s f o r a t m o s t 1 s e c o n d w h i l e i n t h e S T A N D B Y m o d e . T h e i n v a r i a n t o f h a r d - f a i l s a f e A S i s a s f o l l o w s : I a n F S _ A S W = { o I ( ( m S t a t u s ( o ) = I N I T ) = > ( . r ( o ) S 1 ) ) A ( ( m S t a t u s ( 0 ) = S T A N D B Y ) = > ( i C o r r u p t S e n s o r ( o ) = 0 V y ( o ) S 1 ) ) A ( ( m S t a t u s ( o ) = A W A I T ) = > ( 2 ( a ) S 2 ) ) } . H F S A S B : : ( m S t a t u s = S T A N D B Y ) A ( i A l t B e l o w = 0 ) A ( i C o r r u p t S e n s o r 7 4 1 ) A ( i D O I S t a t u s = 0 ) _ { z _ } _ ’ m S t a t u s , i A l t B e l o w : = A W A I T , 1 H F S _ A 8 6 : : ( ( m S t a t u s = = S T A N D B Y ) A ( i C o r r u p t S e n s o r = 0 ) ) V ( r S 1 ) V ( y S 1 ) V ( z S 2 ) — > w a i t F i g u r e 8 . 9 : R e v i s e d t i m e d g u a r d e d c o m m a n d s o f h a r d - f a i l s a f e A 8 . 8 . 4 A d d i n g S o f t a n d H a r d - M a s k i n g F a u l t - T o l e r a n c e I n t h i s s e c t i o n , w e p r e s e n t o u r r e s u l t s o n a u t o m a t e d s y n t h e s i s o f s o f t a n d h a r d - m a s k i n g f a u l t - t o l e r a n t p r o g r a m s . R e c a l l t h a t , i n t u i t i v e l y , a s o f t - m a s k i n g p r o g r a m i s r e q u i r e d t o s a t i s f y o n l y t h e u n t i m e d p a r t o f i t s s a f e t y s p e c i fi c a t i o n a n d p r o v i d e s b o u n d e d — t i m e r e c o v e r y i n t h e p r e s e n c e o f f a u l t s . A l s o , r e c a l l t h a t a h a r d - m a s k i n g p r o g r a m s a t i s fi e s 1 6 1 i t s u n t i m e d p a r t o f s a f e t y s p e c i fi c a t i o n a s w e l l a s i t s t i m i n g c o n s t r a i n t s a n d p r o v i d e s b o u n d e d - t i m e r e c o v e r y i n t h e p r e s e n c e o f f a u l t . 8 . 4 . 1 A d d i n g S o f t - M a s k i n g F a u l t - T o l e r a n c e I n o r d e r t o s y n t h e s i z e a s o f t - m a s k i n g p r o g r a m , w e s h o u l d g e n e r a t e a p r o g r a m P , = ( H P / , I n v p l ) a n d f a u l t - s p a n S p ] , s u c h t h a t P ’ I I F m a i n t a i n s S P E C b — t a n d i f f a u l t s p e r t u r b t h e s t a t e o f a p r o g r a m t o a s t a t e i n S p ] , i t r e c o v e r s t o I n v p , w i t h i n r e c o v e r y t i m e 6 . S i n c e t h e a l g o r i t h m A d d _ S o f t M a s k i n g ( c f . A l g o r i t h m 8 . 9 ) i s v e r y s i m - i l a r t o a d d i t i o n o f n o n m a s k i n g f a u l t - t o l e r a n c e , w e o n l y p r e s e n t t h e a l g o r i t h m s k e t c h . I n f a c t , t h e o n l y d i f f e r e n c e b e t w e e n t h e t w o a l g o r i t h m s i s i n s o f t — m a s k i n g , i n a d d i t i o n t o b o u n d e d - t i m e r e c o v e r y f r o m f a u l t — s p a n t o t h e i n v a r i a n t , t h e p r o g r a m a l s o g u a r - a n t e e s t h a t S P E C b — t i s n e v e r v i o l a t e d . W e a l s o d o n o t p r e s e n t a p r o o f o f s o u n d n e s s a n d c o m p l e t e n e s s , a s c o m b i n i n g p r o o f s o f t h e o r e m s 8 . 3 . 1 a n d 8 . 2 . 5 t r i v i a l l y s h o w s s o u n d n e s s a n d c o m p l e t e n e s s o f A d d - S o f t M a s k i n g . A l g o r i t h m s k e t c h . T h e a l g o r i t h m c o n s i s t s o f t w o m a i n p h a s e s . I n P h a s e 1 , o u r fi r s t e s t i m a t e o f a s o f t - m a s k i n g p r o g r a m i s a s o f t - f a i l s a f e p r o g r a m . T h e n , i n P h a s e 2 , w e r e c o m p u t e t h e s e t o f p r o g r a m t r a n s i t i o n s , i n v a r i a n t , a n d f a u l t - s p a n s o t h a t t h e f a u l t — s p a n i s c l o s e d i n T p l l f , a n d f r o m e a c h s t a t e i n t h e f a u l t - s p a n , t h e r e e x i s t s a p a t h w h i c h e n d s a t a s t a t e i n t h e i n v a r i a n t w i t h i n 6 a n d m a i n t a i n s S P E C b — t ' T h e o r e m 8 . 4 . 1 T h e a l g o r i t h m A d d _ S o f t M a s k i n g i s s o u n d a n d c o m p l e t e . I T h e o r e m 8 . 4 . 2 T h e p r o b l e m o f a d d i n g s o f t - m a s k i n g f a u l t - t o l e r a n c e t o a r e a l - t i m e p r o g r a m i s P S P A C E — c o m p l e t e i n t h e s i z e o f t h e i n p u t i n t o l e r a n t p r o g r a m . 1 6 2 ? ” “ 9 1 . 9 A l g o r i t h m 8 . 9 A d d _ S o f t M a s k i n g I n p u t : r e a l - t i m e p r o g r a m P 2 ( H P , I n v p ) , t r a n s i t i o n p r e d i c a t e F , i n t e g e r s n , 6 O u t p u t : a s o f t - m a s k i n g f a u l t - t o l e r a n t p r o g r a m P ’ = ( 1 1 7 ) , , I n v P I ) w i t h b o u n d e d - t i m e r e c o v e r y 6 . H T , I n v r , F r : 2 C o n s t r u c t R e g i o n G r a p h I I , I n v ) , F ; P h a s e 1 7 9 7 9 p 7 3 S T : = 8 ; ; r e p e a t { P h a s e 2 } S g , I n v g : 2 S I J n v E ; T P l : = 1 7 8 ” " “ 5 U { ( ( s o , p o ) , ( s l , p 1 ) ) I ( s o , p o ) E ( S I — I n v l l ' ) A ( s l , p 1 ) E S I A 3 p 2 I p 2 i s a t i m e - s u c c e s s o r o f p o : ( 3 A Q X : p 1 = p Q I A — { t } : 2 O ] ) } — m t ; 6 T I , n s : = A d d _ B o u n d e d R e c o v e r y I I T , I n v r ) , F T , S T — I n v r , I n v r , n , 6 ) ; P 1 1 P 1 1 1 I 7 : S I 2 : C o n s t r u c t F a u l t S p a n ( S { - n s , F T ) ; 8 I n v L I ' : = R e m o v e D e a d l o c k s U n l e ‘ fl S I , T ; 3 1 ) ; 9 : i f ( I n v L i = { } V S 7 1 " = { } ) t h e n 1 0 : d e c l a r e n o n o n m a s k i n g F - t o l e r a n t p r o g r a m P , e x i s t s ; 1 1 : e x i t ( ) ; 1 2 : e n d i f 1 3 : u n t i l ( S ; = S ; A I n l e l = I n v g ) ; 1 4 : ( 1 1 7 ) , , I n v p / ) : 2 C o n s t r u c t R e a l T i m e P r o g r a m ( ( 1 1 5 3 1 , I n d / 3 1 ) ) ; { P h a s e 3 } P r o o f . M e m b e r s h i p t o P S P A C E f o l l o w s i m m e d i a t e l y f r o m t h e s p a c e c o m p l e x i t y o f t h e a l g o r i t h m A d d _ S o f t M a s k i n g . N o w , w e s h o w t h a t t h e p r o b l e m i s P S P A C E — h a r d . T o t h i s e n d , w e r e d u c e t h e r e a c h a b i l i t y p r o b l e m i n t i m e d a u t o m a t a t o t h e s o f t - m a s k i n g s y n t h e s i s d e c i s i o n p r o b l e m . M a p p i n g t h e e l e m e n t s o f r e a c h a b i l i t y p r o b l e m i n t i m e d a u t o m a t a t o a n i n s t a n c e o f s o f t - m a s k i n g s y n t h e s i s d e c i s i o n p r o b l e m i s t h e s a m e a s o u r m a p p i n g i n T h e o r e m 8 . 3 . 5 e x c e p t t h e f o l l o w i n g c h a n g e s : 0 ( S a f e t y s p e c i fi c a t i o n ) L e t S P E C b t c o n s i s t o f a l l t r a n s i t i o n s t h a t a r e n o t p r e s e n t i n A . F u r t h e r m o r e , w e l e t S P E C b e r b e a n y a r b i t r a r y c o n j u n c t i o n o f b o u n d e d r e s p o n s e p r o p e r t i e s . 0 ( R e c o v e r y t i m e ) W e c h o o s e t h e r e c o v e r y t i m e f r o m f a u l t - s p a n t o t h e i n v a r i a n t 1 6 3 t o b e u n b o u n d e d , i . e . , 6 z 0 0 . T h i s m e a n s t h a t e v e n a d d i n g s o f t - m a s k i n g f a u l t - t o l e r a n c e t o r e a l - t i m e p r o g r a m s w i t h u n b o u n d e d r e c o v e r y t i m e i s P S P A C E - h a r d . L e t S P , : { ( s o , 1 / ) I 1 / I : 1 ( s o ) } . I f 3 1 i s r e a c h a b l e f r o m s o i n A t h e n t h e r e e x i s t s a c o m p u t a t i o n i n A w h i c h s t a r t s f r o m a s t a t e w h o s e l o c a t i o n i s s o a n d e n d s a t a s t a t e w h o s e l o c a t i o n i s 3 1 - A r e a l - t i m e p r o g r a m P , = ( I I I n v P I ) c o n s t r u c t e d f r o m t h i s P ’ ’ c o m p u t a t i o n p l u s t h e s e l f — l o o p a t 3 1 i s c l e a r l y a s o f t — m a s k i n g p r o g r a m w i t h i n v a r i a n t I n v p , = I n v p . N o w , l e t u s a s s u m e t h a t w e c a n s y n t h e s i z e a s o f t - m a s k i n g p r o g r a m P , w i t h i n v a r i a n t I n v p , b y s t a r t i n g f r o m P . I f t h i s i s t h e c a s e t h e n I n v p ] , w h e r e I n v p , Q I n v p , m u s t b e r e a c h a b l e f r o m S F , i n P ’ . N o t e t h a t d u e t o t h e w a y w e c o n s t r u c t e d S P E C b l . , w e r u l e d o u t s o f t - m a s k i n g p r o g r a m s t h a t p r o v i d e r e c o v e r y f r o m t h e i r f a u l t - s p a n t o I n v p , b y a d d i n g r e c o v e r y t r a n s i t i o n s o u t s i d e I n v p , . T h u s , i n P ’ , a c o m p u t a t i o n t h a t s t a r t s f r o m S P ’ r e a c h e s I n v p , u s i n g t r a n s i t i o n s i n A a l o n e . H e n c e , l o c a t i o n 3 1 m u s t b e r e a c h a b l e f r o m l o c a t i o n s o i n t i m e d a u t o m a t o n A . I C a s e s t u d y ( c o n t ’ d ) . W e n o w d e m o n s t r a t e t h a t h o w o u r a l g o r i t h m s y n t h e s i z e s a s o f t - m a s k i n g v e r s i o n o f A 8 w i t h r e s p e c t t o S P E C b t a n d r e c o v e r y t i m e 6 = 1 . F i g u r e s 8 . 1 0 a n d 8 . 1 1 i l l u s t r a t e t h e r e g i o n g r a p h a n d r e c o v e r y a n d r e v i s e d t i m e d g u a r d e d c o m m a n d s o f s o f t - m a s k i n g A 8 , r e s p e c t i v e l y . I t i s e a s y t o o b s e r v e t h a t s y n t h e s i z i n g s o f t - m a s k i n g A S i n v o l v e s s t r e n g t h e n i n g t h e p r o g r a m i n v a r i a n t a s w e d i d i n a d d i n g h a r d — f a i l s a f e , p l u s a d d i n g r e c o v e r y t r a n s i t i o n s a s w e d i d f o r a d d i n g n o n m a s k i n g f a u l t — t o l e r a n c e . H o w e v e r , a c c o r d i n g t o S P E C b t , r e c o v e r y t r a n s i t i o n s a r e c o n s t r a i n e d s u c h t h a t o n l y r e c o v e r y t o I N I T m o d e i s p o s s i b l e . T h e r e s t o f t h e t i m e d g u a r d e d c o m m a n d s r e m a i n u n c h a n g e d . F i n a l l y , t h e i n v a r i a n t o f t h e s o f t - m a s k i n g p r o g r a m i s t h e s a m e a s 1 6 4 S T A N D B Y . i C o r r u p t S e n s o r = 0 1 ” ’ l x / / / I S T A N D B Y i D O l S t a t u s = l S T A N D B Y i C o r r u p t S e n s o r = l y = O A W A I T i A l t B e l o w = 1 O < z § 2 S T A N D B Y i C o r r u p t S e n s o r = l 0 < y < l A W A I T i A I t B e l o w = 1 z = O S T A N D B Y i C o r r u p t S e n s o r = y = 1 L e g e n d P r o g r a m _ , S T A N D B Y R e c o v e r y _ _ _ , i C o r r u p t S e n s o r = l l < y < 2 S T A N D B Y i C o r r u p t S e n s o r = l 2 < y S 3 0 E t < l F a u l t , — > I n v a r i a n t O F a u l t — s p a n C D S T A N D B Y i C o r r u p t S e n s o r = l y = 2 F i g u r e 8 . 1 0 : R e g i o n g r a p h o f s o f t - m a s k i n g A S . S M K _ A S 3 : : ( m S t a t u s = S T A N D B Y ) A ( i A l t B e l o w = 0 ) / \ ( i C o r r u p t S e n s o r 9 5 1 ) A ( i D O I S t a t u s = 0 ) L m S t a t u s , i A l t B e l o w : = A W A I T , 1 S M K _ A 8 9 : : ( 0 S t < 1 ) M m S t a t u s : = I N I T S M K _ A 8 1 0 : : ( 0 S t < 1 ) — — — — + w a i t F i g u r e 8 . 1 1 : R e c o v e r y a n d r e v i s e d t i m e d g u a r d e d c o m m a n d s o f s o f t — m a s k i n g A S . t h e i n v a r i a n t o f t h e i n t o l e r a n t p r o g r a m , i . e , I n v s k a l S = I n v A 8 ' 1 6 5 8 . 4 . 2 A d d i n g H a r d - M a s k i n g F a u l t - T o l e r a n c e A s m e n t i o n e d i n S e c t i o n 7 . 1 , a h a r d - m a s k i n g p r o g r a m s a t i s fi e s b o t h S P E C E a n d S P E C ? ? ? a n d p r o v i d e s b o u n d e d - t i m e r e c o v e r y i n t h e p r e s e n c e o f f a u l t s . L e t u s c o n s i d e r t h e c a s e w h e r e S P E C ; c o n s i s t s o f o n l y t w o b o u n d e d r e s p o n s e p r O p e r t i e s . I n t h i s s u b s e c t i o n , w e s h o w t h a t s y n t h e s i z i n g a h a r d - m a s k i n g p r o g r a m i n t h i s s e t t i n g i s N P - c o m p l e t e i n t h e s i z e o f t h e p r o g r a m ’ s r e g i o n g r a p h . N o t e , h o w e v e r , t h a t t h e c o m p l e x i t y o f t h i s p r o b l e m r e m a i n s o p e n f o r t h e c a s e w h e r e S P E C b — r - i s d e fi n e d a s a s i n g l e b o u n d e d r e s p o n s e p r o p e r t y . I n s t a n c e . A r e a l - t i m e p r o g r a m ’ P 2 ( H P , I n v p ) , a s e t o f f a u l t s f , a n d s a f e t y s p e c i fi c a t i o n S P E C , w h e r e S P E C - 5 ; E ( P H 3 5 Q ) / \ ( R H 3 9 U ) , a n d P l = 1 n v p S P E C . H a r d - m a s k i n g s y n t h e s i s d e c i s i o n p r o b l e m . D o e s t h e r e e x i s t a p r o g r a m P , = ( U p h l n v p l ) s u c h t h a t ’ P ’ i s o b t a i n e d f r o m t h e a b o v e i n s t a n c e b y a d d i n g h a r d — m a s k i n g f a u l t - t o l e r a n c e a n d s a t i s fi e s t h e c o n s t r a i n t s o f P r o b l e m S t a t e m e n t 7 . 3 . 2 ? T h e o r e m 8 . 4 . 3 H a r d - m a s k i n g s y n t h e s i s d e c i s i o n p r o b l e m i s N P - c o m p l e t e i n t h e s i z e o f t h e r e g i o n g r a p h . P r o o f . C l e a r l y , h a v i n g a s o l u t i o n t o t h e p r o b l e m , w e c a n v e r i f y i t i n p o l y n o m i a l t i m e . H e n c e , t h e p r o b l e m i s i n N P . I n o r d e r t o s h o w t h a t t h e p r o b l e m i s N P - h a r d , w e a d a p t t h e N P - h a r d n e s s p r o o f o f t h e p r o b l e m o f a d d i n g t w o u n b o u n d e d r e s p o n s e p r o p e r t i e s t o a n u n t i m e d p r o g r a m s i n t h e a b s e n c e o f f a u l t s [ E K B 0 5 ] . W e p r o v e t h i s t h e o r e m b y a r e d u c t i o n f r o m t h e 3 - S A T p r o b l e m . T h e 3 — S A T p r o b l e m i s a s f o l l o w s : L e t 1 3 1 , 2 3 2 . - - z e n , b e p r o p o s i t i o n a l v a r i a b l e s . G i v e n i s a B o o l e a n f o r m u l a y = 3 1 1 / \ y 2 - - - y M , w h e r e 1 6 6 e a c h y j , 1 S j 3 A I , i s a d i s j u n c t i o n o f e x a c t l y t h r e e l i t e r a l s . T h e d e c i s i o n p r o b l e m d e t e r m i n e s w h e t h e r t h e r e e x i s t s a n a s s i g n m e n t o f t r u t h v a l u e s t o $ 1 , 1 7 2 - - - a m s u c h t h a t y i s s a t i s fi a b l e . M a p p i n g . M a p p i n g o f p r o p o s i t i o n a l v a r i a b l e s a n d d i s j u n c t i o n s t o a n i n s t a n c e o f o u r d e c i s i o n p r o b l e m i s a s f o l l o w s : 0 ( S t a t e s p a c e , i n v a r i a n t , a n d s t a t e p r e d i c a t e s P , Q , R , a n d U ) F o r e a c h v a r i a b l e I L " i n t h e g i v e n 3 - S A T i n s t a n c e , w e i n t r o d u c e s i x s t a t e s P i , a i , Q i , R i , b i , a n d z U i , w h e r e 1 S i g n ( c f . F i g u r e 8 . 1 2 ) . F o r e a c h d i s j u n c t i o n y j , w e i n t r o d u c e a s t a t e t j ? w h e r e 1 S j S M . W e a l s o i n t r o d u c e t h e s t a t e 5 , w h i c h r e p r e s e n t s t h e p r o g r a m i n v a r i a n t . W e l e t t h e s e t o f c l o c k v a r i a b l e s o f P b e t h e e m p t y s e t . P u t i t a n o t h e r w a y , i n o u r i n s t a n c e , s t a t e s o f " P a r e n o t a s s o c i a t e d w i t h c l o c k v a l u a t i o n s . T h u s , w e h a v e : - S p = { P i 1 a i ’ Q i = R i 7 b i 7 U i I I S i - S n } U { t j I I S j S 1 W } U { S } , — I n v p = { s } , a n d — P = { P z - | l g i g n } , Q - — - { Q i | 1 _ < _ i S n } , R = { R z - | 1 £ i g n } , a n d U = { U 2 - | 1 £ i § n } . 0 ( P r o g r a m t r a n s i t i o n s ) F o r e a c h v a r i a b l e L L ’ z ' , w e i n c l u d e ( P i , a i ) , ( “ i v b i ) , ( b i , Q i ) , ( Q i , s ) , ( R 7 5 1 5 ) , ( b , , a , ; ) , ( a , , U 1 ) , a n d ( U i : s ) i n t h e s e t T 7 3 o f p r o g r a m t r a n s i t i o n s ( c f . F i g u r e 8 . 1 2 ) . w e a l s o a d d a s e l f - l o o p a t s t a t e 3 . M o r e o v e r , c o r r e s p o n d i n g t o e a c h d i s j u n c t i o n y j , w e i n c l u d e t h e f o l l o w i n g t r a n s i t i o n s : — I f 3 : , - i s a l i t e r a l i n y j t h e n w e i n c l u d e t h e t r a n s i t i o n ( t j , P i ) : 1 6 7 — I f fi r , - i s a l i t e r a l i n y j t h e n w e i n c l u d e t h e t r a n s i t i o n ( t j , 1 1 3 2 - ) . 0 ( F a u l t t r a n s i t i o n s ) W e a l s o a d d f a u l t t r a n s i t i o n s f r o m s t o a l l s t a t e s t h a t c o r r e s p o n d t o a d i s j u n c t i o n . T h a t i s , F = { ( s , t ) | 1 S j S M } . 0 ( S a f e t y s p e c i fi c a t i o n ) w e l e t t h e s e t o f b a d t r a n s i t i o n s t o b e t h e e m p t y s e t , i . e . , S P E C b t = { } . M o r e o v e r , i n S P E C ? ? ? w e l e t t h e r e s p o n s e t i m e s t o b e u n b o u n d e d , i . e . , 6 = 6 = 0 0 . R e d u c t i o n . N o w , w e s h o w t h a t t h e g i v e n i n s t a n c e o f 3 - S A T i s s a t i s fi a b l e i f f w e a r e a b l e t o s y n t h e s i z e P , = ( I I I n v p l ) b y a d d i n g h a r d - m a s k i n g f a u l t - t o l e r a n c e t o P ’ ’ P = ( H P ’ I n v p ) ( i d e n t i fi e d a b o v e ) s u c h t h a t P , m e e t s t h e c o n s t r a i n t s o f P r o b l e m S t a t e m e n t 7 . 3 . 2 . W e d i s t i n g u i s h t w o s u b g o a l s : 1 . ( = > ) F i r s t , w e s h o w t h a t i f t h e g i v e n i n s t a n c e o f t h e 3 — S A T f o r m u l a i s s a t i s fi a b l e t h e n t h e r e e x i s t s a h a r d — m a s k i n g p r o g r a m P , 2 ( I I I n v p / ) d e r i v e d f r o m P = P ’ ’ ( H , I n v . S i n c e t h e 3 — S A T f o r m u l a i s s a t i s fi a b l e , t h e r e e x i s t s a n a s s i g n m e n t ’ P P F i g u r e 8 . 1 2 : M a p p i n g 3 - S A T t o a d d i t i o n o f h a r d - m a s k i n g f a u l t - t o l e r a n c e . 1 6 8 o f t r u t h v a l u e s t o v a r i a b l e s 3 3 , , 1 S i g n , s u c h t h a t e a c h d i s j u n c t i o n y j , 1 S j S M , b e c o m e s t r u e . W e c o n s t r u c t 1 3 ’ = < H P ” I n v P I ) a s f o l l o w s . 0 T h e i n v a r i a n t o f P , i s i d e n t i c a l t o t h e i n v a r i a n t o f P , i . e . , I n v p , = I n v p . o F o r e a c h v a r i a b l e 3 3 , - , i f x , - i s t r u e t h e n w e i n c l u d e t h e t r a n s i t i o n s ( P i , a i ) , ( a i ’ b i ) , ( ’ M Q i ) , a n d ( Q M ) i n T p l ' o F o r e a c h v a r i a b l e 3 3 , - , i f : 1 3 , - i s f a l s e t h e n w e i n c l u d e t h e t r a n s i t i o n s ( [ 2 , , b i ) , ( b , , a , , : ) , ( a . , ; , U , - ) , a n d ( U 1 3 8 ) i n T I P , - 0 F o r e a c h d i s j u n c t i o n y j t h a t c o n t a i n s 1 3 , , w e i n c l u d e t h e t r a n s i t i o n ( t j , P i ) i n T ’ p ’ i f : 1 3 , - i s t r u e . 0 F o r e a c h d i s j u n c t i o n y j t h a t c o n t a i n s fi x i , w e i n c l u d e t h e t r a n s i t i o n ( t j ? R t ) i n T , i f : 1 3 , - i s f a l s e . p 0 F i n a l l y , w e l e t t h e s e l f - l o o p ( s , s ) t o b e p r e s e n t i n T , a s w e l l . p A s a n i l l u s t r a t i o n , w e s h o w t h e p a r t i a l s t r u c t u r e o f P I , f o r t h e f o r m u l a [ ( 5 1 3 1 V 1 1 3 2 V : 5 3 ) / \ ( 1 1 2 1 V 2 : 2 V fi x 4 ) ] , w h e r e 1 : 1 = t r u e , 1 : 2 = f a l s e , 3 : 3 2 f a l s e , a n d 3 : 4 2 f a l s e i n F i g u r e 8 . 1 3 . N o w , w e s h o w t h a t i f w e c o n s t r u c t P ’ a s p r e s c r i b e d a b o v e , P , i s h a r d - m a s k i n g F — t o l e r a n t t o S P E C f r o m I n v p / z 0 C l e a r l y , t h e fi r s t t w o c o n s t r a i n t s o f t h e P r o b l e m S t a t e m e n t 7 . 3 . 2 a r e s a t i s - fi e d . o I t i s e a s y t o o b s e r v e t h a t b y c o n s t r u c t i o n , t h e r e a r e n o d e a d l o c k s t a t e s . M o r e o v e r , i f t h e s t a t e o f P , i s p e r t u r b e d b y a f a u l t t r a n s i t i o n , t h e c o r r e — s p o n d i n g c o m p u t a t i o n r e a c h e s P , - ( i . e . , : 1 3 , - = t r u e ) a n d t h e n t h a t c o m p u - 1 6 9 P 1 . a ] . 2 . P r o g r a m — - > F a u l t — — ) F i g u r e 8 . 1 3 : P a r t i a l s t r u c t u r e o f t h e h a r d - m a s k i n g p r o g r a m . t a t i o n w i l l e v e n t u a l l y r e a c h Q , - a n d fi n a l l y r e c o v e r s b a c k t o s . T h i s i s d u e t o t h e f a c t t h a t T P ' d o e s n o t i n c l u d e t h e t r a n s i t i o n ( b i , a i ) . L i k e w i s e , i f a c o m p u t a t i o n o f T P ’ [ ] f r e a c h e s R , - ( i . e . , x , - = f a l s e ) t h e n t h a t c o m p u t a t i o n w i l l e v e n t u a l l y r e a c h U , a n d r e c o v e r s b a c k t o . 9 . A g a i n , t h i s i s b e c a u s e T 7 ) , d o e s n o t i n c l u d e t h e t r a n s i t i o n ( a i , b i ) . T h u s , P , i s h a r d - m a s k i n g f - t o l e r a n t t o S P E C f r o m I n u P I . ( 4 : ) N e x t , w e s h o w t h a t i f t h e r e e x i s t s a h a r d - m a s k i n g p r o g r a m P , = ( 1 1 7 ) , , I n v p l ) s u c h t h a t P ’ m e e t s t h e c o n s t r a i n t s o f P r o b l e m S t a t e m e n t 7 . 3 . 2 t h e n t h e c o r r e s p o n d i n g 3 — S A T f o r m u l a i s s a t i s fi a b l e . W e a s s i g n t r u t h v a l u e s t o t h e p r o p o s i t i o n a l v a r i a b l e s a s f o l l o w s . I f t h e r e e x i s t s a c o m p u t a t i o n o f T 7 ) , [ ] f , s u c h t h a t s t a t e P i i s r e a c h a b l e t h e n w e a s s i g n 4 5 2 ' t h e t r u t h v a l u e t r u e . O t h e r - 1 7 0 w i s e , w e a s s i g n t h e t r u t h v a l u e f a l s e . W e n o w s h o w t h a t t h e a b o v e t r u t h a s s i g n m e n t . s a t i s fi e s a l l d i s j u n c t i o n s . O b s e r v e t h a t s i n c e 3 ’ i s n o n e m p t y t h e n I n v p , = { 3 } . L e t y j b e a n y d i s j u n c t i o n a n d l e t t j b e t h e c o r r e s p o n d i n g s t a t e i n P ’ . S i n c e t j i s a s t a t e i n t h e f a u l t - s p a n a n d P , i s a h a r d - m a s k i n g p r o g r a m , P , c a n n o t d e a d l o c k , i . e . , t h e r e m u s t b e s o m e o u t g o i n g t r a n s i t i o n f r o m t T h i s t r a n s i t i o n t e r m i n a t e s i n e i t h e r P , - o r j ' H i , f o r s o m e i . I f t h e t r a n s i t i o n f r o m t j t e r m i n a t e s i n P i t h e n y j c o n t a i n s l i t e r a l . r z - a n d . r z - i s a s s i g n e d t h e t r u t h v a l u e t r u e . H e n c e , y j e v a l u a t e s t o t r u e . I f t h e t r a n s i t i o n f r o m t j t e r m i n a t e s i n R , t h e n P , - i s u n r e a c h a b l e . O t h e r w i s e , ( i ) t r a n s i t i o n s ( R i , b , - ) , ( b z - , a , - ) , a n d ( o z - , U i ) m u s t b e i n c l u d e d t o e n s u r e t h a t R H . 3 0 0 U i s s a t i s fi e d , a n d ( i i ) t r a n s i t i o n s ( P l - , a i ) , ( o z - , b i ) , a n d ( b i = Q i ) m u s t a l s o b e i n c l u d e d t o g u a r a n t e e t h a t P H 3 0 0 Q i s s a t i s fi e d . S i n c e t h e i n c l u s i o n o f a l l s i x t r a n s i t i o n s ( P l - , a i ) , ( o z - , b i ) , ( b i n i l a ( R i a b i ) : ( b l - p i ) , a n d ( a i , U , - ) c r e a t e s a c y c l e a n d , h e n c e , c a u s e s v i o l a t i o n o f b o t h P H 3 0 0 Q a n d R H g o o U , i t f o l l o w s t h a t P , - m u s t b e u n r e a c h a b l e i n a n y c o m p u t a t i o n o f T p l fl f i f R , - i s r e a c h a b l e . T h u s , i f R , - i s r e a c h a b l e t h e n 3 3 , ; w i l l b e a s s i g n e d t h e t r u t h v a l u e f a l s e . S i n c e i n t h i s c a s e y j c o n t a i n s fi x i , t h e d i s j u n c t i o n y j e v a l u a t e s t o t r u e . T h e r e f o r e , t h e a s s i g n m e n t o f v a l u e s c o n s i d e r e d a b o v e i s a s a t i s f y i n g t r u t h a s s i g n m e n t f o r t h e c o r r e s p o n d i n g 3 - S A T f o r m u l a . I 1 7 1 C h a p t e r 9 S y n t h e s i z i n g B o u n d e d - T i m e P h a s e d R e c o v e r y I n t h i s c h a p t e r , w e f o c u s o n t h e p r o b l e m o f a u t o m a t e d s y n t h e s i s f o r r e a l - t i m e s y s t e m s t h a t p r o v i d e b o u n d e d - t i m e p h a s e d r e c o v e r y i n t h e p r e s e n c e o f f a u l t s . T o m o t i v a t e t h e n o t i o n o f p h a s e d r e c o v e r y , w e r e t u r n t o o u r t r a f fi c c o n t r o l l e r e x a m p l e ( s e e S e c t i o n 2 . 1 . 2 ) . C o n s i d e r t h e c a s e w h e r e s i g O i s g r e e n a n d s i g l i s r e d . I f t h e t i m e r t h a t i s r e s p o n - s i b l e f o r c h a n g i n g s i g l f r o m r e d t o g r e e n i s r e s e t d u e t o a c i r c u i t p r o b l e m , s i g l m a y t u r n g r e e n w i t h i n s o m e t i m e w h i l e s i g o i s a l s o g r e e n . O b v i o u s l y , t h i s i s a v i o l a t i o n o f t h e s a f e t y s p e c i fi c a t i o n . I n o r d e r t o t r a n s f o r m t h i s s y s t e m i n t o a f a u l t — t o l e r a n t o n e , i t i s d e s i r a b l e t o s y n t h e s i z e a v e r s i o n o f t h e o r i g i n a l s y s t e m , i n w h i c h e v e n i n t h e p r e s e n c e o f f a u l t s , t h e s y s t e m 1 . n e v e r e x e c u t e s a t r a n s i t i o n i n S P E C b t T C ’ a n d 1 7 2 2 . a l w a y s m e e t s t h e f o l l o w i n g b o u n d e d - t i m e r e c o v e r y s p e c i fi c a t i o n d e n o t e d b y S P E C — : w h e n t h e s y s t e m s t a t e i s i n n I a n C , i t m u s t r e a c h a s t a t e i n b r r I - C I n v r I — C w i t h i n a b o u n d e d a m o u n t o f t i m e . A l t h o u g h s u c h a r e c o v e r y m e c h a n i s m i s n e c e s s a r y i n a f a u l t — t o l e r a n t r e a l - t i m e s y s - t e m , i t m a y n o t b e s u f fi c i e n t . I n p a r t i c u l a r , o n e m a y r e q u i r e t h a t t h e s y s t e m m u s t i n i t i a l l y r e a c h a s p e c i a l s e t o f s t a t e s , s a y Q , w i t h i n s o m e t i m e 6 , a n d s u b s e q u e n t l y r e c o v e r t o I a n C w i t h i n ( 5 t i m e u n i t s . W e c a l l t h e s e t Q a n i n t e r m e d i a t e r e c o v e r y p r e d i c a t e . T h e i n t u i t i o n f o r s u c h p h a s e d r e c o v e r y c o m e s f r o m t h e r e q u i r e m e n t t h a t t h e o c c u r r e n c e o f f a u l t s m u s t b e n o t e d ( e . g . , f o r s c h e d u l i n g h a r d w a r e r e p a i r s o r r e - p l a c e m e n t ) b e f o r e n o r m a l s y s t e m o p e r a t i o n r e s u m e s . T h u s , i n o u r e x a m p l e , Q c o u l d b e t h e s e t o f s t a t e s w h e r e a l l s i g n a l s a r e r e d . S u c h a c o n s t r a i n t e n s u r e s t h a t t h e s y s t e m fi r s t g o e s t o a s t a t e i n w h i c h a s e t o f p r e c o n d i t i o n s f o r fi n a l r e c o v e r y ( e . g . , v i a a s y s t e m r e b o o t o r r o l l b a c k ) i s f u l fi l l e d . T h e m a i n r e s u l t s i n t h i s c h a p t e r a r e a s f o l l o w s : 0 W e f o r m a l l y d e fi n e t h e n o t i o n o f b o u n d e d - t i m e p h a s e d r e c o v e r y i n t h e c o n t e x t o f f a u l t - t o l e r a n t r e a l - t i m e s y s t e m s . 0 W e s h o w t h a t , i n g e n e r a l ( i . e . , w h e n Q Z I n v p a n d I n v p Q Q ) , t h e p r o b l e m o f s y n t h e s i z i n g f a u l t - t o l e r a n t r e a l - t i m e p r o g r a m s t h a t p r o v i d e p h a s e d r e c o v e r y i s N P - c o m p l e t e . A n e x a m p l e o f s u c h a c a s e i s t h e t r a f fi c s i g n a l s s y s t e m i n w h i c h Q i n c l u d e s s t a t e s w h e r e a l l s i g n a l s a r e f l a s h i n g r e d . T h i s r e s u l t a l s o s h o w s t h a t t h e p r o b l e m o f a d d i n g h a r d - m a s k i n g f a u l t - t o l e r a n c e w i t h o n l y o n e t i m i n g c o n s t r a i n t i s a l s o N P — c o m p l e t e . T h i s r e s u l t g e n e r a l i z e s T h e o r e m 8 . 4 . 3 . 1 7 3 c W e c h a r a c t e r i z e a s u f fi c i e n t c o n d i t i o n f o r c a s e s w h e r e t h e s y n t h e s i s p r o b l e m c a n b e s o l v e d e f fi c i e n t l y . I n p a r t i c u l a r , w e s h o w t h a t i f I n v p C ; Q , a n d , e x e c u t i o n o f t h e s y n t h e s i z e d s y s t e m n e e d s t o b e c l o s e d i n Q ( i . e . , s t a r t i n g f r o m a s t a t e i n Q , t h e s t a t e o f t h e s y s t e m j n e v e r l e a v e s Q ) t h e n t h e r e e x i s t s a p o l y n o m i a l - t i m e s o u n d a n d c o m p l e t e s y n t h e s i s a l g o r i t h m i n t h e s i z e o f t h e i n p u t i n t o l e r a n t p r o g r a m ’ s r e g i o n g r a p h . A n e x a m p l e o f s u c h a c a s e i s t h e t r a f fi c s i g n a l s s y s t e m i n w h i c h Q i s t h e s e t o f s t a t e s w h e r e e i t h e r b o t h s i g n a l s r e m a i n r e d i n d e fi n i t e l y o r I a n C h o l d s . 9 . 1 B o u n d e d - T i m e P h a s e d R e c o v e r y A s m e n t i o n e d e a r l i e r , p r e s e r v i n g s a f e t y s p e c i fi c a t i o n a n d p r o v i d i n g s i m p l e r e c o v e r y t o t h e i n v a r i a n t f r o m t h e f a u l t - s p a n m a y n o t b e s u f f i c i e n t a n d , h e n c e , i t m a y b e n e c e s s a r y t o c o m p l e t e r e c o v e r y t o t h e i n v a r i a n t i n a s e q u e n c e o f p h a s e s w h e r e e a c h p h a s e s a t i s fi e s c e r t a i n c o n s t r a i n t s . W e f o r m a l i z e t h e n o t i o n o f b o u n d e d — t i m e p h a s e d r e c o v e r y b y a s e t o f b o u n d e d r e s p o n s e p r o p e r t i e s i n s i d e t h e s a f e t y s p e c i fi c a t i o n , i . e . , b y S P E C ) ” . ( c f . D e fi n i t i o n 2 . 2 . 4 ) . I n t h i s p a p e r , i n p a r t i c u l a r , w e f o c u s o n 2 - p h a s e r e c o v e r y . D e fi n i t i o n 9 . 1 . 1 ( 2 - p h a s e r e c o v e r y ) L e t P = ( 1 1 7 3 , I n v p ) b e a r e a l - t i m e p r o - g r a m , Q b e a n a r b i t r a r y i n t e r m e d i a t e r e c o v e r y p r e d i c a t e , F b e a s e t o f f a u l t s , a n d S P E C b e a s p e c i fi c a t i o n ( a s d e fi n e d i n D e fi n i t i o n s 2 . 2 . 4 a n d 2 . 2 . 5 ) . W e s a y t h a t P p r o v i d e s 2 - p h a s e r e c o v e r y f r o m I n v p a n d Q w i t h r e c o v e r y t i m e s 5 , 0 E Z 2 0 , r e — s p e c t i v e l y , i f f P H F m a i n t a i n s S P E C b — T - f r o m I n v p , w h e r e S P E C B ; E ( fi l n v p r — > < 9 1 7 4 S P E C b — T T C E ( e l n v r c H 3 3 Q r c l A ( Q r c H 3 7 1 m r c > = Q ) / \ ( Q H s é I n v p ) . I N o t e t h a t i n D e fi n i t i o n 9 . 1 . 1 , i f I n v p a n d Q a r e d i s j o i n t t h e n P h a s t o r e c o v e r t o Q a n d t h e n I n v p i n o r d e r , a s I n v p i s c l o s e d i n P . O n t h e o t h e r h a n d , i f I n v p a n d Q a r e n o t d i s j o i n t , P h a s t h e f o l l o w i n g o p t i o n s : ( 1 ) r e c o v e r t o Q ( 1 - : I n v r p w i t h i n 0 a n d t h e n I n v p , o r ( 2 ) d i r e c t l y r e c o v e r t o I n v p fl Q w i t h i n m i n ( 6 , 0 ) . E x a m p l e ( c o n t ’ d ) . A s d e s c r i b e d e a r l i e r i n t h i s S e c t i o n , w h e n f a u l t s F 0 o r F 1 ( d e fi n e d i n S u b s e c t i o n 7 . 2 . 3 ) o c c u r , t h e p r o g r a m T C h a s t o , fi r s t , e n s u r e t h a t n o t h i n g c a t a s t r o p h i c h a p p e n s a n d t h e n r e c o v e r t o i t s n o r m a l b e h a v i o r . T h u s , t h e f a u l t - t o l e r a n t v e r s i o n o f T C h a s t o , fi r s t , r e a c h a s t a t e w h e r e b o t h s i g n a l s r e m a i n r e d i n d e fi n i t e l y a n d s u b s e q u e n t l y r e c o v e r t o I n v r p w h e r e e x a c t l y o n e s i g n a l t u r n s g r e e n . I n p a r t i c u l a r , w e l e t t h e 2 - p h a s e r e c o v e r y s p e c i fi c a t i o n o f T C b e t h e f o l l o w i n g : w h e r e Q T C 2 V i 6 { 0 , 1 } : ( s i g z - = R ) / \ ( . 3 , - > 1 ) . T h e r e s p o n s e t i m e s i n S P E C - b 7 ( i . e . , 3 a n d 7 ) a r e s i m p l y t w o a r b i t r a r y n u m b e r s t o e x p r e s s t h e d u r a t i o n o f t h e t w o p h a s e s o f r e c o v e r y . 9 . 2 C o m p l e x i t y o f S y n t h e s i z i n g B o u n d e d - T i m e 2 - P h a s e R e c o v e r y I n t h i s s e c t i o n , w e s h o w t h a t , i n g e n e r a l , t h e p r o b l e m o f s y n t h e s i z i n g f a u l t - t o l e r a n t r e a l — t i m e p r o g r a m s t h a t p r o v i d e p h a s e d r e c o v e r y i s N P - c o m p l e t e i n t h e s i z e o f 1 7 5 l o c a t i o n s o f t h e g i v e n f a u l t - i n t o l e r a n t r e a l - t i m e p r o g r a m . I n s t a n c e . A r e a l - t i m e p r o g r a m P = ( H p J n v p ) , a s e t o f f a u l t s F , a n d a s p e c i fi c a t i o n S P E C , s u c h t h a t P i = I n v r p S P E C , w h e r e S P E C E ; E ( — . I n v ’ p l — ) < 6 Q ) / \ ( Q H 3 5 I n v p ) f o r s t a t e p r e d i c a t e Q a n d 6 , 6 ’ E Z 2 0 . T h e d e c i s i o n p r o b l e m ( F T P R ) . D o e s t h e r e e x i s t a n F - t o l e r a n t p r o g r a m P ’ = ( 1 1 7 ) , , I n v P I ) s u c h t h a t P , m e e t t h e c o n s t r a i n t s o f P r o b l e m S t a t e m e n t 7 . 3 . 2 ? W e n o w s h o w t h a t t h e F T P R p r o b l e m i s N P - c o m p l e t e t o d e c i d e . T o t h i s e n d , w e r e d u c e a v a r i a t i o n o f t h e 2 - p a t h p r o b l e m [ F H W S O ] t o F T P R . T h e s i m p l i fi e d 2 - p a t h p r o b l e m ( 2 P P ) . G i v e n a r e a d i g r a p h G = ( V , A ) a n d t h r e e d i s t i n c t v e r t i c e s v 1 , v 2 , v 3 E V . D e c i d e w h e t h e r G h a s a s i m p l e ( v 1 , v 3 ) - p a t h t h a t a l s o c o n t a i n s t h e v e r t e x v 2 [ B J G O Q ] . T h e o r e m 9 . 2 . 1 T h e p r o b l e m o f t r a n s f o r m i n g a f a u l t — i n t o l e r a n t r e a l - t i m e p r o g r a m i n t o a f a u l t - t o l e r a n t p r o g r a m t h a t p r o v i d e s b o u n d e d - t i m e p h a s e d r e c o v e r y i s N P - c o m p l e t e i n t h e s i z e o f l o c a t i o n s o f t h e f a u l t - i n t o l e r a n t p r o g r a m . P r o o f . S i n c e s h o w i n g m e m b e r s h i p t o N P i s s t r a i g h t f o r w a r d , w e o n l y S h o w t h a t t h e p r o b l e m i s N P - h a r d . 1 7 6 0 ( s a f e t y s p e c i fi c a t i o n ) S P E C b t = { } a n d S P E C ? E ( — . S H g g Q ) A ( Q H 3 5 o i n v a r i a n t s t a t e 0 ( — - 1 S ) - s t a t e Q — s t a t e — — > p r o g r a m t r a n s i t i o n . . _ . f a u l t t r a n s i t i o n w r e c o v e r y p a t h f a u l t - s p a n F i g u r e 9 . 1 : M a p p i n g 2 - p a t h p r o b l e m t o f a u l t - t o l e r a n c e s y n t h e s i s . M a p p i n g . G i v e n a n i n s t a n c e o f t h e Z P P p r o b l e m ( i . e . , G = ( V , A ) , v 1 , v 2 , a n d v 3 ) , w e fi r s t p r e s e n t a p o l y n o m i a l - t i m e m a p p i n g f r o m t h e Z P P i n s t a n c e t o a n i n s t a n c e o f t h e F T P R p r o b l e m ( i . e . , P 2 ( H P , I n v p ) , S , f , a n d S P E C ) a s f o l l o w s ( s e e a l s o F i g u r e 9 . 1 ) : o ( c l o c k v a r i a b l e s ) X = { } , 0 ( s t a t e s p a c e ) S p z { s i r I v E V } , 0 ( p r o g r a m t r a n s i t i o n s ) T = ( { ( s u , s v ) | ( u , v ) E A } U { ( s v 3 , s v 3 ) } ) — { ( S v 3 , S u ) l U E V ’ i 1 ’ 3 l l v o ( i n v a r i a n t ) I n v p = { 3 1 1 3 } , o ( f a u l t t r a n s i t i o n s ) F = { ( s v 3 , 8 v 1 ) } , S ) , w h e r e Q = { 3 2 1 2 } , 6 = s o , a n d 9 = 0 0 . A n i n t u i t i v e d e s c r i p t i o n o f t h e a b o v e m a p p i n g i s a s f o l l o w s . F i r s t , w e l e t t h e s e t o f c l o c k v a r i a b l e s o f P b e t h e e m p t y s e t . T h i s i s s i m p l y b e c a u s e o u r g o a l i s t o s h o w t h a t t h e p r o b l e m i s N P - h a r d i n t h e s i z e o f l o c a t i o n s o f t h e i n p u t p r o g r a m . T h e s t a t e 1 7 7 s p a c e o f P c o n s i s t s o f a l l v e r t i c e s i n V . T h e p r o g r a m i n v a r i a n t I n v p m e r e l y i n c l u d e s s t a t e 3 1 3 . T h e s e t o f p r o g r a m t r a n s i t i o n s c o n s i s t s o f a l l a r c s i n A e x c e p t a r c s t h a t o r i g i n a t e a t 1 2 3 , p l u s a s e l f - l o o p a t s v 3 . I n c l u s i o n o f t h e s e l f - l o o p g u a r a n t e e s t h a t a l l p r o g r a m c o m p u t a t i o n s a r e i n fi n i t e . E x c l u s i o n o f a r c s t h a t o r i g i n a t e f r o m v 3 e n s u r e s t h e c l o s u r e o f I n v p . T h e r e i s n o b o u n d o n r e c o v e r y t i m e s . F i n a l l y , w e l e t S P E C b t b e t h e e m p t y s e t s o t h a t a l l p r o g r a m t r a n s i t i o n s c a n p o t e n t i a l l y p a r t i c i p a t e i n t h e s y n t h e s i z e d p r o g r a m . R e d u c t i o n . G i v e n t h e a b o v e m a p p i n g , w e n o w s h o w t h a t 2 P P h a s a s o l u t i o n i f f t h e a n s w e r t o t h e F T P R p r o b l e m i s a f fi r m a t i v e : a ( = > ) L e t t h e a n s w e r t o t h e 2 P P b e a s i m p l e p a t h 7 r t h a t o r i g i n a t e s a t v 1 , e n d s a t v 3 , a n d c o n t a i n s v 2 . W e c l a i m t h a t i n t h e s t r u c t u r e s h o w n i n F i g u r e 9 . 1 , t h e s e t o f p r o g r a m t r a n s i t i o n s T 1 9 , o b t a i n e d b y t a k i n g o n l y t h e t r a n s i t i o n s c o r r e s p o n d i n g t o t h e a r c s a l o n g 7 r p l u s t h e s e l f - l o o p ( 3 1 , 3 , s v 3 ) s a t i s fi e s t h e c o n - s t r a i n t s o f P r o b l e m S t a t e m e n t 7 . 3 . 2 . W e p r o v e o u r c l a i m a s f o l l o w s . N o t i c e t h a t ( 1 ) 8 7 9 2 S P ” ( 2 ) I n v p , = I n v p = { 3 1 1 3 } , ( 3 ) T ’ P ’ I I T W P ’ Q T p l l n v p l , a n d ( 4 ) P , i s f a u l t - t o l e r a n t t o S P E C f r o m I n v p ] , a s ( i ) i n t h e a b s e n c e o f f a u l t s , b y s t a r t i n g f r o m t h e i n v a r i a n t I n v p ] , a l l c o m p u t a t i o n s o f T 7 ) , a r e i n fi n i t e , a n d ( i i ) i n t h e p r e s e n c e o f f a u l t s , P ’ i = 1 7 w p / S P E C b — r ( s i n c e 7 r i s a s i m p l e p a t h t h a t . . I _ — m e e t s Q a n d S , r e s p e c t l v e l y ) , a n d , P l Z I n v P , S P E C b t ' o ( 4 : ) L e t t h e a n s w e r t o t h e F T P R p r o b l e m b e P , = ( 1 1 7 ) , , I n v p l ) w i t h i n v a r i a n t I n v p ] . S i n c e I n v p , m u s t b e n o n e m p t y , I n v p , = { 3 2 3 } . N o w , c o n s i d e r a c o m - 1 7 8 p u t a t i o n p r e fi x o f P , t h a t s t a r t s f r o m I n v p , a n d t h e f a u l t t r a n s i t i o n ( S v 3 , 8 1 } 1 ) p e r t u r b s t h e s t a t e o f P ’ . S i n c e P ’ i s f a u l t - t o l e r a n t i t m u s t s a t i s f y t h e b o u n d e d r e s p o n s e p r o p e r t i e s fi I n v P / H 3 6 Q a n d Q H 3 6 I n v p ] . H e n c e , t h e r e s h o u l d e x i s t a c o m p u t a t i o n p r e fi x 6 ' t h a t o r i g i n a t e s a t { s v l } a n d r e a c h e s Q = { 8 1 1 2 } - M o r e o v e r , ? m u s t a l s o v i s i t I n v p , = { 3 1 3 } . N o t i c e t h a t s t a r t i n g f r o m s v l , ‘ 0 ‘ m u s t fi r s t v i s i t s 0 2 a n d s u b s e q u e n t l y s 0 3 . T h i s i s b e c a u s e i f 3 fi r s t v i s i t s 3 1 ) ? ) t h e n d u e t o t h e c l o s u r e o f I n v p , i n , , i t w i l l n e v e r r e a c h 3 7 1 2 . N o w , w e c l a i m T 1 ) t h a t a p a t h , s a y 7 r , w h o s e v e r t i c e s a n d a r c s c o r r e s p o n d t o s t a t e a n d t r a n s i t i o n s i n E , i s t h e a n s w e r t o 2 P P . W e p r o v e t h i s c l a i m a s f o l l o w s . O b v i o u s l y , 7 r s t a r t s f r o m v 1 , e n d s a t v 3 a n d c o n t a i n s v 2 . M o r e o v e r , s i n c e ‘ 5 ' r e a c h e s b o t h I n v p , a n d Q i n a fi n i t e n u m b e r o f s t e p s , ‘ 0 ‘ c a n n o t c o n t a i n c y c l e s . T h e r e f o r e , 7 r i s a s i m p l e p a t h . I E x a m p l e ( c o n t ’ d ) . T h e p r o o f o f T h e o r e m 9 . 2 . 1 p a r t i c u l a r l y i m p l i e s t h a t i f Q a n d I n v p a r e d i s j o i n t i n t h e p r o b l e m i n s t a n c e t h e n N P - c o m p l e t e n e s s o f t h e s y n t h e s i s p r o b l e m i s c e r t a i n . I n t h e c o n t e x t o f T C , n o t i c e t h a t a c c o r d i n g t o t h e d e fi n i t i o n s o f I n v r f c a n d Q T C i n S e c t i o n s 2 . 2 a n d 9 . 1 , i t i s t h e c a s e t h a t I m ’ T C n Q T C = { } . H e n c e , t h e T C p r o g r a m a n d s p e c i fi c a t i o n i n t h e i r c u r r e n t f o r m e x h i b i t a n i n s t a n c e w h e r e t h e s y n t h e s i s p r o b l e m i s N P - c o m p l e t e . H o w e v e r , i n S u b s e c t i o n 9 . 3 . 1 , w e d e m o n s t r a t e t h a t a s l i g h t . m o d i fi c a t i o n i n t h e s p e c i fi c a t i o n o f T C m a k e s t h e p r o b l e m s i g n i fi c a n t l y e a s i e r t o s o l v e . I 1 7 9 9 . 3 A S u f fi c i e n t C o n d i t i o n f o r a P o l y n o m i a l - T i m e S o l u t i o n I n t h i s s e c t i o n , w e p r e s e n t a s u f fi c i e n t c o n d i t i o n u n d e r w h i c h o n e c a n d e v i s e a p o l y n o m i a l - t i m e s o u n d a n d c o m p l e t e s o l u t i o n t o t h e P r o b l e m S t a t e m e n t 7 . 3 . 2 i n t h e s i z e o f t i m e - a b s t r a c t b i s i m u l a t i o n o f i n p u t p r o g r a m . C l a i m 9 . 3 . 1 L e t P = ( I L P J n v p ) b e a p r o g r a m a n d r e c o v e r y s p e c i fi c a t i o n S P E C b _ r E ( fi I n v r p H 5 9 Q ) / \ ( Q H 3 5 I n v p ) . T h e r e e x i s t s a p o l y n o m i a l - t i m e s o u n d a n d c o m p l e t e s o l u t i o n t o P r o b l e m S t a t e m e n t 7 . 3 . 2 i n t h e s i z e o f t h e r e g i o n g r a p h o f P , i f ( I n v p g Q ) / \ ( Q i s c l o s e d i n T ’ p ’ ) ‘ I I n o r d e r t o v a l i d a t e t h i s c l a i m , w e p r o p o s e t h e A l g o r i t h m A d d _ B o u n d e d P h a s e d R e c o v e r y . A l g o r i t h m s k e t c h . I n t u i t i v e l y , t h e a l g o r i t h m w o r k s a s f o l l o w s . I n S t e p 1 , w e t r a n s f o r m t h e i n p u t p r o g r a m i n t o a r e g i o n g r a p h . I n S t e p 2 , w e i s o l a t e t h e s e t o f s t a t e s f r o m w h e r e S P E C H m a y b e v i o l a t e d . I n S t e p 3 , w e e n s u r e t h a t a n y c o m p u t a t i o n o f P ’ t h a t s t a r t s f r o m a s t a t e i n fi I n v P / — Q ( r e s p e c t i v e l y , Q — I n v P I ) r e a c h e s a s t a t e i n Q ( r e s p e c t i v e l y , I n v p l ) w i t h i n 6 ( r e s p e c t i v e l y , 6 ) t i m e u n i t s . I n S t e p 4 , w e e n s u r e t h e c l o s u r e o f f a u l t - s p a n a n d d e a d l o c k f r e e d o m o f i n v a r i a n t . W e r e p e a t S t e p s 3 - 4 u n t i l a fi x p o i n t i s r e a c h e d . F i n a l l y , i n S t e p 5 , w e t r a n s f o r m t h e r e s u l t a n t r e g i o n g r a p h b a c k i n t o a r e a l - t i m e p r o g r a m . A s s u m p t i o n 1 L e t a = ( 0 0 , r 0 ) — > ( o l , r 1 ) — > - ~ ( o n , r n ) b e a c o m p u t a t i o n p r e fi x w h e r e 0 0 , 0 7 7 , E S a n d 0 i g S f o r a l l i 6 { 1 . . n — 1 } . O n l y f o r s i m p l i c i t y o f 1 8 0 p r e s e n t a t i o n , w e a s s u m e t h a t t h e n u m b e r o f o c c u r r e n c e o f f a u l t s i n a i s o n e . P r e c i s e l y , w e a s s u m e t h a t i n ' 6 , o n l y ( 0 0 , 0 1 ) i s a f a u l t t r a n s i t i o n a n d n o f a u l t s o c c u r o u t s i d e t h e p r o g r a m i n v a r i a n t . I n C h a p t e r 8 , w e h a v e s h o w n h o w t o d e a l w i t h c a s e s w h e r e m u l t i p l e f a u l t s o c c u r i n a c o m p u t a t i o n w h e n a d d i n g b o u n d e d r e s p o n s e p r o p e r t i e s . T h e s a m e t e c h n i q u e c a n b e a p p l i e d w h i l e p r e s e r v i n g s o u n d n e s s a n d c o m p l e t e n e s s o f t h e a l g o r i t h m A d d _ B o u n d e d P h a s e d R e c o v e r y i n t h i s p a p e r . F u r t h e r m o r e , n o t i c e t h a t t h e p r o o f o f T h e o r e m 9 . 2 . 1 i n i t s c u r r e n t f o r m h o l d s w i t h t h i s a s s u m p t i o n . I W e n o w d e s c r i b e t h e a l g o r i t h m A d d _ B o u n d e d P h a s e d R e c o v e r y i n d e t a i l : 0 ( S t e p 1 ) F i r s t , w e u s e t h e a b o v e t e c h n i q u e t o t r a n s f o r m t h e i n p u t p r o g r a m P = ( H P J n v p ) i n t o a r e g i o n g r a p h R ( P ) = ( I I T , I n v y p ) . T o t h i s e n d , w e i n v o k e t h e p r o c e d u r e C o n s t r u c t R e g i o n G r a p h a s a b l a c k b o x ( L i n e 1 ) . W e l e t t h i s p r o c e d u r e c o n v e r t s t a t e p r e d i c a t e s a n d s e t s o f t r a n s i t i o n s i n P ( e . g . , I n v p a n d T P ) t o t h e i r c o r r e s p o n d i n g r e g i o n p r e d i c a t e s a n d s e t s o f e d g e s i n R ( P ) ( e . g . , r a n d T 1 , ) . I n v r 7 3 0 ( S t e p 2 ) I n o r d e r t o e n s u r e t h a t t h e s y n t h e s i z e d p r o g r a m d o e s n o t v i o l a t e S P E C H , w e i d e n t i f y t h e s e t m s o f r e g i o n s f r o m w h e r e a c o m p u t a t i o n m a y r e a c h a t r a n s i t i o n i n S P E C b t b y t a k i n g f a u l t t r a n s i t i o n s a l o n e ( L i n e 2 ) . N e x t ( L i n e 3 ) , w e c o m p u t e t h e s e t m t o f e d g e s , w h i c h c o n t a i n s ( 1 ) e d g e s t h a t d i r e c t l y v i o l a t e s a f e t y ( i . e . , S P E C g t ) , a n d ( 2 ) e d g e s w h o s e t a r g e t r e g i o n i s i n m s ( i . e . , e d g e s t h a t l e a d a c o m p u t a t i o n t o a s t a t e f r o m w h e r e s a f e t y m a y b e v i o l a t e d b y f a u l t s a l o n e ) . S i n c e t h e p r o g r a m d o e s n o t h a v e c o n t r o l o v e r o c c u r r e n c e o f f a u l t s , w e r e m o v e t h e s e t m s f r o m t h e r e g i o n p r e d i c a t e S i " , w h i c h i s o u r i n i t i a l 1 8 1 A l g o r i t h m 9 . 1 A d d _ B o u n d e d P h a s e d R e c o v e r y I n p u t : A r e a l - t i m e p r o g r a m P = ( H P ’ I n v p ) , f a u l t t r a n s i t i o n s F , b a d t r a n s i t i o n s S P E C b t ’ i n t e r m e d i a t e r e c o v e r y p r e d i c a t e Q a t I n v p g Q , r e c o v e r y t i m e 6 , a n d i n t e r m e d i a t e r e c o v e r y t i m e 6 . O u t p u t : I f s u c c e s s f u l , a f a u l t - t o l e r a n t r e a l - t i m e p r o g r a m P , = ( I I 7 ) , , I n v p / f 1 : 9 . 0 1 0 : 1 1 : 1 2 : 1 3 : 1 4 : 1 5 : 1 6 : 1 7 : 1 8 : 1 9 : 2 0 : 2 1 : 2 2 : 2 3 : 2 4 : 2 5 : 2 6 : ( 1 1 % , I n v r p ) , Q T , f r , S P E C g t : 2 C o n s t r u c t R e g i o n G r a p h ( ( I L P , I n v p ) , Q , f , m s 2 : { r 0 I 3 r 1 , r 2 - ~ r n : ( V j I O S j < n : ( r j , r j + 1 ) 6 F T ) A ( r n _ 1 , r n ) E S P E C Z t } ; m t : = { ( r 0 , r 1 ) I ( r 1 6 m s ) V ( ( r 0 , r 1 ) E S P E C E Q } ; S I : 2 8 3 , 3 — m s ; r e p e a t S E , I n v g : 2 S f , I n v i ; T i } , z = T s u n v ’ l ‘ u { < ( s o , p o > , ( s 1 , p 1 » | ( s o m e ) 6 ( S I - Q T ) A ( s t / ) 1 ) e T i A 3 p 2 I p 2 i s a t i m e - s u c c e s s o r o f p o : ( 3 A n g : p 7 1 2 p 2 I A : = 0 ] ) } L ; { ( ( S o w p o ) , ( 8 1 , p 1 ) ) l ( 3 0 , , 9 0 ) E ( Q - 1 ' n v 1 ) A ( 3 1 : . 0 1 ) 6 Q A r 3 p 2 | p 2 i s a t i m e - s u c c e s s o r r o f p o : 1 : ( 3 A n g : T p l r ; p 2 [ / \ : = 0 ] ) } — m t ; T 1 9 1 , n s : = A d d . r t U N I T Y ( ( I I . P 1 , I n v . P l ) , S l — Q , Q , 6 ) ; S ; : = S ; — n s ; 7 3 1 , n s : = A d e t U N I T Y ( ( H ; ) 1 , I n v 7 i 3 l ) , Q T — I n v 7 1 ‘ , I n v i , 6 ) ; S r , Q T : = S ; — n s , Q T — u s ; w h i l e ( 3 r 0 , r 1 : r O E S I A r 1 ¢ S f A ( r 0 , r 1 ) € F r ) d o S T 1 : 3 f — { T o } ; e n d w h i l e w h i l e ( E e r E U n v ’ l ~ ( 1 5 1 ' ) : ( V r l I ( r 1 # r 0 A r 1 E I n v ’ i ) : ( r 0 , r 1 ) é T i l ) d o I n v ’ i : = [ H U I — { r 0 } ; e n d w h i l e i f ( I n v 7 1 ' = { } V S ? = { } ) t h e n . ‘ ‘ d e c l a r e n o f a u l t - t o l e r a n t p r o g r a m e x i s t s ’ ’ ; e x 1 t ; e n d i f u n t i l ( 3 1 = S 2 A I n v l = I n v g ) ( 1 1 7 ) , , I n v p / ) : = C o n s t r u c t R e a l T i m e P r o g r a m ( ( p r 1 , I n v % 1 ) ) ; r e t u r n ( H p , , 1 n v p , ) ; e s t i m a t e o f t h e f a u l t - s p a n ( L i n e 4 ) . L i k e w i s e , i n S t e p 3 , w e w i l l r e m o v e m t f r o m t h e s e t o f p r o g r a m e d g e s T 1 7 ; w h e n r e c o m p u t i n g p r o g r a m t r a n s i t i o n s . 1 8 2 0 ( S t e p 3 ) I n t h i s s t e p , w e a d d r e c o v e r y p a t h s t o R ( P ) s o t h a t R ( P ) s a t i s fi e s - I I n v . P / H 3 6 Q a n d Q H g d I n v p ] . T o t h i s e n d , w e fi r s t r e c o m p u t e t h e s e t T ? 1 o f p r o g r a m e d g e s ( L i n e 7 ) b y i n c l u d i n g ( 1 ) e x i s t i n g e d g e s t h a t s t a r t a n d e n d i n I n v ’ i , a n d ( 2 ) n e w r e c o v e r y e d g e s t h a t o r i g i n a t e f r o m r e g i o n s i n 3 7 1 " - Q T ( r e s p e c t i v e l y , Q T — I n v i ) a n d t e r m i n a t e a t r e g i o n s i n S I ( r e s p e c t i v e l y , Q ) s u c h t h a t t h e t i m e - m o n o t o n i c i t y c o n d i t i o n i s m e t . W e e x c l u d e t h e s e t m t f r o m T 7 7 3 1 t o e n s u r e t h a t t h e s e r e c o v e r y e d g e s d o n o t v i o l a t e S P E C b t ' N o t i c e t h a t t h e a l g o r i t h m a l l o w s a r b i t r a r y c l o c k r e s e t s d u r i n g r e c o v e r y . I f s u c h c l o c k r e s e t s a r e n o t d e s i r a b l e , o n e c a n r u l e t h e m o u t b y i n c l u d i n g t h e m a s b a d t r a n s i t i o n s i n S P E C b t ' A f t e r a d d i n g r e c o v e r y e d g e s , w e i n v o k e t h e p r o c e d u r e A d d _ r t U N I T Y ( L i n e 8 ) w i t h p a r a m e t e r s S ’ f — Q T , Q T , a n d 0 t o e n s u r e t h a t R ( P ) i n d e e d s a t i s fi e s t h e b o u n d e d r e s p o n s e p r o p e r t y u l n v p H 3 6 Q . T h e d e t a i l s o f h o w t h e p r o c e d u r e A d d _ r t U N I T Y ( fi r s t p r o p o s e d i n C h a p t e r 6 ) f u n c t i o n s a r e n o t p r o v i d e d i n t h i s p a p e r , w i t h t h e e x c e p t i o n o f t h e f o l l o w i n g p r o p e r t i e s : ( 1 ) i t a d d s a c l o c k v a r i — a b l e , s a y t 1 , w h i c h g e t s r e s e t w h e n S 1 — Q b e c o m e s t r u e , t o t h e s e t X o f c l o c k v a r i a b l e s o f P , ( 2 ) f o r e a c h s t a t e a i n S I — Q , i t i n c l u d e s t h e s e t o f t r a n s i t i o n s t h a t p a r t i c i p a t e i n f o r m i n g t h e c o m p u t a t i o n t h a t s t a r t s f r o m a a n d r e a c h e s a s t a t e i n Q w i t h s m a l l e s t p o s s i b l e t i m e d e l a y , i f t h e d e l a y i s l e s s t h a n 9 , a n d ( 3 ) t h e r e g i o n s m a d e u n r e a c h a b l e b y t h i s p r o c e d u r e ( r e t u r n e d a s t h e s e t n s ) c a n n o t b e p r e s e n t i n a n y s o l u t i o n t h a t s a t i s fi e s fi l n v l H 3 9 Q . T h e p r o c e - d u r e m a y o p t i o n a l l y i n c l u d e a d d i t i o n a l c o m p u t a t i o n s , p r o v i d e d t h e y p r e s e r v e 1 8 3 t h e c o r r e s p o n d i n g b o u n d e d r e s p o n s e p r o p e r t y . T h u s , s i n c e t h e r e d o e s n o t e x - i s t a c o m p u t a t i o n p r e fi x t h a t m a i n t a i n s t h e c o r r e s p o n d i n g b o u n d e d r e s p o n s e p r o p e r t y f r o m t h e r e g i o n s i n n s , i n L i n e 9 , t h e a l g o r i t h m r e m o v e s n s f r o m S I . L i k e w i s e , i n L i n e 1 0 , t h e a l g o r i t h m a d d s a c l o c k v a r i a b l e , s a y t 2 , w h i c h g e t s r e s e t w h e n Q — I n v l b e c o m e s t r u e a n d e n s u r e s t h a t R ( P ) s a t i s fi e s Q + — — > < 5 I n v l . 0 ( S t e p 4 ) S i n c e w e r e m o v e t h e s e t n s o f r e g i o n s f r o m I n v i , w e n e e d t o e n s u r e t h a t S 1 i s c l o s e d i n F . T h u s , w e r e m o v e r e g i o n s f r o m w h e r e a s e q u e n c e o f f a u l t e d g e s c a n r e a c h a r e g i o n i n n s ( L i n e s 1 2 — 1 4 ) . N e x t , d u e t o t h e p o s s i b i l i t y o f r e m o v a l o f s o m e r e g i o n s a n d e d g e s i n t h e p r e v i o u s s t e p s , t h e a l g o r i t h m e n s u r e s t h a t t h e r e g i o n g r a p h ( I I T P I J a n P I ) d o e s n o t h a v e d e a d l o c k r e g i o n s i n t h e r e g i o n i n v a r i a n t I n v ’ i ( L i n e s 1 5 — 1 7 ) . I f t h e r e m o v a l o f d e a d l o c k r e g i o n s a n d r e g i o n s f r o m w h e r e t h e c l o s u r e o f f a u l t - s p a n i s v i o l a t e d r e s u l t s i n e m p t y i n v a r i a n t o r f a u l t - s p a n , t h e a l g o r i t h m d e c l a r e s f a i l u r e ( L i n e s 1 8 — 2 0 ) . 0 ( S t e p 5 ) F i n a l l y , u p o n r e a c h i n g a fi x p o i n t , w e t r a n s f o r m t h e r e s u l t i n g r e g i o n g r a p h ( H 5 3 1 , I n v g y l ) b a c k i n t o a r e a l - t i m e p r o g r a m P , = H I P ” I n v p l ) b y i n - v o k i n g t h e p r o c e d u r e C o n s t r u c t R e a l T i m e P r o g r a m . I n f a c t , t h e p r o g r a m P ’ i s r e t u r n e d a s t h e fi n a l s y n t h e s i z e d f a u l t - t o l e r a n t p r o g r a m . N o t e t h a t s i n c e a r e - g i o n g r a p h i s a t i m e - a b s t r a c t b i s i m u l a t i o n [ A D 9 4 ] , w e w i l l n o t l o s e a n y b e h a v i o r s i n t h e r e v e r s e t r a n s f o r m a t i o n . W e n o w s h o w t h a t t h e a l g o r i t h m A d d _ B o u n d e d P h a s e d R e c o v e r y i s s o u n d i n t h e s e n s e t h a t a n y p r o g r a m t h a t i t s y n t h e s i z e s i s c o r r e c t - b y - c o n s t r u c t i o n . W e a l s o s h o w t h a t t h e a l g o r i t h m i s c o m p l e t e i n t h e s e n s e t h a t i f i t f a i l s t o s y n t h e s i z e a s o l u t i o n t h e n 1 8 4 n o o t h e r c o r r e c t s o l u t i o n e x i s t s . T h e o r e m 9 . 3 . 2 T h e A l g o r i t h m A d d _ B o u n d e d P h a s e d R e c o v e r y i s s o u n d . P r o o f . W e s h o w t h a t t h e a l g o r i t h m s a t i s fi e s t h e c o n s t r a i n t s o f P r o b l e m S t a t e m e n t 7 . 3 . 2 . L e t t h e a l g o r i t h m a d d t w o c l o c k v a r i a b l e s t 1 a n d t 2 w h e n i n v o k i n g A d d _ r t U N l T Y ( c f . L i n e s 8 a n d 1 0 ) . W e p r o c e e d a s f o l l o w s : 1 . ( C o n s t r a i n t s C 1 . . C 3 ) B y c o n s t r u c t i o n , c o r r e c t n e s s o f t h e s e c o n s t r a i n t s t r i v i a l l y f o l l o w s . 2 . ( C o n s t r a i n t C 4 ) W e d i s t i n g u i s h t w o s u b g o a l s b a s e d o n t h e b e h a v i o r o f P , i n t h e a b s e n c e a n d p r e s e n c e o f f a u l t s : 0 w e n e e d t o s h o w t h a t i n t h e a b s e n c e o f f a u l t s , P , I = 1 7 W p l S P E C . T o t h i s e n d , c o n s i d e r a c o m p u t a t i o n E o f , t h a t s t a r t s i n I n v p ] . S i n c e t h e T P v a l u e s o f t 1 a n d t 2 a r e o f n o c o n c e r n i n s i d e I n v p ] , f r o m C 1 , 3 s t a r t s f r o m a s t a t e i n I n v p , a n d f r o m C 2 , 5 i s a c o m p u t a t i o n o f T 7 ) . M o r e o v e r , s i n c e w e r e m o v e d e a d l o c k s t a t e s f r o m I n v p , ( c f . L i n e s 1 5 - 1 7 ) , i f E i s i n fi n i t e i n P t h e n i t i s i n fi n i t e i n P , a s w e l l . I t f o l l o w s t h a t 6 ' E S P E C . H e n c e , e v e r y c o m p u t a t i o n o f T 7 ) , t h a t s t a r t s f r o m a s t a t e i n I n v p , i s i n S P E C . A l s o , b y c o n s t r u c t i o n , I n v p , i s c l o s e d i n T P " F u r t h e r m o r e , f o r a l l o p e n r e g i o n s , s a y r 0 , i n S ” t h e r e e x i s t s a n o u t g o i n g e d g e , s a y ( r 0 , r 1 ) , f o r s o m e r 1 6 I n v g , w h e r e r 0 9 4 r 1 . S i n c e t h e i n t o l e r a n t p r o g r a m e x h i b i t s n o t i m e — c o n v e r g e n t b e h a v i o r , s u c h a n e d g e c a n o n l y t e r m i n a t e a t a d i f f e r e n t c l o c k r e g i o n , w h i c h i n t u r n a d v a n c e s t i m e b y a n i n t e g e r . T h i s i m p l i e s t h a t i n 1 8 5 t h e a b s e n c e o f f a u l t s , o u r a l g o r i t h m d o e s n o t i n t r o d u c e t i m e - c o n v e r g e n t c o m p u t a t i o n s ( Z e n o b e h a v i o r s ) t o P , a n d , h e n c e , P , I = I n v p / S P E C . N o t i c e t h a t b y c o n s t r u c t i o n , S P ’ i s c l o s e d i n T p , [ ] F ( c f . L i n e s 1 2 — 1 4 ) . N o w , w e n e e d t o s h o w t h a t e v e r y c o m p u t a t i o n o f T 7 ) , [ ] F t h a t s t a r t s f r o m a s t a t e i n S P ’ r e a c h e s a s t a t e i n Q a n d s u b s e q u e n t l y a s t a t e i n I n v p , w i t h i n 0 a n d 6 t i m e u n i t s , r e s p e c t i v e l y . C o n s i d e r a c o m p u t a t i o n E = ( 0 0 , T o ) — > ( 0 1 , 7 1 ) _ _ , o f T P ’ U F t h a t s t a r t s f r o m a s t a t e i n S p ] . I f 0 0 E I n v p , a s i n g l e f a u l t t r a n s i t i o n m a y t a k e 3 t o S P ’ — I n v p ; a n d b y A s s u m p t i o n 1 , n o n e o f t h e s u b s e q u e n t t r a n s i t i o n s i n 5 ' i s i n F . T h u s , ' 5 1 = ( 0 1 , T I ) — — ) ( 0 2 , 7 ' 2 ) — » i s a c o m p u t a t i o n o f T p ’ w h e r e 0 1 E S p , — I n v p ] . I n t h e a l g o r i t h m , w h e n t h e r e p e a t — u n t i l l o o p t e r m i n a t e s , b y c o n s t r u c t i o n , ( 1 ) 3 1 r e a c h e s a s t a t e , s a y 0 k , i n Q w h e r e r k — r l S 6 ( c f . L i n e s 7 — 8 ) , a n d ( 2 ) f r o m 0 k , 3 r e a c h e s a s t a t e i n I n v p ’ w i t h i n 6 ( c f . L i n e 1 0 ) . T h i s a l s o i m p l i e s t h a t i n t h e p r e s e n c e o f f a u l t s a s w e l l , o u r a l g o r i t h m d o e s n o t i n t r o d u c e t i m e - c o n v e r g e n t c o m p u t a t i o n s t o P ’ , a s ' 0 ' e v e n t u a l l y r e a c h e s a s t a t e i n I n v P I . I T h e o r e m 9 . 3 . 3 T h e A l g o r i t h m A d d _ B o u n d e d P h a s e d R e c o v e r y i s c o m p l e t e . P r o o f . T h e p r o o f o f c o m p l e t e n e s s i s b a s e d o n t h e o b s e r v a t i o n t h a t i f a n y s t a t e i s r e m o v e d t h e n i t m u s t b e r e m o v e d , i . e . , t h e r e i s n o f a u l t — t o l e r a n t p r o g r a m t h a t m e e t s t h e c o n s t r a i n t s o f P r o b l e m S t a t e m e n t 7 . 3 . 2 a n d i n c l u d e s t h i s s t a t e . F o r e x a m p l e , i n t h e c o m p u t a t i o n o f m s , i f ( 0 0 , 0 1 ) i s a f a u l t t r a n s i t i o n a n d v i o l a t e s s a f e t y t h e n 1 8 6 s t a t e 0 0 m u s t b e r e m o v e d ( i . e . , n o t r e a c h e d ) . L i k e w i s e , m s i n c l u d e s s t a t e s f r o m w h e r e e x e c u t i o n o f f a u l t s a l o n e v i o l a t e s s a f e t y . H e n c e , t h e y m u s t b e r e m o v e d . I n L i n e 7 , w e c o m p u t e t h e i n p u t p r o g r a m t h a t i n c l u d e s a l l p o s s i b l e t r a n s i t i o n s t h a t m a y b e u s e d i n t h e fi n a l p r o g r a m . D u e t o c o n s t r a i n t C 3 o f t h e P r o b l e m S t a t e m e n t 7 . 3 . 2 , a n y t r a n s i t i o n t h a t b e g i n s i n t h e i n v a r i a n t m u s t b e a t r a n s i t i o n o f t h e f a u l t - i n t o l e r a n t p r o g r a m . D u e t o c l o s u r e o f Q i n t h e s u f fi c i e n t c o n d i t i o n , a n y t r a n s i t i o n f r o m Q ( p r e c i s e l y Q — I n v p s i n c e s t a t e s i n I n v p a r e a l r e a d y h a n d l e d ) m u s t e n d i n Q . A n d , d u e t o c l o s u r e o f f a u l t - s p a n , a n y t r a n s i t i o n t h a t b e g i n s i n S p ( p r e c i s e l y S p — Q ) m u s t e n d i n S p . T h u s , t h e t r a n s i t i o n s c o m p u t e d i n L i n e 7 a r e m a x i m a l . F u r t h e r m o r e , u s i n g t h e p r O p e r t y o f t h e A d d _ r t U N I T Y , i f a n y s t a t e i s r e m o v e d i n s p i t e o f c o n s i d e r i n g a l l p o s s i b l e t r a n s i t i o n s t h a t c o u l d b e p o t e n t i a l l y u s e d , t h e n t h a t s t a t e m u s t b e r e m o v e d ( i . e . , s t a t e s i n n s ) . O u r a l g o r i t h m d e c l a r e s f a i l u r e w h e n e i t h e r t h e i n v a r i a n t o r f a u l t - s p a n o f t h e s y n - t h e s i z e d p r o g r a m i s e q u a l t o t h e e m p t y s e t . I n o t h e r w o r d s , o u r a l g o r i t h m f a i l s t o fi n d a s o l u t i o n w h e n a l l s t a t e s o f t h e i n t o l e r a n t p r o g r a m a r e i l l e g i t i m a t e w i t h r e s p e c t t o P r o b l e m S t a t e m e n t 7 . 3 . 2 . T h e r e f o r e , t h e a l g o r i t h m A d d - B o u n d e d P h a s e d R e c o v e r y i s c o m p l e t e . I 9 . 3 . 1 E x a m p l e ( c o n t ’ d ) W e n o w d e m o n s t r a t e h o w t h e a l g o r i t h m A d d _ B o u n d e d P h a s e d R e c o v e r y s y n t h e s i z e s a f a u l t - t o l e r a n t v e r s i o n o f T C , w h i c h p r o v i d e s b o u n d e d - t i m e r e c o v e r y . I n t h e r e c o v e r y s p e c i fi c a t i o n o f T C ( c f . i n S e c t i o n 9 . 1 ) , t h e i n v a r i a n t p r e d i c a t e I n v / T C a n d i n t e r - 1 8 7 m e d i a t e r e c o v e r y p r e d i c a t e Q T C w e r e d i s j o i n t a n d i n S e c t i o n 9 . 2 , w e s h o w e d s u c h s p e c i fi c a t i o n s m a k e t h e s y n t h e s i s p r o b l e m N P - c o m p l e t e . N o w , l e t t h e i n t e r m e d i a t e r e c o v e r y p r e d i c a t e b e : Q n e w = [ ” 7 1 7 6 U Q T C - I n o t h e r w o r d s , a f t e r t h e o c c u r r e n c e o f f a u l t s , t h e r e c o v e r y s p e c i fi c a t i o n r e q u i r e s t h a t e i t h e r b o t h s i g n a l s t u r n r e d w i t h i n 3 t i m e u n i t s a n d t h e n r e t u r n t o t h e n o r m a l b e h a v i o r w i t h i n 7 t i m e u n i t s , o r , t h e s y s t e m r e a c h e s a s t a t e i n I a n C w i t h i n 3 t i m e u n i t s . S i n c e , I a n C Q Q n e w , w e a p p l y t h e A l g o r i t h m A d d _ B o u n d e d P h a s e d R e c o v e r y t o t r a n s f o r m T C i n t o a f a u l t - t o l e r a n t p r o g r a m T C ’ . W e n o t e t h a t d u e t o m a n y s y m m e t r i e s i n T C a n d t h e c o m p l e x s t r u c t u r e o f t h e a l g o r i t h m , w e o n l y p r e s e n t a h i g h l i g h t o f t h e p r o c e s s o f s y n t h e s i z i n g T C ] . F i r s t , o b s e r v e t h a t i n S t e p 2 o f t h e a l g o r i t h m , m s 2 { } a n d m t = S P E C b t T C . I n S t e p 3 , c o n s i d e r a s u b s e t o f S 1 — Q n e w w h e r e ( s i g O = s i g l = R ) A ( 2 0 , 3 1 S 1 ) . T h i s p r e d i c a t e i s r e a c h a b l e b y a s i n g l e o c c u r r e n c e o f ( f o r i n s t a n c e ) F 0 f r o m a n i n v a r i a n t s t a t e w h e r e ( s i g O = s i g l = R ) A ( 2 0 > 1 ) A ( 2 1 g 1 ) . A f t e r a d d i n g l e g i t i m a t e r e c o v e r y t r a n s i t i o n s ( L i n e 7 ) , t h e i n v o c a t i o n o f A d d _ r t U N l T Y ( L i n e 8 ) r e s u l t s i n a d d i t i o n o f t h e f o l l o w i n g r e c o v e r y a c t i o n : 2 . . ( s i g O = s i g 1 = R ) A ( 2 0 , 2 1 3 2 ) A ( t 1 3 2 ) — — > w a i t ; f o r a l l i E { 0 , 1 } . T h i s a c t i o n e n f o r c e s t h e p r o g r a m t o t a k e d e l a y t r a n s i t i o n s s o t h a t t h e p r o g r a m r e a c h e s a s t a t e i n Q w h e r e ( s i g O = s i g l = R ) / \ ( 2 0 , 2 1 > 1 ) . C o m m e n t . O n e m a y n o t i c e t h a t a l t h o u g h i t i s p e r f e c t l y l e g i t i m a t e t o w a i t u p t o 3 t i m e u n i t s i n s i d e T 1 — Q n e w , a s 0 = 3 , t h e a c t i o n T C 5 l e t s t h e p r o g r a m w a i t o n l y f o r 2 1 8 8 _ J 7 C 3 . " ( 3 1 9 , - : R ) A ( z j S 1 ) A ( 8 i n ¢ G ) — — * ( 8 i n 1 : 0 ) ; t i m e u n i t s . T h i s i s b e c a u s e A d d _ r t U N l T Y fi r s t i n c l u d e s c o m p u t a t i o n s w i t h t h e s m a l l e s t p o s s i b l e t i m e d e l a y a n d o p t i o n a l l y i n c l u d e s a d d i t i o n a l c o m p u t a t i o n s t o i n c r e a s e t h e l e v e l n o n - d e t e r m i n i s m . I n t h i s c o n t e x t , o t h e r s u c h a d d i t i o n a l c o m p u t a t i o n s m a y b e c o n s t r u c t e d b y t h e f o l l o w i n g a c t i o n s f o r s i g O : . I I 7 6 6 0 I I ( 8 2 9 0 = 8 2 9 1 = R ) / \ ( 2 0 , 2 1 S 1 ) / \ ( [ 1 $ 1 ) 1 . 0 — } , ( 3 2 ' 9 0 2 : G ) ; T C 7 0 : : ( s i g O = C ) A ( s i g l = R ) A ( 3 : 0 = 1 ) A ( 2 1 0 , 2 1 S 1 ) A ( t 1 S 2 ) - — ' — — > ( s i g O : 2 Y ) ; T C 8 0 : : ( s i g O = G ) A ( s i g l = R ) A ( 1 : 0 S 1 ) / \ ( 2 5 0 , 2 1 S 1 ) A ( t 1 S 2 ) — — + w a i t ; N o t i c e t h a t w h i l e e x e c u t i n g r e c o v e r y a c t i o n T C 6 0 r e s u l t s i n r e a c h i n g a n o t h e r s t a t e i n S I — Q n e w , e x e c u t i o n o f a c t i o n s T C 7 0 a n d T C 8 0 r e s u l t i n r e a c h i n g a s t a t e i n i n v a r i a n t I m ’ T C ’ w h i c h i s c l e a r l y i n Q n e w a s w e l l . I N o w , c o n s i d e r t h e c a s e w h e r e T C i s i n a s t a t e w h e r e ( s i g O = C ) A ( s i g l = R ) A ( 3 : 0 = 1 ) A ( z O , z 1 S 1 ) . I n t h i s c a s e , o n e m a y a r g u e t h a t T C h a s t h e o p t i o n o f e x e c u t i n g a c t i o n T C 3 1 a n d r e a c h i n g a s t a t e w h e r e s i g O = s i g l = C , w h i c h i s c l e a r l y a v i o l a t i o n o f s a f e t y s p e c i fi c a t i o n S P E C b t r I - C ' H o w e v e r , s i n c e w e r e m o v e t h e s e t m t f r o m T 7 3 1 ( L i n e 7 ) , a c t i o n T C B Z ' w o u l d b e r e v i s e d a s f o l l o w s : { 1 3 2 ' } 2 . . f o r a l l i E { 0 , 1 } w h e r e j = ( i + 1 ) m o d 2 . I n o t h e r w o r d s , t h e a l g o r i t h m s t r e n g t h e n s t h e g u a r d o f T C l i s u c h t h a t i n t h e p r e s e n c e o f f a u l t s , a s i g n a l d o e s n o t t u r n g r e e n w h i l e t h e o t h e r o n e i s a l s o g r e e n . 1 8 9 T C l l z - x ( s i g z - = s i g j = R ) A ( z i , z ] ~ > 1 ) / \ ( 1 5 2 S 7 ) i i i ) ( 3 1 9 2 ' 3 : Y ) ; I n S t e p 4 , c o n s i d e r t h e s t a t e p r e d i c a t e Q n e w — I n v l T C = ( s i g O = s i g l = R ) A ( 2 : 0 , 2 1 > 1 ) . S i m i l a r t o S t e p 3 , t h e a l g o r i t h m a d d s r e c o v e r y p a t h s w i t h t h e s m a l l e s t p o s s i b l e t i m e d e l a y , w h i c h i s t h e f o l l o w i n g a c t i o n f o r e i t h e r i = 0 o r i = 1 : { 3 7 ' } T C 9 2 ° 2 1 ( s i g i = s i g j = R ) A ( 2 , - , z j > 1 ) — — ’ > s k i p ; I t i s s t r a i g h t f o r w a r d t o v e r i f y t h a t b y e x e c u t i o n o f T C Q i , t h e p r o g r a m r e a c h e s t h e i n v a r i a n t I a n C f r o m w h e r e t h e p r o g r a m b e h a v e s c o r r e c t l y . S i m i l a r t o S t e p 3 , t h e p r o c e d u r e A d d _ r t U N I T Y m a y i n c l u d e t h e f o l l o w i n g a d d i t i o n a l a c t i o n s : c r - T C 1 0 2 - z z ( s i g z - = s i g j = R ) / \ ( Z i w z j > 1 ) / \ ( 1 5 2 S 7 ) L L ( 5 1 9 2 ' : G ) ; T C 1 2 z - z : ( s i g i = s i g j = R ) A ( z i , z j > 1 ) A ( t 2 S 7 ) — — > w a i t ; C o m m e n t . O n e m a y n o t i c e t h a t a c t i o n T C 1 1 , - a d d s a s t r a n g e b e h a v i o r t o T C b y a l l o w i n g a s i g n a l t o c h a n g e p h a s e f r o m r e d t o y e l l o w . O u r a l g o r i t h m a l l o w s a d d i t i o n o f s u c h r e c o v e r y a c t i o n , s i n c e i t d o e s n o t v i o l a t e t h e s a f e t y s p e c i fi c a t i o n S P E C H T C . O n e m a y e n f o r c e t h e a l g o r i t h m n o t t o a d d s u c h a c t i o n s b y s i m p l y a d d i n g t h e t r a n s i t i o n s i n t h e s e t { ( 0 0 , 0 1 ) | E l i E { 0 , 1 } : ( s i g i ( 0 0 ) = R ) A ( s i g i ( o l ) = Y ) } t o S P E C t h C . I n f a c t , w e e x p e c t t h a t o u r s y n t h e s i s t e c h n i q u e s h a v e t h e p o t e n t i a l t o i d e n t i f y m i s s i n g p r o p e r t i e s i n c a s e s w h e r e t h e s p e c i fi c a t i o n i s i n c o m p l e t e . I I n t h e c o n t e x t o f T C , i n S t e p 5 , t h e a l g o r i t h m r e m o v e s s t a t e s f r o m n e i t h e r t h e f a u l t - s p a n n o r t h e i n v a r i a n t , a s n s = { } , a n d , h e n c e , t h e a l g o r i t h m fi n d s t h e fi n a l s o l u t i o n i n o n e i t e r a t i o n o f t h e r e p e a t - u n t i l l o o p . 1 9 0 L B R ' I I Y l A R I E S 4 2 5 1 " i l i l j l i j i l i M i l l i . . u . 1 . . . fi 3 . 4 § . h 1 . . . h x U 5 V N . 2 ; : 5 5 . u ! \ u A . - n l m 1 t 1 . # m a l 1 . h fi a . a . . R i . “ ‘ . . t h . . t . i fi . . . fi 7 L » r t v h ; a . 1 ‘ t . fi . h . c s I . . A A . V . 1 1 1 s . x , t é : . . l 5 M h - . . . . . 5 . a . x l 3 t ” m 3 . y fi ) ‘ . . » fl l ! i . fi r n n “ 2 . . i . h 3 I . a u n 2 . u . m $ , u . q g a n “ . h u i . . 3 ‘ r 1 S t I a : « . fi ' . . u W . . . i m i fl » 5 . . . u m ; 3 . . u i . ‘ u . . a u 9 - l ‘ s fl t . J 3 3 . i ’ ! . u t fl V fl l I I t . " . n a I A 1 . n l l I I I } l l a u v . . t C . . . . n . l . I n . . u . R fi a 9 w a m . p fl U . ? 3 ? . “ % . . a . g 3 : u . m s g 3 a 0 . “ A . ; I . n 2 . fi ? . . X i . t i u “ . . : . ‘ 3 1 7 r . , ‘ y n r « A b ‘ a . . . u ‘ a s h w u fi . h . . fi ) u t a G i . . n . 1 n 2 k ‘ m g . w m h - . 2 , r ? . 1 n i ” ) w . k f 4 , ‘ n } m 1 . 1 3 a 3 F « ” “ p l / S L I B R A R Y M i c h i g a n S t a t e U n i v e r s i t y P L A C E I N R E T U R N B O X t o r e m o v e t h i s c h e c k o u t f r o m y o u r r e c o r d . T O A V O I D F I N E S r e t u r n o n o r b e f o r e d a t e d u e . M A Y B E R E C A L L E D w i t h e a r l i e r d u e d a t e i f r e q u e s t e d . D A T E D U E D A T E D U E D A T E D U E 5 / 0 8 K : I P r o i l e c & P r e s / C l R C / D a t e 0 m o m d d A U T O M A T E D R E V I S I O N O F D I S T R I B U T E D A N D R E A L - T I M E P R O G R A M S V O L U M E 1 1 B y B O R Z O O B O N A K D A R P O U R A D I S S E R T A T I O N S u b m i t t e d t o M i c h i g a n S t a t e U n i v e r s i t y i n p a r t i a l f u l fi l l m e n t o f t h e r e q u i r e m e n t s f o r t h e d e g r e e o f D O C T O R O F P H I L O S O P H Y C o m p u t e r S c i e n c e 2 0 0 9 C h a p t e r 1 0 D i s a s s e m b l i n g R e a l - T i m e F a u l t - T o l e r a n t P r o g r a m s D e p e n d a b i l i t y a n d t i m e - p r e d i c t a b i l i t y a r e t w o v i t a l p r o p e r t i e s O f m o s t e m b e d d e d ( e s - p e c i a l l y , s a f e t y / m i s s i o n - c r i t i c a l ) s y s t e m s . C o n s e q u e n t l y , p r o v i d i n g f a u l t - t o l e r a n c e a n d m e e t i n g t i m i n g c o n s t r a i n t s a r e t w o i n e v i t a b l e a s p e c t s o f d e p e n d a b l e r e a l - t i m e e m b e d - d e d s y s t e m s . T h u s , i t i s h i g h l y d e s i r a b l e t o h a v e a c c e s s t o m e t h o d o l o g i e s t o f o r m a l l y r e a s o n a b o u t a n d , h e n c e , g a i n a s s u r a n c e O f t h e s e a s p e c t s d u r i n g t h e d e s i g n a n d a n a l y - s i s O f e m b e d d e d s y s t e m s . A l t h o u g h i n P a r t I I I o f t h i s d i s s e r t a t i o n , o u r f o c u s i s m a i n l y o n a u t o m a t e d s y n t h e s i s o f s u c h s y s t e m s , t h e i r a n a l y s i s i s a l s o o f g r e a t i n t e r e s t . I n t h e c o n t e x t o f a n a l y s i s , v e r i fi c a t i o n o f f a u l t - t o l e r a n t r e a l - t i m e e m b e d d e d s y s t e m s m a y b e a c c o m p l i s h e d b y i l l u s t r a t i n g t h e e x i s t e n c e o f c o n s t i t u e n t s t h a t ( 1 ) g u a r a n t e e f a u l t - t o l e r a n c e , ( 2 ) e n s u r e t i m i n g c o n s t r a i n t s , a n d ( 3 ) p e r f o r m b a s i c f u n c t i o n a l i t i e s . O n e c a n a l s o p o s e t h i s p r o b l e m a s w h e t h e r t h e s t r u c t u r e o f t h e p r o g r a m s t h a t w e s y n t h e s i z e i s s e n s i b l e . W i t h t h i s m o t i v a t i o n , w e f o c u s o n t h e f o l l o w i n g q u e s t i o n : 1 9 1 C a n a r e a l - t i m e f a u l t - t o l e r a n t p r o g r a m b e d e c o m p o s e d i n t o c o m p o n e n t s t h a t c a n a s s i s t i n i t s v e r i fi c a t i o n ? I n t h i s c h a p t e r , w e a n s w e r t h i s q u e s t i o n a f fi r m a t i v e l y b y b r o a d e n i n g t h e t h e o r y o f f a u l t - t o l e r a n c e c o m p o n e n t s [ A K 9 8 b ] t O t h e c o n t e x t o f r e a l - t i m e p r o g r a m s . T h e t h e o r y i n [ A K 9 8 b ] e s s e n t i a l l y s e p a r a t e s f a u l t - t o l e r a n c e a n d f u n c t i o n a l i t y c o n c e r n s O f u n t i m e d s y s t e m s . M o r e s p e c i fi c a l l y , t h e t h e o r y i d e n t i f i e s t w o t y p e s O f f a u l t — t o l e r a n c e c o m p o n e n t s , n a m e l y d e t e c t o r s a n d c o r r e c t o r s . T h e s e c o m p o n e n t s a r e b a s e d o n t h e p r i n c i p l e O f d e t e c t i n g a s t a t e p r e d i c a t e t o e n s u r e t h a t p r o g r a m a c t i o n s w o u l d b e s a f e a n d c o r r e c t i n g a s t a t e p r e d i c a t e t o e n s u r e t h a t t h e p r o g r a m e v e n t u a l l y r e a c h e s a l e g i t i m a t e s t a t e . W e e m p h a s i z e t h a t s i n c e t h e s e c o m p o n e n t s d o n o t r e l y o n d e t e c t i n g f a u l t s o r c o r r e c t i n g f a u l t s , t h e y c a n b e a p p l i e d i n c a s e s w h e r e f a u l t s a r e n o t d e t e c t a b l e ( e . g . , B y z a n t i n e f a u l t s ) . I n t h e c o n t e x t o f r e a l - t i m e p r o g r a m s , w e f o c u s o n d e c o m p o s i t i o n o f h a r d - m a s k i n g r e a l - t i m e f a u l t - t o l e r a n t p r o g r a m s ( c f . D e fi n i t i o n 7 . 2 . 2 ) , w h e r e ( 1 ) ( t i m i n g i n d e p e n - d e n t ) s a f e t y , ( 2 ) t i m i n g c o n s t r a i n t s , a n d ( 3 ) l i v e n e s s p r o p e r t i e s ( i n c l u d i n g r e c o v e r y t o l e g i t i m a t e s t a t e s ) a r e m e t e v e n i n t h e p r e s e n c e O f f a u l t s . W e i d e n t i f y t h r e e t y p e s O f c o m p o n e n t s , n a m e l y , d e t e c t o r s , w e a k 6 - c o r r e c t o r s , a n d s t r o n g ( 5 - c o r r e c t o r s . W e S h o w t h a t t h e s e t h r e e c o m p o n e n t s a r e i n t u r n r e s p o n s i b l e f o r m e e t i n g t h e t h r e e p r o p e r t i e s o f h a r d - m a s k i n g f a u l t - t o l e r a n t p r o g r a m s . O u r p r o o f s a r e c o n s t r u c t i v e i n t h e s e n s e t h a t t h e y a s s i s t i n i d e n t i f y i n g a n d s u b s e q u e n t l y d e c o m p o s i n g a g i v e n h a r d - m a s k i n g p r o g r a m i n t o i t s f a u l t - i n t o l e r a n t v e r s i o n , d e t e c t o r s , a n d 6 - c o r r e c t o r s . 1 9 2 I n t u i t i v e l y , d e t e c t o r s a n d 6 - c o r r e c t o r s w o r k a s f o l l o w s . E a c h o f t h e s e c o m p o n e n t s i s s p e c i fi e d u s i n g t w o p r e d i c a t e s : a d e t e c t i o n ( r e s p e c t i v e l y , c o r r e c t i o n ) p r e d i c a t e a n d a w i t n e s s p r e d i c a t e . T h e g o a l O f t h e d e t e c t o r c o m p o n e n t i s t o d e t e c t w h e t h e r t h e g i v e n d e t e c t i o n p r e d i c a t e i s t r u e a n d s u b s e q u e n t l y s a t i s fi e s t h e w i t n e s s p r e d i c a t e . I t i s r e q u i r e d t h a t w h e n e v e r t h e w i t n e s s p r e d i c a t e i s t r u e , t h e d e t e c t i o n p r e d i c a t e m u s t b e t r u e a s w e l l . T h u s , t h e f a u l t - t o l e r a n t p r o g r a m c a n u s e t h e w i t n e s s p r e d i c a t e O f t h e d e t e c t o r t o p r o v i d e t h e d e s i r e d f a u l t - t o l e r a n c e r e q u i r e m e n t s . I n c a s e o f a 6 - c o r r e c t o r , t h e c o m p o n e n t r e s t o r e s t h e p r o g r a m t o a s t a t e w h e r e t h e c o r r e c t i o n p r e d i c a t e i s t r u e w i t h i n a b o u n d e d a m o u n t o f t i m e . T h e u s e o f t h e w i t n e s s p r e d i c a t e b y t h e p r o g r a m i s o p t i o n a l , a s t h e p r o g r a m m a y n o t n e e d t o k n o w w h e n t h e p r o g r a m s t a t e i s r e s t o r e d . S i n c e w e f o c u s o n d e m o n s t r a t i n g t h e e x i s t e n c e O f t h e s e c o m p o n e n t s i n a g i v e n h a r d - m a s k i n g p r o g r a m , o u r n o t i o n o f d e c o m p o s i t i o n d i f f e r s f r o m t h a t i n [ A K 9 8 b ] . I n p a r t i c u l a r , w e p r e c i s e l y d e fi n e w h a t i t m e a n s f o r a f a u l t - t o l e r a n t p r o g r a m t o r e u s e a f a u l t - i n t o l e r a n t p r o g r a m . F u r t h e r m o r e , w e f o r m a l l y d e fi n e w h a t i t m e a n s f o r a f a u l t - t o l e r a n t p r o g r a m t o c o n t a i n d e t e c t o r s a n d / o r 6 - c o r r e c t o r s . W e n o t e t h a t f o r a s s i s t a n c e i n a n a l y s i s , i t i s n e c e s s a r y t o e n s u r e t h a t t h e s p e c i fi c a t i o n O f t h e a d d e d c o m p o n e n t s c a n b e d e r i v e d f r o m t h e f a u l t - i n t o l e r a n t v e r s i o n . T h u s , i n c a s e o f d e t e c t o r s , i t i s n e c e s s a r y t o s p e c i f y h o w t h e r e s u l t s O f t h e s e c o m p o n e n t s ( i n t u i t i v e l y , t h e c o n c l u s i o n t h a t t h e p r e d i c a t e b e i n g d e t e c t e d i s t r u e ) a r e s y n t a c t i c a l l y u s e d i n t h e f a u l t - t o l e r a n t r e a l - t i m e p r o g r a m . T h i s p a r t i s n o t i m p o r t a n t i n t h e c o n t e x t o f a d e s i g n m e t h o d o l o g y a n d , h e n c e , i s n o t f o r m a l i z e d i n [ A K 9 8 b ] . 1 9 3 A l t h o u g h d e t e c t o r s a n d c o r r e c t o r s h a v e b e e n f o u n d t o b e u s e f u l i n t h e d e s i g n o f f a u l t - t o l e r a n t p r o g r a m s 1 , t h e i r s i g n i fi c a n c e i n a n a l y s i s h a s n o t b e e n e v a l u a t e d e x c e p t i n e m p i r i c a l c a s e s t u d i e s . I n t h e s e s t u d i e s [ K R 8 9 9 , G J 0 4 ] , d e c o m p o s i t i o n o f a f a u l t - t o l e r a n t p r o g r a m i n t o i t s c o m p o n e n t s h a s b e e n f o u n d v a l u a b l e i n f o r m a l v e r i fi c a t i o n o f t h e p r o g r a m . T h u s , w e e x p e c t t h a t a n a f fi r m a t i v e a n s w e r t o e x i s t e n c e o f t h e c o m p o n e n t s w o u l d s i g n i fi c a n t l y a s s i s t i n a n a l y s i s o f r e a l - t i m e e m b e d d e d f a u l t - t o l e r a n t p r o g r a m s . T h e r e s t O f t h i s c h a p t e r i s o r g a n i z e d a s f o l l o w s . I n S e c t i o n 1 0 . 1 , w e p r e s e n t t h e b a s i c c o n c e p t s a n d a s s u m p t i o n s r e l a t e d t o t h i s c h a p t e r . T h e n , i n S e c t i o n 1 0 . 2 ( r e - s p e c t i v e l y , 1 0 . 3 ) , w e p r e s e n t t h e n o t i o n o f d e t e c t o r s ( r e s p e c t i v e l y , 6 - c o r r e c t o r s ) c o m - p o n e n t s , t h e c o n c e p t O f t h e i r c o n t a i n m e n t i n r e a l - t i m e p r o g r a m s , a n d t h e i r t h e o r y O f d e c o m p o s i t i o n . 1 0 . 1 B a s i c C o n c e p t s a n d A s s u m p t i o n s I n t h i s s e c t i o n , w e p r e s e n t s o m e m o d i fi c a t i o n s t o d e fi n i t i o n s p r e s e n t e d i n p r e v i o u s c h a p t e r s . W e s t a r t w i t h c o m p u t a t i o n . N o t i c e t h a t i n D e fi n i t i o n 2 . 1 . 7 , w e d i d n o t s p e c i f y a n i n i t i a l v a l u e f o r t h e g l o b a l t i m e . N o w , l e t 2 b e a n y s e t O f c o m p u t a t i o n s . W e r e q u i r e t h a t 2 m u s t b e c l o s e d w i t h r e s p e c t t o t i m e o f f s e t s . T h a t i s , W E E : V t 6 I R : ( 3 + t ) E E , w h e r e F f + t d e n o t e s t h e c o m p u t a t i o n ( 0 0 , r 0 + t ) — - > ( 0 1 , r 1 + t ) — > - - - , S t . T 0 + t 2 0 . 1 T h e c o m p o n e n t s h a v e b e e n s h o w n t o s u f fi c e i n t h e d e s i g n o f a l a r g e c l a s s o f f a u l t - t o l e r a n t p r o g r a m s [ A K 9 8 b ] i n c l u d i n g p r o g r a m s d e s i g n e d u s i n g r e p l i c a t i o n , s t a t e m a c h i n e a p p r o a c h , a n d , c h e c k p o i n t i n g a n d r e c o v e r y . 1 9 4 N o t a t i o n . L e t ' 6 , - d e n o t e t h e p a i r ( 0 , , T i ) i n c o m p u t a t i o n 6 . A l s o , l e t a b e a fi n i t e c o m p u t a t i o n o f l e n g t h n a n d 7 3 — b e a fi n i t e o r i n fi n i t e c o m p u t a t i o n . T h e c o n c a t e n a t i o n o f ‘ 0 7 a n d E ( d e n o t e d 6 3 ) i s a c o m p u t a t i o n , i f f s t a t e s E i n _ 1 a n d 3 0 m e e t t h e c o n s t r a i n t s o f D e fi n i t i o n 2 . 1 . 7 . O t h e r w i s e , t h e r e s u l t o f c o n c a t e n a t i o n i s n u l l . I f F a n d \ I / a r e t w o s e t s c o n t a i n i n g fi n i t e a n d fi n i t e / i n fi n t e c o m p u t a t i o n s r e s p e c t i v e l y , t h e n I ‘ \ I I = { E l — ' 3 — — ~ ( a e I ‘ ) / \ ( 3 9 1 1 ) } . D e fi n i t i o n 1 0 . 1 . 1 ( s u f fi x a n d f u s i o n c l o s u r e ) S u f fi x c l o s u r e o f a s e t o f c o m - p u t a t i o n s m e a n s t h a t i f a c o m p u t a t i o n E i s i n t h a t s e t t h e n s o a r e a l l t h e s u f fi x e s o f 6 . F u s i o n c l o s u r e O f a s e t o f c o m p u t a t i o n s m e a n s t h a t i f c o m p u t a t i o n s 6 ( 0 , r ) ? a n d 3 ( 0 , fi r ? a r e i n t h a t s e t t h e n S O a r e t h e c o m p u t a t i o n s M o n - ) 1 ; a n d 3 ( 0 , r ) ' 7 ' , w h e r e 5 a n d 3 a r e c o m p u t a t i o n p r e fi x e s , 7 a n d E a r e c o m p u t a t i o n s u f fi x e s , a n d o i s a s t a t e a t g l o b a l t i m e T . I D e fi n i t i o n 1 0 . 1 . 2 ( S - c o m p u t a t i o n s ) L e t S b e a s t a t e p r e d i c a t e a n d ' P = ( I L P , I n a p ) b e a p r o g r a m . T h e S — c o m p u t a t i o n s o f ’ P , d e n o t e d a s ” P [ > S , i s t h e s e t o f a l l c o m p u t a t i o n s i n H p t h a t s t a r t i n a s t a t e w h e r e S i s t r u e . I I n t h i s c h a p t e r , w e a s s u m e t h a t a l l s e t s O f c o m p u t a t i o n s a r e s u f fi x a n d f u s i o n c l o s e d . A l s o , i n t h i s c h a p t e r , w e r e l a x t h e d e fi n i t i o n o f c o m p u t a t i o n s ( s e e D e fi n i t i o n 2 . 1 . 7 ) b y a l l o w i n g t h e m t o e x h i b i t t i m e - d i v e r g e n t b e h a v i o r a s w e l l . O n e c a n O b s e r v e t h a t r e m o v i n g t h e t i m e - c o n v e r g e n c e r e s t r i c t i o n a l l o w s r e a l - t i m e p r o g r a m s a n d s p e c - i fi c a t i o n s t o e x h i b i t Z e n o b e h a v i o r w h e r e a p r o g r a m i s f o r c e d i n t o a c o r n e r t o t a k e i n fi n i t e n u m b e r O f s t e p s w i t h i n a fi n i t e a m o u n t O f t i m e . T h e r e a s o n f o r t h i s m o d i fi c a - t i o n i n t h i s c h a p t e r i s t h a t w h e n w e d e v e l o p t h e t h e o r y o f f a u l t — t o l e r a n c e c o m p o n e n t s 1 9 5 i n S e c t i o n s 1 0 . 2 a n d 1 0 . 3 , w e a l l o w c o m p o n e n t s t o e x h i b i t Z e n o b e h a v i o r . S u c h m o d - e l i n g g i v e s f r e e d o m i n d e a l i n g w i t h s i t u a t i o n s w h e r e a c o m p o n e n t r e a c h e s a s t a t e f r o m w h e r e a n o t h e r c o m p o n e n t m u s t m a k e p r o g r e s s . H o w e v e r , a s w e w i l l i l l u s t r a t e , i t i s i m p o r t a n t t h a t t h e c o l l e c t i o n o f c o m p o n e n t s w o r k i n g t o g e t h e r i n a p r o g r a m d o e s n o t e x h i b i t Z e n o b e h a v i o r . W e e m p h a s i z e t h a t a l l r e s u l t s i n t h i s p a p e r a r e i n d e p e n d e n t o f Z e n o o r n o n Z e n o c o n s t r a i n t s o n c o m p o n e n t s . W e n o w r e d e fi n e w h a t i t m e a n s f o r a p r o g r a m t o r e fi n e a s p e c i fi c a t i o n a n d w h a t i t m e a n s f o r a p r o g r a m P , ( t y p i c a l l y , a f a u l t — t o l e r a n t p r o g r a m ) t o r e fi n e a p r o g r a m P ( t y p i c a l l y , a f a u l t - i n t o l e r a n t p r o g r a m ) . E s s e n t i a l l y , w e w o u l d l i k e t o s a y t h a t ‘ P ’ r e fi n e s P ’ i f f c o m p u t a t i o n s o f P , a r e a s u b s e t o f t h a t i n P . H o w e v e r , i f P , i s o b t a i n e d b y a d d i n g f a u l t - t o l e r a n c e t o P t h e n P ’ m a y c o n t a i n a d d i t i o n a l v a r i a b l e s t h a t a r e n o t i n P . H e n c e , i t w i l l b e n e c e s s a r y t o p r o j e c t t h e c o m p u t a t i o n s o f P , o n ( t h e v a r i a b l e s o f ) P a n d t h e n c h e c k i f t h e p r o j e c t e d c o m p u t a t i o n i s a c o m p u t a t i o n o f P . R e c a l l t h a t V » ) ; a n d X p d e n o t e t h e s e t o f d i s c r e t e a n d c l o c k v a r i a b l e s o f p r o g r a m P , r e s p e c t i v e l y . D e fi n i t i o n 1 0 . 1 . 3 ( s t a t e p r o j e c t i o n ) L e t P a n d P ’ b e r e a l - t i m e p r o g r a m s s t . V P , = V 7 3 U A U a n d X P ’ = X 7 3 U A 5 5 f o r s o m e A U a n d A 3 3 . T h e p r o j e c t i o n O f a s t a t e o f P , o n P i s a s t a t e O b t a i n e d b y c o n s i d e r i n g V 7 3 U X 7 3 o n l y , i . e . , b y a b s t r a c t i n g a w a y t h e v a r i a b l e s i n A U U A x . I T h e s a m e c o n c e p t a p p l i e s t o p r o g r a m s a n d s p e c i fi c a t i o n s . E x t e n d i n g t h i s d e fi n i t i o n f o r c o m p u t a t i o n s , w e s a y t h a t t h e p r o j e c t i o n O f a c o m p u t a t i o n o f P , o n P ( r e s p e c t i v e l y , S P E C ) i s a c o m p u t a t i o n o b t a i n e d b y p r o j e c t i n g e a c h s t a t e i n t h a t c o m p u t a t i o n o n P ( r e s p e c t i v e l y , S P E C ) . 1 9 6 D e f i n i t i o n 1 0 . 1 . 4 ( r e fi n e s ) L e t P a n d P ’ b e r e a l - t i m e p r o g r a m s , S b e a s t a t e p r e d i c a t e a n d S P E C b e a s p e c i fi c a t i o n . W e s a y t h a t P , r e fi n e s P ( r e s p e c t i v e l y , S P E C ) f r o m S i f f t h e f o l l o w i n g t w o c o n d i t i o n s h o l d : ( 1 ) S i s c l o s e d i n P ’ , a n d ( 2 ) f o r e v e r y c o m p u t a t i o n O f P , t h a t s t a r t s i n a s t a t e w h e r e S i s t r u e , t h e p r o j e c t i o n o f t h a t c o m p u t a t i o n o n P ( r e s p e c t i v e l y , S P E C ) i s a c o m p u t a t i o n o f P ( r e s p e c t i v e l y , S P E C . I S p e c i f y i n g t i m i n g c o n s t r a i n t s . I n o r d e r t o e x p r e s s t i m e - r e l a t e d b e h a v i o r s o f r e a l - t i m e p r o g r a m s ( e . g . , d e a d l i n e s a n d r e c o v e r y t i m e ) , i n t h i s c h a p t e r , w e f o c u s o n a s p e c i a l t y p e o f b o u n d e d r e s p o n s e p r o p e r t i e s k n o w n a s s t a b l e b o u n d e d r e s p o n s e p r o p e r t y ( e q u i v a l e n t t o U N I T Y b o u n d e d - t i m e e n s u r e s p r o p e r t i e s ) . A s t a b l e b o u n d e d r e s p o n s e p r o p e r t y , d e n o t e d P H 3 6 Q , w h e r e P a n d Q a r e t w o s t a t e p r e d i c a t e s a n d 6 E Z 2 0 , i s t h e s e t O f a l l c o m p u t a t i o n s ( 0 0 , r 0 ) — — > ( o l , r 1 ) — + i n w h i c h , f o r a l l i 2 0 , i f 0 , - l = P t h e n t h e r e e x i s t s j , j Z i , s t . ( 1 ) o j l : Q , ( 2 ) r j — r , - _ < _ 6 , a n d ( 3 ) f o r a l l k , i S k < j , 0 k l : P , i . e . , i t i s a l w a y s t h e c a s e t h a t a s t a t e i n P i s f o l l o w e d b y a s t a t e i n Q W i t h i n 6 t i m e u n i t s a n d P r e m a i n s t r u e u n t i l Q b e c o m e s t r u e . W e c a l l P t h e e v e n t p r e d i c a t e , Q t h e r e s p o n s e ( o r r e c o v e r y ) p r e d i c a t e , a n d 6 t h e r e s p o n s e ( o r r e c o v e r y ) t i m e . A s s u m p t i o n 1 0 . 1 . 5 W e a s s u m e t h a t t h e s e t o f c l o c k v a r i a b l e s O f a n y s t a b l e b o u n d e d r e s p o n s e p r o p e r t y P i — > < 5 Q c o n t a i n s a s p e c i a l c l o c k v a r i a b l e , w h i c h g e t s r e s e t w h e n - e v e r P b e c o m e s t r u e . T h i s a s s u m p t i o n i s n e c e s s a r y t O e n s u r e t h a t s t a b l e b o u n d e d r e s p o n s e p r o p e r t i e s a r e f u s i o n c l o s e d . I 1 9 7 1 0 . 2 D e t e c t o r s a n d T h e i r R o l e i n H a r d - M a s k i n g P r o g r a m s T h i s s e c t i o n i s o r g a n i z e d a s f o l l o w s . W e f o r m a l l y i n t r o d u c e t h e n o t i o n o f d e t e c t o r c o m p o n e n t s i n S u b s e c t i o n 1 0 . 2 . 1 . I n S u b s e c t i o n 1 0 . 2 . 2 , w e p r e c i s e l y d e fi n e w h a t w e m e a n b y c o n t a i n m e n t O f a d e t e c t o r i n a r e a l - t i m e p r o g r a m . T h e n , w e p r e s e n t d e t e c t o r c o m p o n e n t s O f t h e h a r d - m a s k i n g v e r s i o n O f o u r t r a f fi c c o n t r o l l e r i n S u b s e c t i o n 1 0 . 2 . 3 . F i n a l l y , i n S u b s e c t i o n 1 0 . 2 . 4 , w e d e v e l o p t h e t h e o r y o f d e t e c t o r s b y p r o v i n g t h e n e c e s s i t y o f e x i s t e n c e O f h a r d - m a s k i n g d e t e c t o r s i n h a r d - m a s k i n g f a u l t - t o l e r a n t p r o g r a m s . 1 0 . 2 . 1 D e t e c t o r s I n t u i t i v e l y , a d e t e c t o r i s a p r o g r a m c o m p o n e n t t h a t e n s u r e s s a t i s f a c t i o n o f t i m i n g i n d e p e n d e n t s a f e t y ( i . e . , S P E C - 6 2 i n D e fi n i t i o n 2 . 2 . 4 ) . D e fi n i t i o n 1 0 . 2 . 1 ( d e t e c t s ) L e t W a n d D b e s t a t e p r e d i c a t e s . L e t ‘ W d e t e c t s D ’ b e t h e s p e c i fi c a t i o n , t h a t i s t h e s e t O f a l l i n fi n i t e c o m p u t a t i o n s 6 ' = ( 0 0 , r 0 ) — + ( 0 1 , T 1 ) - ) - - - , s a t i s f y i n g t h e f o l l o w i n g t h r e e c o n d i t i o n s : 0 ( S a f e n e s s ) F o r a l l i E Z 2 0 , i f 0 i l : W t h e n 0 , ; l : D . ( I n o t h e r w o r d s , 0 , ; I : ( w = > D ) - ) 0 ( P r o g r e s s ) F o r a l l i E Z 2 0 , i f a , - l = D t h e n t h e r e e x i s t s 1 : , k 2 i , s t . 0 / : I : W o r o k l fi D . 1 9 8 0 ( S t a b i l i t y ) T h e r e e x i s t s i E Z 2 0 , s t . f o r a l l j , j 2 i , i f o j [ 2 W t h e n o j + 1 l : W 0 r 0 j + 1 f £ D ~ l D e fi n i t i o n 1 0 . 2 . 2 ( d e t e c t o r s ) L e t D b e a p r o g r a m a n d D , W , a n d U b e s t a t e p r e d i c a t e s o f D . W e s a y t h a t W d e t e c t s D i n D f r o m U ( i . e . , D i s a d e t e c t o r ) i f f D r e fi n e s ‘ W d e t e c t s D ’ f r o m U . I A d e t e c t o r D i s u s e d t o c h e c k w h e t h e r i t s “ d e t e c t i o n p r e d i c a t e ” , D , i s t r u e . S i n c e D s a t i s fi e s P r o g r e s s f r o m U , i n a n y c o m p u t a t i o n o f D , i f U / \ D i s t r u e c o n t i n u o u s l y , D e v e n t u a l l y d e t e c t s t h i s f a c t a n d m a k e s W t r u e . S i n c e D s a t i s fi e s S a f e n e s s f r o m U , i t f o l l o w s t h a t D n e v e r l e t s W w i t n e s s D i n c o r r e c t l y . M o r e o v e r , s i n c e D s a t i s fi e s S t a b i l i t y f r o m U , i t f o l l o w s t h a t o n c e W b e c o m e s t r u e , i t c o n t i n u e s t o b e t r u e u n l e s s D i s f a l s i fi e d . I n t h e c o n t e x t o f f a u l t - t o l e r a n c e , D i s t y p i c a l l y a p r e d i c a t e o f t h e f a u l t - i n t o l e r a n t p r o g r a m f r o m w h e r e s a f e t y s h o u l d b e a l w a y s s a t i s fi e d a n d W i s a p r e d i c a t e o f t h e f a u l t - t o l e r a n t p r o g r a m t h a t w i t n e s s e s t h e d e t e c t i o n o f D . I n o r d e r t o a n a l y z e t h e b e h a v i o r o f a d e t e c t o r i n t h e p r e s e n c e o f f a u l t s , w e c o n s i d e r t h e n o t i o n O f h a r d - m a s k i n g t o l e r a n t d e t e c t o r s . M o r e s p e c i fi c a l l y , a d e t e c t o r D i s a h a r d — m a s k i n g t o l e r a n t d e t e c t o r . 1 0 . 2 . 2 C o n t a i n m e n t o f D e t e c t o r s i n R e a l - T i m e P r o g r a m s I n o r d e r t o s h o w t h e e x i s t e n c e O f d e t e c t o r s i n h a r d - m a s k i n g f a u l t - t o l e r a n t p r o g r a m s , w e w o u l d l i k e t o S h o w t h a t t h e p r o g r a m c o n t a i n s a d e t e c t o r f o r a d e t e c t i o n p r e d i c a t e a s s o c i a t e d w i t h t h e f a u l t — i n t o l e r a n t p r o g r a m . H o w e v e r , w e n e e d t o i d e n t i f y s y n t a c t i c c h a r a c t e r i s t i c s o f a p r o g r a m b e f o r e d e t e c t i o n p r e d i c a t e s c a n b e i d e n t i fi e d . I n p a r t i c - 1 9 9 u l a r , s i n c e a d e t e c t o r i s u s e d t o e n s u r e t h a t t h e e x e c u t i o n O f a n a c t i o n i s s a f e , i t s w i t n e s s p r e d i c a t e m u s t b e u s e d b y t h e f a u l t - t o l e r a n t p r o g r a m . I n t u i t i v e l y , t h e s y n t a c - t i c c o n s t r a i n t s i d e n t i fi e d i n t h i s s e c t i o n r e q u i r e t h e w i t n e s s p r e d i c a t e t o b e a g u a r d O f t h e c o r r e s p o n d i n g a c t i o n i n t h e f a u l t - t o l e r a n t p r o g r a m . I n o r d e r t o a c c o m p l i s h o u r g o a l , fi r s t , w e S h o w t h a t v i o l a t i o n o f t i m i n g i n d e p e n d e n t s a f e t y ( i . e . , S P E C H i n D e fi n i t i o n 7 . 1 . 6 ) c a n b e m e r e l y d e t e r m i n e d b y c o n s i d e r i n g t r a n s i t i o n s i n S P E C b t ' L e m m a 1 0 . 2 . 3 L e t S P E C b e a s p e c i fi c a t i o n , 6 b e a c o m p u t a t i o n p r e fi x , o a n d a , b e t w o s t a t e s , a n d r , r , E I R > 0 , w h e r e r = r ’ . I f 0 6 ( o , r ) m a i n t a i n s S P E C H t h e n 0 6 ( o , r ) ( o l , r ’ ) m a i n t a i n s S P E C E i fi ' ( o , r ) ( o ’ , r ’ ) m a i n t a i n s S P E C H . P r o o f . W e d i s t i n g u i s h t w o c a s e s : 0 ( = > ) I f E ( o , r ) ( o ’ , r ’ ) m a i n t a i n s S P E C H t h e n b y d e fi n i t i o n o f m a i n - t a i n s ( c f . D e fi n i t i o n 7 . 1 . 4 ) , t h e r e e x i s t s a c o m p u t a t i o n s u f fi x 3 s t . 6 ( o , r ) ( o ’ , r / ) E E S P E C - b — t . M o r e o v e r , b y s u f fi x c l o s u r e o f S P E C R , ( o , r ) ( o ’ , r ’ ) fi m u s t b e i n S P E C H a s w e l l . H e n c e , b y d e fi n i t i o n o f m a i n t a i n s , ( a , r ) ( o ’ , r ’ ) m a i n t a i n s S P E C E . 0 ( < = ) C o n s i d e r t h e c a s e w h e r e 6 ( o , r ) m a i n t a i n s S P E C I E a n d ( o , r ) ( o ’ , r ’ ) m a i n t a i n s S P E C R . B y d e fi n i t i o n O f m a i n t a i n s t h e r e e x - 2 0 0 i s t s a s u f fi x 7 7 s t . fi ( o , r ) , ( 7 i s i n S P E C S ; a n d t h e r e e x i s t s B , s t . ( o , r ) ( o , , r ’ ) — S ’ i s i n S P E C I - J . M o r e o v e r , b y f u s i o n c l o s u r e o f S P E C N , 6 ( o , r ) ( o ’ , r / ) B l i s a l s o i n S P E C b — t . T h u s , b y d e fi n i t i o n O f m a i n t a i n s , 6 ( 0 , r ) ( o ’ , r ’ ) m a i n t a i n s S P E C - ( E . I I n L e m m a 1 0 . 2 . 4 , w e s h o w t h a t t h e r e e x i s t s a s e t O f s t a t e s f r o m w h e r e e x e c u t i o n o f p r o g r a m s m a i n t a i n s S P E C t h ' W e c a l l s u c h a s t a t e p r e d i c a t e a d e t e c t i o n p r e d i c a t e f o r S P E C E . L e m m a 1 0 . 2 . 4 G i v e n a p r o g r a m P , t h e r e e x i s t s a s t a t e p r e d i c a t e D ( c a l l e d d e t e c t i o n p r e d i c a t e ) s t . a l l c o m p u t a t i o n s o f P t h a t s t a r t f r o m D m a i n t a i n S P E C E . P r o o f . F i r s t , t h e s e t O f c o m p u t a t i o n s o f P i s s u f fi x a n d f u s i o n c l o s e d , P c a n b e r e p r e s e n t e d i n t e r m s o f a s e t o f t r a n s i t i o n s ( a n d c o n s e q u e n t l y t i m e d a c t i o n s ) t h a t i t c a n e x e c u t e . N o w , c o n s i d e r a c o m p u t a t i o n p r e fi x o f 1 1 p , s a y 6 ( 0 , 7 ' ) , t h a t m a i n t a i n s S P E C R . O b s e r v e t h a t f r o m ( o , r ) e x e c u t i o n O f ( a t i m e d a c t i o n o f ) P m a i n t a i n s S P E C b T i f f t h e e x t e n d e d p r e fi x 5 7 ( 0 , r ) ( o ’ , r ’ ) , a f t e r e x e c u t i o n O f P m a i n t a i n s S P E C S ? N o t i c e t h a t s i n c e ( 0 ’ , r ' ) i s n o t r e a c h e d b y a d e l a y a c t i o n , r = r ' . I n o t h e r w o r d s , t h e r e e x i s t s a s e t O f c o m p u t a t i o n p r e fi x e s , s a y I ‘ , f r o m w h i c h e x e c u t i o n o f P m a i n t a i n s S P E C b — t . F r o m L e m m a 1 0 . 2 . 3 , i t f o l l o w s t h a t t h e e x t e n d e d p r e fi x 6 ( o , r ) ( o ’ , r ’ ) m a i n t a i n s S P E C S ? i f f ( o , r ) ( o ’ , r ’ ) m a i n t a i n s S P E C b — t ' T h u s , t h e e x e c u t i o n o f P m a i n t a i n s S P E C E i f f i t e x e c u t e i n a s t a t e i n t h e s e t { ( 0 , r ) | 3 5 : Z Y ( o , r ) E F ) } . T h e p r e d i c a t e c h a r a c t e r i z e d b y t h i s s e t O f s t a t e s s u f fi c e s a s a w i t n e s s f o r t h e l e m m a ( i . e . , p r e d i c a t e D ) . I 2 0 1 W e n o w p r o v e t h e u n i q u e n e s s O f t h e w e a k e s t d e t e c t i o n p r e d i c a t e f o r a g i v e n p r o - g r a m P . L e m m a 1 0 . 2 . 5 G i v e n a p r o g r a m P a n d a s p e c i fi c a t i o n S P E C , t h e r e e x i s t s a u n i q u e w e a k e s t d e t e c t i o n p r e d i c a t e o f P f o r S P E C H . P r o o f . F r o m L e m m a 1 0 . 2 . 4 , O b s e r v e t h e e x i s t e n c e o f a d e t e c t i o n p r e d i c a t e , a n d t h a t a p r o g r a m m a y h a v e m u l t i p l e d e t e c t i o n p r e d i c a t e s . F o r m a l l y , l e t w d p b e a d e t e c t i o n p r e d i c a t e O f P f o r S P E C H a n d D b e a n a r b i t r a r y s t a t e p r e d i c a t e . I t i s e a s y t o s e e t h a t i f D = > w d p , t h e n D i s a l s o a d e t e c t i o n p r e d i c a t e o f P f o r S P E C S ? M o r e o v e r , i f w d p l a n d w d p g a r e t w o d e t e c t i o n p r e d i c a t e s o f P f o r S P E C E t h e n S O i s w d p l V w d p g . T h u s , t h e r e e x i s t s a u n i q u e w e a k e s t d e t e c t i o n p r e d i c a t e f o r t h e g i v e n p r o g r a m . I W e a r e n o w r e a d y t o d e fi n e w h a t i t m e a n s f o r a p r o g r a m t o c o n t a i n d e t e c t o r s . G i v e n a t i m e d g u a r d e d c o m m a n d , s a y L : : g — i — > s t , L e m m a 1 0 . 2 . 5 s h o w s t h a t t h e r e e x i s t s a u n i q u e w e a k e s t d e t e c t i o n p r e d i c a t e , s a y w d p , f r o m w h e r e e x e c u t i o n o f L d o e s n o t v i o l a t e S P E C b — t . H e n c e , t o S h o w t h e e x i s t e n c e O f d e t e c t o r s , w e r e q u i r e t h e d e t e c t i o n p r e d i c a t e O f s u c h a t i m e d a c t i o n t o b e g A w d p . F u r t h e r m o r e , t o s h o w t h a t t h e f a u l t - t o l e r a n t p r o g r a m c o n t a i n s t h e d e s i r e d d e t e c t o r , w e s h o w t h a t i t m u s t b e u s i n g t h e w i t n e s s p r e d i c a t e o f t h a t d e t e c t o r t o e n s u r e t h a t e x e c u t i o n O f t h e c o r r e s p o n d i n g t i m e d a c t i o n i s s a f e . T o w a r d s t h i s e n d , w e d e fi n e t h e n o t i o n o f e n c a p s u l a t i o n . I n t u i t i v e l y , i f ( t y p i c a l l y , a f a u l t — t o l e r a n t ) p r o g r a m P , e n c a p s u l a t e s f a u l t - i n t o l e r a n t ) p r o g r a m P t h e n f o r e a c h t i m e d a c t i o n o f P O f t h e f o r m g — ) - ‘ — ) s t , P ’ c o n t a i n s a t i m e d a c t i o n O f t h e f o r m g / \ 9 ’ & s t l l s t ’ . T h e s e m a n t i c O f s t l l s t ’ c o r r e s p o n d s t o t h e s t a t e m e n t w h e r e s t a n d s t ’ a r e e x e c u t e d s i m u l t a n e o u s l y , c l o c k v a r i a b l e s i n A U / \ ’ a r e r e s e t , a n d 2 0 2 t h e t i m e d a c t i o n i s e x e c u t e d o n l y w h e n i t s g u a r d , g / \ g ' , i s t r u e . I n o t h e r w o r d s , P , h a s a t i m e d a c t i o n c o r r e s p o n d i n g t o e a c h t i m e d a c t i o n O f P ( p o s s i b l y ) w i t h a s t r o n g e r g u a r d , a d d i t i o n a l a s s i g n m e n t s i n s t ’ , a n d a d d i t i o n a l c l o c k v a r i a b l e s i n A ’ . N o t i c e t h a t t h e a s s i g n m e n t s i n s t , a n d c l o c k v a r i a b l e s i n A , m a y b e a d d e d i n o r d e r t o a d d f a u l t - t o l e r a n c e t o P ( c f . t h e n o t i o n O f s t a t e p r o j e c t i o n i n D e fi n i t i o n 1 0 . 1 . 3 ) . T o S h o w t h a t P , i s u s i n g a d e t e c t o r f o r a t i m e d a c t i o n o f P , w e r e q u i r e t h e w i t n e s s p r e d i c a t e o f t h a t d e t e c t o r t o b e g / \ g , w h i c h i s t h e g u a r d o f t h e c o r r e s p o n d i n g t i m e d a c t i o n i n P ’ . D e fi n i t i o n 1 0 . 2 . 6 ( e n c a p s u l a t e s ) L e t P a n d P I b e t w o r e a l - t i m e p r o g r a m s a n d S b e a s t a t e p r e d i c a t e . W e s a y t h a t P , e n c a p s u l a t e s P f r o m S i f f e a c h t i m e d a c t i o n i n P , t h a t i s e n a b l e d i n a s t a t e i n S a n d t h a t u p d a t e s v a r i a b l e s i n V 7 ; i s o f t h e f o r m / A U A ’ g A g — — — — > s t H s t ’ , w h e r e g 1 » s t i s a t i m e d a c t i o n o f P a n d s t , d o e s n o t u p d a t e v a r i a b l e s i n V p a n d A , 0 X 1 ; = { } . I B a s e d o n t h e a b o v e d i s c u s s i o n , g i v e n a t i m e d g u a r d e d c o m m a n d o f t h e f o r m g — A — > s t o f P , i t s ( w e a k e s t ) d e t e c t i o n p r e d i c a t e w d p a n d t h e c o r r e s p o n d i n g a c t i o n A U A ’ g / \ g , s t l l s t ’ o f P ’ , w e r e q u i r e t h e d e t e c t i o n p r e d i c a t e o f t h e d e s i r e d d e t e c t o r t o b e g A w d p a n d t h e w i t n e s s p r e d i c a t e o f t h e d e s i r e d d e t e c t o r t o b e 9 / \ g ’ . F i n a l l y , i n o r d e r t o f o r m a l i z e t h e n o t i o n o f c o n t a i n m e n t a n d e x i s t e n c e o f d e t e c t o r s , w e n e e d t o d e fi n e w h a t i t m e a n s t o O b t a i n a f a u l t - t o l e r a n t p r o g r a m b y r e u s i n g i t s f a u l t - i n t o l e r a n t v e r s i o n . D e fi n i t i o n 1 0 . 2 . 7 ( r e u s e s ) L e t P a n d P ’ b e t w o r e a l - t i m e p r o g r a m s . W e s a y t h a t P , r e u s e s P f r o m S i f f t h e f o l l o w i n g t w o c o n d i t i o n s a r e s a t i s fi e d : 2 0 3 o P , r e fi n e s P f r o m S , a n d o P , e n c a p s u l a t e s P f r o m S . I 1 0 . 2 . 3 E x a m p l e ( c o n t ’ d ) L e t T C b e i n a s t a t e w h e r e ( s i g o = s i g l = R ) / \ ( 2 : 0 > I ) / \ ( z l S 1 ) . I n t h i s c a s e , i f f a u l t F 0 o c c u r s , s u b s e q u e n t e x e c u t i o n O f T C 3 0 a n d T C 3 1 r e s u l t s r e a c h i n g a s t a t e w h e r e s i g O = s i g l = G , w h i c h i s c l e a r l y a v i o l a t i o n O f S P E C S - . I t i s t r c s t r a i g h t f o r w a r d t O s e e t h a t t h e w e a k e s t d e t e c t i o n p r e d i c a t e f o r 7 6 , ; i s : ” ’ d e C ’ . = { 0 | 8 i 9 j ( 0 ‘ ) = R } . 2 w h e r e i 6 { 0 , 1 } a n d j = ( i + 1 ) m o d 2 . T h u s , i n p r o g r a m T C ’ , t h e g u a r d o f T 6 3 , - i s s t r e n g t h e n e d i n o r d e r f o r T C ’ t o r e fi n e S P E C R T C i n t h e p r e s e n c e O f f a u l t s . I n t u i t i v e l y , T C , i s a l l o w e d t o c h a n g e p h a s e f r o m r e d t o g r e e n o n l y w h e n t h e o t h e r s i g n a l i s r e d . M o r e p r e c i s e l y , T C , u s e s t h e d e t e c t o r D 7 6 2 w h i c h c o n s i s t s o f t i m e d g u a r d e d c o m m a n d s T C , 1 2 - , T C ’ 2 i , a n d T C I 4 , w i t h t h e f o l l o w i n g d e t e c t i o n a n d w i t n e s s p r e d i c a t e s : D T C ; = g u a r d ( T C 3 , - ) / \ w d e C ; W T C , = g u a r d ( T C , 3 z - ) . ’ I . I t 1 8 e a s y t o s e e t h a t W 7 C ; d e t e c t s D T C : I n D T C ; f r o m I n v r f c I n b o t h a b s e n c e a n d p r e s e n c e o f F 0 a n d F 1 . O b s e r v e t h a t i n t h i s e x a m p l e , t h e w i t n e s s a n d d e t e c t i o n p r e d i c a t e s h a p p e n t o b e e q u a l . H o w e v e r , a s w e w i l l S h o w i n t h e p r o o f o f C l a i m 1 0 . 2 . 1 0 , t h i s i s n o t a l w a y s t h e c a s e . N o t i c e t h a t D ’ T C ’ e x h i b i t s Z e n o b e h a v i o r s i n c e w h e n t h e i 2 0 4 w i t n e s s p r e d i c a t e b e c o m e s t r u e , t h e r e d o e s n o t e x i s t a t i m e d g u a r d e d c o m m a n d w h o s e g u a r d i s e n a b l e d e x c e p t T C ’ 4 i . H o w e v e r , a s e x p l a i n e d i n S e c t i o n 1 0 . 1 , i t i s i m p o r t a n t t h a t t h e e n t i r e p r o g r a m d o e s n o t s h o w Z e n o b e h a v i o r . F o r i n s t a n c e , o n e c a n o b s e r v e t h a t , T C ’ 3 Z - e n s u r e s t i m e p r o g r e s s f o r T C , . 1 0 . 2 . 4 T h e N e c e s s i t y o f E x i s t e n c e o f D e t e c t o r s i n H a r d - M a s k i n g P r o g r a m s B a s e d o n t h e f o r m a l i z a t i o n o f t h e n o t i o n o f c o n t a i n m e n t , w e a r e n o w r e a d y t o p r o v e t h a t h a r d - m a s k i n g p r o g r a m s c o n t a i n h a r d - m a s k i n g t o l e r a n t d e t e c t o r s . O u r s t r a t e g y t o a c c o m p l i s h o u r g o a l i s a s f o l l o w s . F i r s t , b a s e d o n D e fi n i t i o n s 1 0 . 2 . 6 a n d 1 0 . 2 . 7 , w e S h o w t h a t i f a p r o g r a m r e fi n e s S P E C H i n t h e a b s e n c e o f f a u l t s t h e n i t c o n t a i n s d e t e c t o r s . T h e i n t u i t i o n i s t h a t i f p r o g r a m P ’ i s d e s i g n e d b y t r a n s f o r m i n g P s o a s t o r e fi n e S P E C R , t h e n t h e t r a n s f o r m a t i o n m u s t h a v e a d d e d d e t e c t o r s f o r P , a n d P , r e u s e s P . W e f o r m u l a t e t h i s i n C l a i m 1 0 . 2 . 1 0 . T h e n ( i n t h e p r e s e n c e o f f a u l t s ) , u s i n g C l a i m 1 0 . 2 . 1 0 , w e s h o w t h a t i f a h a r d - m a s k i n g p r o g r a m P ’ i s d e s i g n e d b y r e u s i n g P t o t o l e r a t e a s e t F o f f a u l t s , P ' c o n t a i n s a h a r d - m a s k i n g t o l e r a n t d e t e c t o r f o r e a c h a c t i o n O f P . T h i s i s s h o w n i n T h e o r e m 1 0 . 2 . 1 1 . I n o r d e r t o s h o w t h a t a p r o g r a m c o n t a i n s a d e t e c t o r c o m p o n e n t , w e a r e r e q u i r e d t o s h o w t h a t t h e c o r r e s p o n d i n g t i m e d g u a r d e d c o m m a n d s s a t i s f y t h e P r o g r e s s c o n d i t i o n o f D e fi n i t i o n 1 0 . 2 . 1 . T h u s , w e a s s u m e t h a t p r o g r a m s n e e d t o s a t i s f y t h e f o l l o w i n g f a i r n e s s c o n d i t i o n . A s s u m p t i o n 1 0 . 2 . 8 W e a s s u m e t h a t p r o g r a m c o m p u t a t i o n s a r e f a i r i n t h e s e n s e 2 0 5 t h a t i n e v e r y c o m p u t a t i o n , i f t h e g u a r d o f a n a c t i o n i s c o n t i n u o u s l y t r u e t h e n t h a t a c t i o n i s e v e n t u a l l y c h o s e n f o r e x e c u t i o n . I A s s u m p t i o n 1 0 . 2 . 9 W i t h o u t l o s s O f g e n e r a l i t y , f o r s i m p l i c i t y , w e a s s u m e t h a t t r a n — s i t i o n s t h a t c o r r e s p o n d t o d i f f e r e n t a c t i o n s o f t h e p r o g r a m a r e m u t u a l l y d i s j o i n t , i . e . , t h e y d o n o t c o n t a i n o v e r l a p p i n g t r a n s i t i o n s . T h e r e s u l t s i n t h i s p a p e r a r e v a l i d w i t h - o u t t h i s a s s u m p t i o n s i n c e w e c a n e a s i l y m o d i f y a g i v e n p r o g r a m t o o n e t h a t s a t i s fi e s t h i s a s s u m p t i o n . I W e a r e n o w r e a d y t o f o r m u l a t e o u r c l a i m o n e x i s t e n c e o f d e t e c t o r s i n p r o g r a m s t h a t r e fi n e S P E C R i n t h e a b s e n c e O f f a u l t s . C l a i m 1 0 . 2 . 1 0 L e t P a n d P ’ b e r e a l - t i m e p r o g r a m s , I n v b e a n o n e m p t y s t a t e p r e d i - c a t e , a n d S P E C b e a s p e c i fi c a t i o n . 1 f o P , r e u s e s P f r o m I n v , a n d o P , r e fi n e s S P E C b t f r o m I n v , t h e n 0 ( V a c | a c i s a t i m e d a c t i o n o f P : P , c o n t a i n s a d e t e c t o r o f a d e t e c t i o n p r e d i c a t e o f a c f o r S P E C ) . P r o o f . L e t a c b e a t i m e d a c t i o n O f P . W e S h o w t h a t P ’ c o n t a i n s a d e t e c t o r o f a d e t e c t i o n p r e d i c a t e o f a c . L e t w d p b e t h e w e a k e s t d e t e c t i o n p r e d i c a t e f o r a c . S i n c e P , r e u s e s ( a n d , h e n c e , e n c a p s u l a t e s ) P f r o m I n v , i f a c i s o f t h e f o r m 9 - A — > s t , 2 0 6 I A U A s t l l s t l . N o w , w e P , c o n t a i n s a t i m e d a c t i o n , s a y a c ’ , o f t h e f o r m g / \ g , i n s t a n t i a t e w i t n e s s p r e d i c a t e W a n d d e t e c t i o n p r e d i c a t e D a s f o l l o w s : W = g / \ g ’ , a n d D = g / \ w d p . F o l l o w i n g L e m m a 1 0 . 2 . 4 , s i n c e D = > w d p , w h e n e v e r D i s t r u e , e x e c u t i o n O f a c m a i n - t a i n s S P E C H . H e n c e , D i s a d e t e c t i o n p r e d i c a t e o f a c . T h u s , i t o n l y r e m a i n s t o S h o w t h a t P , r e fi n e s ‘ W d e t e c t s D ’ f r o m I n v . T O t h i s e n d , w e v e r i f y S a f e n e s s , P r o g r e s s , a n d S t a b i l i t y c o n s t r a i n t s O f o u r d e t e c t o r : 0 ( S a f e n e s s ) B y d e fi n i t i o n O f W , W i g . S i n c e P , r e fi n e s S P E C R f r o m I n v , w h e n e v e r a c i s e x e c u t e d i n a s t a t e w h e r e I n v i s t r u e , i t s e x e c u t i o n m a i n t a i n s S P E C S ? S i n c e w d p i s t h e w e a k e s t d e t e c t i o n p r e d i c a t e o f a c , I n v / \ W = > w d p . T h u s , W = > D a n d , h e n c e , S a f e n e s s i s s a t i s fi e d . 0 ( P r o g r e s s ) C o n s i d e r a n y c o m p u t a t i o n , s a y 3 ’ , o f P ’ w h i c h s t a r t s i n a s t a t e w h e r e I n c i s t r u e , a n d , D i s t r u e i n e a c h s t a t e i n 3 ’ . B y d e fi n i t i o n o f D , g i s t r u e i n e a c h s t a t e i n a " . N o w , c o n s i d e r t h e c o m p u t a t i o n , s a y ‘ 0 ' , o b t a i n e d b y p r o j e c t i n g E , o n P . S i n c e P ’ r e fi n e s P f r o m I n v , ' 6 i s a c o m p u t a t i o n o f P a n d 9 m u s t b e c o n t i n u o u s l y t r u e . H e n c e b y f a i r n e s s ( c f . A s s u m p t i o n 1 0 . 2 . 8 ) , a c t i o n a c m u s t e v e n t u a l l y b e e x e c u t e d . L e t 0 d e n o t e t h e s t a t e w h e r e t i m e d a c t i o n a c e x e c u t e s i n E , a n d l e t 0 ’ d e n o t e t h e c o r r e s p o n d i n g s t a t e i n 6 ’ . C o n s i d e r t h e I ’ e x e c u t e d b y P , i n s t a t e a . S i n c e w e a s s u m e t h a t t h e t r a n s i t i o n s a c t i o n a c i n c l u d e d i n d i f f e r e n t t i m e d a c t i o n s a r e m u t u a l l y e x c l u s i v e , a c , i s t h e o n l y a c t i o n 2 0 7 t h a t c a n b e e x e c u t e d a t o ’ . I n o t h e r w o r d s , n o o t h e r a c t i o n i n P l h a s t h e s a m e e f f e c t o n v a r i a b l e s O f P f r o m s t a t e 0 . T h u s , W i s t r u e i n s t a t e 0 ’ a n d , t h e r e f o r e , P r o g r e s s i s s a t i s fi e d . 0 ( S t a b i l i t y ) L e t a c a n d a c , b e a s d e fi n e d a b o v e . I f S t a b i l i t y d o e s n O t h o l d i n I i s n e v e r P I , i t i m p l i e s t h e r e e x i s t s a c o m p u t a t i o n o f P ’ w h e r e t h e a c t i o n a c e x e c u t e d . N o w , c o n s i d e r t h i s c o m p u t a t i o n o f P ’ a n d i t s p r o j e c t i o n o n P . I n t h e p r o j e c t e d c o m p u t a t i o n , g i s c o n t i n u o u s l y t r u e . H o w e v e r , a c t i o n a c i s n o t e x e c u t e d . A n d , t h i s i s a c o n t r a d i c t i o n s i n c e P ’ r e u s e s P f r o m I n v . I N o w , w e S h o w t h a t i f a h a r d - m a s k i n g F - t o l e r a n t p r o g r a m P , i s d e s i g n e d b y r e u s i n g P t h e n P , c o n t a i n s a h a r d - m a s k i n g t o l e r a n t d e t e c t o r f o r e a c h a c t i o n i n P . T h e o r e m 1 0 . 2 . 1 1 L e t P a n d P , b e r e a l - t i m e p r o g r a m s , I n v b e a n o n e m p t y s t a t e p r e d i c a t e , F b e a s e t o f f a u l t s , a n d S P E C b e a s p e c i fi c a t i o n . I f 0 P r e fi n e s S P E C - b 7 f r o m I n v , o P , r e u s e s P f r o m R , w h e r e R 2 ) » I n v f o r s o m e n o n e m p t y s t a t e p r e d i c a t e R , a n d o P ’ i s h a r d - m a s k i n g F - t o l e r a n t t o S P E C f r o m R t h e n 0 ( V a c | a c i s a t i m e d a c t i o n o f P : P , i s a h a r d - m a s k i n g F — t o l e r a n t d e t e c t o r o f a d e t e c t i o n p r e d i c a t e o f a c f o r S P E C ) . 2 0 8 P r o o f . L e t a c b e a t i m e d a c t i o n O f P a n d l e t w d p b e t h e w e a k e s t d e t e c t i o n p r e d i c a t e f o r a c . S i n c e P , r e u s e s ( a n d , h e n c e , e n c a p s u l a t e s ) P f r o m R , i f a c i s O f t h e f o r m I A m s t | | s t ’ . g — 2 ‘ — — > s t t h e n P ’ c o n t a i n s a t i m e d a c t i o n , s a y a c ' , O f t h e f o r m g A g ’ N o w , f o r e a c h t i m e d a c t i o n a c O f P , w e i n s t a n t i a t e w i t n e s s p r e d i c a t e W a n d d e t e c t i o n p r e d i c a t e D a s f o l l o w s : W = g A g ’ , a n d D = g / \ w d p . F o l l o w i n g C l a i m 1 0 . 2 . 1 0 , i t i s s t r a i g h t f o r w a r d t o S h o w t h a t i n t h e a b s e n c e o f f a u l t s , P , r e fi n e s ‘ W d e t e c t s D ’ f r o m R . F o r t h e c a s e w h e r e f a u l t s m a y p e r t u r b c o m p u t a t i o n s o f P ’ , w e s h o w t h a t P , c o n t a i n s a h a r d - m a s k i n g t o l e r a n t d e t e c t o r t o S P E C . T o t h i s e n d , w e n e e d t o S h o w t h a t t h e r e e x i s t s a n F - s p a n S s t . P ’ fl F r e fi n e s t h e h a r d - m a s k i n g t o l e r a n c e s p e c i fi c a t i o n O f ‘ W d e t e c t s D ’ f r o m S . T O t h i s e n d , w e l e t S b e t h e F — s p a n u s e d t o S h o w t h a t P ’ i s h a r d - m a s k i n g f - t o l e r a n t f o r S P E C f r o m R . N o w , w e o n l y n e e d t o S h o w t h a t a l l c o m p u t a t i o n s O f P , [ ] F s a t i s f y S a f e n e s s , P r o g r e s s , a n d S t a b i l i t y . T h e p r o o f o f t h i s p a r t o f t h e t h e o r e m i s i d e n t i c a l t o t h e p r o o f O f S a f e n e s s , P r o g r e s s , a n d S t a b i l i t y i n C l a i m 1 0 . 2 . 1 0 . l 2 0 9 1 0 . 3 6 - C o r r e c t o r s a n d T h e i r R o l e i n H a r d - M a s k i n g P r o g r a m s T h i s s e c t i o n i s o r g a n i z e d a s f o l l o w s . W e f o r m a l l y i n t r o d u c e t h e n o t i o n o f w e a k a n d s t r o n g 6 — c o r r e c t o r c o m p o n e n t s i n S u b s e c t i o n 1 0 . 3 . 1 . I n S u b s e c t i o n 1 0 . 3 . 2 , w e d e fi n e w h a t w e m e a n b y c o n t a i n m e n t o f a 5 - c o r r e c t o r i n a r e a l - t i m e p r o g r a m . T h e n , w e p r e s e n t « 5 - c o r r e c t o r c o m p o n e n t s O f t h e h a r d - m a s k i n g v e r s i o n o f o u r t r a f fi c c o n t r o l l e r i n S u b s e c t i o n 1 0 . 3 . 3 . F i n a l l y , i n S u b s e c t i o n s 1 0 . 3 . 4 a n d 1 0 . 3 . 5 , w e d e v e l o p t h e t h e o r y O f s t r o n g a n d w e a k 6 - c o r r e c t o r s , r e s p e c t i v e l y , b y p r o v i n g t h e n e c e s s i t y o f e x i s t e n c e o f h a r d - m a s k i n g w e a k a n d s t r o n g 6 - c o r r e c t o r s i n h a r d - m a s k i n g f a u l t - t o l e r a n t p r o g r a m s . 1 0 . 3 . 1 W e a k a n d S t r o n g 6 - C o r r e c t o r s I n t u i t i v e l y , a 6 - c o r r e c t o r i s a p r o g r a m c o m p o n e n t t h a t e n s u r e s b o u n d e d - t i m e r e c o v - e r y t o a c o r r e c t i o n p r e d i c a t e . I n f a u l t - t o l e r a n t c o m p u t i n g , r e c o v e r y i s e s s e n t i a l t o g u a r a n t e e t h a t l i v e n e s s p r o p e r t i e s ( c f . D e fi n i t i o n 2 . 2 . 5 ) a n d t i m i n g c o n s t r a i n t s ( c f . S P E C - 5 T - i n D e fi n i t i o n 2 . 2 . 4 ) a r e m e t w h e r e t h e s t a t e O f a p r o g r a m i s p e r t u r b e d b y t h e o c c u r r e n c e o f f a u l t s . D e p e n d i n g u p o n t h e c l o s u r e O f t h e c o r r e c t i o n p r e d i c a t e i n 6 - c o r r e c t o r s , t h e y a r e c l a s s i fi e d i n t o w e a k a n d s t r o n g . D e fi n i t i o n 1 0 . 3 . 1 ( w e a k l y c o r r e c t s ) L e t C a n d W b e s t a t e p r e d i c a t e s . L e t ‘ W w e a k l y c o r r e c t s C w i t h i n 6 ’ b e t h e s p e c i fi c a t i o n , t h a t i s t h e s e t o f a l l i n fi n i t e c o m p u t a t i o n s E = ( 0 0 , T O ) — > ( o l , r 1 ) - — » - - - , s a t i s f y i n g t h e f o l l o w i n g c o n d i t i o n s : 0 ( / W e a k ] C o n v e r g e n c e ) T h e r e e x i s t s i E Z 2 0 , s t . 0 , - l : C a n d ( r , - — r 0 ) g 6 . 2 1 0 o ( S a f e n e s s ) F o r a l l i E Z 2 0 , i f 0 i l : W t h e n o , I : C . 0 ( P r o g r e s s ) F o r a l l i E Z > O , i f 0 , - l = C t h e n t h e r e e x i s t s k , k 2 i , s t . 0 1 . : l : W o r 0 k b l : C . 0 ( S t a b i l i t y ) T h e r e e x i s t s i E 2 2 0 7 s t . f o r a l l j , j 2 i , i f o j l : W t h e n o j + 1 l : W O T U j + 1 b £ C . I D e fi n i t i o n 1 0 . 3 . 2 ( s t r o n g l y c o r r e c t s ) L e t C a n d W b e s t a t e p r e d i c a t e s . L e t ‘ W s t r o n g l y c o r r e c t s C w i t h i n 6 ’ b e t h e s p e c i fi c a t i o n , t h a t i s t h e s e t O f a l l i n fi n i t e c o m p u t a t i o n s E , s a t i s f y i n g t h e f o l l o w i n g t w o c o n d i t i o n s : 0 W w e a k l y c o r r e c t s C w i t h i n ( 5 , a n d o ( [ S t r o n g ] C o n v e r g e n c e ) I n a d d i t i o n t o W e a k C o n v e r g e n c e , C i s c l o s e d i n 3 . I D e fi n i t i o n 1 0 . 3 . 3 ( t i - c o r r e c t o r s ) L e t C b e a p r o g r a m a n d C , W , a n d U b e s t a t e p r e d i c a t e s o f C . W e s a y t h a t W w e a k l y / s t r o n g l y c o r r e c t s C i n C f r o m U ( i . e . , C i s a w e a k / s t r o n g 6 - c o r r e c t 0 r ) i f f C r e fi n e s ‘ W w e a k l y / s t r o n g l y c o r r e c t s C w i t h i n 6 ’ f r o m U . I S i m i l a r t o t h e c o n c e p t O f t o l e r a n t d e t e c t o r s , i n o r d e r t o a n a l y z e t h e b e h a v i o r o f a 6 - c o r r e c t o r C i n t h e p r e s e n c e o f f a u l t s , w e c o n s i d e r t h e n o t i o n O f h a r d - m a s k i n g t o l e r a n t ( 5 - c o r r e c t o r s . N o t i c e t h a t s i n c e C s a t i s fi e s W e a k ( r e s p e c t i v e l y , S t r o n g ) C o n v e r g e n c e f r o m U , i t f o l l o w s t h a t C r e a c h e s a s t a t e w h e r e C b e c o m e s t r u e w i t h i n 6 t i m e u n i t s ( a n d , r e s p e c t i v e l y , C c o n t i n u e s t o b e t r u e t h e r e a f t e r ) . I n a d d i t i o n t o c o n v e r g e n c e , a 6 - c o r r e c t o r n e v e r l e t s t h e p r e d i c a t e W w i t n e s s t h e c o r r e c t i o n p r e d i c a t e C i n c o r r e c t l y , 2 1 1 a s C s a t i s fi e s S a f e n e s s f r o m U . M o r e o v e r , s i n c e C s a t i s fi e s P r o g r e s s f r o m U , i t f o l l o w s t h a t W e v e n t u a l l y b e c o m e s t r u e . A n d , fi n a l l y , s i n c e C s a t i s fi e s S t a b i l i t y f r o m U , i t f o l l o w s t h a t w h e n W b e c o m e s t r u e , W i s n e v e r f a l s i fi e d . 1 0 . 3 . 2 C o n t a i n m e n t o f d — C o r r e c t o r s i n R e a l - T i m e P r o g r a m s A s m e n t i o n e d e a r l i e r , i n t h e c o n t e x t O f r e a l - t i m e p r o g r a m s , 6 — c o r r e c t o r s e n s u r e b o u n d e d - t i m e r e c o v e r y t o t h e i r c o r r e c t i o n p r e d i c a t e . I n t u i t i v e l y , w e w i l l u s e w e a k 6 - c o r r e c t o r s w h e r e w e n e e d r e fi n e m e n t O f s t a b l e b o u n d e d r e s p o n s e p r o p e r t i e s i n t h e p r e s e n c e o f f a u l t s . I n s u c h p r o p e r t i e s , w h e n t h e e v e n t p r e d i c a t e b e c o m e s t r u e , t h e p r o g r a m n e e d s t o r e a c h a s t a t e w h e r e t h e r e s p o n s e p r e d i c a t e h o l d s w i t h i n t h e r e s p e c - t i v e r e c o v e r y t i m e . N o n e t h e l e s s , t h e p r o g r a m d o e s n o t n e e d t o r e m a i n i n t h e r e s p o n s e p r e d i c a t e . U n l i k e w e a k 6 - c o r r e c t o r s , w e w i l l u s e s t r o n g 6 - c o r r e c t o r s w h e r e w e n e e d b o u n d e d - t i m e r e c o v e r y t o a s t a t e p r e d i c a t e i n w h i c h t h e p r o g r a m i s r e q u i r e d t o s t a y i n . T h e c o r r e c t i o n p r e d i c a t e o f a 6 - c o r r e c t o r C i s t y p i c a l l y a n i n v a r i a n t p r e d i c a t e O f t h e f a u l t - i n t o l e r a n t p r o g r a m w h i l e t h e w i t n e s s p r e d i c a t e w i t n e s s e s t h e c o r r e c t i o n o f t h e c o r - r e c t i o n p r e d i c a t e . T h i s i s O b v i o u s l y d u e t o t h e f a c t t h a t r e a l - t i m e p r o g r a m s a r e c l o s e d i n t h e i r i n v a r i a n t p r e d i c a t e . E x i s t e n c e o f s t r o n g 6 - c o r r e c t o r s a r e O f s p e c i a l i n - t e r e s t , s i n c e r e c o v e r y t o t h e i n v a r i a n t p r e d i c a t e a u t o m a t i c a l l y e n s u r e s r e fi n e m e n t o f t h e l i v e n e s s s p e c i fi c a t i o n . I n p a r t i c u l a r , i n S u b s e c t i o n 1 0 . 3 . 4 , w e s h o w t h e n e c e s s i t y O f e x i s t e n c e O f s t r o n g 6 - c o r r e c t o r s i n h a r d - m a s k i n g p r o g r a m s i n o r d e r t o r e fi n e t h e p r o p e r t y fi I n v H 3 9 I n v , w h e r e I n v i s i n i n v a r i a n t p r e d i c a t e . 2 1 2 I n t e r m s O f t h e b e h a v i o r O f 6 - c 0 r r e c t o r s , O b s e r v e t h a t i n D e fi n i t i o n 1 0 . 3 . 1 ( a n d , h e n c e , D e fi n i t i o n 1 0 . 3 . 2 a s w e l l ) , s t a t e 0 0 i s t h e e a r l i e s t s t a t e f r o m w h e r e r e c o v e r y m u s t c o m m e n c e . T h u s , r , - i s t h e t i m e i n s t a n c e w h e r e c o r r e c t i o n i s c o m p l e t e a n d T i — r 0 i s t h e d u r a t i o n o f c o r r e c t i o n . I n c a s e o f s t r o n g 6 - c o r r e c t o r s , 0 0 i s a l s o t h e e a r l i e s t s t a t e r e a c h e d o u t s i d e t h e i n v a r i a n t d u e t O o c c u r r e n c e o f f a u l t s . W e n o t e t h a t a l t h o u g h d e t e c t o r s a n d 6 - c o r r e c t o r s s h a r e t h r e e i d e n t i c a l c o n s t r a i n t s , t h e s e m a n t i c s O f t h e i r c o n t a i n m e n t i n r e a l - t i m e p r o g r a m s a r e c o m p l e t e l y d i f f e r e n t . I n t u i t i v e l y , a d e t e c t o r u s e s t h e w i t n e s s p r e d i c a t e i n o r d e r t o d e t e c t w h e t h e r p r o g r a m e x e c u t i o n i s s a f e . H e n c e , a s w e d e v e l o p e d t h e t h e o r y o f d e t e c t o r s i n S e c t i o n 1 0 . 2 , w e i m p o s e d c o n s t r a i n t s t h a t r e q u i r e t h e w i t n e s s p r e d i c a t e t o b e u s e d . T o t h e c o n t r a r y , a p r o g r a m m a y n o t u s e t h e w i t n e s s p r e d i c a t e O f a 6 - c o r r e c t o r , a s a f a u l t - t o l e r a n t p r o g r a m m a y n o t n e e d t o k n o w w h e n c o r r e c t i o n i s c o m p l e t e . 1 0 . 3 . 3 E x a m p l e ( c o n t ’ d ) C o n t i n u i n g w i t h o u r t r a f fi c c o n t r o l l e r e x a m p l e , w e i d e n t i f y 6 - c o r r e c t o r s f o r e a c h s t a b l e b o u n d e d - r e s p o n s e p r o p e r t y i n S P E C B r - T C i n t r o d u c e d i n S u b s e c t i o n 7 . 2 . 3 . T o t h i s e n d , fi r s t , c o n s i d e r t h e p r o p e r t y T S T C H 3 3 Q . W h e n T C [ ] ( F 0 , F 1 } r e a c h e s a s t a t e i n P S ’ T C / \ H Q w h e r e a t l e a s t o n e s i g n a l i s r e d a n d t h e v a l u e O f b o t h 2 t i m e r s i s l e s s t h a n o r e q u a l t o 1 , i t n e e d s t o r e c o v e r t o Q w i t h i n 3 t i m e u n i t s . L e t C 1 C ’ b e t h e T w e a k 3 - c o r r e c t o r i n T C , c o n s i s t i n g o f t i m e d a c t i o n s T C ’ 5 2 - a n d T C ’ 6 Z - w i t h c o r r e c t i o n a n d w i t n e s s p r e d i c a t e s b o t h e q u a l t o Q . I n t u i t i v e l y , C ; . C ’ e n s u r e s t h a t w h e n T C , i s i n a s t a t e o u t s i d e t h e i n v a r i a n t , i t r e a c h e s a s t a t e w h e r e b o t h S i g n a l s a r e r e d w i t h i n 2 1 3 3 t i m e u n i t s . L i k e w i s e , f o r t h e p r o p e r t y B S T C H 3 7 S T C I l e t C ’ f ' C b e t h e s t r o n g 7 - c o r r e c t o r c o n s i s t i n g O f t i m e d a c t i o n s T C ’ 7 Z - a n d T C ’ 8 2 - w i t h w i t n e s s a n d c o r r e c t i o n s p r e d i c a t e s 2 , a z t i m e r g e t s r e s e t w h e n t h e s t a t e O f T C , i s i n - S / \ T C ’ T C e q u a l t o 5 7 0 I n C w i t h i n 7 t i m e u n i t s s i n c e t h e o c c u r r e n c e o f a f a u l t . S u c h a r e s e t t a k e s t h e t r a f fi c c o n t r o l l e r b a c k t o i t s i n v a r i a n t p r e d i c a t e S T C w h e r e t i m e d a c t i o n T C 1 , - i s e n a b l e d . A n a l e r t r e a d e r n o t i c e s t h a t b o t h C f C ’ a n d C ’ f ’ C ’ e x h i b i t Z e n o b e h a v i o r w h e n r u n n i n g i n d i v i d u a l l y . H o w e v e r , O b s e r v e t h a t C 3 6 , , p r o v i d e s n e w e x e c u t i o n p a t h s w h e r e C ; . C ’ ’ s o n l y c h o i c e i s e x e c u t i n g d e l a y a c t i o n s T C ’ 6 i . M o r e o v e r , w h e n r e a c h i n g t h e i n v a r i a n t p r e d i c a t e u s i n g C t i m e d a n d d e l a y a c t i o n o f t h e i n t o l e r a n t p r o g r a m 2 T c ’ ’ 2 T C p r e v e n t t h e 6 - c o r r e c t o r C , t o e x h i b i t a Z e n o b e h a v i o r . 1 0 . 3 . 4 T h e N e c e s s i t y o f E x i s t e n c e o f S t r o n g d - C o r r e c t o r s W e a r e n o w r e a d y t o p r o v e t h a t h a r d - m a s k i n g p r o g r a m s c o n t a i n h a r d - m a s k i n g t o l e r - a n t s t r o n g 5 - c o r r e c t o r s . O u r s t r a t e g y t o a c c o m p l i s h o u r g o a l i s a s f o l l o w s . F i r s t , i n C l a i m 1 0 . 3 . 5 , w e S h o w t h a t i n t h e a b s e n c e o f f a u l t s , i f a p r o g r a m r e fi n e s a s p e c i fi c a t i o n w i t h i n 0 t i m e u n i t s t h e n i t c o n t a i n s s t r o n g 6 - c o r r e c t o r s f o r s o m e 6 E Z 2 0 . T h e n , ( i n t h e p r e s e n c e o f f a u l t s ) , u s i n g C l a i m 1 0 . 3 . 5 , w e S h o w t h a t i f a h a r d - m a s k i n g p r o g r a m P , i s d e s i g n e d b y r e u s i n g P t o t o l e r a t e a s e t I o f f a u l t s , P ’ c o n t a i n s a h a r d - m a s k i n g t o l e r a n t s t r o n g 6 - c o r r e c t o r . T h i s i s S h o w n i n T h e o r e m 1 0 . 3 . 8 . N o t a t i o n . F o r s i m p l i c i t y , w e u s e t h e p s e u d o - a r i t h m e t i c e x p r e s s i o n s t o d e n o t e t i m i n g c o n s t r a i n t s o v e r fi n i t e c o m p u t a t i o n s . F o r i n s t a n c e , E < 5 , d e n o t e s a fi n i t e c o m p u t a t i o n 2 1 4 ( 0 0 , r 0 ) — — > ( 0 1 , 7 1 ) — > - ~ ( o n , r n ) t h a t s a t i s fi e s t h e t i m i n g c o n s t r a i n t T n — r 0 S 6 , w h e r e 6 E Z > 0 - W e u s e 5 * t o d e n o t e a fi n i t e c o m p u t a t i o n ( o o , r 0 ) — > ( o l , r 1 ) — ) - - - ( U n fl n ) s t . 0 , - j = S f o r a l l i , 0 g i S n . T h u s , ( t r u e ) : O O d e n o t e s a n a r b i t r a r y fi n i t e c o m p u t a t i o n w i t h n o s p e c i fi c t i m e b o u n d . D e fi n i t i o n 1 0 . 3 . 4 ( b e c o m e s ) L e t P a n d P ’ b e t w o r e a l - t i m e p r o g r a m s . W e s a y t h a t P ’ b e c o m e s P w i t h i n « 9 f r o m T i f f P ' r e fi n e s ( t r u e ) * < 6 I ‘ f r o m T , w h e r e F i s t h e s e t o f a l l c o m p u t a t i o n s o f P . I I n C l a i m 1 0 . 3 . 5 , w e s h o w t h a t g i v e n a p r o g r a m P , s t a t e p r e d i c a t e S , a n d s p e c i fi c a - t i o n S P E C , w h e r e P r e fi n e s S P E C f r o m S , i f a p r o g r a m P , i s d e s i g n e d s t . i t b e h a v e s l i k e P w i t h i n 0 a n d , t h u s , h a s a s u f f i x i n S P E C , t h e n P , i s a s t r o n g 6 - c o r r e c t o r O f a n i n v a r i a n t p r e d i c a t e o f P f o r s o m e ( 5 E Z 2 0 . W e p r o v e t h i s C l a i m b y s h o w i n g t h a t P , i t s e l f r e fi n e s t h e r e q u i r e d s t r o n g 6 - c o r r e c t o r s p e c i fi c a t i o n . C l a i m 1 0 . 3 . 5 L e t P a n d P , b e r e a l — t i m e p r o g r a m s , l u v a n d S b e n o n e m p t y s t a t e p r e d i c a t e s , S P E C b e a s p e c i fi c a t i o n , a n d 6 b e a n o n n e g a t i v e i n t e g e r . 1 f o P r e fi n e s S P E C f r o m I n v , o P , r e fi n e s P f r o m I n v , a n d o P , b e c o m e s P D S w i t h i n 6 f r o m S , t h e n 0 t h e r e e x i s t s 6 E Z 2 0 s t . P ’ i s a s t r o n g 6 - c 0 r r e c t o r o f I n v . 2 1 5 P r o o f . W e p r o v e t h i s c l a i m b y , fi r s t , i n s t a n t i a t i n g r e c o v e r y t i m e , w h i t e n e s s p r e d i c a t e , a n d c o r r e c t i o n p r e d i c a t e a s f o l l o w s : 6 = 0 , C = I n v , a n d W = I n v / \ { o | o i s a s t a t e o f P ’ s t . i t i s r e a c h e d i n s o m e c o m p u t a t i o n O f P , s t a r t i n g f r o m S } . T h e r e s t o f t h e p r o o f i s t o v e r i f y t h a t b y t h i s i n s t a n t i a t i o n , P , r e fi n e s ‘ W s t r o n g l y c o r r e c t s C w i t h i n 6 ’ f r o m S v i a s h o w i n g S t r o n g C o n v e r g e n c e , S a f e n e s s , P r o g r e s s , a n d S t a b i l i t y . T o t h i s e n d , w e p r o c e e d a s f o l l o w s : 0 ( S a f e n e s s ) B y d e fi n i t i o n o f W , i n a n y s t a t e w h e r e W i s t r u e , I n v i s t r u e . T h u s , S a f e n e s s i s s a t i s fi e d . 0 ( P r o g r e s s ) S i n c e P , b e c o m e s P D I n v w i t h i n 0 f r o m T , i . e . , P , r e fi n e s ( t r u e ) : 6 ( P D I n v ) f r o m S , e v e r y c o m p u t a t i o n o f P , s t a r t i n g f r o m S w i l l r e a c h a s t a t e w h e r e I n v i s t r u e w i t h i n 9 . B y d e fi n i t i o n o f W , W i s t r u e i n t h i s s t a t e a s w e l l . T h u s , P r o g r e s s i s s a t i s fi e d . 0 ( S t a b i l i t y ) S i n c e P , r e f i n e s P f r o m I n v , i t f o l l o w s t h a t I n v i s c l o s e d i n P ' . O b v i o u s l y , t h e s e c o n d c o n j u n c t i n W i s c l o s e d i n P , a s w e l l a n d , t h u s , W i s c l o s e d i n P ’ . H e n c e , S t a b i l i t y i s s a t i s fi e d . 0 ( S t r o n g C o n v e r g e n c e ) S i n c e P , r e fi n e s ( t r u e ) ; 6 ( P D I n v ) f r o m S , e v e r y c o m - p u t a t i o n o f P , t h a t o r i g i n a t e s f r o m S r e a c h e s a s t a t e w h e r e I n v i s t r u e w i t h i n 2 1 6 9 . M o r e o v e r , I n v ( = C ) i s c l o s e d i n P ’ . T h u s , s i n c e ( 5 = 0 , S t r o n g C o n v e r g e n c e w i t h i n 6 i s s a t i s fi e d . I T h e n e x t l e m m a g e n e r a l i z e s C l a i m 1 0 . 3 . 5 . I n g e n e r a l , g i v e n a p r o g r a m P t h a t r e fi n e s S P E C f r o m S , P , m a y n o t b e h a v e l i k e P f r o m e a c h s t a t e i n S b u t o n l y f r o m a s u b s e t O f S , s a y R . T h i s m a y h a p p e n , f o r e x a m p l e , i f P , c o n t a i n s a d d i t i o n a l v a r i a b l e s a n d P , b e h a v e s l i k e P o n l y a f t e r t h e v a l u e s o f t h e s e a d d i t i o n a l v a r i a b l e s a r e r e s t o r e d . L e m m a 1 0 . 3 . 6 s h o w s t h a t i n s u c h a c a s e , P , c o n t a i n s a h a r d - m a s k i n g t o l e r a n t s t r o n g 6 - c o r r e c t o r o f a n i n v a r i a n t p r e d i c a t e o f P . T h e s t r o n g 6 - c o r r e c t o r i s h a r d - m a s k i n g i n t h e s e n s e t h a t t h e c o r r e c t i o n p r e d i c a t e i s p r e s e r v e d o n l y a f t e r P ’ r e a c h e s a s t a t e w h e r e R i s t r u e . L e m m a 1 0 . 3 . 6 L e t P a n d P , b e r e a l - t i m e p r o g r a m s , R , I n v , a n d S b e n o n e m p t y s t a t e p r e d i c a t e s w h e r e R = > I n v , S P E C b e a s p e c i fi c a t i o n , a n d 0 b e a n o n n e g a t i v e i n t e g e r . 1 f o P r e fi n e s S P E C f r o m I n v , o P , r e fi n e s P f r o m R , a n d o P , b e c o m e s ( P D R ) w i t h i n 0 f r o m S , t h e n 0 t h e r e e x i s t s ( 5 E Z > 0 s t . P , i s a h a r d - m a s k i n g s t r o n g 6 - c o r r e c t o r w i t h r e c o v e r y t i m e 9 o f I n v . 2 1 7 P r o o f . F i r s t , w e i n s t a n t i a t e c o r r e c t i o n a n d w i t n e s s p r e d i c a t e s a s f o l l o w s : C = I n v , a n d W = R . W e n o w s h o w t h a t t h e r e e x i s t s 6 E Z 2 0 s t . P ’ r e fi n e s t h e h a r d - m a s k i n g t o l e r a n c e s p e c i fi c a t i o n w i t h r e c o v e r y t i m e 6 o f ‘ W s t r o n g l y c o r r e c t s C w i t h i n 6 ’ f r o m S . I n p a r t i c u l a r , w e fi r s t s h o w t h a t a c o m p u t a t i o n o f P , t h a t s t a r t s f r o m a s t a t e w h e r e S i s t r u e r e a c h e s a s t a t e w h e r e R i s t r u e w i t h i n 6 t i m e u n i t s . T h e n , w e s h o w t h a t s t a r t i n g f r o m t h i s s t a t e P ’ r e fi n e s ‘ W s t r o n g l y c o r r e c t s C w i t h i n 6 ’ . o F o r t h e fi r s t p a r t , s i n c e P , b e c o m e s P D R w i t h i n 6 f r o m S , i t f o l l o w s t h a t P , r e a c h e s a s t a t e w h e r e R i s t r u e w i t h i n 6 . o F o r t h e s e c o n d p a r t , w e S h o w t h a t t h e r e e x i s t s 6 E Z > 0 s u c h t h a t s t a r t i n g f r o m S , P , s a t i s fi e s S a f e n e s s , P r o g r e s s , S t a b i l i t y , a n d S t r o n g C o n v e r g e n c e w i t h i n 6 . T h u s , w e p r o c e e d a s f o l l o w s : — ( S a f e n e s s ) S i n c e R : > I n v i s t r i v i a l l y t r u e , S a f e n e s s i s s a t i s fi e d b y c o n - s t r u c t i o n . — ( P r o g r e s s ) I n a s t a t e w h e r e R i s t r u e , I n v a l s o h o l d s . T h u s , P r o g r e s s i s s a t i s fi e d . - ( S t a b i l i t y ) S i n c e P , r e fi n e s P f r o m R a n d R i s c l o s e d i n P ’ , S t a b i l i t y i s s a t i s fi e d . — ( S t r o n g C o n v e r g e n c e ) F i n a l l y , s i n c e i n a c o m p u t a t i o n s t a r t i n g f r o m a s t a t e w h e r e R i s t r u e , I n v i s i m m e d i a t e l y t r u e a t a l l s t a t e s a n d P , i s c l o s e d i n 2 1 8 I n v , b y c h o o s i n g 6 = 0 S t r o n g C o n v e r g e n c e i s s a t i s fi e d . I W e n o w i l l u s t r a t e t h e r o l e o f s t r o n g 6 - c o r r e c t o r s i n h a r d - m a s k i n g p r o g r a m s i n t h e p r e s e n c e O f f a u l t s . I n p a r t i c u l a r , w e u s e C l a i m 1 0 . 3 . 5 a n d L e m m a 1 0 . 3 . 6 t o s h o w t h a t i f a h a r d - m a s k i n g F - t o l e r a n t p r o g r a m P , w i t h r e c o v e r y t i m e 6 i s d e s i g n e d b y r e u s i n g P t h e n t h e r e e x i s t s 6 E Z 2 0 s t . P , c o n t a i n s a h a r d - m a s k i n g F - t o l e r a n t s t r o n g 6 - c o r r e c t o r w i t h r e c o v e r y t i m e 6 f o r a n i n v a r i a n t p r e d i c a t e O f P . N o t i c e t h a t , s i n c e o u r g o a l i s t o i d e n t i f y c o m p o n e n t s t h a t p r o v i d e b o u n d e d - t i m e r e c o v e r y i n t h e p r e s e n c e o f f a u l t s , t h e r e n e e d s t o b e s o m e b o u n d o n t h e n u m b e r o f o c c u r r e n c e o f f a u l t s . I n f a c t , i t i s s t r a i g h t f o r w a r d t o S h o w t h a t p r o v i d i n g b o u n d e d - t i m e r e c o v e r y i n t h e p r e s e n c e o f u n b o u n d e d o c c u r r e n c e O f f a u l t s i s g e n e r a l l y i m p o s s i b l e . A s s u m p t i o n 1 0 . 3 . 7 L e t P = < H P ’ I n v r p ) b e a p r o g r a m a n d F b e a s e t o f f a u l t s . A l s o , l e t ( 0 0 , r 0 ) — > ( 0 1 , 1 ' 1 ) — > - - - ( o n , r n ) b e a c o m p u t a t i o n p r e fi x i n P fl F w h e r e 0 0 t : I n v a n d a , - b é I n v , 1 g i S n . W e a s s u m e t h a t t h e n u m b e r o f o c c u r r e n c e o f f a u l t s b e t w e e n s t a t e s 0 1 a n d o n i s a t m o s t k f o r s o m e k E Z > 0 . I 2 1 9 T h e o r e m 1 0 . 3 . 8 L e t P a n d P , b e r e a l - t i m e p r o g r a m s , R a n d I n v b e n o n e m p t y s t a t e p r e d i c a t e s , S P E C b e a s p e c i fi c a t i o n , a n d 6 b e a n o n n e g a - t i v e i n t e g e r . I f P r e fi n e s S P E C f r o m I n v , P , i s h a r d - m a s k i n g F - t o l e r a n t f o r S P E C f r o m R , w h e r e R = > S , P , r e fi n e s P f r o m R , a n d P , b e c o m e s P D R w i t h i n 6 f r o m S , w h e r e S i s a n F — s p a n o f P ’ , t h e n 0 t h e r e e x i s t 6 a n d 6 ’ i n Z > 0 s t . P , i s a h a r d - m a s k i n g F - t o l e r a n t s t r o n g 6 - c o r r e c t o r w i t h r e c o v e r y t i m e 6 ’ o f I n v . P r o o f . F i r s t , w e c o n s t r u c t a f a u l t - s p a n O f P , f o r t h e r e s t o f o u r p r o o f . L e t S 1 b e t h e f a u l t - s p a n u s e d t o s h o w t h a t P ’ i s h a r d - m a s k i n g F - t o l e r a n t f r o m R . L e t 8 2 = S 1 A S . S i n c e 3 1 a n d S a r e F - s p a n s , b o t h a r e c l o s e d i n P ’ [ ] F . H e n c e 5 ' 2 i s a l s o c l o s e d i n P ’ [ ] F . M o r e o v e r , s i n c e S Q = > S , P , b e c o m e s P D R f r o m 8 2 a s w e l l . W e i n s t a n t i a t e c o r r e c t i o n a n d w i t n e s s p r e d i c a t e s a s f o l l o w s : C = I n v , W = R . W e n o w S h o w t h a t t h e r e e x i s t 6 , 6 ’ E Z > 0 s t . P ’ i s h a r d - m a s k i n g F — t o l e r a n t t o 2 2 0 ‘ W s t r o n g l y c o r r e c t s C w i t h i n 6 ’ w i t h r e c o v e r y t i m e 6 ’ f r o m R . T o t h i s e n d , w e fi r s t s h o w t h a t t h e r e e x i s t s 6 E Z 2 0 s t . P , r e fi n e s ‘ W s t r o n g l y c o r r e c t s C w i t h i n 6 ’ f r o m R . T h e n , w e s h o w t h a t t h e r e e x i s t s 6 , 6 , E Z 2 0 s t . P ’ fl F r e fi n e s t h e h a r d - m a s k i n g t o l e r a n c e s p e c i fi c a t i o n o f ‘ W s t r o n g l y c o r r e c t s C w i t h i n 6 ’ w i t h r e c o v e r y t i m e 6 ’ f r o m S 2 . F o r t h e fi r s t p a r t , f r o m L e m m a 1 0 . 3 . 6 , w e k n o w t h a t t h e r e e x i s t s 6 s t . P , r e fi n e s h a r d - m a s k i n g t o l e r a n c e s p e c i fi c a t i o n o f ‘ W s t r o n g l y c o r r e c t s C w i t h i n 5 f r o m R . T h u s , t h e fi r s t p a r t o f p r o o f i s d i s c h a r g e d . F o r t h e s e c o n d p a r t , w e i n s t a n t i a t e t h e r e c o v e r y t i m e s a s f o l l o w s : = 6 , a n d 6 ’ = ( k + 1 ) . 0 , w h e r e k i s t h e b o u n d o n t h e n u m b e r o f f a u l t s t h a t m a y o c c u r i n a c o m p u t a t i o n ( c f . A s s u m p t i o n 1 0 . 3 . 7 ) . O b s e r v e t h a t , a f t e r o c c u r r e n c e O f a t m o s t k f a u l t s , P , r e a c h e s a s t a t e i n 3 2 w i t h i n a t m o s t k . 6 t i m e u n i t s . M o r e o v e r , f r o m t h i s s t a t e , P ’ r e fi n e s ‘ W s t r o n g l y c o r r e c t s C w i t h i n 6 ( = 6 ) ’ f r o m 5 2 ( p r o o f w o u l d b e i d e n t i c a l t o p r o o f o f L e m m a 1 0 . 3 . 6 ) . T h u s , a f t e r f a u l t s s t o p o c c u r r i n g , P , r e a c h e s a s t a t e w h e r e R i s t r u e . T h e r e f o r e , P , i s a h a r d - m a s k i n g F - t o l e r a n t s t r o n g 6 - c o r r e c t o r w i t h r e c o v e r y t i m e 6 ’ = ( k + 1 ) . 6 t o ‘ W s t r o n g l y c o r r e c t s C w i t h i n 6 ’ f r o m R . R e m a r k . I n t h e p r O O f o f T h e o r e m 1 0 . 3 . 8 , w e s h o w e d t h a t t h e r e c o v e r y t i m e t h a t a s t r o n g 6 - c o r r e c t o r p r o v i d e s i n w o r s t c a s e d e p e n d s o n t h e m a x i m u m n u m b e r O f o c c u r r e n c e o f f a u l t s . H o w e v e r , o n e c a n d e s i g n c o r r e c t o r s w i t h b e t t e r r e c o v e r y t i m e . F o r i n s t a n c e , i n C h a p t e r 8 , w e p r e s e n t e d a u t o m a t e d m e t h o d s t o s y n t h e s i z e o n e t y p e 2 2 1 O f s u c h c o r r e c t o r s u s i n g s t a t e e x p l o r a t i o n a n d D i j k s t r a ’ s s h o r t e s t p a t h a l g o r i t h m . I 1 0 . 3 . 5 T h e N e c e s s i t y o f E x i s t e n c e O f W e a k d — C o r r e c t o r s J u s t l i k e t h e r e l a t i o n b e t w e e n r e c o v e r y c o n s t r a i n t a n d s t r o n g ( 5 - c o r r e c t o r s i n h a r d m a s k i n g p r o g r a m s , w e S h o w t h a t i f a h a r d - m a s k i n g F - t O l e r a n t p r o g r a m P , i s d e s i g n e d b y r e u s i n g p r o g r a m P t h e n P , c o n t a i n s a h a r d - m a s k i n g t o l e r a n t w e a k 6 - c o r r e c t o r f o r e a c h s t a b l e b o u n d e d r e s p o n s e p r o p e r t y i n S P E C E ; T h e o r e m 1 0 . 3 . 9 L e t P a n d P , b e r e a l - t i m e p r o g r a m s , R a n d I n v b e n o n e m p t y s t a t e p r e d i c a t e s w h e r e R = > I n v , S P E C b e a s p e c i fi c a t i o n , a n d 6 b e a n o n n e g a t i v e i n t e g e r . 1 f o P r e fi n e s S P E C f r o m I n v , o P ’ r e u s e s P f r o m R , o P , i s h a r d - m a s k i n g F — t o l e r a n t t o S P E C f r o m R t h e n 0 ( V i | O S i S m : t h e r e e x i s t s 6 E Z 2 0 s t . P , i s a h a r d - m a s k i n g t o l e r a n t w e a k 6 - c o r r e c t o r f o r t h e r e s p o n s e p r e d i c a t e o f s t a b l e b o u n d e d r e s p o n s e p r o p e r t y P 2 H 3 5 2 Q t 0 f S P E C b — T ) . P r o o f . 2 2 2 F o l l o w i n g D e fi n i t i o n 7 . 1 . 6 , S P E C b — r c o n s i s t s o f m + 1 s t a b l e b o u n d e d r e s p o n s e p r o p e r t i e s O f t h e f o r m P , - H < 6 i i n w h e r e 0 S i S m . I n o r d e r t O S h o w t h e e x i s t e n c e o f h a r d - m a s k i n g w e a k 6 — c o r r e c t o r s , f o r e a c h s t a b l e b o u n d e d r e s p o n s e p r o p e r t y i n S P E C F , w e l e t r C = Q 2 ) W = Q , - A { o | o i s a s t a t e o f P , s t . 0 i s r e a c h e d i n s o m e c o m p u t a t i o n o f P , s t a r t i n g f r o m P i l ~ N o w , w e n e e d t o S h o w t h a t t h e r e e x i s t 6 , 6 ' E Z 2 0 s t . P I i s h a r d - m a s k i n g F - t o l e r a n t t o ‘ W w e a k l y c o r r e c t s C w i t h i n 6 ’ w i t h r e c o v e r y t i m e 6 ’ f r o m R . B y i n s t a n - t i a t i n g 6 = 6 , , f o r e a c h i E 0 . . m , t h e r e s t o f t h e p r o o f s t r a t e g y i s i d e n t i c a l t o t h a t O f T h e o r e m 1 0 . 3 . 8 . T h e o n l y p o i n t O f d i f f e r e n c e i s t h a t f o r t h i s t h e o r e m , w e o n l y n e e d t o s h o w W e a k C o n v e r g e n c e , a s P , d o e s n o t h a v e t o b e c l o s e d i n e a c h Q 7 3 . 2 2 3 C h a p t e r 1 1 S y m b o l i c S y n t h e s i s o f D i s t r i b u t e d F a u l t - T o l e r a n t P r o g r a m s T h e c o m p l e x i t y o f a u t o m a t e d s y n t h e s i s c a n b e c h a r a c t e r i z e d i n t w o p a r t s . T h e fi r s t p a r t h a s t o d e a l w i t h q u e s t i o n s s u c h a s w h i c h r e c o v e r y t r a n s i t i o n s / a c t i o n s s h o u l d b e a d d e d , a n d w h i c h t r a n s i t i o n s / a c t i o n s s h o u l d b e r e m o v e d t o p r e v e n t s a f e t y v i o l a t i o n i n t h e p r e s e n c e o f f a u l t s . T h e s e c o n d p a r t h a s t o d e a l w i t h q u e s t i o n s s u c h a s h o w q u i c k l y s u c h r e c o v e r y a n d s a f e t y v i o l a t i n g t r a n s i t i o n s c a n b e i d e n t i fi e d . O b s e r v e t h a t t h e s o l u t i o n t o t h e fi r s t p a r t i s i n d e p e n d e n t o f i s s u e s s u c h a s r e p r e - s e n t a t i o n o f p r o g r a m s , f a u l t s , s p e c i fi c a t i o n s e t c . H e n c e , i n p r e v i o u s c h a p t e r s O f t h i s d i s s e r t a t i o n , w e u t i l i z e d e x p l i c i t - s t a t e ( e n u m e r a t i v e ) t e c h n i q u e s t o i d e n t i f y t h e c o m - p l e x i t y o f r e v i s i o n . E x p l i c i t - s t a t e t e c h n i q u e s a r e e s p e c i a l l y v a l u a b l e i n t h i s c o n t e x t , a s w e c a n i d e n t i f y h o w d i f f e r e n t h e u r i s t i c s a f f e c t a g i v e n p r o g r a m , a n d t h e r e b y e n a b l e u s t o i d e n t i f y c i r c u m s t a n c e s w h e r e t h e y m i g h t b e u s e f u l . E x p l i c i t - s t a t e t e c h n i q u e s , h o w - e v e r , a r e u n d e s i r a b l e f o r t h e s e c o n d p a r t , a s t h e y s u f f e r f r o m s t a t e e x p l o s i o n p r o b l e m 2 2 4 a n d p r e v e n t o n e f r o m s y n t h e s i z i n g p r o g r a m s w h e r e t h e s t a t e s p a c e i s l a r g e . I n o t h e r w o r d s , a l t h o u g h t h e p o l y n o m i a l - t i m e c o m p l e x i t y O f t h e h e u r i s t i c s ( e . g . , i n [ K A C 0 1 ] ) a l l o w u s t o d e a l w i t h t h e p r o b l e m o f s y n t h e s i s o f d i s t r i b u t e d p r o g r a m s , w h i c h i s k n o w n t o b e N P - c o m p l e t e , t h e i r e x p l i c i t - s t a t e i m p l e m e n t a t i o n i s p r o b l e m a t i c w i t h s c a l i n g u p f o r l a r g e p r o g r a m s . W i t h t h i s m o t i v a t i o n , i n t h i s c h a p t e r , w e f o c u s o n t h e s e c o n d p a r t o f t h e p r o b l e m t o i m p r o v e t h e t i m e a n d s p a c e c o m p l e x i t y o f s y n t h e s i s . T o w a r d s t h i s e n d , w e f o c u s o n s y m b o l i c s y n t h e s i s ( i m p l i c i t - s t a t e ) w h e r e p r o g r a m s , f a u l t s , s p e c i fi c a t i o n s e t c . , a r e m o d e l e d u s i n g B o o l e a n f o r m u l a e ( r e p r e s e n t e d b y B r y a n t ’ s O r d e r e d B i n a r y D e c i s i o n D i a g r a m s [ B r y 8 6 ] ) . A l t h o u g h s y m b o l i c t e c h n i q u e s h a v e b e e n s h o w n t o b e v e r y s u c - c e s s f u l i n m o d e l c h e c k i n g [ B C M ' l ' 9 2 ] ( e . g . , i n m o d e l c h e c k e r s S M V a n d S A L ) , t h e y h a v e n o t b e e n g r e a t l y u s e d i n t h e c o n t e x t O f p r o g r a m s y n t h e s i s a n d t r a n s f o r m a t i o n i n t h e l i t e r a t u r e . T h u s , i n t h i s c h a p t e r , o u r g o a l i s t o e v a l u a t e h o w s u c h s y m b o l i c s y n t h e s i s c a n a s s i s t i n r e d u c i n g t h e t i m e a n d s p a c e c o m p l e x i t y , a n d t h e r e b y p e r m i t s y n t h e s i s o f l a r g e ( r ) p r o g r a m s . O u r c o n t r i b u t i o n s i n t h i s c h a p t e r a r e a s f o l l o w s . 1 . W e i l l u s t r a t e t h a t o u r s y m b o l i c t e c h n i q u e c a n s i g n i fi c a n t l y i m p r o v e t h e p e r f o r - m a n c e O f s y n t h e s i s i n t e r m s o f b o t h t i m e a n d S p a c e c o m p l e x i t y . I n p a r t i c u l a r , o u r a n a l y s i s s h o w s t h a t t h e g r o w t h o f t h e t o t a l S y n t h e s i s t i m e i s s u b l i n e a r i n t h e s t a t e s p a c e . F o r e x a m p l e , i n c a s e o f B y z a n t i n e a g r e e m e n t f o r fi v e p r o c e s s e s , t h e t i m e s p e n t f o r e x p l i c i t - s t a t e s y n t h e s i s w a s 1 5 m i n u t e s w h e r e a s t h e t i m e s p e n t f o r s y m b o l i c s y n t h e s i s w a s l e s s t h a n a s e c o n d . 2 2 5 2 . S y m b o l i c s y n t h e s i s s i g n i fi c a n t l y a s s i s t s i n c o p i n g w i t h t h e s p a c e c o m p l e x i t y . F o r e x a m p l e , w e c o u l d s y n t h e s i z e a s o l u t i o n f o r B y z a n t i n e a g r e e m e n t w i t h 2 5 0 1 9 , w h e r e a s i n o u r p r o c e s s e s . T h e s i z e o f r e a c h a b l e s t a t e s i n t h i s c a s e i s 1 i m p l e m e n t a t i o n t h e a m o u n t o f m e m o r y u s e d d u r i n g s y n t h e s i s w a s o n l y 1 4 . 2 M B . T O t h e b e s t O f o u r k n o w l e d g e , t h i s i s t h e fi r s t i n s t a n c e t h a t c a n d e a l w i t h s u c h l a r g e s t a t e s p a c e i n t h e c o n t e x t O f p r o g r a m s y n t h e s i s . 3 . W e a n a l y z e t h e c o s t i n c u r r e d i n d i f f e r e n t t a s k s d u r i n g s y n t h e s i s . I n p a r t i c u l a r , o u r a n a l y s i s i d e n t i fi e s s e v e r a l p o t e n t i a l b o t t l e n e c k s t h a t n e e d t o b e o v e r c o m e , n a m e l y , ( 1 ) d e a d l o c k r e s o l u t i o n , ( 2 ) c o m p u t a t i o n o f r e a c h a b l e s t a t e s i n t h e p r e s e n c e o f f a u l t s , ( 3 ) c h e c k i n g w h e t h e r a g r o u p o f t r a n s i t i o n s v i o l a t e s t h e s a f e t y s p e c i fi c a t i o n , ( 4 ) c y c l e d e t e c t i o n , a n d ( 5 ) a d d i t i o n O f r e c o v e r y p a t h s . W e S h o w t h a t d e p e n d i n g u p o n t h e s t r u c t u r e o f d i s t r i b u t e d p r o g r a m s , a c o m b i n a t i o n O f t h e s e b o t t l e n e c k s m a y a f f e c t t h e p e r f o r m a n c e o f a u t o m a t e d s y n t h e s i s . W e w o u l d l i k e t o n o t e t h a t j u s t a s w i t h m o d e l c h e c k i n g , t h i s w o r k d o e s n o t i m p l y t h a t s y n t h e s i s w o u l d b e f e a s i b l e f o r a l l p r o g r a m s w h e r e t h e s i z e r e a c h a b l e o f s t a t e s i s 1 0 1 9 . H o w e v e r , t h i s w o r k d o e s i l l u s t r a t e t h a t l a r g e s t a t e s p a c e b y i t s e l f i s n o t a n O b s t a c l e t o p e r m i t e f fi c i e n t s y n t h e s i s . F i n a l l y , w h i l e t e c h n i q u e s s u c h a s s y m m e t r y r e d u c t i o n o r o t h e r a b s t r a c t i o n t e c h n i q u e s h a v e t h e p o t e n t i a l t o r e d u c e t h e c o m p l e x i t y o f s y n t h e s i s , w i t h t h e u s e O f s u c h t e c h n i q u e s , t h e a c t u a l s t a t e s p a c e o f t h e g i v e n p r o b l e m m a y n o t c o r r e s p o n d t o t h e s t a t e s p a c e e n c o u n t e r e d d u r i n g s y n t h e s i s . S i n c e o u r g o a l i n t h i s w o r k h a s b e e n t o f o c u s o n f e a s i b i l i t y O f d e a l i n g w i t h l a r g e s t a t e s p a c e a n d i t s i m p a c t t o t h e a u t o m a t e d s y n t h e s i s a n d t r a n s f o r m a t i o n o f d i s t r i b u t e d 2 2 6 p r o g r a m s , w e h a v e c h o s e n n o t t o u s e s u c h t e c h n i q u e s . T h e r e s t o f t h i s c h a p t e r i s o r g a n i z e d a s f o l l o w s . I n S e c t i o n 1 1 . 1 , w e p r e s e n t o u r s y m b o l i c h e u r i s t i c f o r a d d i n g f a u l t - t o l e r a n c e t o d i s t r i b u t e d p r o g r a m s . I n S e c t i o n s 1 1 . 2 - 1 1 . 6 , w e p r e s e n t o u r e x p e r i m e n t a l r e s u l t s a n d a n a l y s i s O f t h e p e r f o r m a n c e O f o u r s y m b o l i c h e u r i s t i c s . O u r a n a l y s i s i d e n t i fi e s p o t e n t i a l b o t t l e n e c k s O f o u r m e t h o d s b a s e d o n t h e s t r u c t u r e O f t h e i n p u t p r o g r a m . 1 1 . 1 T h e S y m b o l i c S y n t h e s i s A l g o r i t h m I n t h i s s e c t i o n , w e p r e s e n t o u r s y m b o l i c a l g o r i t h m b a s e d o n t h e h e u r i s t i c s d e v e l o p e d i n [ K A C O l ] . I n p a r t i c u l a r , t h e a l g o r i t h m i s f o r m a l i z e d i n t e r m s O f B o o l e a n f o r m u l a e w h i c h w i l l l a t e r e n a b l e u s t o i m p l e m e n t t h e m u s i n g B D D S . A l g o r i t h m s k e t c h . T h e a l g o r i t h m t a k e s a n i n p u t i n t o l e r a n t p r o g r a m , a s a f e t y s p e c i fi c a t i o n , a n d a s e t O f f a u l t t r a n s i t i o n s a n d s y n t h e s i z e s a f a u l t - t o l e r a n t p r o g r a m t h a t s a t i s fi e s t h e c o n s t r a i n t s O f t h e S y n t h e s i s P r o b l e m 7 . 3 . 2 . T h e a l g o r i t h m s c o n s i s t s O f fi v e s t e p s . T h e fi r s t s t e p i s i n i t i a l i z a - t i o n , w h e r e w e i d e n t i f y s t a t e a n d t r a n s i t i o n p r e d i c a t e s f r o m w h e r e e x e c u - t i o n O f f a u l t s a l o n e m a y v i o l a t e t h e s a f e t y s p e c i fi c a t i o n . T h e a l g o r i t h m m a k e s t h e s e s t a t e a n d t r a n s i t i o n p r e d i c a t e s u n r e a c h a b l e i n o r d e r t o g u a r a n t e e t h a t t h e s y n t h e s i z e d f a u l t - t o l e r a n t p r o g r a m d o e s n o t v i o l a t e t h e s a f e t y . I n S t e p 2 , w e i d e n t i f y t h e f a u l t - s p a n b y c o m p u t i n g t h e s t a t e p r e d i c a t e r e a c h a b l e b y p r o g r a m i n 2 2 7 t h e p r e s e n c e o f f a u l t s , s t a r t i n g f r o m t h e p r o g r a m i n v a r i a n t . I n S t e p 3 , t h e a l g o r i t h m i d e n t i fi e s a n d r u l e s o u t t r a n s i t i o n s w h o s e e x e c u t i o n v i o l a t e s t h e s a f e t y s p e c i fi c a t i o n . T h e n , i n S t e p 4 , w e r e s o l v e d e a d l o c k s t a t e s . R e s o l v i n g d e a d l o c k s t a t e s i s c r u c i a l i n t h e s e n s e t h a t e x i s t e n c e o f s u c h s t a t e s c o n t r i b u t e s i n c r e a t i o n o f fi n i t e c o m p u t a t i o n s t h a t t h e i n p u t f a u l t — i n t o l e r a n t p r o g r a m d o e s n o t e x h i b i t . H e n c e , i n o r d e r t o e n s u r e t h a t t h e s y n t h e s i z e d f a u l t - t o l e r a n t p r o g r a m s a t i s fi e s l i v e n e s s s p e c i fi c a t i o n O f t h e i n p u t p r o g r a m , d e a d l o c k s t a t e s m u s t b e h a n d l e d b y e i t h e r a d d i n g r e c o v e r y p a t h s o r s t a t e e l i m i n a t i o n . F i n a l l y , i n S t e p 5 , w e r e — c o m p u t e t h e i n v a r i a n t p r e d i c a t e S O t h a t i t i s c l o s e d i n t h e fi n a l p r o g r a m . w e r e p e a t s t e p s 2 - 3 , 2 - 4 , a n d 2 - 5 u n t i l a fi x p o i n t i s r e a c h e d . T h e fi x p o i n t c o m p u t a t i o n s a r e r e p r e s e n t e d b y t h r e e n e s t e d r e p e a t - u n t i l l o o p s i n t h e a l g o r i t h m . T h u s , t h e a l g o r i t h m t e r m i n a t e s w h e n n o p r o g r e s s i s p o s s i b l e i n a l l t h e s t e p s d e s c r i b e d a b o v e . W e n o w d e s c r i b e t h e a l g o r i t h m S y m b o l i c . A d d _ F T ( c f . A l g o r i t h m 1 1 . 1 ) i n d e t a i l : 0 S t e p 1 : I n i t i a l i z a t i o n s ( L i n e s 1 - 3 ) . F i r s t , w e c o m p u t e t h e s t a t e p r e d - i c a t e m s f r o m w h e r e e x e c u t i o n o f f a u l t s a l o n e v i o l a t e t h e s a f e t y s p e c i fi c a - t i o n ( L i n e 1 ) . T o t h i s e n d , w e s t a r t f r o m s t a t e p r e d i c a t e w h e r e G u a r d ( F A S P E C b t ) i s t r u e ( i . e . , s t a t e s f r o m w h e r e f a u l t s d i r e c t l y v i o l a t e t h e s a f e t y s p e c i fi c a t i o n ) a n d e x p l o r e b a c k w a r d r e a c h a b l e s t a t e s b y a p p l y i n g f a u l t t r a n - s i t i o n s o n l y . T h i s i s a c h i e v e d b y i n v o k i n g t h e p r o c e d u r e B W R e a c h S t a t e s a s a b l a c k b o x . T h e fi r s t p a r a m e t e r o f t h e p r o c e d u r e i s t h e s t a t e p r e d i - c a t e f r o m w h e r e w e s t a r t c o m p u t i n g b a c k w a r d r e a c h a b l e s t a t e s . T h e s e c - 2 2 8 o n d p a r a m e t e r i s t h e t r a n s i t i o n p r e d i c a t e a p p l i e d f o r i d e n t i f y i n g r e a c h a b l e s t a t e s . T h e p r o c e d u r e F W R e a c h S t a t e s w o r k s i n a s i m i l a r f a s h i o n . T h e o n l y d i f f e r e n c e i s i t e x p l o r e s f o r w a r d r e a c h a b l e s t a t e s . S y m b o l i c i m - p l e m e n t a t i o n o f t h e s e p r o c e d u r e s h a s b e e n s t u d i e d e x t e n s i v e l y i n a u - t o m a t e d v e r i fi c a t i o n t e c h n i q u e s [ B C M + 9 2 , M c M 9 3 , B C L 9 1 ] . N o n e t h e - l e s s , a s w e w i l l i l l u s t r a t e i n S e c t i o n s 1 1 . 2 - 1 1 . 6 , s m a l l c h a n g e s i n i m - p l e m e n t a t i o n m a y h a v e t r e m e n d o u s i m p a c t o n e f fi c i e n c y o f s t a t e e x p l o — r a t i o n w i t h r e s p e c t t O d i f f e r e n t p r o g r a m s . T h i s i m p a c t i s O f t e n m o r e d r a m a t i c i n p r o g r a m s y n t h e s i s t h a n v e r i fi c a t i o n s i n c e r e a c h a b i l i t y a n a l y s i s p r o - c e d u r e s m a y b e a p p l i e d m u l t i p l e t i m e s d u r i n g t h e c o u r s e O f s y n t h e s i z i n g a p r o - g r a m . S i n c e a p r o g r a m d o n o t h a v e c o n t r o l o v e r t h e o c c u r r e n c e o f f a u l t s , o n e h a s t o e n s u r e t h a t t h e s t a t e p r e d i c a t e m s n e v e r b e c o m e s t r u e i n a n y p r o g r a m c o m p u t a t i o n . O t h e r w i s e , f a u l t s a l o n e m a y l e a d t h e p r o g r a m t o a s t a t e w h e r e t h e s a f e t y i s v i o l a t e d . T h u s , w e r e m o v e m s f r o m t h e i n v a r i a n t O f t h e f a u l t - t o l e r a n t p r o g r a m ( L i n e 2 ) . W e a l s o c o m p u t e t h e t r a n s i t i o n p r e d i c a t e m t w h o s e t r a n s i t i o n s s h o u l d n o t b e e x e c u t e d b y t h e f a u l t - t o l e r a n t p r o g r a m . I n i t i a l l y , m t i s e q u a l t o t h e u n i o n o f S P E C b t a n d t r a n s i t i o n s t h a t s t a r t f r o m a n y a r b i t r a r y s t a t e a n d e n d i n m s ( L i n e 3 ) . S i n c e t h e f a u l t - t o l e r a n t p r o g r a m i s n o t s u p p o s e d t o r e a c h a s t a t e i n m s , w e a l l o w t h e t r a n s i t i o n s t h a t o r i g i n a t e i n m s t o b e i n t h e f a u l t - t o l e r a n t p r o g r a m ( L i n e 3 ) . N o t i c e t h a t i n A l g o r i t h m A d d _ S y m b o l i c _ F T a n d i t s s u b - p r o c e d u r e s , a n y a d d i t i o n o r r e m o v a l O f 2 2 9 a t r a n s i t i o n p r e d i c a t e h a s t o b e a p p l i e d a l o n g w i t h i t s g r o u p p r e d i c a t e d u e t o t h e i s s u e O f r e a d r e s t r i c t i o n s . T h u s , i s s u e s w i t h r e g a r d t o d i s t r i b u t e d p r o c e s s e s a r e a l l h a n d l e d i n c o m p u t i n g g r o u p p r e d i c a t e s . I n f a c t , w h e n a l l o w i n g t h e p r o g r a m t o e x e c u t e t r a n s i t i o n s t h a t o r i g i n a t e i n m s a u t o m a t i c a l l y i n c l u d e s o t h e r t r a n s i t i o n s t h a t m a y o r i g i n a t e o u t s i d e m s . T h i s i n c l u s i o n i n c r e a s e s t h e l e v e l o f n o n - d e t e r m i n i s m a n d , h e n c e , d i v e r s i t y o f e x i s t e n c e O f p r o g r a m t r a n s i t i o n s a t r e a c h a b l e s t a t e s . S u c h d i v e r s i t y O f t e n i n c r e a s e s c h a n c e s f o r s u c c e s s f u l s y n t h e s i s a s w e l l . O b s e r v e t h a t a l t h o u g h a s t a t e p r e d i c a t e , i n L i n e 3 , o n e c a n i n t e r p r e t m s a s a t r a n s i t i o n p r e d i c a t e t h a t s t a r t s i n m s a n d e n d s i n t r u e . S t e p 2 : R e - c o m p u t i n g t h e f a u l t - s p a n ( L i n e s 9 - 1 1 ) . A f t e r i n i t i a l i z a t i o n s , w e s t a r t r e — c o m p u t i n g t h e i n v a r i a n t p r e d i c a t e , p r o g r a m t r a n s i t i o n p r e d i c a t e , a n d f a u l t — s p a n o f t h e f a u l t - t o l e r a n t p r o g r a m i n t h r e e n e s t e d l o o p s , r e s p e c t i v e l y . E a c h l o o p r e s e m b l e s a fi x p o i n t c a l c u l a t i o n . W e s t a r t w i t h t h e m o s t i n n e r l o o p , w h e r e w e r e - c o m p u t e t h e f a u l t - s p a n . T h e r e a s o n f o r r e — c o m p u t i n g t h e f a u l t - s p a n i s d u e t o t h e f a c t t h a t i n o t h e r s t e p s o f o u r a l g o r i t h m , w e a d d a n d r e m o v e t r a n s i t i o n s t h a t o r i g i n a t e i n t h e f a u l t - s p a n . H e n c e , a f t e r s u c h a d d i t i o n o r r e m o v a l , n e w s t a t e s m a y b e c o m e r e a c h a b l e a n d s o m e s t a t e s m a y b e c o m e u n r e a c h a b l e . T h u s , r e — c o m p u t a t i o n i s n e e d e d t o u p d a t e t h e f a u l t - s p a n . L e t t h e i n i t i a l f a u l t - s p a n 3 1 b e e q u a l t o t h e i n v a r i a n t I n v l ( L i n e 7 ) . W e r e - c o m p u t e t h e f a u l t - s p a n b y s t a r t i n g e x p l o r a t i o n f r o m s t a t e s w h e r e t h e i n v a r i a n t I n v l i s t r u e a n d a p p l y i n g t h e p r o g r a m t r a n s i t i o n p r e d i c a t e i n t h e p r e s e n c e 2 3 0 ? “ 9 3 9 . 1 3 0 . 9 9 . 5 9 A l g o r i t h m 1 1 . 1 S y m b o l i c _ A d d _ F T I n p u t : p r o g r a m t r a n s i t i o n p r e d i c a t e T 1 , , i n v a r i a n t p r e d i c a t e I n v p , f a u l t t r a n s i t i o n s F , a n d b a d t r a n s i t i o n p r e d i c a t e S P E C b t ' O u t p u t : p r o g r a m t r a n s i t i o n p r e d i c a t e T p r i m e P a n d i n v a r i a n t p r e d i c a t e I n v p p 9 ? 1 0 : 1 1 : 1 2 : 1 3 : 1 4 : 1 5 : 1 6 : 1 7 : 1 8 : 1 9 : 2 0 : 2 1 : 2 2 : 2 3 : / / i n i t i a l i z a t i o n s - m s : 2 B W R e a c h S t a t e s ( G u a r d ( F A S P E C b t ) , F ) ; : I n v l : = I n v p — m s ; m t : 2 ( ( m s ) ’ V S P E C b t ) A C r o u p h m s ) ; r e p e a t { r e c o m p u t i n g t h e i n v a r i a n t p r e d i c a t e } I n v 2 : 2 I n v l ; r e p e a t { r e c o m p u t i n g t h e t r a n s i t i o n p r e d i c a t e } S I : T 2 : = I n v 1 , T 1 ; r e p e a t { r e c o m p u t i n g t h e f a u l t - s p a n } 3 2 : 2 S 1 ; S l : = F W R e a c h S t a t e s U n v l , T 1 V F ) ; S I : 2 S 1 — f t e ; m t : = m t A S I ; T : = T 1 — G ' r o u p ( T 1 A fi m t ) ; { r e m o v i n g u n s a f e t r a n s i t i o n s } u n t i l ( 5 1 = S 2 ) ; { R e s o l v i n g d e a d l o c k s t a t e s t h r o u g h a d d i n g r e c o v e r y o r s t a t e e l i m i n a t i o n } d s 2 : S 1 A - w G u a r d ( T 1 ) ; T 1 : = T V A d d R e c o v e r y ( d s , I n v l , S l , m t ) ; d s : = 5 ] A - G u a r d ( T 1 ) ; T 1 , f t e : = E l i m i n a t e ( d s , T 1 , I n v l , S 1 , F , f a l s e , f a l s e ) ; u n t i l ( T 1 = T 2 ) ; T 1 , I n v ] : = C o n s t r u c t l n v a r i a n t ( T 1 , I n v l , f t e ) ; u n t i l ( I n v l = I n v 2 ) ; [ n a p ] , T p r i m e P : = I n v l , T 1 ; r e t u r n [ n a p ] , T p r i m e P ; o f f a u l t s ( i . e . , T 1 V F ) . T o t h i s e n d , w e i n v o k e t h e p r o c e d u r e F W R e a c h S t a t e s ( L i n e 1 0 ) . A f t e r r e c o m p u t i n g t h e f a u l t - s p a n , w e r e m o v e t h e s t a t e p r e d i c a t e f t e f r o m t h e n e w f a u l t - s p a n S l ( L i n e 1 1 ) . T h i s s t a t e p r e d i c a t e i s i d e n t i fi e d l a t e r i n S t e p 4 w h e r e w e r e s o l v e d e a d l o c k s t a t e s . F o r n o w , f t e c o n t a i n s s t a t e s f a i l e d t o e l i m i n a t e d u r i n g d e a d l o c k r e s o l u t i o n . 2 3 1 0 S t e p 3 : I d e n t i f y i n g a n d r e m o v i n g u n s a f e t r a n s i t i o n s ( L i n e s 1 2 - 1 3 ) . W e fi r s t i d e n t i f y u n s a f e t r a n s i t i o n s . S u p p o s e t h e r e e x i s t s a s t a t e p r e d i c a t e w h i c h i s a s u b s e t o f G u a r d ( m t ) , b u t i t i s u n r e a c h a b l e b y t r a n s i t i o n s i n T 1 V F s t a r t i n g f r o m t h e i n v a r i a n t . I n o t h e r w o r d s , i t d o e s n o t i n t e r s e c t w i t h t h e f a u l t - s p a n . S i n c e t h i s s t a t e p r e d i c a t e i s u n r e a c h a b l e b y c o m p u t a t i o n s o f t h e p r o g r a m e v e n i n t h e p r e s e n c e o f f a u l t s , w e d o n o t c o n s i d e r t h e m a s u n s a f e t r a n s i t i o n s a n d w e l e t t h e t r a n s i t i o n s t h a t o r i g i n a t e i n t h a t s t a t e p r e d i c a t e b e i n t h e f a u l t - t o l e r a n t p r o g r a m ( L i n e 1 2 ) . I n o t h e r w o r d s , t h e n e c e s s a r y c o n d i t i o n f o r a t r a n s i t i o n t o b e u n s a f e i s i t s s o u r c e s t a t e h a s t o b e i n t h e f a u l t - s p a n . O t h e r w i s e , t h e t r a n s i t i o n c a n e x i s t i n t h e f a u l t - t o l e r a n t p r o g r a m t r a n s i t i o n p r e d i c a t e , e v e n i f i t i s i n S P E C M T h e r e a s o n f o r n o t i n c l u d i n g s u c h t r a n s i t i o n s i n m t i s d u e t o t h e f a c t t h a t t h e i r c o r r e s p o n d i n g g r o u p p r e d i c a t e s a r e a l s o i n c l u d e d i n t h e s y n t h e s i z e d p r o g r a m t r a n s i t i o n p r e d i c a t e w h i c h i n t u r n a d d s t o n o n - d e t e r m i n i s m a n d d i v e r s i t y o f t h e p r o g r a m . T h e f a u l t - t o l e r a n t p r o g r a m t r a n s i t i o n p r e d i c a t e i s c o m p u t e d b a s e d o n t h e f o l l o w i n g p r i n c i p l e : a t r a n s i t i o n c a n b e i n c l u d e d i f i t i s n o t u n s a f e . T h u s , o n c e w e i d e n t i f y u n s a f e t r a n s i t i o n s ( i . e . , t r a n s i t i o n p r e d i c a t e m t ) , w e r u l e t h e m o u t f r o m t h e p r o g r a m t r a n s i t i o n p r e d i c a t e ( L i n e 1 3 ) . N o t e t h a t a t r a n s i t i o n c a n b e i n c l u d e d i n t h e f a u l t - t o l e r a n t p r o g r a m i f i t s e n t i r e c o r r e s p o n d i n g g r o u p p r e d i c a t e c a n b e i n c l u d e d . 0 S t e p 4 : R e s o l v i n g d e a d l o c k s t a t e s ( L i n e s 1 5 - 1 8 ) . S i n c e t h e a l g o r i t h m 2 3 2 l — t O i — I H m a y r e m o v e s o m e t r a n s i t i o n s f r o m t h e i n p u t p r o g r a m , s o m e s t a t e s m a y h a v e n o o u t g o i n g t r a n s i t i o n s d u e t o t h i s r e m o v a l . C o n s e q u e n t l y , c o m p u t a t i o n s t h a t r e a c h e s s u c h s t a t e s d e a d l o c k . T h u s , w h e n t h e e x e c u t i o n o f t h e a l g o r i t h m r e a c h e s a . fi x p o i n t i n t h e i n n e r l o o p , w e i d e n t i f y d e a d l o c k s t a t e s i n s i d e t h e f a u l t - s p a n . W e c u r e s u c h d e a d l o c k s t a t e s i n t w o w a y s . W e e i t h e r a d d a s a f e r e c o v e r y p a t h f r o m a d e a d l o c k s t a t e t o t h e p r o g r a m i n v a r i a n t , o r ( i f r e c o v e r y i s n o t p o s s i - b l e ) w e e l i m i n a t e t h e d e a d l o c k s t a t e . B y s t a t e e l i m i n a t i o n , w e m e a n m a k i n g t h e s t a t e u n r e a c h a b l e . T h e d e a d l o c k r e s o l u t i o n m e c h a n i s m s a r e i m p l e m e n t e d i n t w o p r o c e d u r e s A d d R e c o v e r y a n d E l i m i n a t e ( c f . P r o c e d u r e s 1 1 . 2 a n d 1 1 . 3 ) , r e s p e c t i v e l y . W e n o w d e s c r i b e t h e s e m e c h a n i s m s i n d e t a i l . F i r s t , t h e a l g o r i t h m i d e n t i fi e s t h e d e a d l o c k s t a t e p r e d i c a t e d s ( L i n e 1 5 ) . I n t u i t i v e l y , a s t a t e i n t h e f a u l t - s p a n i s d e a d l o c k e d i f t h e g u a r d o f T 1 i s f a l s e i n t h a t s t a t e . P r o c e d u r e 1 1 . 2 A d d R e c o v e r y I n p u t : d e a d l o c k s t a t e s d s , i n v a r i a n t I n v , f a u l t - s p a n S , a n d t r a n s i t i o n p r e d i c a t e m t . O u t p u t : r e c o v e r y t r a n s i t i o n p r e d i c a t e r e c . l y r , r e c : = I n v , f a l s e ; r e p e a t r t : = G r o u p ( d s A ( l y r ) ’ ) ; r t : = r t — G r o u p ( r t A m t ) ; i f D e t e c t C y c l e s ( T V r e c V r t , S ) t h e n r t : 2 f a l s e ; e n d i f r e c : 2 r e c V r t ; l y r : = G u a r d ( d s A r t ) ; u n t i l ( l y r = f a l s e ) ; : r e t u r n r e c ; — ( A d d i n g s a f e r e c o v e r y p a t h s ) T h e P r o c e d u r e A d d R e c o v e r y ( c f . P r o c e d u r e 1 1 . 2 ) t a k e s a d e a d l o c k s t a t e p r e d i c a t e d s , i n v a r i a n t p r e d i c a t e I n v , f a u l t - 2 3 3 s p a n S , a n d u n s a f e t r a n s i t i o n p r e d i c a t e m t a s i n p u t . I t r e t u r n s a t r a n s i t i o n p r e d i c a t e w h i c h c o n t a i n s n e w r e c o v e r y t r a n s i t i o n s a s o u t p u t . W e a d d r e - c o v e r y p a t h s i n a n i t e r a t i v e l y l a y e r e d f a s h i o n . L e t t h e fi r s t l a y e r b e t h e p r o g r a m i n v a r i a n t , i . e . , l y r = I n v ] ( L i n e 1 ) . A l s o , l e t r t b e t h e t r a n s i t i o n p r e d i c a t e t h a t o r i g i n a t e s f r o m t h e d e a d l o c k s t a t e p r e d i c a t e d s a n d e n d s i n l y r ( L i n e 3 ) . S i n c e w e r e q u i r e t h e f a u l t - t o l e r a n t p r o g r a m t o s a t i s f y s a f e t y d u r i n g r e c o v e r y , r t m u s t b e d i s j o i n t f r o m m t . T h u s , w e c h e c k w h e t h e r t h e g r o u p p r e d i c a t e O f r t m a i n t a i n s t h e s a f e t y s p e c i fi c a t i o n ( L i n e 4 ) . I f s o , w e c h e c k w h e t h e r a d d i t i o n o f r t t o t h e p r o g r a m t r a n s i t i o n p r e d i c a t e c r e a t e s a c y c l e t h a t i s e n t i r e l y i n t h e f a u l t - s p a n . E x i s t e n c e o f s u c h a c y c l e o b v i o u s l y p r e v e n t s t h e p r o g r a m t o a l w a y s r e c o v e r t o t h e i n v a r i a n t p r e d i c a t e w i t h i n a fi n i t e n u m b e r o f s t e p s . T O t h i s e n d , w e i n v o k e t h e p r o c e d u r e D e t e c t C y c l e s w i t h p a r a m e t e r s T V r e c V r t a n d S . I f t h e r e i s i n d e e d a c y c l e i n t h e f a u l t - s p a n c r e a t e d d u e t o a d d i t i o n O f r t t o t h e p r o g r a m t r a n s i t i o n p r e d i c a t e , w e d o n o t a d d t h e n e w r e c o v e r y t r a n s i t i o n s r t t o t h e r e c w h i c h i s t h e fi n a l s e t O f r e c o v e r y t r a n s i t i o n s . O t h e r w i s e , i t i s s a f e t o a d d r t t o r e c ( L i n e 8 ) . T h e r e e x i s t s e v e r a l s y m b o l i c a p p r o a c h e s i n t h e l i t e r a t u r e f o r d e t e c t i n g c y c l e s [ F F K + 0 1 ] . W e , i n p a r t i c u l a r , i n c o r p o r a t e t h e a p p r o a c h i n t r o d u c e d b y E m e r s o n a n d L e i [ E L 8 6 ] . I n t h e n e x t i t e r a t i o n , w e l e t l y r b e t h e s t a t e p r e d i c a t e f r o m w h e r e o n e - s t e p s a f e r e c o v e r y i s p o s s i b l e ( L i n e 9 ) . W e c o n t i n u e a d d i n g r e c o v e r y s t e p s u n t i l n o n e w r e c o v e r y t r a n s i t i o n i s a d d e d . 2 3 4 ‘ 7 3 3 “ 9 9 9 5 1 0 5 . 0 } 5 0 . 9 P r o c e d u r e 1 1 . 3 E l i m i n a t e I n p u t : d e a d l o c k s t a t e s d s , t r a n s i t i o n p r e d i c a t e T , i n v a r i a n t I n v , f a u l t - s p a n S , f a u l t t r a n s i t i o n s F , v i s i t e d d e a d l o c k s t a t e s v d s , a n d p r e d i c a t e f t e f a i l e d t o e l i m i n a t e . O u t p u t : r e v i s e d p r o g r a m t r a n s i t i o n p r e d i c a t e T , v i s i t e d d e a d l o c k s t a t e s v d s , a n d 1 0 : l l : 1 2 : 1 3 : 1 4 : 1 5 : 1 6 : 1 7 : 1 8 : 1 9 : p r e d i c a t e f t e f a i l e d t o e l i m i n a t e , w h e r e s t a t e s i n d s b e c o m e u n r e a c h a b l e . d s : = d s — — v d s ; : i f ( d s = f a l s e ) t h e n I T , v d s , , f t e , : = T , v d s , f t e ; I r e t u r n T , v d s , , f t e ’ ; - e n d i f v d s : 2 v d s V d s ; t m p : = ( S — I n v ) A T A ( d s ) ’ ; { e l i m i n a t i n g s t a t e s i n d s } T : = T — C r o u p ( t m p ) ; f s : 2 G u a r d ( S A F A ( d s ) ' ) ; { e l i m i n a t i n g s o u r c e s t a t e s o f i n c o m i n g f a u l t t r a n s i t i o n s } f t e : = f t e V ( f s A F ) " ; O f f e n d i n g S t a t e s : = O fi e n d i n g S t a t e s V ( f s A I n v ) ; i f ( f s s é f a l s e ) t h e n T , v d s , f t e z : E l i m i n a t e ( f s — I n v , T , I n v , S , F , v d s , f t e ) ; e n d i f n d s : = G u a r d ( S A G r o u p ( t m p ) A H T ) ; { t e s t i n g w h e t h e r r e m o v a l o f i n c o m i n g p r o g r a m t r a n s i t i o n s c r e a t e s n e w d e a d l o c k s t a t e s } T : = T V ( G r o u p ( t m p ) A n d s ) ; f t e : = f t e V ( ( n d s A ( G r o u p ( t m p ) ) ” ) — I n v ) ; T , v d s , , f t e , : 2 E l i m i n a t e ( n d s , T , I n v , S , F , v d s , f t e ) ; I r e t u r n T , v d s , , f t e ] ; — ( E l i m i n a t i n g d e a d l o c k s t a t e s ) N o w , i f s a f e r e c o v e r y i s n o t p o s s i b l e f r o m a d e a d l o c k s t a t e p r e d i c a t e , w e c h o o s e t O e l i m i n a t e i t . B y s t a t e e l i m i n a t i o n w e m e a n m a k i n g t h a t s t a t e u n r e a c h a b l e . T h e r e c u r s i v e P r o c e d u r e E l i m i - n a t e t a k e s a d e a d l o c k s t a t e p r e d i c a t e d s , p r o g r a m t r a n s i t i o n p r e d i c a t e T , 2 3 5 i n v a r i a n t p r e d i c a t e I n v , f a u l t - s p a n S , f a u l t t r a n s i t i o n s F , a p r e d i c a t e v d s O f d e a d l o c k s t a t e s v i s i t e d w h i l e e l i m i n a t i n g , a n d a p r e d i c a t e f t e O f d e a d l o c k s t a t e s f a i l e d t o e l i m i n a t e a s i n p u t . I t r e t u r n s a p r o g r a m t r a n s i t i o n p r e d i - c a t e T I , v i s i t e d d e a d l o c k s t a t e s v d s , , a n d s t a t e s f t e ’ f a i l e d t o e l i m i n a t e a s o u t p u t . T h e P r o c e d u r e E l i m i n a t e w o r k s a s f o l l o w s . F i r s t , i f a l l d e a d l o c k s t a t e s i n d 3 h a s a l r e a d y b e e n c o n s i d e r e d f o r e l i m i n a t i o n , t h e p r o c e d u r e r e t u r n s i m - m e d i a t e l y ( L i n e s 1 - 5 ) . O t h e r w i s e , w e a d d d s t o t h e p r e d i c a t e v d s O f s t a t e s a l r e a d y v i s i t e d ( L i n e 6 ) . T h e r e a r e p o t e n t i a l l y t w o w a y s t o r e a c h t h e s t a t e s i n d 3 : ( 1 ) b y p r o g r a m t r a n s i t i o n s , a n d ( 2 ) b y f a u l t t r a n s i t i o n s . I f d s i s r e a c h a b l e b y s o m e f a u l t t r a n s i t i o n s , w e n e e d t o b a c k t r a c k t o t h e s o u r c e s t a t e p r e d i c a t e a n d m a k e t h a t p r e d i c a t e u n r e a c h a b l e . I f d s i s r e a c h a b l e b y p r o g r a m t r a n s i t i o n s , w e r e m o v e t h o s e t r a n s i t i o n s a n d t h e i r c o r r e s p o n d i n g g r o u p p r e d i c a t e s f r o m T , p r o v i d e d n o n e w d e a d l o c k s t a t e s a r e i n t r o d u c e d . T h u s , w e p r o c e e d a s f o l l o w s . I f d s i s r e a c h a b l e b y s o m e p r o g r a m t r a n s i - t i o n s , w e t e m p o r a r i l y r e m o v e s u c h t r a n s i t i o n s , s a y t m p , w i t h t h e h o p e t h a t t h i s r e m o v a l m a k e s d s u n r e a c h a b l e ( L i n e s 7 8 ) . U n l i k e p r o g r a m t r a n s i t i o n s , s i n c e t h e p r o g r a m d o e s n o t h a v e c o n t r o l o v e r t h e o c c u r r e n c e o f f a u l t s , i f t h e r e e x i s t s t a t e s i n d s t h a t a r e r e a c h a b l e b y f a u l t t r a n s i t i o n s f r o m a n - o t h e r s t a t e p r e d i c a t e , s a y f s ( L i n e 9 ) , t h e n w e b a c k t r a c k a n d e l i m i n a t e [ 5 . T h u s , w e m a r k t h e s t a t e s r e a c h a b l e b y f a u l t t r a n s i t i o n s f r o m f s a s f a i l e d t o e l i m i n a t e ( L i n e 1 0 ) . E l i m i n a t i o n o f s t a t e s i n f s i s b a s e d o n t h e f o l l o w i n g 2 3 6 p r i n c i p l e : w e d o n o t e l i m i n a t e s t a t e s i n t h e i n v a r i a n t p r e d i c a t e . T h u s , i f f s i n t e r s e c t s w i t h t h e i n v a r i a n t , w e m a r k t h e i n t e r s e c t i o n a s O fl e n d i n g S t a t e s a n d d e a l w i t h t h e m w h e n w e r e — c o m p u t e t h e i n v a r i a n t p r e d i c a t e i n S t e p 5 . A t t h i s p o i n t , w e i n v o k e E l i m i n a t e r e c u r s i v e l y w i t h p a r a m e t e r f s — I n v ( L i n e 1 3 ) . O n c e w e d e a l w i t h i n c o m i n g f a u l t t r a n s i t i o n s , w e e n s u r e t h a t r e m o v a l O f C r o u p ( t m p ) d o e s n o t i n t r o d u c e n e w d e a d l o c k s t a t e s t o t h e p r o g r a m . I f t h i s i s t h e c a s e , t h e p r e d i c a t e n d s ( c o m p u t e d i n L i n e 1 5 ) i s n o t e q u a l t o f a l s e . T h u s , w e t a k e t h e f o l l o w i n g s t e p s : W e 1 . a d d t h e t r a n s i t i o n s o r i g i n a t i n g f r o m n d s b a c k t o t h e p r o g r a m ( L i n e 1 6 ) , 2 . m a r k t h e s t a t e s i n n d s a s f a i l e d t o e l i m i n a t e ( L i n e 1 7 ) , a n d 3 . a t t e m p t t o e n s u r e t h a t n d s i s n e v e r r e a c h e d b y i n v o k i n g E l i m i n a t e w i t h p a r a m e t e r n d s r e c u r s i v e l y ( L i n e 1 8 ) . A s m e n t i o n e d e a r l i e r t h e A l g o r i t h m S y m b o l i c _ A d d _ F T e x p l o i t s t h e a b o v e m e c h a n i s m s t o d e a l w i t h d e a d l o c k s t a t e s . A s c a n b e s e e n , fi r s t i t i n v o k e s t h e P r o c e d u r e A d d R e c o v e r y o n t h e e x i s t i n g d e a d l o c k s t a t e s ( L i n e 1 6 ) . T h e n , i f A d d R e c o v e r y f a i l s t o r e s o l v e s o m e d e a d l o c k s t a t e s , w e m a k e t h e m u n r e a c h a b l e b y i n v o k i n g t h e P r o c e d u r e E l i m i n a t e ( L i n e 1 8 ) . F i n a l l y , n o t i c e t h a t i n L i n e 1 1 o f t h e a l g o r i t h m , w e e x c l u d e s t a t e p r e d i c a t e f t e f r o m t h e r e — c o m p u t e d f a u l t - s p a n . T h i s i s d u e t o t h e f a c e t h a t t h e s e s t a t e s h a v e t o e v e n t u a l l y b e c o m e u n r e a c h a b l e a n d i f w e i n c l u d e t h e m i n t h e f a u l t - s p a n , i n t h e n e x t i t e r a t i o n o f r e - 2 3 7 s o l v i n g d e a d l o c k s t a t e s , t h e y w i l l b e u n n e c e s s a r i l y r e — c o n s i d e r e d f o r e l i m i n a t i o n . P r o c e d u r e 1 1 . 4 C o n s t r u c I n v a r i a n t I n p u t : i n v a r i a n t p r e d i c a t e I n v , p r o g r a m t r a n s i t i o n p r e d i c a t e T , a n d o f f e n d i n g s t a t e s O fl e n d i n g S t a t e s . I O u t p u t : r e v i s e d i n v a r i a n t p r e d i c a t e I n v , a n d p r o g r a m t r a n s i t i o n p r e d i c a t e T . 1 : W h i l e ( O f f e n d i n g S t a t e s 7 5 f a l s e ) d o 2 I n v : = I n v — O fi e n d i n g S t a t e s ; 3 t m p : = T A I n v A ( fl I n v ) ' ; 4 : T : = T — G r o u p ( t m p ) ; 5 O fl e n d i n g S t a t e s : = ( t m p ) ” ; 6 : e n d w h i l e I 7 : I n v , , T : = I n v , T ; 8 : r e t u r n I n v ' , T ; 0 S t e p 5 : R e — c o m p u t i n g t h e i n v a r i a n t ( L i n e 2 0 ) . O n c e w e r e a c h a fi x p o i n t a f t e r r e - c o m p u t i n g f a u l t - s p a n a n d p r o g r a m t r a n s i t i o n p r e d i c a t e , w e r e - c o m p u t e t h e i n v a r i a n t b y i n v o k i n g t h e P r o c e d u r e C o n s t r u c t l n v a r i a n t ( L i n e 2 0 ) d u e t o p o s s i b l e e x i s t e n c e O f O f f e n d i n g s t a t e s . R e c a l l t h a t a c o m p u t a t i o n , s a y ‘ 0 ‘ = 0 0 — — > 0 1 — > - - - , t h a t s t a r t s f r o m a n O f f e n d i n g s t a t e m a y r e a c h a s t a t e t h a t w a s c o n s i d e r e d f o r e l i m i n a t i o n . I n p a r t i c u l a r , s i n c e t h e fi r s t t r a n s i t i o n O f E i s a f a u l t t r a n s i t i o n , 0 0 w h i c h i s a n O f f e n d i n g s t a t e h a s t o b e c o m e u n r e a c h a b l e . T O t h i s e n d , w e fi r s t r e m o v e o f f e n d i n g s t a t e s f r o m t h e i n v a r i a n t ( L i n e 2 ) . T h e n , d u e t o t h i s r e m o v a l , w e n e e d t o e n s u r e t h a t t h e i n v a r i a n t p r e d i c a t e i s c l o s e d i n T . T h u s , w e r e m o v e t h e t r a n s i t i o n p r e d i c a t e t h a t v i o l a t e s t h e c l o s u r e o f T ( L i n e s 3 a n d 4 ) . W e c o n t i n u e t h e s e s t e p u n t i l a fi x p o i n t i s r e a c h e d i n t h e s e n s e t h a t n o O f f e n d i n g s t a t e s e x i s t a n d I n v i s c l o s e d i n T . 2 3 8 T h e a l g o r i t h m k e e p s r e p e a t i n g s t e p s 1 - 5 u n t i l t h e t h r e e fi x p o i n t s a r e r e a c h e d . A t t h e e n d o f e a c h fi x p o i n t c o m p u t a t i o n , w e v e r i f y t h e c o r r e c t n e s s O f c o n d i t i o n s o f t h e S y n t h e s i s P r o b l e m 7 . 3 . 2 . H e n c e , w h e n t h e a l g o r i t h m t e r m i n a t e s , w e a r e g u a r a n t e e d t h e s o l u t i o n i s s o u n d . R e g a r d i n g t h e s t r u c t u r e o f t h e o u t p u t p r o g r a m i n t e r m s o f g u a r d e d c o m m a n d s , o n e c a n n o t i c e t h a t t h e o u t p u t o f o u r a l g o r i t h m t y p i c a l l y c o n s i s t s o f t h r e e t y p e s o f a c t i o n s a s c o m p a r e d t o t h e i n p u t i n t o l e r a n t p r o g r a m . T h e s e a c t i o n t y p e a r e t h e f o l l o w i n g : 1 . U n c h a n g e d a c t i o n s . T h e s e a c t i o n s i d e n t i c a l l y e x i s t i n b o t h t o l e r a n t a n d i n t o l e r a n t p r o g r a m s . 2 . S t r e n g t h e n e d a c t i o n s . T r a n s i t i o n s c o r r e s p o n d i n g t o t h e s e a c t i o n s e x i s t i n t h e i n p u t p r o g r a m . H o w e v e r , t h e g u a r d O f t h e c o r r e s p o n d i n g a c t i o n s a r e s t r o n g e r t h a n t h e i r c o u n t e r p a r t a c t i o n s i n t h e i n p u t p r o g r a m . T h i s i s d u e t o t h e f a c t t h a t t h e t r a n s f o r m e d p r o g r a m m a k e s u n s a f e s t a t e s a n d s o m e d e a d l o c k s t a t e s u n r e a c h a b l e . 3 . R e c o v e r y a c t i o n s . T h e s e a c t i o n d o n o t e x i s t i n t h e i n p u t p r o g r a m a t a l l . R e - c o v e r y a c t i o n s a r e a d d e d t o t h e i n p u t p r o g r a m i n o r d e r t o r e s o l v e s o m e d e a d l o c k s t a t e s t h a t a r e r e a c h a b l e b y t h e p r o g r a m i n t h e p r e s e n c e o f f a u l t s . I n t h e n e x t fi v e s e c t i o n s , w e p r e s e n t t h e e x p e r i m e n t a l r e s u l t s O f i m p l e m e n t a t i o n o f t h e A l g o r i t h m S y m b o l i c _ A d d _ F T a n d i t s p r o c e d u r e s i n o u r t o o l S Y C R A F T [ B K 0 8 c ] . O u r c a s e s t u d i e s i n c l u d e t h r e e c l a s s i c e x a m p l e s i n t h e l i t e r a t u r e o f d i s t r i b u t e d f a u l t — t o l e r a n t c o m p u t i n g , n a m e l y , t h e B y z a n t i n e a g r e e m e n t p r o b l e m [ L S P 8 2 ] , B y z a n t i n e 2 3 9 a g r e e m e n t w i t h f a i l - s t o p f a u l t s , a n d t h e t o k e n r i n g [ A K 9 8 a ] p r o b l e m . W e a l s o p r e s e n t e x p e r i m e n t a l r e s u l t s o n a d d i t i o n O f f a u l t - t o l e r a n c e t o a b u l k d a t a d i s s e m i n a t i o n p r o — t o c o l i n w i r e l e s s s e n s o r n e t w o r k s , k n o w n a s I n f u s e [ K A 0 6 ] . A s m e n t i o n e d i n t h e i n t r o d u c t i o n , o u r c a s e s t u d i e s a d d r e s s a w i d e v a r i e t y O f s t r u c t u r a l i s s u e s a n d O b s t a - c l e s t h a t c a n p o t e n t i a l l y a f f e c t t h e e f fi c i e n c y o f o u r a l g o r i t h m . I n a l l c a s e s t u d i e s , w e fi n d a c o n s i d e r a b l e i m p r o v e m e n t i n b o t h t i m e a n d s p a c e c o m p l e x i t y a s c o m p a r e d t o t h e e x i s t i n g a p p r o a c h e s . 1 1 . 2 C a s e S t u d y 1 : B y z a n t i n e A g r e e m e n t T h r o u g h o u t t h i s s e c t i o n a n d S e c t i o n s 1 1 . 3 , 1 1 . 4 , 1 1 . 5 , 1 1 . 6 , a l l e x p e r i m e n t s a r e r u n o n a d e d i c a t e d P C w i t h a 2 . 2 G H z A M D O p t e r o n p r o c e s s o r a n d 1 . 2 G B R A M . T h e B D D r e p r e s e n t a t i o n o f t h e B o o l e a n f o r m u l a e i s i m p l e m e n t e d u s i n g t h e G l u / C U D D p a c k a g e [ S o m ] . W e a n a l y z e a l l t h e e x p e r i m e n t s i n t e r m s o f t i m e a n d s p a c e . F r o m t h e t i m e p e r s p e c t i v e , w e c o n s i d e r t o t a l s y n t h e s i s t i m e , t i m e s p e n t f o r r e s o l v i n g d e a d l o c k s t a t e s ( i n c l u d i n g a d d i t i o n O f s a f e r e c o v e r y a n d s t a t e e l i m i n a t i o n ) , c y c l e d e t e c t i o n , a n d c o m p u t i n g t h e f a u l t - s p a n . F r o m t h e s p a c e p e r s p e c t i v e , w e c o n s i d e r t h e n u m b e r o f s t a t e s r e a c h a b l e b y e a c h d i s t r i b u t e d p r o g r a m i n t h e p r e s e n c e o f f a u l t s ( i . e . , t h e s i z e O f f a u l t - s p a n ) a n d t h e a c t u a l m e m o r y u s a g e . O u r fi r s t c a s e s t u d y i s t h e c o n t i n u a t i o n O f o u r r u n n i n g e x a m p l e , t h e B y z a n t i n e a g r e e m e n t p r o g r a m . E x a m p l e ( c o n t ’ d ) . T h e o u t p u t o f o u r a l g o r i t h m w i t h r e s p e c t t o p r o g r a m B A i s p r o g r a m B A , w h i c h t o l e r a t e s t h e B y z a n t i n e f a u l t s i d e n t i fi e d i n S e c t i o n 7 . 2 . 3 i n t h e 2 4 0 s e n s e t h a t B A , n e v e r v i o l a t e s i t s s p e c i fi c a t i o n a n d i t d o e s n o t d e a d l o c k w h e n f a u l t s o c c u r . W e n o t e t h a t o u r s y n t h e s i z e d p r o g r a m i s i d e n t i c a l t o t h e c a n o n i c a l v e r s i o n o f B y z a n t i n e a g r e e m e n t p r o g r a m m a n u a l l y d e s i g n e d i n [ L S P 8 2 ] . T h e a c t i o n s O f t h e s y n t h e s i z e d p r o g r a m f o r a n o n — g e n e r a l p r o c e s s j a r e a s f o l l o w s : B A ’ I J - : : d . j = _ L A f . j = f a l s e — > d . j : 2 d . g ; B A ’ 2 J - : : d . j ; £ J . A f . j = f a l s e A ( d k z i v d . k = d . j ) A ( d . l = _ L V d . l 2 d j ) A ( d k # _ L V d . l 7 é _ L ) — — > f . j : 2 t r u e ; B A ’ 3 J - : : d . j = 1 A d . k = 0 A d . l = 0 A f . j = f a l s e — — + d . j , f . j : 2 0 , f a l s e l t r u e ; B A ’ 4 J - : : d . j = 0 A d . k = 1 A d . l = 1 A f . j = f a l s e — - > d . j , f . j : = 1 , f a l s e l t r u e ; B A ’ 5 j : : d . j 3 £ _ L A f . j = f a l s e A ( ( d . j = d . k / \ d . j 7 é d . l ) V ( d . j = d . l A d . j ¢ d . k ) ) — - ) f . j : = t r u e ; N o t i c e t h a t a c t i o n 8 A , ] i s u n c h a n g e d , a c t i o n s B A , 3 a n d B A , 4 a r e r e c o v e r y a c t i o n s , a n d a c t i o n s B A ’ 2 a n d B A , 5 a r e s t r e n g t h e n e d a c t i o n s . W e n o w p r e s e n t t h e r e s u l t s o f o u r e x p e r i m e n t s w i t h r e s p e c t t o t h e B y z a n t i n e a g r e e m e n t p r o g r a m . F i g u r e 1 1 . 1 - a s h o w s a c t u a l m e m o r y u s a g e i n m e g a b y t e s a n d t i m e n e e d e d t o a c c o m p l i s h e a c h s u b t a s k O f t h e a l g o r i t h m i n s e c o n d s i n t e r m s O f t h e 2 4 1 S p a c e T i m e ( s ) r e a c h a b l e m e m o r y d e a d l o c k r e s o l u t i o n f a u l t - s p a n t o t a l s t a t e s ( M B ) E l i m i n a t e L R e c o v e r y g e n e r a t i o n 8 A 5 1 0 4 3 . 5 < 1 < 1 < 1 < 1 B A ” 1 0 9 6 . 2 4 2 < 1 6 8 . 4 1 5 1 0 1 2 1 1 . 5 3 9 5 < 1 4 5 8 A 2 ” 1 0 1 5 1 3 . 6 8 1 8 5 1 0 1 1 9 9 1 3 . 4 2 5 1 0 1 9 1 4 . 2 6 4 2 1 9 5 6 6 9 1 3 . 4 3 0 1 0 2 2 1 5 . 2 1 7 9 1 3 2 7 1 8 3 6 3 . 4 3 5 1 0 2 6 1 5 . 6 4 4 9 2 5 4 1 0 4 5 6 5 3 . 4 4 0 1 0 3 0 1 6 . 5 9 2 5 3 8 2 1 6 9 3 6 6 ( a ) T i m e v s . N u m b e r o f P r o c e s s e s 1 0 0 0 0 I I l I " $ 1 - - r / 1 t o t a l s y n t h e s u s t i m e — 9 — / ¢ . s t a t e e l i m i n a t i o n - - A - — - W , r e c o v e r y a d d i t i o n - - — ) K - - - . - ' 1 0 0 0 7 ' f a u l t - s p a n g e n e r a t i o n N E } ( ~ - / ' 2 : 1 ? P 3 3 / 1 § 1 0 0 : - / ’ “ 3 , C ) - T ) ? " u 8 , . a r e - ‘ 3 ~ * " . . . . . . . E ] a : 1 0 - 3 * " ' . . . . . . . . . . . . . . . . . 1 E 3 1 3 . . . . . . . . . . . . . . . E i . 1 . . . . . . . . . 1 2 1 " " i 0 . 1 ' ' 2 0 2 5 3 0 3 5 4 0 F i g u r e 1 1 . 1 : E x p e r i m e n t a l r e s u l t s f o r a l g o r i t h m S y m b o l i c _ A d d _ F T a n d t h e B y z a n t i n e a g r e e — m e n t p r o b l e m . n u m b e r O f n o n - g e n e r a l p r o c e s s e s ( 1 3 9 4 ‘ - d e n o t e s B y z a n t i n e a g r e e m e n t p r o g r a m w i t h i n o n - g e n e r a l p r o c e s s e s ) . F i g u r e 1 1 . 1 - b c o m p a r e s t h e t o t a l s y n t h e s i s t i m e a n d t h e t i m e s p e n t t o c o m p l e t e s u b t a s k s O f t h e a l g o r i t h m g r a p h i c a l l y . N o t i c e t h a t t h e x - a x i s i s i n N u m b e r o f P r o c e s s e s ( b ) 2 4 2 R S e u a c h b l i n s O O e f b n s s o t e u a r c a t e b h l e l e S t a t a s a r y i n t b t y h t t y h e i e s f i e e s O t f x s l o s e t ' o p l e g T t 3 a n l n o i a n o o s t y i n a t l r r i d t e h r h m e b s l . t o i o s s M w y t - u o n r t i h p e m e o e s f p i r z o c t i t e s e t h e a d s t i e e s l s p y t , r s i i a z c t h b u e e t o d f o e s i e d e p z s r e o g f r r m e s a . a o s t a t e n o t s a p f a f c e c e c h t a i t s i h e m t p i o m r e t a c b l e s t a t e s n o i t m s i n e x o t p l n t i h t a e y n l o g a r i t h m i c s c a l e . T h e n u m b e r O f p r o c e s s e s s y n t h e s i z e d i n o u r e x p e r i m e n t s r a n g e s o v e r 5 t o 4 0 . A l t h o u g h i t i s f e a s i b l e t o s y n t h e s i z e p r o g r a m s w i t h m o r e n u m b e r o f p r o c e s s e s i n a r e a s o n a b l e a m o u n t o f t i m e , t h e t r e n d o f t h e g r a p h w i t h m a x i m u m 4 0 p r o c e s s e s i s s u f fi c i e n t l y c l e a r t o m a k e s o u n d j u d g m e n t s . W e n o w a n a l y z e t h e r e s u l t s . T o t a l s y n t h e s i s t i m e F i r s t , O b s e r v e t h a t i t t a k e s l e s s t h a n o n e s e c o n d t o s y n t h e s i z e 5 n o n - g e n e r a l p r o c e s s e s . I t i s n o t e w o r t h y t o m e n t i o n t h a t a n e n u m e r a t i v e i m p l e m e n t a t i o n O f s i m i l a r h e u r i s t i c s [ K A C 0 1 , E K A a r ] r e q u i r e s 9 0 0 s e c o n d s t o s y n t h e s i z e t h e s a m e n u m b e r O f p r o c e s s e s . M o r e o v e r , t h i s e n u m e r a t i v e i m p l e m e n t a t i o n c a n n o t h a n d l e m o r e t h a n 5 p r o c e s s e s d u e t O t h e s t a t e e x p l o s i o n p r o b l e m . T o t h e c o n t r a r y , o u r s y m b o l i c a p p r o a c h i s c a b l e o f s y n t h e s i z i n g 4 0 p r o c e s s e s ( 1 0 3 0 r e a c h a b l e s t a t e s a n d b e y o n d ) i n a r e a s o n a b l e a m o u n t o f t i m e , w h i c h i s O b v i o u s l y a s i g n i fi c a n t i m p r o v e m e n t . N o t e t h a t t h e s i z e o f s t a t e s p a c e o f B A 4 0 i s 1 0 2 8 t i m e s l a r g e r t h a n t h e s i z e s t a t e S p a c e o f 8 A 5 . M o r e i m p o r t a n t l y , F i g u r e 1 1 . 1 - b s h o w s t h a t t h e g r o w t h r a t e o f t o t a l t i m e s p e n t t o s y n t h e s i z e B y z a n t i n e a g r e e m e n t i s s u b l i n e a r t o t h e s i z e o f r e a c h a b l e s t a t e s , l e f t a l o n e t h e s i z e o f e n t i r e s t a t e s p a c e . I n p a r t i c u l a r , o u r a n a l y s i s s h o w s t h a t t h e f r a c t i o n T i m e r e m a i n s c o n s t a n t a s t h e n u m b e r o f n o n - g e n e r a l p r o c e s s e s g r o w s . 2 4 3 F a u l t - S p a n G e n e r a t i o n A s c a n b e s e e n i n F i g u r e 1 1 . 1 - b , t h e g e n e r a t i o n o f f a u l t — s p a n i s f a i r l y f a s t i n c a s e o f t h e B y z a n t i n e a g r e e m e n t p r o g r a m . T h i s i s m a i n l y d u e t o t h e f o l l o w i n g c o n t r i b u t i n g f a c t o r s : 1 . T h e s t a t e s p a c e o f t h e p r o g r a m i s p a r t i a l l y r e a c h a b l e . T O i l l u s t r a t e t h e i s s u e O f s i z e o f r e a c h a b l e s t a t e s l e t u s c o n s i d e r t h e B y z a n t i n e a g r e e m e n t p r o g r a m w i t h i p r o c e s s e s . S i n c e w e r e p r e s e n t t h e d e c i s i o n v a l u e O f e a c h p r o c e s s e s b y t w o B o o l e a n v a r i a b l e s , a s t h e s i z e o f t h e i r r e s p e c t i v e d o m a i n i s 3 , e a c h n o n ~ g e n e r a l p r o c e s s h a s B o o l e a n 4 v a r i a b l e s . A l s o , t h e g e n e r a l h a s 2 v a r i a b l e s . H e n c e , t h e p r o g r a m h a s 4 i + 2 B o o l e a n v a r i a b l e s i n t o t a l a n d t h e s i z e O f s t a t e s p a c e i s 2 4 f + 2 . I n o r d e r t o c o m p u t e t h e s i z e O f r e a c h a b l e s t a t e s a p p r o x i m a t e l y , o b s e r v e t h a t n o n - g e n e r a l p r o c e s s e s a r e e i t h e r u n d e c i d e d ( i . e . , d . j = _ L ) , o r t h e y a r e d e c i d e d ( i . e . , d . j = 0 | 1 ) a n d t h e i r d e c i s i o n i s e i t h e r fi n a l i z e d o r n o t y e t fi n a l i z e d ( i . e . , f . j = f a l s e l t r u e ) . H e n c e , e a c h n o n - g e n e r a l c a n h a v e 5 d i f f e r e n t c o m b i n a t i o n s . F u r t h e r m o r e , t h e g e n e r a l c a n h a v e e i t h e r d e c i s i o n v a l u e ( i . e . , d . g = 0 | 1 ) a n d b e B y z a n t i n e o r n o n - B y z a n t i n e ( i . e . , b . g = f a l s e l t r u e ) . H e n c e , t h e s i z e O f r e a c h a b l e s t a t e s i s a t l e a s t 5 7 : * 4 . T h u s , t h e s i z e o f r e a c h a b l e s t a t e s i s c o n s i d e r a b l y l e s s t h a n t h e s i z e O f e n t i r e e x p l i c i t s t a t e s p a c e . F o r i n s t a n c e , i n c a s e O f B A 4 0 , t h e O 4 5 0 3 0 s i z e O f s t a t e s p a c e i s 1 , w h i l e o n l y 1 s t a t e s a r e r e a c h a b l e . 2 . T h e d i a m e t e r O f t h e s t a t e - t r a n s i t i o n g r a p h O f t h e p r o g r a m i s n o t l o n g a n d , h e n c e , S h a l l o w r e a c h a b i l i t y i s p o s s i b l e . F o r i n s t a n c e , i n c a s e o f B A 3 0 , t h e f a u l t - s p a n c a n b e c o m p u t e d b y o n l y 3 2 r o u n d s O f f r o n t i e r g e n e r a t i o n . 2 4 4 T h e s e r e a s o n s s i g n i fi c a n t l y a f f e c t t h e e f fi c i e n c y O f f a u l t - s p a n g e n e r a t i o n . I t i s i m p o r t a n t t o n o t i c e t h a t t h e a b o v e f a c t o r s m a y c o m p l e t e l y b e t h e O p p o s i t e i n d i s t r i b u t e d p r o g r a m s w i t h d i f f e r e n t s t r u c t u r e s . A s a m a t t e r O f f a c t , o u r e x p e r i m e n t s w i t h r e s p e c t t O t h e t o k e n r i n g p r o b l e m ( s e e S e c t i o n 1 1 . 5 ) v a l i d a t e s t h i s s t a t e m e n t . D e a d l o c k r e s o l u t i o n F i g u r e 1 1 . 1 a l s o s h o w s t h e t i m e s p e n t t o r e s o l v e d e a d l o c k s t a t e s f o r d i f f e r e n t n u m b e r O f p r o c e s s e s . A s m e n t i o n e d e a r l i e r , d e a d l o c k r e s o l u t i o n i s c r u c i a l i n o r d e r f o r t h e o u t p u t p r o g r a m t o m e e t l i v e n e s s p r o p e r t i e s . W e n o t e t h a t d e a d l o c k r e s o l u t i o n ( a s d e fi n e d i n S e c t i o n 1 1 . 1 ) i s a p r o b l e m t h a t u n i q u e l y e x i s t s i n t h e c o n t e x t o f p r o g r a m s y n t h e s i s a n d t r a n s f o r m a t i o n a n d , h e n c e , h a s n o t b e e n a d d r e s s e d b y t h e m o d e l c h e c k i n g c o m m u n i t y . I n f a c t , t h e r e i s v e r y l i t t l e e x p e r i m e n t a l a n a l y s i s w i t h r e g a r d t o s y n t h e s i s o f l i v e n e s s p r o p e r t i e s i n t h e l i t e r a t u r e . S i n c e d e a d l o c k r e s o l u t i o n i s a c h i e v e d t h r o u g h a d d i n g r e c o v e r y p a t h s a n d s t a t e e l i m i n a t i o n , w e p r e s e n t t h e t i m e s p e n t i n e a c h s u b t a s k f o r a m o r e t h o r o u g h a n a l y s i s . A d d i t i o n O f s a f e r e c o v e r y i s t h e fi r s t a t t e m p t t h a t t h e a l g o r i t h m m a k e s i n o r d e r t o r e s o l v e d e a d l o c k s t a t e s . T h e r e s u l t s O f o u r e x p e r i m e n t s i n c a s e o f B y z a n t i n e a g r e e m e n t s h o w s t h a t t h i s m e c h a n i s m i s n o t c o s t l y a s c o m p a r e d t o t h e t o t a l s y n t h e s i s t i m e ( s e e F i g u r e 1 1 . 1 - b ) . T h i s i s s o l e l y d u e t o t h e s t r u c t u r e O f t h e f a u l t — s p a n O f B A w h e r e t h e s i z e O f i n v a r i a n t a n d s a f e t y s p e c i fi c a t i o n a r e n o t b a r r i e r s i n e f fi c i e n t a d d i t i o n O f s a f e r e c o v e r y p a t h s . A s c a n b e s e e n i n F i g u r e 1 1 . 1 - b , t h e g r a p h o f t o t a l s y n t h e s i s t i m e i s a l m o s t i d e n t i c a l t o t h e g r a p h O f s t a t e e l i m i n a t i o n t i m e . I n f a c t , i n t h e r a n g e O f 5 - 4 0 p r o c e s s e s , i n 2 4 5 a v e r a g e , 9 6 % O f t h e t o t a l s y n t h e s i s t i m e i s s p e n t t O r e s o l v e d e a d l o c k s t a t e s t h r o u g h s t a t e e l i m i n a t i o n . I n o t h e r w o r d s , o n l y 4 % o f t h e t o t a l s y n t h e s i s t i m e i s s p e n t t o r e - c o m p u t e t h e f a u l t - S p a n , c h e c k i n g t h e s a f e t y o f g r o u p p r e d i c a t e s , c o m p u t i n g r e c o v e r y p a t h s , a n d r e — c o m p u t i n g t h e p r o g r a m i n v a r i a n t . T h i s i s b a s i c a l l y d u e t o t h e f a c t t h a t s t a t e e l i m i n a t i o n c a n p o t e n t i a l l y i n v o l v e m a n y b a c k t r a c k i n g s t e p s . A s a m a t t e r o f f a c t , t h i s i s e x a c t l y w h a t i s h a p p e n i n g i n B y z a n t i n e a g r e e m e n t . F o r i n s t a n c e , i n c a s e O f 8 A 5 , t h e P r o c e d u r e E l i m i n a t e n e e d s t o b e c a l l e d 2 6 t i m e s r e c u r s i v e l y . T h u s , s t a t e e l i m i n a t i o n c a n p o t e n t i a l l y b e a s e r i o u s s t u m b l i n g b l o c k i n e f fi c i e n c y O f s y n t h e s i s a l g o r i t h m s . W e n o t e t h a t t h e e x i s t e n c e a n d d i v e r s i t y o f d e a d l o c k s t a t e s d i r e c t l y d e p e n d s o n t h e s t r u c t u r e o f t h e g i v e n p r o g r a m . I n S e c t i o n 1 1 . 5 , w e s h o w t h a t i n c a s e o f t o k e n r i n g , f o r i n s t a n c e , d e a d l o c k r e s o l u t i o n i s n o t a c r u c i a l i s s u e . F i n a l l y , t h e n u m b e r s i n F i g u r e 1 1 . 1 - a S h o w t h a t i f w e w e r e n o t r e q u i r e d t o r e s o l v e d e a d l o c k s s t a t e s , i d e n t i f y i n g a s o l u t i o n t o t h e p r o b l e m c a n b e a c c o m p l i s h e d c o n s i d e r a b l y f a s t e r . A l t h o u g h s u c h a s o l u t i o n i s n o t a s e n s i b l e m a s k i n g f a u l t - t o l e r a n t p r o g r a m , i t i s a c o r r e c t f a i l s a f e f a u l t - t o l e r a n t p r o g r a m . A f a i l s a f e p r o g r a m i s o n e t h a t i s r e q u i r e d t o m e r e l y s a t i s f y i t s s a f e t y s p e c i fi c a t i o n a n d n o t n e c e s s a r i l y i t s l i v e n e s s s p e c i fi c a t i o n i n t h e p r e s e n c e o f f a u l t s . C o n s e q u e n t l y , t h e r e i s n o n e e d t o r e s o l v e d e a d l o c k s t a t e s i n o r d e r t o s y n t h e s i z e a f a i l s a f e s o l u t i o n . T h u s , o n e c a n s y n t h e s i z e a f a i l s a f e s o l u t i o n t o 8 . 4 4 0 i n 2 2 s e c o n d s . T h i s r e s u l t i s s i g n i fi c a n t l y b e t t e r t h a n t h e D i C o n i c a p p r o a c h i n [ E b n 0 7 ] w h e r e s y n t h e s i s O f a f a i l s a f e v e r s i o n o f 8 A 4 0 r e q u i r e s 3 5 3 s e c o n d s u s i n g a c l u s t e r o f w o r k s t a t i o n s . M e m o r y u s a g e 2 4 6 F i g u r e 1 1 . 1 — a a l s o s h o w s t h e a m o u n t o f v i r t u a l m e m o r y t h a t t h e A l g o r i t h m S y m - b o l i c _ A d d - F T r e q u i r e s ( i n M B ) f o r d i f f e r e n t n u m b e r O f n o n - g e n e r a l p r o c e s s e s . A s c a n b e s e e n , t h e a m o u n t o f m e m o r y t h a t t h e a l g o r i t h m r e q u i r e s t o s y n t h e s i z e 4 0 p r o c e s s e s ( 1 6 . 5 M B ) i s n o t c o n s i d e r a b l y g r e a t e r t h a n t h e a m o u n t O f m e m o r y r e q u i r e d t o s y n t h e s i z e 5 p r o c e s s e s ( 3 . 5 K B ) . T h e i n s i g n i fi c a n t g r o w t h t r e n d O f m e m o r y u s a g e i s m o r e a p p r e c i a b l e w h e n i t i s c o m p a r e d t o t h e g r o w t h o f n u m b e r o f r e a c h a b l e s t a t e s i n c a s e O f 5 a n d 4 0 p r o c e s s e s . L o w m e m o r y u s a g e O f o u r a l g o r i t h m w i t h r e s p e c t t o t h i s c a s e s t u d y i s c l e a r l y d u e t o e f fi c i e n t r e p r e s e n t a t i o n O f B o o l e a n f o r m u l a e b y B D D S . T h e i s s u e o f v a r i a b l e o r d e r i n g T h e k e y r e a s o n t o e f f i c i e n t e n c o d i n g o f a B o o l e a n f o r m u l a i n a B D D i s t o i d e n t i f y a n a p p r o p r i a t e o r d e r o f v a r i a b l e s w h e n c o n s t r u c t i n g t h e B D D [ B r y 8 6 ] . I n o u r i m p l e m e n - t a t i o n , w e o r d e r t h e v a r i a b l e s b a s e d o n t h e f o l l o w i n g t w o p r i n c i p l e s , r e g a r d l e s s o f t h e s t r u c t u r e o f t h e g i v e n f a u l t - i n t o l e r a n t p r o g r a m : 1 . E a c h p r i m e d v a r i a b l e i s a l w a y s o r d e r e d i m m e d i a t e l y a f t e r i t s c o r r e s p o n d i n g u n p r i m e d v a r i a b l e , a n d 2 . V a r i a b l e s o f e a c h p r o c e s s a r e o r d e r e d s u b s e q u e n t l y o n e a f t e r a n o t h e r . F o r i n s t a n c e , i n B y z a n t i n e a g r e e m e n t p r o g r a m , t h e o r d e r O f v a r i a b l e s i s a s f o l l o w s : d . j < d ’ . j < f . j < f ’ . j < b . j < b ’ . j < d k < d ’ . k < f . k < f ’ . k < b k < b ' . k < T h e fi r s t p r i n c i p l e i s a r u l e o f t h u m b i n e x i s t i n g s y m b o l i c m o d e l c h e c k e r s a s w e l l . T h i s i s d u e t o t h e f a c t t h a t a t r a n s i t i o n O f t e n u p d a t e s a s u b s e t O f p r o g r a m v a r i a b l e s , 2 4 7 s a y U , a n d l e a v e t h e r e s t u n c h a n g e d . H e n c e , f o r e a c h v a r i a b l e v w h e r e v E U , U = i " m u s t h o l d i n t h e B D D t h a t e n c o d e s t h e t r a n s i t i o n . T h e r e f o r e , i n o r d e r t o r e d u c e t h e n u m b e r O f n o d e s i n t h e B D D , i t i s m o r e e f fi c i e n t t o o r d e r e a c h p r i m e d v a r i a b l e i m m e d i a t e l y r i g h t a f t e r i t s c o r r e s p o n d i n g u n p r i m e d v a r i a b l e . T h e s e c o n d p r i n c i p l e r e d u c e s t h e n u m b e r O f n o d e s i n B D D S t h a t e n c o d e g r o u p p r e d i c a t e s . R e c a l l t h a t t h e v a l u e a l l r e a d a b l e v a r i a b l e s i n s o u r c e s t a t e O f a l l t r a n s i t i o n s i n a g r o u p p r e d i c a t e a r e e q u a l . T h e s a m e p r e m i s e h o l d s f o r t a r g e t s t a t e s . T h u s , i t i s b e n e fi c i a l t o o r d e r r e a d a b l e v a r i a b l e s O f a p r o c e s s s u b s e q u e n t l y . A s a c o n c r e t e e x a m p l e , a n i m p l e m e n t a t i o n o f S y m b o l i c _ A d d _ F T t h a t d o e s n o t a p p l y t h e s e c o n d p r i n c i p l e r e q u i r e s o n e m i n u t e t o s y n t h e s i z e B A I O , w h i c h i s 1 0 t i m e s s l o w e r t h a n t h e c a s e w h e r e t h e s e c o n d p r i n c i p l e i s a p p l i e d . 1 1 . 3 C a s e S t u d y 2 : E x p l o i t i n g H u m a n K n o w l e d g e f o r R e d u c i n g C o m p l e x i t y O u r e x p e r i m e n t s o n t h e B y z a n t i n e a g r e e m e n t p r o b l e m s c l e a r l y e x h i b i t e d t h e m o s t s e r i o u s b o t t l e n e c k , n a m e l y , s t a t e e l i m i n a t i o n . O n e w a y t o r e m e d y t h i s p r o b l e m i s b y m a k i n g s t a t e s t h a t h a v e t o c o n s i d e r e d f o r e l i m i n a t i o n u n r e a c h a b l e . T h i s c a n b e a c h i e v e d t h r o u g h l a b e l i n g t r a n s i t i o n s t h a t c a n p o t e n t i a l l y l e a d a c o m p u t a t i o n t o r e a c h s u c h s t a t e s a s b a d t r a n s i t i o n s i n t h e s a f e t y s p e c i fi c a t i o n . I n o r d e r t O a n a l y z e s t a t e e l i m i n a t i o n i n t h e B y z a n t i n e a g r e e m e n t p r o g r a m , w e w e t a k e a c l o s e r l o o k a t t h e s t a t e — t r a n s i t i o n g r a p h o f t h e B A . 2 4 8 ) s ( e m i T s i s e h t n y S l a t o T 1 0 0 0 0 - s i 5 a 1 O i M 1 5 , s ’ . ‘ ‘ / ' s e s - - P - r - o 9 2 E 5 c e r o f “ b 2 b ( 0 e ) N u m _ _ - . - a 3 " 5 I I 3 0 _ 4 0 S p a c e T i m e ( s ) r e a c h a b l e m e m o r y d e a d l o c k r e s o l u t i o n f a u l t - s p a n t o t a l s t a t e s ( M B ) E l i m i n a t e I R e c o v e r y g e n e r a t i o n 8 A 5 1 0 4 3 < 1 < 1 < 1 < 1 8 . 4 1 0 1 0 9 6 0 2 < 1 3 3 . 4 1 5 1 0 1 2 1 4 . 5 0 1 4 1 1 7 8 . 4 2 0 1 0 ' 1 5 1 8 0 6 3 1 6 7 3 . 4 2 5 1 0 1 9 2 4 0 1 8 8 1 1 9 9 B A ” 1 0 2 2 3 1 0 5 0 6 4 5 2 6 3 . 4 3 5 1 0 2 6 4 4 0 1 2 0 3 7 1 2 3 7 3 . 4 4 0 1 0 3 0 6 4 0 2 4 2 8 2 5 2 4 9 6 ( a ) T o t a l S y n t h e s i s T i m e v s . N u m b e r o f P r o c e s s e s 1 0 0 0 0 I I I I I I i > 9 0 0 0 - “ 8 0 0 0 — / : 7 0 0 0 ' - m o d i fi e d B y z a n t i n e a g r e e m e n t - - - ) l ( - - - / — o r i g i n a l B y z a n t i n e a g r e e m e n t — e — - - » 6 0 0 0 - / - 5 0 0 0 — — 4 0 0 0 — l / / é - 3 0 0 0 - - ' - / , B E 2 0 0 0 - , _ F i g u r e 1 1 . 2 : E x p e r i m e n t a l r e s u l t s f o r m o d i fi e d B y z a n t i n e a g r e e m e n t p r o b l e m . L e t t h e s e q u e n c e ( : 6 1 , x 2 , x 3 , x 4 ) d e n o t e t h e s e t O f s t a t e s w i t h r e s p e c t t o d e c i s i o n v a l u e O f p r o c e s s e s , i . e . , x 1 = d . g , x 2 = d . j , x 3 = d . k , a n d x 4 = d . l . I n t h i s n o t a t i o n , a n o v e r l i n e d ( r e s p e c t i v e l y , u n d e r l i n e d ) d — v a l u e s h o w s t h a t t h e c o r r e s p o n d i n g p r o c e s s h a s fi n a l i z e d i t s d e c i s i o n ( r e s p e c t i v e l y , i s B y z a n t i n e ) . N o w c o n s i d e r t h e f o l l o w i n g 2 4 9 s c e n a r i o : S t a r t i n g f r o m a s t a t e 3 0 i n ( 1 , L I , 1 ) , w h e r e t h e g e n e r a l a n d p r o c e s s l a g r e e o n d e c i s i o n 1 a n d p r o c e s s e s 3 ' a n d k a r e u n d e c i d e d , t h e p r o g r a m m a y r e a c h t h e f o l l o w i n g s e q u e n c e o f s t a t e s d u e t o t h e o c c u r r e n c e o f f a u l t s ( d e n o t e d - - - > ) a n d e x e c u - t i o n o f p r o g r a m a c t i o n s ( d e n o t e d — + ) : ( 1 , _ L , _ L , 1 ) — + ( 1 , J _ , J _ , T ) - - + ( l , J . , J . , I ) — - + ( Q , _ L , _ L , I ) — > ( _ Q , 0 , . L , I ) — > ( Q , 0 , 0 , I ) . L e t 3 1 b e a s t a t e i n ( Q , 0 , 0 , T ) , w h e r e n o n - g e n e r a l p r o c e s s e s j a n d k a g r e e w i t h t h e B y z a n t i n e g e n e r a l o n d e c i s i o n 0 , b u t p r o c e s s I h a s fi n a l i z e d i t s d e c i s i o n o n 1 . O b s e r v e t h a t 3 1 i s a d e a d l o c k s t a t e a n d s i n c e p r o c e s s I h a s fi n a l i z e d i t s d e c i s i o n , w e c a n n o t r e s o l v e 3 1 b y a d d i n g s a f e r e c o v e r y . T h u s , 8 1 h a s t o b e e l i m i n a t e d . O n e w a y t O m a k e 5 1 a n d s y m m e t r i c a l l y e q u a l s t a t e s u n r e a c h a b l e i s b y c o n s t r a i n - i n g a n o n - g e n e r a l p r o c e s s s u c h t h a t i t i s a l l o w e d t o fi n a l i z e i t s d e c i s i o n o n l y w h e n t h e r e d o e s n o t e x i s t t w o o r e m o r e u n d e c i d e d n o n - g e n e r a l s . I n t h i s c a s e , t h e t h e p r o c e s s c a n n o t r e a c h a s t a t e s u c h a s 8 1 . T h u s , w e m o d i f y t h e s a f e t y s p e c i fi c a t i o n o f B A ( i . e . , t h e b a d t r a n s i t i o n p r e d i c a t e S P E C b t B A i n t r o d u c e d i n S u b s e c t i o n 2 . 2 . 1 ) a s f o l l o w s : P E = S P E V 3 : : — i b ’ . A ' . A 3 . : : d . = d . = _ L , 5 C s t A C s t A P P f P ( 6 1 . 7 " C ] T ) w h e r e p , q , a n d r r a n g e o v e r n o n - g e n e r a l p r o c e s s e s . F i g u r e 1 1 . 2 s h o w s t h e r e s u l t O f o u r e x p e r i m e n t s f o r B y z a n t i n e a g r e e m e n t w i t h t h e a b o v e m o d i fi c a t i o n i n t h e s a f e t y s p e c i fi c a t i o n . O n e c a n m a k e t h e f o l l o w i n g o b s e r v a - t i o n s f r o m t h i s fi g u r e : 2 5 0 0 F i g u r e 1 1 . 2 - a s h o w s t h a t n o t i m e i s s p e n t f o r s t a t e e l i m i n a t i o n . T h i s i s O b v i o u s l y d u e t o n o n — e x i s t e n c e O f d e a d l o c k s t a t e s f r o m w h e r e s a f e r e c o v e r y i s n o t p o s s i b l e . 0 F i g u r e 1 1 . 2 - b c o m p a r e s t o t a l s y n t h e s i s t i m e O f t h e t h e o r i g i n a l a n d m o d i fi e d v e r s i o n s O f B y z a n t i n e a g r e e m e n t . O n e c a n O b v i o u s l y s e e a c o n s i d e r a b l e i m - p r o v e m e n t . P r e c i s e l y , i n a v e r a g e , t h e m o d i fi e d v e r s i o n c a n b e s y n t h e s i z e d 4 t i m e s f a s t e r t h a n t h e o r i g i n a l v e r s i o n f o r t h e r a n g e O f 5 t o 4 0 p r o c e s s e s . I t i s e x p e c t e d t h a t t h i s f a c t o r b e c o m e s l a r g e r a s t h e n u m b e r o f p r o c e s s e s i n c r e a s e s . 0 A l t h o u g h c o n s t r a i n i n g a n o n - g e n e r a l p r o c e s s c a s t s a w a y s t a t e s t h a t h a v e t o b e e l i m i n a t e d , i t a f f e c t s t h e p e r f o r m a n c e O f a d d i t i o n O f s a f e r e c o v e r y . O u r a n a l y s i s s h o w s t h i s i s m a i n l y d u e t o e n l a r g i n g t h e t r a n s i t i o n p r e d i c a t e S P E C b t B A a n d a s a r e s u l t i t s c o r r e s p o n d i n g B D D . R e c a l l t h a t r e c o v e r y p a t h s a r e n o t a l l o w e d t o v i o l a t e t h e s a f e t y s p e c i fi c a t i o n a n d , h e n c e , t h e l a r g e s i z e o f B D D t h a t e n c o d e s S P E C b t B A a f f e c t s t h e p e r f o r m a n c e o f a d d i t i o n O f r e c o v e r y . N o n e t h e l e s s , t h i s c o s t d o e s n o t d i m i n i s h t h e i m p r o v e m e n t o f t o t a l s y n t h e s i s t i m e . 0 D u e t o t h e s a m e r e a s o n , m e m o r y u s a g e o f o u r m o d i fi e d v e r s i o n o f B y z a n t i n e a g r e e m e n t i s i n c r e a s e d . A l t h o u g h t h i s i n c r e a s e s u f f e r s b y a f a c t o r O f 2 i n a v e r a g e , w e a r g u e t h a t t h e t r a d e - o f f i s w o r t h w h i l e . A c l o s e r l o o k a t F i g u r e s 1 1 . 1 1 1 . 2 u n c o v e r s t h a t u n l i k e v e r i fi c a t i o n w h e r e t h e t i m e c o m p l e x i t y O f a l g o r i t h m s i s g e n e r a l l y n o t h i g h , o u r c r u c i a l i s s u e i n s y n t h e s i s i s t i m e a n d n o t s p a c e . I n o t h e r w o r d s , i n s y n t h e s i s , w e r u n o u t o f t i m e b e f o r e w e r u n o u t o f s p a c e . T h u s , g i v e n t h e l o w m e m o r y u s a g e o f o u r c a s e s t u d y , i t i s b e n e fi c i a l t o i n c r e a s e m e m o r y u s a g e b y a f a c t o r O f 2 t o g a i n s p e e d - u p b y a f a c t o r O f 4 . 2 5 1 1 1 . 4 C a s e S t u d y 3 : B y z a n t i n e A g r e e m e n t w i t h F a i l - S t o p F a u l t s S p a c e T i m e ( s ) r e a c h a b l e m e m o r y d e a d l o c k r e s o l u t i o n f a u l t — s p a n t o t a l s t a t e s ( M B ) E l i m i n a t e I R e c o v e r y g e n e r a t i o n 3 A 5 1 0 5 5 . 2 1 < 1 < 1 1 1 3 . 4 1 0 1 0 8 1 3 2 8 3 2 3 6 3 . 4 1 5 1 0 1 2 1 4 . 5 5 0 5 1 5 5 5 2 8 1 3 . 4 2 0 1 0 1 6 1 5 . 9 4 3 2 2 3 5 9 4 3 7 8 8 . 4 2 5 1 0 2 0 1 7 . 8 2 3 3 8 7 7 6 2 1 2 3 5 0 2 ( a ) T i m e v s . N u m b e r o f P r o c e s s e s 1 0 0 0 0 0 _ , , , - t o t a l s y n t h e s i s t i m e 1 0 0 0 0 : - s t a t e e l i m i n a t i o n . r e c o v e r y a d d i t i o n - f a u l t - s p a n g e n e r a t i o n A ' o r i g i n a l B A t o t a l s y n t h e s i s t i m e g 1 0 0 0 C — U ) ” 7 ” " . : 8 : 1 0 0 1 ’ E . , E , , , i : 1 0 - - - - - - - - - - - - - B I n 1 l . , . 0 . 1 a " L ' l 5 1 0 1 5 2 0 2 5 N u m b e r o f P r o c e s s e s ( b ) F i g u r e 1 1 . 3 : E x p e r i m e n t a l r e s u l t s f o r B y z a n t i n e a g r e e m e n t s u b j e c t t o f a i l - s t o p f a u l t s . A f a i l - s t o p f a u l t i s o n e t h a t h a l t s a p r o c e s s i n r e s p o n s e t o a n y i n t e r n a l f a i l u r e a n d d o e s s o b e f o r e t h e e f f e c t s O f t h a t f a i l u r e b e c o m e v i s i b l e [ S S 8 3 ] . I n t h i s S e c t i o n , w e 2 5 2 i n t r o d u c e f a i l - s t e p f a u l t s t o t h e B y z a n t i n e a g r e e m e n t p r o b l e m t o m a k e t h e p r o g r a m m o r e c o m p l i c a t e d ( d e n o t e d 3 . 4 . 7 8 ) . T o t h i s e n d , w e f i r s t a d d a B o o l e a n v a r i a b l e u t o t e a c h p r o c e s s ; i f u i s t r u e t h e n t h e p r o c e s s i s a l i v e a n d w o r k i n g , o t h e r w i s e , t h e p r o c e s s h a s b e e n s t o p p e d a n d i s n o t w o r k i n g . T h u s , a c t i o n s o f a p r o c e s s , s a y j , a r e a s f o l l o w s : B A f S l j : : ( d . j = l ) / \ ( f . j = f a l s e ) A ( u . j = t r u e ) — — — - + d . j : 2 2 d . g ; B A f S 2 j : : ( d . j 7 5 J . ) / \ ( f . j = f a l s e ) / \ ( u . j = t r u e ) — > f . j : = t r u e ; I n a d d i t i o n t o t h e f a u l t s i n t r o d u c e d i n t h e e x a m p l e i n S e c t i o n 7 . 2 . 3 , w e i n t r o d u c e t h e f o l l o w i n g f a u l t a c t i o n : V p : : ( u p ) - — > u . j : 2 f a l s e ; I n o t h e r w o r d s , a p r o c e s s m a y s t o p w o r k i n g o n l y i f a l l o t h e r p r o c e s s e s a r e a l i v e . C o n s e q u e n t l y , a B y z a n t i n e p r o c e s s c a n c h a n g e i t s d e c i s i o n o n l y i f i t i s a l i v e . T h u s , w e r e v i s e f a u l t a c t i o n F 1 a s f o l l o w s : F 1 : : b . j A u . j — - + d . j , f . j 2 : O l l , f a l s e l t r u e ; L i k e w i s e , t h e s a f e t y s p e c i f i c a t i o n a n d i n v a r i a n t o f B A F S m u s t e x p r e s s t h e f a c t t h a t a p r o c e s s m a y d e c i d e o r fi n a l i z e i t s d e c i s i o n o n l y i f i t h a s n o t s t o p p e d d u e t o t h e o c c u r r e n c e o f f a u l t s . T h u s , S P E C b t B A a n d I a n A f S a r e a s f o l l o w s : S P E C s t A f S = ( a p e { 3 , 5 , 7 } : : fi b ’ y / \ fi b ’ . p / \ ( d ' r a é i ) / \ f ’ r A ( d ’ - p ¢ d ' - 9 ) ) V ( 3 p , q e { j , k , l } : : — . b ’ . p A - i b ’ . q / \ f ’ . p / \ f ’ . q / \ u ’ . p A u ’ . q A 2 5 3 ( M m e 1 ) A ( # 5 5 5 1 ) A ( d ’ . p # d ’ . q ) ) v ( 3 p E { j , k , l } : : ‘ 1 0 . ] ? A - — : b ’ . p A f . p A fi u ’ p A ( ( d - p s é d ’ r ) V ( f r , 2 f ’ . p ) ) ) , a n d I a n / L F S = ( V p , q E { j , k , l } : : u . p V u . q ) A [ a b - 9 A ( W ! ) E { J E N } I : ( a b - P V a i r - ( 1 ) ) A ( V p E { j , k , l } : : - I b . p = > ( d . p = _ L V d . p = d . g ) ) A ( V 1 0 6 { N J } I : ( a b - p A f - p ) = > ( ( 1 4 9 2 1 ) ) v ( b . g A — : b . j A — . b . k A — ~ b . l A V I M I E { J ' J a l } = 1 ( ( w 3 A w ) = > ( ( d - P = d - q ) A ( ( 1 . 1 0 5 * i ) ) ) ) l - F i g u r e 1 1 . 3 s h o w s t h e r e s u l t o f o u r e x p e r i m e n t s o n B y z a n t i n e a g r e e m e n t p r o g r a m s u b j e c t t o f a i l - s t o p f a u l t s w i t h 5 — 2 5 n o n - g e n e r a l p r o c e s s e s . T h e g r o w t h t r e n d o f b o t h t i m e a n d s p a c e a s t h e n u m b e r o f p r o c e s s e s i n c r e a s e s i s s i m i l a r t o t h e n o r m a l B y z a n - t i n e a g r e e m e n t . H o w e v e r , B A f S h a s o b v i o u s l y a l a r g e r s t a t e s p a c e a n d o c c u r r e n c e o f f a i l - s t o p f a u l t s m a k e s t h e s y n t h e s i s p r o b l e m m o r e c o m p l e x . I n p a r t i c u l a r , s t a t e e l i m i n a t i o n i s s i g n i fi c a n t l y h a r d e r t o s o l v e , a s t h e P r o c e d u r e E l i m i n a t e i n v o l v e s m o r e b a c k t r a c k i n g s t e p s d u e t o e x i s t e n c e o f a f a i l e d p r o c e s s o n r e a c h a b i l i t y p a t h s . A s a c o n c r e t e e x a m p l e , o b s e r v e t h a t i t t a k e s a b o u t 6 . 5 h o u r s t o s y n t h e s i z e a s o l u t i o n t o B A T S Z S , W h i l e i t o n l y t a k e s 1 1 m i n u t e s t o s y n t h e s i z e a s o l u t i o n t o 8 . 4 2 5 . 2 5 4 1 1 . 5 C a s e S t u d y 4 : T o k e n R i n g I n a t o k e n r i n g p r o g r a m f o r s o l v i n g d i s t r i b u t e d m u t u a l e x c l u s i o n ( d e n o t e d T R ) , p r o - c e s s e s 0 . . N a r e o r g a n i z e d i n a r i n g a n d t h e t o k e n i s c i r c u l a t e d a l o n g t h e r i n g i n a fi x e d d i r e c t i o n . E a c h p r o c e s s , s a y p w h e r e p E { 0 . . N } , m a i n t a i n s a v a r i a b l e c a p w i t h d o m a i n { 0 , 1 , 1 } , w h e r e 1 d e n o t e s a c o r r u p t e d v a l u e . P r o c e s s p , 0 S p S N - 1 , h a s t h e t o k e n a n d c a n e n t e r t h e c r i t i c a l s e c t i o n i f f : r . p d i f f e r s f r o m i t s s u c c e s s o r x . ( p + l ) a n d p r o c e s s N h a s t h e t o k e n i f f : r . N i s t h e s a m e a s i t s s u c c e s s o r 3 3 . 0 . E a c h p r o c e s s p c a n o n l y w r i t e i t s l o c a l v a r i a b l e ( i . e . , : L ' H p ) M o r e o v e r , a p r o c e s s c a n o n l y r e a d i t s o w n l o c a l v a r i a b l e a n d t h e v a r i a b l e o f i t s p r e d e c e s s o r . T h u s , t h e r e a d / w r i t e r e s t r i c t i o n s a r e a s f o l l o w s : V p = { $ 2 I O S 2 ' g N } , w h e r e p E { 0 . . N } , W p = { c a p } , w h e r e p E { 0 . . N } , H P 2 { w . p , : c . ( p — 1 ) } , w h e r e p E { 1 . . N } , a n d R 0 = { 1 1 3 . 0 , L N } . F a u l t - i n t o l e r a n t p r o g r a m . T h e p r o g r a m , c o n s i s t s o f t w o a c t i o n s . F o r m a l l y , t h e s e a c t i o n s a r e a s f o l l o w s : 7 7 2 ; ; : : : c . p # : r . ( p — 1 ) — — - * £ 1 3 . 1 9 : = $ . ( p — 1 ) ; T 7 2 0 : : : c . O = : I : . N — — > 1 3 . 0 : : $ . N + 2 1 ; w h e r e p E { 1 . . N } a n d w h e r e + 2 d e n o t e s m o d u l o 2 a d d i t i o n . 2 5 5 F a u l t a c t i o n . F a u l t s c a n r e s t a r t a t m o s t N — 1 p r o c e s s e s . T h u s , t h e f a u l t a c t i o n f o r p r o c e s s p , w h e r e p E { 0 . . N } : F : : E l i , j E { 0 . . N } | ( 2 ' 7 5 j ) : : ( 1 : , 7 5 J . ) A ( 1 7 1 - 7 6 1 ) — — — + 2 3 p : 2 1 ; S a f e t y s p e c i fi c a t i o n . T h e s a f e t y s p e c i fi c a t i o n o f T R r e q u i r e s t h a t a p r o c e s s w h o s e s t a t e i s u n c o r r u p t e d s h o u l d n o t c o p y t h e v a l u e o f a c o r r u p t e d p r o c e s s . F o r m a l l y , t h e s a f e t y s p e c i fi c a t i o n i s t h e f o l l o w i n g s e t o f b a d t r a n s i t i o n s : S P E C t h R = V é v = 0 ( ; r . p ¢ 1 A : c ’ p 2 : 1 ) . N o t e t h a t i n t o k e n r i n g ( u n l i k e B y z a n t i n e a g r e e m e n t ) , w e r e q u i r e t h a t t h e s a f e t y s p e c i fi c a t i o n c a n o n l y b e v i o l a t e d b y e x e c u t i o n o f p r o g r a m a c t i o n s . I n o t h e r w o r d s , w h e n a f a u l t a c t i o n r e s t a r t s a p r o c e s s , s a f e t y i s n o t v i o l a t e d . I n v a r i a n t p r e d i c a t e . F i n a l l y , t h e i n v a r i a n t p r e d i c a t e o f t h e t o k e n r i n g p r o b l e m i s d e t e r m i n e d a s f o l l o w s . C o n s i d e r a s t a t e w h e r e a p r o c e s s , s a y p , h a s t h e t o k e n . I n t h i s s t a t e , s i n c e n o o t h e r p r o c e s s h a s t h e t o k e n , t h e x - v a l u e o f a l l p r o c e s s e s O . . p i s i d e n t i c a l a n d t h e : r - v a l u e o f a l l p r o c e s s e s ( p + 1 ) . . N i s i d e n t i c a l . L e t t i n g X d e n o t e t h e s t r i n g o f b i n a r y v a l u e s x . 0 , : c . 1 - - - : z : . N , w e h a v e t h a t X s a t i s fi e s t h e r e g u l a r e x p r e s s i o n ( 0 1 1 ( N + 1 _ l ) U 1 l 0 ( N + 1 _ l ) ) , w h i c h d e n o t e s a s e q u e n c e o f l e n g t h N + 1 c o n s i s t i n g o f z e r o s f o l l o w e d b y o n e s o r o n e s f o l l o w e d b y z e r o s . F a u l t - t o l e r a n t p r o g r a m . T h e o u t p u t o f o u r a l g o r i t h m i s a p r o g r a m 7 7 2 ’ t h a t t o l e r a t e s t h e a b o v e f a u l t a c t i o n . I n t u i t i v e l y , a p r o c e s s i n t h e s y n t h e s i z e d p r o g r a m i s a l l o w e d 2 5 6 t o c o p y t h e v a l u e o f i t s p r e d e c e s s o r , i f t h i s v a l u e i n n o t c o r r u p t e d . T h e a c t i o n s o f t h e s y n t h e s i z e d f a u l t - t o l e r a n t p r o g r a m a r e a s f o l l o w s : T R ; : : ( : c . p # : r . ( p — 1 ) ) A ( : r . ( p — 1 ) # _ L ) — + : 2 : . p z : : r . ( p — 1 ) ; T 7 2 0 : : ( 0 2 . 0 # ( 1 : . N + 2 1 ) ) A ( 2 : . N 7 6 _ L ) — > £ 0 2 : 1 . 1 V + 2 1 ; w h e r e p E { 1 . . N } . O b s e r v e t h a t a c t i o n T 7 2 6 s t i p u l a t e s r e c o v e r y t r a n s i t i o n s t h a t s t a r t f r o m o u t s i d e p r o g r a m i n v a r i a n t a s w e l l . F i g u r e 1 1 . 4 s h o w s t h e r e s u l t s o f o u r e x p e r i m e n t s w i t h r e s p e c t t o t h e t o k e n r i n g p r o g r a m . A l t h o u g h t o k e n r i n g h a s a l e s s c o m p l e x s t r u c t u r e t h a n B y z a n t i n e a g r e e m e n t , i t e x h i b i t s f e a t u r e s t h a t B y z a n t i n e a g r e e m e n t d o e s n o t . O n e o f t h e s e f e a t u r e s i s t h e e x i s t e n c e o f t w o c y c l e s i n b o t h i n p u t a n d o u t p u t p r o g r a m s w h i c h a f f e c t s t h e a d d i t i o n o f m u l t i - s t e p r e c o v e r y . A n o t h e r f e a t u r e i s c o n c e r n e d w i t h t h e s i z e o f f a u l t - s p a n . U n l i k e B y z a n t i n e a g r e e m e n t , t h e f a u l t - s p a n ( i . e . , t h e s e t o f a l l r e a c h a b l e s t a t e s ) o f t o k e n r i n g i s a l m o s t i d e n t i c a l t o t h e s t a t e s p a c e o f t h e p r o g r a m . T o t a l s y n t h e s i s t i m e S i m i l a r t o t h e p r e v i o u s c a s e s t u d i e s , i n c a s e o f t o k e n r i n g , t h e t o t a l s y n t h e s i s t i m e i s a l s o s u b l i n e a r t o t h e n u m b e r o f r e a c h a b l e s t a t e s . W e e m p h a s i z e t h a t t h e r e s u l t o f o u r e x p e r i m e n t s w i t h r e s p e c t t o t o k e n r i n g i s c o n s i d e r a b l y d i f f e r e n t f r o m t h e r e s u l t s r e p o r t e d i n [ B K 0 7 b ] ; w e c a n s y n t h e s i z e u p t o 1 0 0 p r o c e s s e s i n l e s s t h a n t w o h o u r s w h i l e i t t a k e s 8 h o u r s t o s y n t h e s i z e 2 5 p r o c e s s e s u s i n g t h e m e t h o d i n [ B K 0 7 b ] . B e s i d e s , o b v i o u s o p t i m i z a t i o n s i n t h e c o r e a l g o r i t h m , t h e m o s t e f f e c t i v e f a c t o r c o n t r i b u t i n g i n s u c h a d r a m a t i c i m p r o v e m e n t i s t h e a p p r o a c h i n r e a c h a b i l i t y a n a l y s i s . B D D - b a s e d 2 5 7 S p a c e T i m e ( s ) r e a c h a b l e m e m o r y r e c o v e r y c y c l e f a u l t - s p a n t o t a l s t a t e s ( M B ) a d d i t i o n d e t e c t i o n g e n e r a t i o n T 1 2 3 0 1 0 1 4 8 5 5 < 1 5 T R “ 1 0 1 9 1 3 . 3 1 3 1 3 < 1 3 5 T 7 2 5 0 1 0 2 3 1 4 . 5 4 3 4 3 < 1 4 4 T u e “ 1 0 2 8 1 5 . 2 1 7 6 1 7 4 1 ' 1 7 9 T 7 2 7 0 1 0 3 3 1 8 . 8 4 3 3 4 3 2 1 4 3 8 7 1 2 8 0 1 0 3 8 2 5 . 3 9 9 2 9 9 0 2 9 9 9 ” n e w 1 0 4 2 3 3 . 7 2 2 7 2 2 2 7 0 4 2 2 8 3 T R I O O 1 0 4 7 4 4 . 2 7 8 2 4 7 8 1 9 4 7 8 3 7 ( a ) T i m e v s . N u m b e r o f P r o c e s s e s 1 0 0 0 0 _ ' r l I r t o t a l s y n t h e s i s t i m e — 9 — r e c o v e r y a d d i t i o n - - A — — - - f a u l t - s p a n g e n e r a t i o n - - - 1 0 0 0 7 c y c l e d e t e c t i o n ( U 8 1 0 0 : - / 1 3 . E . . a , . _ g I i — . 9 1 6 - - - - - - - - a s . g , x - ‘ . . 1 : - . . 3 ' K ' _ _ _ _ _ _ _ 9 K - - - - - - - - B K ‘ 1 0 . 1 x l 1 I 1 I l 3 0 4 0 5 0 6 0 7 0 8 0 9 0 1 0 0 N u m b e r o f P r o c e s s e s 0 3 ) F i g u r e 1 1 . 4 : E x p e r i m e n t a l r e s u l t s f o r t o k e n r i n g m u t u a l e x c l u s i o n p r o g r a m . c o m p u t a t i o n o f r e a c h a b l e s t a t e s i s n o r m a l l y a c h i e v e d u s i n g a b r e a d t h - fi r s t s e a r c h a l g o r i t h m o n s t a t e - t r a n s i t i o n g r a p h o f t h e i n p u t p r o g r a m . S u c h a B F S a l g o r i t h m i n v o l v e s a f r o n t i e r g e n e r a t i o n s t e p w h i c h c a n b e i m p l e m e n t e d i n t w o w a y s : 1 . A p p l y i n g t h e t r a n s i t i o n p r e d i c a t e o n l y o n u n e x p l o r e d s t a t e s w h i c h a t i t e r a t i o n 2 5 8 d , c o n s i s t s o f a l l s t a t e s a t d i s t a n c e e x a c t l y d f r o m t h e i n v a r i a n t p r e d i c a t e . 2 . A p p l y i n g t h e t r a n s i t i o n p r e d i c a t e t o a l l k n o w n s t a t e s , t h a t i s a l l s t a t e s a t d i s - t a n c e a t m o s t d f r o m t h e i n v a r i a n t p r e d i c a t e . W h i l e t h e s e c o n d a p p r o a c h m a y s o u n d w a s t e f u l t h e c o s t o f a p p l y i n g t h e t r a n s i t i o n p r e d i c a t e i n a s y m b o l i c s e t t i n g d e p e n d s o n t h e n u m b e r o f n o d e s i n t h e c o r r e s p o n d i n g B D D , n o t o n t h e n u m b e r o f s t a t e s e n c o d e d b y t h e B D D . T h u s , e v e n i n t h e v e r i fi c a - t i o n r e s e a r c h c o m m u n i t y , i t i s u n k n o w n w h i c h a p p r o a c h i s b e t t e r . I n [ B K O Y b ] , w e i m p l e m e n t e d t h e fi r s t a p p r o a c h , b u t t h r o u g h a n a l y z i n g m o r e c a s e s t u d i e s , w e c h o o s e t o i n c o r p o r a t e t h e s e c o n d a p p r o a c h f o r i t s g e n e r a l i t y . A n o b v i o u s r e a s o n f o r b e t t e r p e r f o r m a n c e o f t h e s e c o n d a p p r o a c h i n t h e c o n t e x t o f o u r s y n t h e s i s p r o b l e m t h a t i t i s h i g h l y p r o b a b l e t h a t t h e e n t i r e s t a t e s p a c e o f p r o g r a m s i s r e a c h a b l e i n t h e p r e s e n c e o f f a u l t s . T h u s , m a n y v a r i a b l e s m a y b e c o m e d o n ’ t c a r e i n t h e c o r r e s p o n d i n g B D D w h i c h i n t u r n r e d u c e s t h e n u m b e r o f n o d e s i n t h e B D D . M o r e o v e r , i n p r o g r a m s s u c h a s t o k e n r i n g , t h e r e e x i s t s m a n y t r a n s i t i o n s t h a t v i s i t s s t a t e s t h a t a r e a l r e a d y e x p l o r e d . C o n s e q u e n t l y , t h e i s s u e o f f a u l t - s p a n g e n e r a t i o n i s n o t a s e r i o u s b o t t l e n e c k a s i t w a s i n [ B K 0 7 b ] . D e a d l o c k r e s o l u t i o n a n d c y c l e d e t e c t i o n I n t h i s c a s e s t u d y , w e a r e n o t c o n c e r n e d w i t h s t a t e e l i m i n a t i o n t i m e , a s s a f e r e c o v e r y f r o m a l l d e a d l o c k s t a t e s i s p o s s i b l e . T h u s , i n o r d e r t o a n a l y z e d e a d l o c k r e s o l u t i o n t i m e , w e o n l y f o c u s o n a d d i t i o n o f r e c o v e r y . A s c a n b e s e e n i n F i g u r e 1 1 . 4 , t h e t o t a l s y n t h e s i s t i m e i s a l m o s t e q u a l t o t h e t i m e s p e n t f o r a d d i n g r e c o v e r y p a t h s t o t h e 2 5 9 p r o g r a m . M o r e o v e r , t h e t i m e s p e n t f o r a d d i n g r e c o v e r y i s a l m o s t e q u a l t o t h e t i m e s p e n t f o r d e t e c t i n g c y c l e s . F i r s t , w e n o t e t h a t i n p r e v i o u s c a s e s t u d i e s , c y c l e d e t e c t i o n t i m e w e r e n e g l i g i b l e a n d , h e n c e , w a s n o t d i s c u s s e d . H o w e v e r , i n t h i s c a s e s t u d y , a c o n s i d e r a b l e a m o u n t o f t i m e i s s p e n t f o r d e t e c t i n g c y c l e s . R e c a l l t h a t i n P r o c e d u r e A d d R e c o v e r y , a f t e r a d d i n g a n e w l a y e r t o r e c o v e r y p a t h s , w e c h e c k w h e t h e r o r n o t a c y c l e h a s b e e n i n t r o d u c e d t o t h e f a u l t - s p a n o f t h e i n t e r m e d i a t e p r o g r a m ( s e e L i n e 5 ) . S i n c e t h e i n p u t p r o g r a m i n p r e v i o u s c a s e s t u d i e s d o e s n o t c o n t a i n a c y c l e , t h e c y c l e d e t e c t i o n a l g o r i t h m t e n d s t o r e t u r n a n e g a t i v e a n s w e r f a i r l y f a s t . H o w e v e r , o n e c a n e a s i l y o b s e r v e t h a t t h e t o k e n r i n g i n t o l e r a n t p r o g r a m h a s t w o c y c l e s t h a t c o v e r a l l s t a t e s i n t h e i n v a r i a n t . T h u s , i n t h e s t e p s o f a d d i n g m u l t i - s t e p r e c o v e r y p a t h s , n e w c y c l e s a r e i n t r o d u c e d t o t h e f a u l t s — s p a n s y m m e t r i c a l l y w h i c h i s r e fl e c t e d i n t h e t i m e s p e n t t o d e t e c t c y c l e s a n d s u b s e q u e n t l y r e m o v i n g t r a n s i t i o n s i n v o l v e d i n t h e c y c l e s . I n f a c t , o n e c a n o b s e r v e i n F i g u r e 1 1 . 4 - b t h e t o t a l s y n t h e s i s t i m e s , a n d t i m e s p e n t d e t e c t i n g c y c l e s a n d a d d i n g r e c o v e r y a r e a l m o s t e q u a l . T h u s , i n p r o g r a m s s u c h a s t o k e n r i n g c y c l e d e t e c t i o n b e c o m e s t h e s t u m b l i n g b l o c k o f o u r s y n t h e s i s a l g o r i t h m . 1 1 . 5 . 1 T h e E f f e c t o f M u l t i - S t e p R e c o v e r y T h e i s s u e o f c y c l e d e t e c t i o n e x i s t s i n a d d i t i o n o f r e c o v e r y , a s o u r a l g o r i t h m c o n s t r u c t s m u l t i - s t e p r e c o v e r y p a t h s . N o t i c e t h a t t h e fi r s t r e c o v e r y s t e p i n c l u d e s t r a n s i t i o n s t h a t o r i g i n a t e f r o m a s e t o f r e a c h a b l e d e a d l o c k s t a t e s a n d e n d i n t h e i n v a r i a n t p r e d i c a t e . R e c a l l t h a t e a c h t r a n s i t i o n h a s t o b e a d d e d a l o n g w i t h i t s c o r r e s p o n d i n g g r o u p p r e d i - c a t e . T h u s , i n c l u d i n g a d d i t i o n a l r e c o v e r y s t e p s c a n p o t e n t i a l l y i n t r o d u c e c y c l e s t o t h e 2 6 0 S p a c e T r i m e ( s ) r e a c h a b l e m e m o r y r e c o v e r y c y c l e f a u l t - s p a n t o t a l s t a t e s ( M B ) a d d i t i o n d e t e c t i o n g e n e r a t i o n T 1 2 3 0 1 0 1 4 4 < 1 0 < 1 0 T 7 2 4 0 1 0 1 9 5 < 1 0 < 1 1 T 7 2 5 0 1 0 2 3 7 . 6 1 0 < 1 1 7 7 6 6 0 1 0 2 8 9 . 8 1 0 < 1 2 T 7 2 7 0 1 0 3 3 1 1 . 4 1 0 1 3 7 7 3 . 3 0 1 0 3 8 1 2 . 5 1 0 3 5 7 7 2 9 0 1 0 4 2 1 2 . 9 1 0 4 6 7 7 8 ° " 1 0 4 7 1 3 2 0 4 8 ( a ) T o t a l S y n t h e s i s T i m e v s . N u m b e r o f P r o c e s s e s 1 0 0 0 0 5 I I I I : I I , I t o k e n r i n g w i t h s i n g l e - s t e p r e c o v e r y — — 9 — , x ” 1 ; . t o k e n r i n g w i t h m u l t i - s t e p r e c o v e r y - - & — ~ ' ’ , A g 1 0 0 0 = — ‘ F E . 9 - U ) . - e _ c . E . ( D 1 0 0 F a : ‘ 5 E I — . 2 . ( B O U . ) 1 0 . - a : : 3 A E ’ 1 3 0 4 6 5 0 6 0 7 0 8 0 9 0 1 0 0 N u m b e r o f P r o c e s s e s ( b ) F i g u r e 1 1 . 5 : E x p e r i m e n t a l r e s u l t s f o r t o k e n r i n g m u t u a l e x c l u s i o n w i t h s i n g l e - s t e p r e c o v e r y . f a u l t - s p a n w h i c h i n t u r n p r o h i b i t s t h e p r o g r a m t o r e c o v e r t o t h e i n v a r i a n t p r e d i c a t e i n a fi n i t e n u m b e r o f s t e p s . H e n c e , a n a l g o r i t h m t h a t s y n t h e s i z e s s i n g l e - s t e p r e c o v e r y t o a n i n p u t p r o g r a m n e e d n o t d e t e c t c y c l e s . O b v i o u s l y , d e p e n d i n g u p o n t h e s t r u c t u r e o f i n p u t p r o g r a m , a d i f f e r e n t t y p e o f 2 6 1 r e c o v e r y p a t h m a y b e r e q u i r e d . F o r i n s t a n c e , i n c a s e o f t h e t o k e n r i n g p r o g r a m , s i n g l e - s t e p r e c o v e r y s u f f i c e s t o r e s o l v e a l l d e a d l o c k s t a t e s . T h u s , a r e s p e c t i v e a l g o r i t h m n e e d n o t i n c l u d e t h e w h i l e l o o p a n d D e t e c t C y c l e f u n c t i o n i n t h e P r o c e d u r e A d d R e c o v e r y . F i g u r e 1 1 . 5 s h o w s t h e r e s u l t o f e x p e r i m e n t s u s i n g s u c h a n a l g o r i t h m f o r a d d i n g s i n g l e — s t e p r e c o v e r y t o T R . A s c a n b e s e e n , a n e n o r m o u s s p e e d — u p i s g a i n e d . P r e c i s e l y , i n a v e r a g e , t h e t o t a l s y n t h e s i s t i m e d r o p s b y a f a c t o r o f 3 3 0 . T o i l l u s t r a t e t h e e f f e c t o f s u c h a s m a l l c h a n g e i n t h e a l g o r i t h m , w e n o t e t h a t o n e c a n s y n t h e s i z e t o k e n r i n g w i t h 2 0 0 p r o c e s s e s ( r e a c h a b l e s t a t e s o f s i z e 1 0 9 5 ) i n l e s s t h a n 2 m i n u t e s . 1 1 . 6 C a s e S t u d y 5 : I n f u s e W e n o w f o c u s o n I n f u s e , a t i m e d i v i s i o n m u l t i p l e a c c e s s ( T D M A ) b a s e d r e l i a b l e d a t a d i s s e m i n a t i o n p r o t o c o l i n s e n s o r n e t w o r k s [ K A 0 6 ] . O u r i n t e n t i o n t o p r e s e n t t h i s c a s e s t u d y i s t w o f o l d . F i r s t , w e i n t e n d t o d e m o n s t r a t e a n a p p l i c a t i o n o f o u r a l g o r i t h m o u t s i d e t h e l i t e r a t u r e o f f a u l t — t o l e r a n t d i s t r i b u t e d c o m p u t i n g . I n o t h e r w o r d s , w e d e m o n s t r a t e t h e a p p l i c a b i l i t y o f o u r a l g o r i t h m i n r e a l - w o r l d p r o b l e m s b y a d d i n g f a u l t - t o l e r a n c e t o a s e n s o r n e t w o r k p r o t o c o l . S e c o n d l y , w e u s e I n f u s e a s y e t a n o t h e r c a s e s t u d y t o a n a l y z e t h e p e r f o r m a n c e o f o u r a l g o r i t h m . I n I n f u s e , a b a s e s t a t i o n i s r e s p o n s i b l e f o r c o m m u n i c a t i n g w i t h t h e o u t s i d e w o r l d . T h e d a t a i s s p l i t i n t o fi x e d s i z e p a c k e t s . N o t e t h a t I n f u s e i s n o t c o n c e r n e d w i t h t h e c o n t e n t s o f t h e d a t a . I n o u r v e r s i o n o f c a s e s t u d y , a l l s e n s o r s a r e l o c a t e d i n a s i m p l e l i n e t o p o l o g y . T h e b a s e s t a t i o n s e n d s n e w d a t a t o i t s s o l e n e i g h b o r . T h e n , t h i s n e i g h b o r f o r w a r d s t h e p a c k e t t o i t s n e i g h b o r a n d s o o n . 2 6 2 R N = { s . N , r . N , s . ( N — 1 ) , T . ( N — 1 ) } , E a c h s e n s o r m a i n t a i n s t w o v a r i a b l e s r a n d s w h e r e r d e n o t e s t h e s e q u e n c e n u m b e r o f t h e l a s t p a c k e t t h e s e n s o r h a s r e c e i v e d a n d 3 d e n o t e s t h e s e q u e n c e n u m b e r o f t h e p a c k e t t o b e s e n t t o i t s n e i g h b o r . E a c h v a r i a b l e r a n g e s o v e r O . . M , w h e r e M i s t h e n u m b e r o f b y t e s i n e a c h p a c k e t . T h u s , i f s e n s o r s a r e n u m b e r e d 0 t o N , w h e r e s e n s o r 0 i s t h e b a s e s t a t i o n , t h e r e a d / w r i t e r e s t r i c t i o n s f o r c o r r e s p o n d i n g p r o c e s s e s a r e a s f o l l o w s : R 0 = { s . 0 , r . 0 , s . 1 , r . 1 } , W 0 = { 3 . 0 , r . 0 } , R j = { 3 ( j — 1 ) , ? ‘ ( j — 1 ) , 5 - j , 7 ' . j , S - ( j + 1 ) , 7 ‘ ( j + 1 ) } : W j = { s . j , r . j } , w h e r e 1 S j g N — 1 , W N = { s . N , r . N } . F a u l t - i n t o l e r a n t p r o g r a m . I n i t i a l l y , a l l p a c k e t s a r e d i s s e m i n a t e d f r o m t h e b a s e s t a t i o n . A n e w p a c k e t i s s e n t t o s e n s o r 1 w h e n b a s e s t a t i o n k n o w s t h a t s e n s o r 1 h a s r e c e i v e d t h e l a s t p a c k e t i t h a d s e n t . T h u s , t h e a c t i o n f o r t h e b a s e s t a t i o n i s a s f o l l o w s : I T O : : s . 0 = r . 1 — > 3 . 0 : 2 3 . 0 + 1 ; I n t u i t i v e l y , a s e n s o r , s a y j , w h e r e j E { 1 . . N — 1 } , m a y r e c e i v e a n e w p a c k e t , i f 2 6 3 T i m e ( s ) ( l o g s c a l e ) 1 4 0 S p a c e T i m e ( s ) r e a c h a b l e m e m o r y r e c o v e r y f a u l t - s p a n t o t a l s t a t e s ( M B ) a d d i t i o n g e n e r a t i o n I f ” 1 0 1 5 4 . 7 1 < 1 1 1 7 : 5 0 1 0 2 5 1 0 8 < 1 8 I f " ) 1 0 3 4 1 1 2 6 < 1 2 6 I f ” 1 0 4 3 1 4 . 5 5 3 1 5 3 I f ” ) 1 0 5 1 1 5 8 5 1 8 7 I P 3 0 1 0 6 0 1 6 1 1 8 2 1 2 1 T i m e v s . N u m b e r o f P r o c e s s e s 1 0 0 0 5 I 1 l I I 5 = a : t o t a l s y n t h e s i s t i m e — € } — . r e c o v e r y a d d i t i o n — — A — - - A 1 0 0 _ — f a u l t — s p a n g e n e r a t i o n - M 9 _ - E / ’ / 8 ’ / / I . fl 1 1 0 : — / - : : , . / / _ _ , . : 1 r ( 5 1 / . . . . . . 3 K - - - - - - - - - 3 K ' I 1 E - 3 i ? ‘ ' E 0 1 X v ' I l l l l 2 0 4 0 6 0 8 0 1 0 0 1 2 0 N u m b e r o f P r o c e s s e s 1 . t h e s u c c e s s o r ( i . e . , j + 1 ) h a s a l l t h e p a c k e t s t h a t j h a s , a n d 2 . j — 1 i s t r a n s m i t t i n g t h e n e x t p a c k e t . 2 6 4 F i g u r e 1 1 . 6 : E x p e r i m e n t a l r e s u l t s f o r I n f u s e b u l k d a t a d i s s e m i n a t i o n p r o t o c o l i n s e n s o r n e t w o r k s . I f t h i s i s t h e c a s e , t h e n j r e c e i v e s t h e p a c k e t a n d t r a n s m i t s i t i n t h e n e x t s l o t . T h u s , t h e a c t i o n t h a t m o d e l s p a c k e t t r a n s m i s s i o n f o r s e n s o r s 1 . . N — 1 i s a s f o l l o w s : I F J - : : ( r . j = r . ( j + 1 ) ) A ( s . ( j — 1 ) = r . j + l ) — — > r . j , s . j : 2 r . j + 1 , s . j + 1 ; F i n a l l y , s e n s o r N o b t a i n s a p a c k e t , i f i t s p r e d e c e s s o r h a s t h e n e x t p a c k e t t h a t s e n s o r N e x p e c t s . F o r m a l l y , I F N : : s . ( N - 1 ) = 7 ' . N + 1 — — > r . N : 2 r . N + 1 ; F a u l t a c t i o n s . A f a u l t c a u s e s t h e b a s e s t a t i o n t o t r a n s m i t a p a c k e t t h a t s e n s o r 1 d o e s n o t e x p e c t . I n o t h e r w o r d s , s o m e p a c k e t t r a n s m i t t e d b y t h e b a s e d s t a t i o n i s l o s t . F o r t h e r e s t o f s e n s o r s , a f a u l t a l l o w s a s e n s o r , s a y j , t o r e c e i v e a p a c k e t f r o m i t s p r e d e c e s s o r j — 1 e v e n t h o u g h i t s s u c c e s s o r j + 1 d i d n o t o b t a i n t h e p a c k e t t h a t j t r a n s m i t t e d l a s t . T h u s , t h e f a u l t a c t i o n s o f I n f u s e a r e a s f o l l o w s : F 0 : t r u e — > 3 . 0 : = 3 . 0 + I ; F j : : ( r . j § r . ( j — l ) ) A ( s . ( j - 1 ) = r . j + 1 ) — — > r . j , s . j 2 : r . j + I , s . j + 1 ; S a f e t y s p e c i fi c a t i o n . T h e s a f e t y s p e c i fi c a t i o n o f I n f u s e i n f o r m a l l y c o n s i s t s o f t h e f o l l o w i n g c o n s t r a i n s : 0 T r a n s m i s s i o n o f a p a c k e t c a n n o t b e u n d o n e a n d p a c k e t s c a n b e s e n t i n a s u b s e - q u e n c e , o A s e n s o r i s n o t a l l o w e d t o r e c e i v e a p a c k e t u n l e s s i t s p r e d e c e s s o r n e i g h b o r h a s i t , 2 6 5 e A s e n s o r m a y n o t s e n d a p a c k e t t h a t i t h a s n o t o b t a i n e d y e t . 0 F i n a l l y , t h e c u r r e n t s - v a l u e o f a s e n s o r s h o u l d r e f l e c t t h e p a c k e t i t e x p e c t s f r o m t h e n e i g h b o r i n g s e n s o r . T h u s , t h e s a f e t y s p e c i fi c a t i o n o f I n f u s e i s f o r m a l l y a s f o l l o w s : S P E C t h f = a p e { 1 . . N } : : ( 1 " , . p < 7 ‘ . p ) v ( 7 " . p > r . p + 1 ) v a p e { 1 . . N — 1 } : : ( 7 " . p = r . p + 1 ) A ( ( T ’ r 7 4 . 9 . ( 7 1 — 1 ) ) A ( 7 " 4 0 7 6 S - ( q + 1 ) ) ) V ( M N = r . N + 1 A r ’ . N 7 é s . ( N — 1 ) ) v a p e { 0 . . N } : : ( r ’ . p < s ’ . p ) v a p e { 0 . . N — 1 } ; ; ( 4 p > r . ( p + l ) + l ) A ( s ’ . p < r . ( p + 1 ) + I ) . I n v a r i a n t . I n f o r m a l l y , t h e i n v a r i a n t o f I n f u s e s p e c i fi e s t h e f o l l o w i n g s e t o f l e g i t i m a t e s t a t e s : I t i s i l l e g i t i m a t e f o r a s e n s o r t o s e n d a p a c k t h a t i t h a s n o t r e c e i v e d . T h e p a c k e t t o b e s e n t b y a s e n s o r m u s t b e e x p e c t e d b y i t s s u c c e s s o r s e n s o r . T h e b a s e s t a t i o n i n i t i a l l y o w n s a l l t h e p a c k e t s . F i n a l l y , a s e n s o r s h o u l d n o t h a v e a p a c k e t t h a t i t s p r e d e c e s s o r s e n s o r d o s e n o t . T h u s , t h e i n v a r i a n t o f I n f u s e i s f o r m a l l y d e fi n e d a s f o l l o w s : i s a s f o l l o w s : 2 6 6 1 7 1 . 0 1 ] : = ( V p E { 0 . . N } : : 3 . 1 ) g T . p ) A ( 3 . 0 _ < _ r . 1 + 1 ) A ( v a { 1 . . N — 1 } : : ( s q g r . ( p — 1 ) + I ) A ( 5 . ) ; : r . ( p + 1 ) + 1 ) ) A ( 3 . 1 V g r . ( N — l ) + 1 ) A ( r 0 = M ) A ( V p E { 1 . . N } : : r . p g r . ( p — 1 ) ) F a u l t - t o l e r a n t p r o g r a m . G i v e n I f , F , S P E C t h f , a n d I n v a , t h e o u t — p u t o f o u r a l g o r i t h m i s a f a u l t - t o l e r a n t v e r s i o n o f I n f u s e , d e n o t e d 1 7 ' . A d d i n g f a u l t - t o l e r a n c e t o I ] : b a s i c a l l y r e s u l t s i n s y n t h e s i z i n g r e c o v e r y p a t h s . T h i s i s d u e t o t h e f a c t t h a t o c c u r r e n c e o f f a u l t s d o e s n o t l e a d t h e p r o g r a m t o a s t a t e f r o m w h e r e s a f e t y m a y b e v i o l a t e d . H e n c e , t h e o n l y t a s k A l g o r i t h m A d d _ S y m b o l i c - F T n e e d s t o a c c o m p l i s h i s t o g u a r a n t e e d e a d l o c k f r e e d o m . A n d , s u c h d e a d l o c k f r e e d o m c a n b e a c h i e v e d b y a d d i n g s a f e r e c o v e r y a n d n o s t a t e e l i m i n a t i o n i s r e q u i r e d . F o r m a l l y , t h e f a u l t - t o l e r a n t o f I n f u s e i s t h e f o l l o w i n g p r o g r a m : I f ’ O j : : ( r . j = r . ( j + 1 ) ) A ( 5 . 0 - — 1 ) = 1 - . j + 1 ) — > r . j , s . j : = r . j + 1 , s . j + l ; I f ’ l j : : ( s . j > r . ( j + 1 ) + 1 ) — — — > s . j : = r . ( j + 1 ) + 1 ; I f ’ 2 j : : ( s . j > r . ( j + 1 ) + 1 ) A ( s . ( j — l ) = r . j + 1 ) — — — — > s . j , r . j : 2 r . ( j + 1 ) + 1 , r . j + 1 ; 2 6 7 i _ r y v 4 ‘ C I ) w h e r e j E { 1 . . N — 1 } . A c t i o n s o f t h e b a s e s t a t i o n a n d s e n s o r N c a n b e d e r i v e d s i m i l a r l y . O b s e r v e t h a t Z F I O J - i s a n u n c h a n g e d a c t i o n . A c t i o n s I ] : ’ 1 j a n d I f ’ 2 j a r e r e c o v e r y a c t i o n s a n d r e s o l v e r e a c h a b l e d e a d l o c k s t a t e s . E s s e n t i a l l y , t h e s e a c t i o n s e n a b l e t h e p r o g r a m t o r e t r a n s m i t p a c k e t s t h a t a r e l o s t w h i l e m a i n t a i n i n g t h e s a f e t y s p e c i fi c a t i o n t o k e e p t h e c o r r e c t s e q u e n c e o f p a c k e t t r a n s m i s s i o n . F i g u r e 1 1 . 6 s h o w s t h e r e s u l t o f o u r e x p e r i m e n t s w i t h r e s p e c t t o I n f u s e . W e n o t e t h a t I ] : d o e s n o t r e a c h s t a t e s t h a t n e e d t o b e e l i m i n a t e d . I n a d d i t i o n , t h e s t a t e - t r a n s i t i o n g r a p h o f I n f u s e d o e s n o t i n c l u d e c y c l e s . T h u s , c y c l e d e t e c t i o n a n d s t a t e e l i m i n a t i o n d o n o t p l a y a n y r o l e i n a d d i n g f a u l t - t o l e r a n c e t o I f . G i v e n t h e s e f a c t s , F i g u r e 1 1 . 6 i s s e l f - e v i d e n t i n d e s c r i b i n g t h e b e h a v i o r o f A l g o r i t h m S y m b o l i c A d d f T w i t h r e s p e c t t o I n f u s e . T h e m a j o r i t y o f t o t a l s y n t h e s i s t i m e i s s p e n t t o a d d s a f e r e c o v e r y w h i c h i s e x p e c t e d d u e t o t h e s t r u c t u r e o f I n f u s e . O n e c a n a l s o o b s e r v e t h a t t h e f a u l t - s p a n g e n e r a t i o n t i m e i s n e g l i g i b l e . T h i s i s d u e t o t h e f a c t t h a t t h e d i a m e t e r o f t h e s t a t e - t r a n s i t i o n g r a p h o f I n f u s e i s s h o r t . 2 6 8 C h a p t e r 1 2 T h e T o o l S Y C R A F T T h i s c h a p t e r d e s c r i b e s t h e t o o l S Y C R A F T ( S Y m b o l t C s y n t h e s i z e R a n d A d d e r o f F a u l t - T o l e r a n c e ) . I n S Y C R A F T , a d i s t r i b u t e d f a u l t - i n t o l e r a n t p r o g r a m i s s p e c i fi e d i n t e r m s o f a s e t o f p r o c e s s e s a n d a n i n v a r i a n t . E a c h p r o c e s s i s s p e c i fi e d a s a s e t o f a c t i o n s i n a g u a r d e d c o m m a n d l a n g u a g e , a s e t o f v a r i a b l e s t h a t t h e p r o c e s s c a n r e a d , a n d a s e t o f v a r i a b l e s t h a t t h e p r o c e s s c a n w r i t e . G i v e n a s e t o f f a u l t a c t i o n s a n d a s p e c i fi c a t i o n , t h e t o o l t r a n s f o r m s t h e i n p u t d i s t r i b u t e d f a u l t - i n t o l e r a n t p r o g r a m i n t o a d i s t r i b u t e d f a u l t - t o l e r a n t p r o g r a m v i a a s y m b o l i c i m p l e m e n t a t i o n o f r e s p e c t i v e a l g o r i t h m s . T h e t o o l h a s b e e n t e s t e d u s i n g v a r i o u s c a s e s t u d i e s . T h e s e c a s e s t u d i e s i n c l u d e p r o b l e m s f r o m t h e l i t e r a t u r e o f f a u l t - t o l e r a n t c o m p u t i n g i n d i s t r i b u t e d s y s t e m s ( e . g . , B y z a n t i n e a g r e e m e n t , B y z a n t i n e a g r e e m e n t w i t h f a i l - s t o p f a u l t s , B y z a n t i n e a g r e e m e n t w i t h c o n s t r a i n e d s p e c i fi c a t i o n , t o k e n r i n g , t r i p l e m o d u l a r r e d u n d a n c y , a l t e r n a t i n g b i t p r o t o c o l ) a s w e l l a s e x a m p l e s f r o m r e s e a r c h a n d i n d u s t r i a l i n s t i t u t i o n s ( e . g . , a n a l t i - t u d e s w i t c h c o n t r o l l e r [ B H O O ] , a n d a d a t a d i s s e m i n a t i o n p r o t o c o l i n s e n s o r n e t w o r k s [ K A 0 6 ] ) . S Y C R A F T i s w r i t t e n i n C + + a n d t h e s y m b o l i c a l g o r i t h m s a r e i m p l e m e n t e d 2 6 9 u s i n g t h e G l u / C U D D 2 . 1 p a c k a g e l . T h e s o u r c e c o d e o f S Y C R A F T i s f r e e l y a v a i l a b l e a n d c a n b e d o w n l o a d e d f r o m h t t p : / / w w w . c s e . m s u . e d u / ~ b o r z o o / s y c r a f t . I n s t a l - l a t i o n i n s t r u c t i o n s a n d o t h e r r e s o u r c e s a r e a l s o a v a i l a b l e i n t h e w e b s i t e . T h e t o o l h a s b e e n t e s t e d o n S u n S o l a r i s , M a c O S , a n d v a r i o u s d i s t r i b u t i o n s o f L i n u x ( e . g . , D e b i a n , U b u n t u , a n d F e d o r a ) . T h i s c h a p t e r i s o r g a n i z e d a s f o l l o w s . F i r s t , i n S e c t i o n 1 2 . 1 , w e p r e s e n t t h e g r a m - m a r f o r i n p u t p r o g r a m s t o S Y C R A F T . T h e n , i n S e c t i o n s 1 2 . 4 - 1 2 . 6 , w e p r e s e n t t h r e e e x a m p l e s f o r s p e c i f y i n g p r o g r a m s , i n v a r i a n t s a n d s a f e t y s p e c i fi c a t i o n s i n S Y C R A F T . 1 2 . 1 S Y C R A F T I n p u t P r o g r a m L a n g u a g e a n d G r a m m a r E v e r y i n p u t p r o g r a m t o S Y C R A F T h a s e i g h t d e c l a r a t i o n s e c t i o n s . T h e s e s e c t i o n s a r e m e a n t t o d e c l a r e p r o g r a m n a m e , c o n s t a n t s , v a r i a b l e s , p r o c e s s e s , f a u l t s , i n v a r i a n t , s a f e t y s p e c i fi c a t i o n , a n d fi n a l l y a t r a n s i t i o n p r e d i c a t e w h i c h t h e o u t p u t p r o g r a m i s p r o h i b i t e d t o e x e c u t e . < p r o g > : : = < p r o g d e c l > < c o n s t d e c 1 > < v a r d e c l > < p r o c d e c 1 > < f a u 1 t d e c l > < i n v a r i a n t d e c 1 > < s p e c d e c 1 > < p r o h i b i t e d > < p r o g d e c l > : : = ” p r o g r a m " < i d e n t i f i e r > , 1 D e t a i l s a b o u t C o l o r a d o U n i v e r s i t y D e c i s i o n D i a g r a m P a c k a g e a r e a v a i l a b l e a t h t t p : / / v l s i . c o l o r a d o . e d u / ~ f a b i o / C U D D / c u d d I n t r o . h t m l . 2 7 0 T h e r u l e < i d e n t i fi e r > i s r e d u c e d b y S Y C R A F T ’ S l e x i c a l a n a l y z e r a n d r e t u r n e d a s a t o k e n . A n i d e n t i fi e r c a n b e a n y c o m b i n a t i o n o f a l p h a n u m e r i c c h a r a c t e r s . T h e o n l y c o n s t r a i n t s a r e a n i d e n t i f i e r h a s t o s t a r t w i t h a n a l p h a b e t a n d c a s e m a t t e r s . A t y p i c a l s t r u c t u r e o f a S Y C R A F T i n p u t p r o g r a m i s i l l u s t r a t e d b e l l o w : 2 7 1 p r o g r a m M y P r o g r a m ; C O I ‘ I S t v a r p r o c e s s p 1 e n d p r o c e s s p r o c e s s p 2 e n d p r o c e s s f a u l t M y F a u l t s e n d f a u l t i n v a r i a n t s p e c i f i c a t i o n p r o h i b i t e d 2 7 2 1 2 . 1 . 1 P r o g r a m , C o n s t a n t , a n d V a r i a b l e D e c l a r a t i o n W e n o w d e s c r i b e e a c h d e c l a r a t i o n s e c t i o n b y s t a r t i n g f r o m c o n s t a n t s . C o n s t a n t s a r e o f t e n u s e d t o f a c i l i t a t e p a r a m e t e r i z i n g B o o l e a n s a n d i n t e g e r s s u c h a s d o m a i n o f v a r i a b l e s , n u m b e r o f p r o c e s s e s , o r r a n g e o f q u a n t i fi e r s . < c o n s t d e c l > = “ c o n s t ” < c o n s t l i s t > | < e m p t y > < c o n s t 1 i s t > = < c o n c r e t e c o n s t > | < c o n s t l i s t > < c o n c r e t e c o n s t > < c o n c r e t e c o n s t > z z = “ i n t " < i d e n t i f u e r > " = " < g u a r d > “ ; " I ” b o o l e a n " < i d e n t i f i e r > ” z " < g u a r d > < e m p t y > : : = W e e x p l a i n t h e r u l e < g u a r d > i n d e t a i l i n t h e n e x t s e c t i o n . F o r n o w , a g u a r d c a n b e a n y c o m b i n a t i o n o f a r i t h m e t i c a n d B o o l e a n e x p r e s s i o n s , i n c l u d i n g a s i n g l e i n t e g e r o r B o o l e a n . F o r e x a m p l e , t h e f o l l o w i n g i s a c o n s t a n t d e c l a r a t i o n : c o n s t i n t N = 2 ; i n t b o t = 2 ; i n t M = N - 1 ; 2 7 3 I n S Y C R A F T , v a r i a b l e s a r e o f t w o t y p e s : n o n n e g a t i v e i n t e g e r a n d B o o l e a n . N o t e t h a t S Y C R A F T d o e s n o t h a v e a p e r f e c t t y p e c h e c k e r a n d i t i s u s e r ’ s r e s p o n s i b i l i t y t o e n s u r e c o r r e c t t y p e c h e c k i n g . E a c h i n t e g e r m u s t b e d e c l a r e d a l o n g w i t h i t s d o m a i n . T h e l o w e r - b o u n d o f a n i n t e g e r d o m a i n m u s t b e z e r o , b u t i t s u p p e r b o u n d i s o p t i o n a l . V a r i a b l e s c a n b e d e fi n e d a s a n a r r a y . T h e i n d e x o f t h e fi r s t e l e m e n t o f a n a r r a y i s a l w a y s z e r o . < v a r d e c l > = ” v a r " < v a r l i s t > < v a r l i s t > = < c o n c r e t e v a r > l < v a r 1 i s t > < c o n c r e t e v a r > < c o n c r e t e v a r > : : = < b o o l d e c 1 > I < i n t d e c l > < b o o l d e c 1 > = ” b o o l e a n " < i d e n t i f u e r > l ” b o o l e a n " < i d e n t i f i e r > " . " < r a n g e > ” ; " < r a n g e > : : = < r a n g e d e l i m > “ " < r a n g e d e l i m > < r a n g e d e l i m > = < g u a r d > < i n t d e c l > : : = ” i n t " < i n d e t i f i e r > " : d o m a i n " < r a n g e > ” ; " l N ‘ ” _ n I n t " < i d e n t i f i e r > “ . " < r a n g e > " : d o m a i n " < r a n g e > , F o r e x a m p l e , t h e f o l l o w i n g i s a v a r i a b l e d e c l a r a t i o n . 2 7 4 v a r b o o l e a n b g ; b o o l e a n b . 0 . . N ; b o o l e a n f . 0 . . N ; i n t d g : d o m a i n 0 . . 1 ; i n t d . 0 . . N : d o m a i n 0 2 ; O n e c a n r e f e r t o e l e m e n t s o f a r r a y d d e c l a r e d a b o v e , b y d . 0 , d . 1 , . . . , d . N . O n e c a n a l s o u s e e x p r e s s i o n s s u c h a s d . ( i + 1 ) w h e r e i i s a n i n t e g e r r a n g e s o v e r 0 . . N - 1 . W e e x p l a i n p a r a m e t e r i z e d v a r i a b l e e l e m e n t s i n t h e n e x t s e c t i o n . 1 2 . 1 . 2 P r o c e s s D e c l a r a t i o n a n d S t r u c t u r e A s m e n t i o n e d e a r l i e r , a d i s t r i b u t e d p r o g r a m c o n s i s t s o f a s e t o f p r o c e s s e s . I n S Y C R A F T , e a c h p r o c e s s i n c l u d e s : 1 . A s e t o f p r o c e s s a c t i o n s g i v e n i n g u a r d e d c o m m a n d s , 2 . A f a u l t s e c t i o n w h i c h a c c o m m o d a t e s f a u l t a c t i o n s t h a t t h e p r o c e s s i s s u b j e c t t o , 3 . a p r o h i b i t e d s e c t i o n w h i c h d e fi n e s a s e t o f t r a n s i t i o n s t h a t t h e p r o c e s s i s n o t a l l o w e d t o e x e c u t e , 4 . a s e t o f v a r i a b l e s t h a t t h e p r o c e s s i s a l l o w e d t o r e a d , a n d 2 7 5 5 . a s e t o f v a r i a b l e s t h a t t h e p r o c e s s i s a l l o w e d t o w r i t e . T h e s y n t a x o f a c t i o n s i s o f t h e f o r m g — — > s t , w h e r e t h e g u a r d g i s a B o o l e a n e x p r e s s i o n a n d s t a t e m e n t s t i s a s e t o f ( p o s s i b l y n o n - d e t e r m i n i s t i c ) a s s i g n m e n t s . T h e s e m a n t i c s o f a c t i o n s i s s u c h t h a t a t e a c h t i m e , o n e o f t h e a c t i o n s w h o s e g u a r d i s e v a l - u a t e d a s t r u e i s c h o s e n t o b e e x e c u t e d n o n - d e t e r m i n i s t i c a l l y . T h e r e a d - w r i t e r e s t r i c - t i o n s m o d e l t h e i s s u e o f d i s t r i b u t i o n i n t h e i n p u t p r o g r a m . N o t e t h a t i n S Y C R A F T , f a u l t a c t i o n s a r e a b l e t o r e a d a n d w r i t e a l l t h e p r o g r a m v a r i a b l e s . P r o h i b i t e d t r a n s i - t i o n s a r e s p e c i fi e d a s a c o n j u n c t i o n o f a n ( u n p r i m e d ) s o u r c e p r e d i c a t e a n d a ( p r i m e d ) t a r g e t p r e d i c a t e . < p r o c d e c 1 > : : = < p r o c s t r u c t > I < p r o c d e c l > < p r o c s t r u c t > < p r o c s t r u c t > : : = ” p r o c e s s " < i d e n t i f i e r > < p r o c r a n g e > < f a u 1 t d e c 1 > < p r o h i b i t e d > < r w r e s t r i c t > “ e n d p r o c e s s " < p r o c r a n g e > : : = < r a n g e > I < e m p t y > F o r e x a m p l e , a p r o c e s s d e c l a r a t i o n s t e m p l a t e w i t h o u t r a n g e i s t h e f o l l o w i n g : 2 7 6 p r o c e s s M y P r o c e s s g u a r d e d c o m m a n d s f a u l t a c t i o n s p r o h i b i t e d t r a n s i t i o n s r e a d / w r i t e r e s t r i c t i o n s e n d p r o c e s s L i k e w i s e , a n a r r a y o f s y m m e t r i c p r o c e s s e s c a n b e d e f i n e d a s f o l l o w s : p r o c e s s j : 0 . . N e n d p r o c e s s W e e m p h a s i z e t h a t f a u l t a c t i o n s a n d p r o h i b i t e d t r a n s i t i o n s s e c t i o n s a r e a l l o w e d t o b e e m p t y i n a p r o c e s s . T h e r e a s o n f o r p r o v i d i n g t h e f e a t u r e o f d e fi n i n g a n a r r a y o f p r o - c e s s e s i s d u e t o t h e f a c t t h a t m a n y d i s t r i b u t e d p r o g r a m s c o n s i s t o f i d e n t i c a l p r o c e s s e s 2 7 7 t h a t c a n b e m o d e l e d t h r o u g h p a r a m e t r i z a t i o n . W e n o w d e s c r i b e c o n s t i t u e n t s o f a p r o c e s s . F i r s t , t h e s e t o f g u a r d e d c o m m a n d s w h i c h e s s e n t i a l l y m o d e l t h e b e h a v i o r o f a p r o c e s s . < a c t i o n s > : : = < a c t i o n l i s t > < a c t i o n l i s t > : : = < a c t i o n > I < a c t i o n l i s t > ” " < a c t i o n > < a c t i o n > : : = < g u a r d > ” - - > " < s t a t e m e n t > T h e f o l l o w i n g i s a n e x a m p l e o f t w o g u a r d e d c o m m a n d s ( a c t i o n s ) j o i n e d b y " " [ ] o p e r a t o r : ( d . j = = b o t ) & ! f . j & ! b . j - - > d . j : 2 d g ; [ I ( d . j ! = b o t ) & ! f . j & ! b . j - - > f . j : = t r u e ; W e n o w d e s c r i b e e a c h n o n t e r m i n a l o f t h e a b o v e r u l e s f o r d e fi n i n g a p r o c e s s . T h e fi r s t r u l e i s < g u a r d > . A g u a r d i s e s s e n t i a l l y a c o m b i n a t i o n o f q u a n t i fi e d B o o l e a n a n d a r i t h m e t i c e x p r e s s i o n s . < g u a r d > : : = < g u a r d > " 8 4 " < g u a r d > l ‘ 4 ' " < g u a r d > < g u a r d > I 2 7 8 < g u a r d > “ = > " < g u a r d > I < g u a r d > " " " < g u a r d > | “ ! " < g u a r d > | ” e x i s t s " < b o u n d l i s t > ” i n < r a n g e > < q u a n t c o n d > ' 2 : ( " < g u a r d > " " ) l ” f o r a l l " < b o u n d l i s t > i n " < r a n g e > < q u a n t c o n d > “ z : ( " < g u a r d > ” " ) l < a r i t h m a t i c e x p > l < c o m p a r i s o n > < b o u n d l i s t > : : = < i d e n t i f i e r > | < b o u n d l i s t > < i d e n t i f i e r > < q u a n t c o n d > : : = " 2 ( " < g u a r d > ” ) I < e m p t y > T h e fi r s t fi v e r u l e s o f “ g u a r d " a r e c o n c e r n e d w i t h l o g i c a l a n d , o r , i m p l i c a t i o n , x o r , a n d n e g a t i o n o p e r a t o r s , r e s p e c t i v e l y . T h e n e x t t w o r u l e s a r e c o n c e r n e d w i t h u n i v e r s a l a n d e x i s t e n t i a l q u a n t i fi e r s , r e s p e c t i v e l y . A q u a n t i fi e r h a s a l i s t o f b o u n d v a r i a b l e s s e p — a r a t e d b y c o m m a . A l l v a r i a b l e s m u s t b e f r o m t h e s a m e r a n g e . M o r e o v e r , a q u a n t i fi e r m a y h a v e t w o c o n d i t i o n s d e t e r m i n e d b y t h e i n t e r n a l n o n t e r m i n a l s < q u a n t c o n d > a n d < g u a r d > . T h e fi r s t c o n d i t i o n r e d u c e d b y r u l e < q u a n t c o n d > i s o n b o u n d v a r i a b l e s . T h e s e c o n d c o n d i t i o n i s o n w h i c h S Y C R A F T ’ S c o m p i l e r e l i m i n a t e s t h e q u a n t i fi e r . A l t h o u g h t h e a b o v e g r a m m a r a l l o w s n e s t e d q u a n t i fi e r s , w e e m p h a s i z e t h a t S Y C R A F T ’ S c o d e g e n e r a t o r c u r r e n t l y d o e s n o t s u p p o r t n e s t e d q u a n t i fi e r s . I n o t h e r w o r d s , a n i n p u t p r o g r a m c o n t a i n i n g n e s t e d q u a n t i fi e r s m a y c o m p i l e s u c c e s s f u l l y , 2 7 9 b u t t h e c o r r e s p o n d i n g B D D s w o u l d e n c o d e a d i f f e r e n t e x p r e s s i o n . W e d e s c r i b e t h e s y n t a x o f a r i t h m e t i c a n d c o m p a r i s o n e x p r e s s i o n s l a t e r i n t h i s s e c t i o n . T h e f o l l o w i n g i s a n e x a m p l e o f a B o o l e a n e x p r e s s i o n w i t h o u t a r i t h m e t i c e x p r e s s i o n : ! b g & ( f o r a l l p , q i n 0 . . N : ( p ! = q ) : : ( ! b . p | ! b . q ) ) w h e r e i s N i s a c o n s t a n t . W e n o t e t h a t i n S Y C R A F T , e q u a l i t y o f B o o l e a n v a r i a b l e s h a s t o b e e x p r e s s e d u s i n g B o o l e a n o p e r a t o r s o n l y . F o r i n s t a n c e , t h e f o l l o w i n g e x p r e s s i o n s a r e n o t m e a n i n g f u l t o S Y C R A F T : o ( x = = t r u e ) , 0 ( x = 2 f a l s e ) , 0 ( x = = y ) , a n d e ( x ! = y ) . T h e r i g h t w a y t o w r i t e t h e a b o v e e x p r e s s i o n s i n S Y C R A F T i s r e s p e c t i v e l y a s f o l l o w s : ! ( x ‘ y ) , a n d 2 8 0 I n a d d i t i o n t o l o g i c a l o p e r a t o r s , e x p r e s s i o n s c a n c o n t a i n a r i t h m e t i c e x p r e s s i o n s a n d i n t e g e r c o m p a r i s o n s a s w e l l . A r i t h m e t i c e x p r e s s i o n s m a y i n c l u d e a d d i t i o n , s u b t r a c — t i o n , a n d m o d u l o o p e r a t o r s . C o m p a r i s o n s m a y i n v o l v e e q u a l i t y , i n e q u a l i t y , g r e a t e r t h a n , l e s s t h a n , g r e a t e r t h a n o r e q u a l , a n d l e s s t h a n o r e q u a l c o m p a r i s o n s . A s m e n - t i o n e d e a r l i e r , e q u a l i t y a n d i n e q u a l i t y a r e n o t m e a n t t o b e u s e d f o r B o o l e a n v a r i a b l e s . < a r i t h m a t i c e x p > : : = < a r i t h m a t i c e x p > ” + " < a r i t h m a t i c e x p > I < a r i t h m a t i c e x p > “ - " < a r i t h m a t i c e x p > I < a r i t h m a t i c e x p > " ° / o " < a r i t h m a t i c e x p > I ” " ( < g u a r d > ” " ) I < n u m b e r > I < i d > I “ t r u e " I ” f a l s e " < c o m p a r i s o n > < a r i t h m a t i c e x p > 2 : < a r i t h m a t i c e x p > l < a r i t h m a t i c e x p > < a r i t h m a t i c e x p > | < a r i t h m a t i c e x p > > < a r i t h m a t i c e x p > l < a r i t h m a t i c e x p > < < a r i t h m a t i c e x p > I < a r i t h m a t i c e x p > > = < a r i t h m a t i c e x p > l < a r i t h m a t i c e x p > < = < a r i t h m a t i c e x p > l 2 8 1 < i d > : : = < i d e n t i f i e r > I < i d e n t i f i e r > ” ' " I < i d e n t i f i e r > " " < a r i t h m a t i c e x p > I < i d e n t i f i e r > ” " < a r i t h m a t i c e x p > “ ' " T h e f o l l o w i n g i s a n e x a m p l e o f a n e x p r e s s i o n t h a t i n v o l v e s b o t h B o o l e a n a n d a r i t h m e t i c o p e r a t o r s a l o n g w i t h c o m p a r i s o n s : f o r a l l q i n 1 . . K : : ( ( s . q < = r . ( q - l ) + 1 ) 8 4 ( s q < = r . ( q + 1 ) + 1 ) ) w h e r e s a n d r a n d t w o a r r a y s o f i n t e g e r s a n d K i s a c o n s t a n t . I n a n e x p r e s s i o n a ( B o o l e a n o r i n t e g e r ) v a r i a b l e c a n a p p e a r i n f o u r d i f f e r e n t f o r m s ( c f . t h e < i d > r u l e ) . A v a r i a b l e c a n b e e i t h e r p r i m e d o r u n p r i m e d . A p r i m e d v a r i a b l e i s m e a n t t o e x p r e s s t h e n e x t - s t a t e v a l u e o f t h e v a r i a b l e . F o r e x a m p l e , i f x i s a B o o l e a n v a r i a b l e , ( x & ! x ‘ ) e x p r e s s e s a t r a n s i t i o n w h e r e x i s t r u e i n t h e s o u r c e s t a t e , b u t i t b e c o m e s f a l s e i n t h e t a r g e t s t a t e . A v a r i a b l e m a y a l s o b e i n d e x e d o r u n i n d e x e d . F o r i n s t a n c e , b g i s u n i n d e x e d . A n i n d e x e d v a r i a b l e i s o n e t h a t i s d e c l a r e d i n a n a r r a y a n d i s u s e d a l o n g w i t h a n a r i t h m e t i c e x p r e s s i o n a s p a r a m e t e r . F o r i n s t a n c e , d . ( i + 1 ) i s a n i n d e x e d v a r i a b l e w h i c h r e f e r s t o e l e m e n t ( i + 1 ) i n a r r a y d w h e r e i c a n b e a p r o c e s s r a n g e , q u a n t i fi e r , o r s i m p l y a c o n s t a n t . W e n o t e t h a t i f a n i n d e x e d v a r i a b l e i s p r i m e d , i t s i n d e x m u s t a p p e a r i n p a r e n t h e s e s a n d t h e p r i m e c h a r a c t e r m u s t b e p l a c e a f t e r t h e r i g h t p a r e n t h e s i s . F o r i n s t a n c e , b . i ' i s a m e a n i n g l e s s p r i m e d i n d e x v a r i a b l e . T h e r i g h t 2 8 2 w a y t o w r i t e t h i s v a r i a b l e i s b . ( i ) ‘ . A n o t h e r e x a m p l e o f a p r i m e d i n d e x e d v a r i a b l e i s d . ( i - 1 ) ' . F i n a l l y , a g u a r d e d c o m m a n d e n d s w i t h a s t a t e m e n t , w h i c h i s a s e t o f d e t e r m i n i s t i c o r n o n - d e t e r m i n i s t i c a s s i g n m e n t s . < s t a t e m e n t > : : = ” " ( < s t a t e m e n t > “ " ) I < s t a t e m e n t > ” " fl < s t a t e m e n t > I H H < s t a t e m e n t > , < s t a t e m e n t > I < s t a t e m e n t s t r u c t > < s t a t e m e n t s t r u c t > : : = < i d > " : = " < a r i t h m a t i c e x p > P r e c i s e l y , g i v e n a n a c t i o n , a n o n - d e t e r m i n i s t i c a s s i g n m e n t ( i . e . , , o p e r a t o r ) s t i p u l a t e s t h a t o n e a s s i g n m e n t i s c h o s e n n o n i d e t e r m i n i s t i c a l l y w h e n t h e g u a r d o f t h e a c t i o n h o l d s . F o r e x a m p l e , a g u a r d e d c o m m a n d w i t h n o n — d e t e r m i n i s t i c a s s i g n m e n t i s a s f o l l o w s : ( b . j ) - - > ( d . j : = 1 ) [ ] ( d . j : = 0 ) [ ] ( f . j : = f a l s e ) [ ] ( f . j : = t r u e ) ; T o t h e c o n t r a r y , i n a d e t e r m i n i s t i c a s s i g n m e n t , a l l a s s i g n m e n t s a r e c o n s i d e r e d t o d e t e r m i n e t h e n e x t s t a t e . T h e f o l l o w i n g g u a r d e d c o m m a n d c o n t a i n s d e t e r m i n i s t i c a s s i g n m e n t s . 2 8 3 ( c s I : 2 ) 8 2 ( b r = 2 O ) - - > ( c s : 2 2 ) , ( r r : 2 t r u e ) ; W e n o t e t h a t a l t h o u g h t h e S Y C R A F T g r a m m a r a l l o w s a c o m b i n a t i o n o f d e t e r m i n - i s t i c a n d n o n - d e t e r m i n i s t i c a s s i g n m e n t s , s u c h c o m b i n a t i o n s a r e n o t h a n d l e d d u r i n g t r a n s l a t i o n o f g u a r d e d c o m m a n d s t o B D D S . A f a u l t s e c t i o n i n s i d e a p r o c e s s e x p r e s s e s t h e s e t o f f a u l t t r a n s i t i o n s t h a t t h e p r o c e s s i s s u b j e c t t o . S u c h f a u l t t r a n s i t i o n s a r e m o d e l e d u s i n g g u a r d e d c o m m a n d s . T h u s , f a u l t a n d p r o c e s s a c t i o n s h a v e e x a c t l y t h e s a m e s y n t a x . < f a u 1 t d e c 1 > : : = ” f a u l t s " < i d e n t i f i e r > < a c t i o n s > " e n d f a u l t s " I < e m p t y > R e c a l l t h a t i n a d d i t i o n t o e a c h p r o c e s s o f a p r o g r a m , t h e p r o g r a m i t s e l f m a y h a v e a f a u l t s e c t i o n a s w e l l . T h e s e s e c t i o n a r e a l l o w e d t o b e e m p t y , b u t t h e r e m u s t e x i s t a t l e a s t o n e n o n e m p t y f a u l t s e c t i o n . O t h e r w i s e , i t m e a n s t h a t t h e p r o g r a m i s s u b j e c t t o n o f a u l t s a n d , h e n c e , a d d i n g f a u l t - t o l e r a n c e b e c o m e s i r r e l e v a n t . F i n a l l y , w e d e c l a r e t h e r e a d / r e s t r i c t i o n s o f a p r o c e s s . < r w r e s t r i c t > : : = " r e a d z " < r w l i s t > , ” w r i t e : " < r w l i s t > , < r w l i s t > : : — < i d r a n g e > I < r w l i s t > , < i d r a n g e > U H < i d r a n g e > : : - < i d > I < i d e n t i f i e r > . < r a n g e > 2 8 4 F o r e x a m p l e , t h e f o l l o w i n g i s a l e g a l d e c l a r a t i o n o f r e a d / w r i t e r e s t r i c t i o n s : r e a d : d . 0 . . N , d g , f . j , b . j ; w r i t e : d . j , f . j ; 1 2 . 1 . 3 I n v a r i a n t , S a f e t y S p e c i fi c a t i o n , a n d P r o h i b i t e d T r a n - s i t i o n s D e c l a r a t i o n I n v a r i a n t p r e d i c a t e , s a f e t y s p e c i fi c a t i o n , a n d p r o h i b i t e d t r a n s i t i o n s a r e s i m p l y a c o m - b i n a t i o n o f B o o l e a n a n d a r i t h m e t i c e x p r e s s i o n s . T h e i n v a r i a n t p r e d i c a t e h a s a t r i p l e r o l e : i t ( I ) i s a s e t o f s t a t e s f r o m w h e r e e x e c u t i o n o f t h e p r o g r a m s a t i s fi e s i t s s a f e t y s p e c i fi c a t i o n ( d e s c r i b e d b e l o w ) i n t h e a b s e n c e o f f a u l t s , ( 2 ) m u s t b e c l o s e d i n t h e e x e c u t i o n o f t h e i n p u t p r o g r a m a n d , ( 3 ) s p e c i fi e s t h e r e a c h a b i l i t y c o n d i t i o n o f t h e p r o g r a m , i . e . , i f o c c u r r e n c e o f f a u l t s r e s u l t s i n r e a c h i n g a s t a t e o u t s i d e t h e i n v a r i a n t , t h e ( s y n t h e s i z e d ) f a u l t - t o l e r a n t p r o g r a m m u s t s a f e l y r e a c h t h e i n v a r i a n t p r e d i c a t e i n a fi n i t e n u m b e r o f s t e p s . I n o r d e r t o i n c r e a s e t h e c h a n c e s o f s u c c e s s f u l s y n t h e s i s , i t i s d e s i r e d t h a t S Y C R A F T i s g i v e n t h e w e a k e s t p o s s i b l e i n v a r i a n t . O u r n o t i o n o f s p e c i fi c a t i o n i s b a s e d o n t h e o n e d e fi n e d b y A l p e r n a n d S c h n e i d e r [ A S 8 5 ] . T h e s p e c i fi c a t i o n s e c t i o n d e s c r i b e s t h e s a f e t y s p e c i fi c a t i o n a s a s e t o f b a d p r e fi x e s t h a t s h o u l d n o t b e e x e c u t e d n e i t h e r b y a p r o c e s s n o r a f a u l t a c t i o n . C u r r e n t l y , 2 8 5 t h e s i z e o f s u c h p r e fi x e s i n S Y C R A F T i s t w o ( i . e . , a s e t o f t r a n s i t i o n s ) . S i n c e s a f e t y s p e c i fi c a t i o n a n d p r o h i b i t e d t r a n s i t i o n s m o d e l a s e t o f b a d t r a n s i t i o n s t h a t s h o u l d n o t o c c u r i n a n y p r o g r a m c o m p u t a t i o n , t h e y t y p i c a l l y i n v o l v e p r i m e d v a r i a b l e s t o m o d e l s t a t e s t h a t s h o u l d n o t b e r e a c h e d . T h e i n p u t p r o g r a m a n d i t s p r o c e s s e s m a y o r m a y n o t h a v e p r o h i b i t e d t r a n s i t i o n s . < i n v a r i a n t d e c l > : : = - “ i n v a r i a n t " < g u a r d > < s p e c d e c 1 > : : = " s p e c i f i c a t i o n " < g u a r d > I < e m p t y > < p r o h i b i t e d > : : = ” p r o h i b i t e d " < g u a r d > I < e m p t y > ' W e e m p h a s i z e t h a t t h e m a i n d i f f e r e n c e b e t w e e n t r a n s i t i o n s s p e c i fi e d i n p r o h i b i t e d a n d s p e c i f i c a t i o n s e c t i o n s i s t h a t t r a n s i t i o n s i n p r o h i b i t e d s e c t i o n s h o u l d n o t b e e x e c u t e d b y t h e p r o g r a m o n l y . I n o t h e r w o r d s , i t i s p e r f e c t l y l e g i t i m a t e f o r a f a u l t a c t i o n t o e x e c u t e s a t r a n s i t i o n t h a t i s s p e c i fi e d i n t h e p r o h i b i t e d s e c t i o n . T o t h e c o n t r a r y , t r a n - s i t i o n s ’ s p e c i fi e d i n t h e s p e c i f i c a t i o n a r e n o t a l l o w e d t o b e e x e c u t e d b y b o t h p r o g r a m a n d f a u l t a c t i o n s . W e t y p i c a l l y u s e p r o h i b i t e d t r a n s i t i o n s t o s p e c i f y t r a n s i t i o n t h a t c a n n o t b e u s e d i n o r d e r t o a d d r e c o v e r y p a t h s . 1 2 . 1 . 4 O p e r a t o r P r e c e d e n c e T h e p r e c e d e n c e o f o p e r a t o r s a n d t h e i r a s s o c i a t i v i t y i n S Y C R A F T a r e a s f o l l o w s : 2 8 6 : = l e f t A l e f t = > l e f t I l e f t & l e f t 2 : , I : l e f t > , < , < = , > = l e f t + , - l e f t f o r a l l , e x i s t s l e f t ‘ 7 0 l e f t , l e f t I ] l e f t I l e f t n o n — a s s o c i a t i v e n o n - a s s o c i a t i v e 1 2 . 2 I n t e r n a l F u n c t i o n a l i t y S Y C R A F T i m p l e m e n t s t h r e e n e s t e d s y m b o l i c fi x e d p o i n t c o m p u t a t i o n s p r e s e n t e d i n A l g o r i t h m 1 1 . 1 i n C h a p t e r 1 1 . T h e i n n e r f i x e d p o i n t d e a l s w i t h c o m p u t i n g t h e s e t o f s t a t e s r e a c h a b l e b y t h e i n p u t i n t o l e r a n t p r o g r a m a n d f a u l t t r a n s i t i o n s . T h e s e c o n d fi x e d p o i n t c o m p u t a t i o n i d e n t i fi e s t h e s e t m s o f s t a t e s f r o m w h e r e t h e s a f e t y c o n d i t i o n m a y b e v i o l a t e d b y f a u l t t r a n s i t i o n s . I t m a k e s m s u n r e a c h a b l e b y r e m o v i n g p r o g r a m 2 8 7 t r a n s i t i o n s t h a t e n d i n a s t a t e i n m s . N o t e t h a t i n a d i s t r i b u t e d p r o g r a m , s i n c e p r o c e s s e s c a n n o t r e a d a n d w r i t e a l l v a r i a b l e s , e a c h t r a n s i t i o n i s a s s o c i a t e d w i t h a g r o u p o f t r a n s i t i o n s . T h u s , r e m o v a l o r a d d i t i o n o f a t r a n s i t i o n m u s t b e d o n e a l o n g w i t h i t s c o r r e s p o n d i n g g r o u p . T h e o u t e r fi x e d p o i n t c o m p u t a t i o n d e a l s w i t h r e s o l v i n g d e a d l o c k s t a t e s b y e i t h e r ( i f p o s s i b l e ) a d d i n g s a f e r e c o v e r y s i m p l e p a t h s f r o m d e a d l o c k s t a t e s t o t h e p r o g r a m ’ s i n v a r i a n t p r e d i c a t e , o r , m a k i n g t h e m u n r e a c h a b l e v i a a d d i n g m i n i m a l r e s t r i c t i o n s o n t h e p r o g r a m . W e n o t e t h a t t h e B D D - b a s e d i m p l e m e n t a t i o n o f t h e a f o r e m e n t i o n e d fi x e d p o i n t c o m p u t a t i o n s d o e s n o t a p p l y d y n a m i c v a r i a b l e r e o r d e r i n g i n t h e c u r r e n t v e r s i o n o f S Y C R A F T . F i g u r e s 1 2 . 1 a n d 1 2 . 2 d e m o n s t r a t e ( 1 ) s t e p s o f h e u r i s t i c s i m p l e m e n t e d i n S Y C R A F T , ( 2 ) v e r i fi c a t i o n o f c o r r e s p o n d i n g c o n c e r n s s u c h a s s a t i s f a c t i o n o f s a f e t y , c l o s u r e o f i n v a r i a n t a n d f a u l t - s p a n ( i . e . , t h e s e t o f s t a t e s r e a c h a b l e b y p r o g r a m a n d f a u l t a c t i o n s ) , a n d n o n e x i s t e n c e o f d e a d l o c k s t a t e s f o r e a c h s t e p ( d e n o t e d b y G K a n d F A I L E D ) , a n d ( 3 ) s a t i s f a c t i o n o f fi x e d p o i n t c o m p u t a t i o n s . I n p a r t i c u l a r , t h e t o o l h a s a s o l u t i o n t o t h e s y n t h e s i s p r o b l e m w h e n t h e a n s w e r t o v e r i fi c a t i o n o f a l l a b o v e c o n c e r n s i s a f fi r m a t i v e . T h e p r o b l e m o f s y n t h e s i z i n g d i s t r i b u t e d f a u l t - t o l e r a n t p r o g r a m s i s k n o w n t o b e N P - c o m p l e t e a n d S Y C R A F T i m p l e m e n t s a s e t o f h e u r i s t i c s ( c f . A l g o r i t h m 1 1 . 1 ) t o d e a l w i t h t h i s c o m p l e x i t y . O b v i o u s l y , t h e h e u r i s t i c s a r e i n c o m p l e t e i n t h e s e n s e t h a t t h e y m a y b e u n a b l e t o s y n t h e s i z e a s o l u t i o n w h i l e t h e r e e x i s t s o n e . A l t h o u g h w e h a v e n o t o b s e r v e d t h i s i n c o m p l e t e n e s s i n o u r c a s e s t u d i e s , t h e i n c o m p l e t e n e s s o f h e u r i s t i c s m a y b e o b s e r v e d w h e r e r e c o v e r y t h r o u g h a s t a t e o u t s i d e t h e f a u l t - s p a n i s p o s s i b l e . T h e p e r f o r m a n c e o f t h e s y m b o l i c a l g o r i t h m s t h a t S Y C R A F T i m p l e m e n t s i s d i s - 2 8 8 $ b i n / s y c r a f t e x a m p l e s / B y z a n t i n e A g r e e m e n t . f i n I n i t i a l i z i n g M D D m a n a g e r G 1 u 2 . 1 . . . C o m p i l i n g t h e i n p u t f a u l t — i n t o l e r a n t p r o g r a m . . . C r e a t i n g t h e s y m b o l t a b l e . . . C r e a t i n g i n t o l e r a n t p r o g r a m M D D s . . . I n p u t p r o g r a m c o m p i l e d s u c c e s s f u l l y C o m p u t i n g m s . . . . C o m p u t i n g m t . . . . R u n n i n g t h e s y n t h e s i s a l g o r i t h m s f o r 3 p r o c e s s e s S A F E T Y . . . . . . . . . . . . . . . . . . . . . . . . . O K . D E A D L O C K S . . . . . . . . . . . . . . . . . . . . . . O K . I N V A R I A N T N O N E M P T I N E S S . . . . . . . . . O K . I N V A R I A N T C L O S U R E . . . . . . . . . . . . . . O K . F - S P A N C L O S U R E . . . . . . . . . . . . . . F A I L E D . C o m p u t i n g t h e f a u l t - s p a n . . . R e m o v i n g u n s a f e t r a n s i t i o n s . . . U n s a f e t r a n s i t i o n s r e m o v e d . . . C o m p u t i n g t h e f a u l t - s p a n . . . S t e p 3 - 4 F i x p o i n t r e a c h e d S A F E T Y . . . . . . . . . . . . . . . . . . . . . . . . . O K . D E A D L O C K S . . . . . . . . . . . . . . . . . . F A I L E D . I N V A R I A N T N O N E M P T I N E S S . . . . . . . . . O K . I N V A R I A N T C L O S U R E . . . . . . . . . . . . . . O K . F - S P A N C L O S U R E . . . . . . . . . . . . . . . . . O K . R e s o l v i n g d e a d l o c k s b y a d d i n g r e c o v e r y p a t h s R e m o v i n g u n s a f e t r a n s i t i o n s . . . R e s o l v i n g d e a d l o c k s b y a d d i n g r e c o v e r y p a t h s R e s o l v i n g d e a d l o c k s b y a d d i n g r e c o v e r y p a t h s R e m o v i n g u n s a f e t r a n s i t i o n s . . . R e s o l v i n g d e a d l o c k s b y a d d i n g r e c o v e r y p a t h s R e m o v i n g u n s a f e t r a n s i t i o n s . . . S O M E R E C O V E R Y A C T I O N A D D E D E l i m i n a t i n g r e m a i n i n g d e a d l o c k s t a t e s . . . N o p r o g r a m t r a n s i t i o n s r e m o v e d . S A F E T Y . . . . . . . . . . . . . . . . . . . . . . . . . O K . D E A D L O C K S . . . . . . . . . . . . . . . . . . . . . . O K . I N V A R I A N T N O N E M P T I N E S S . . . . . . . . . O K . I N V A R I A N T C L O S U R E . . . . . . . . . . . . . . O K . F - S P A N C L O S U R E . . . . . . . . . . . . . . F A I L E D . C o m p u t i n g t h e f a u l t - s p a n . . . R e m o v i n g u n s a f e t r a n s i t i o n s . . . S t e p 3 - 4 F i x p o i n t r e a c h e d S A F E T Y . . . . . . . . . . . . . . . . . . . . . . F A I L E D . D E A D L O C K S . . . . . . . . . . . . . . . . . . F A I L E D . I N V A R I A N T N O N E M P T I N E S S . . . . . . . . . O K . I N V A R I A N T C L O S U R E . . . . . . . . . . . . . . O K . F - S P A N C L O S U R E . . . . . . . . . . . . . . F A I L E D . R e s o l v i n g d e a d l o c k s b y a d d i n g r e c o v e r y p a t h s R e m o v i n g u n s a f e t r a n s i t i o n s . . . R e s o l v i n g d e a d l o c k s b y a d d i n g r e c o v e r y p a t h s R e m o v i n g u n s a f e t r a n s i t i o n s . . . S O M E R E C O V E R Y A C T I O N A D D E D E l i m i n a t i n g r e m a i n i n g d e a d l o c k s t a t e s . . . N o p r o g r a m t r a n s i t i o n s r e m o v e d . F i g u r e 1 2 . 1 : A s a m p l e r u n s n a p s h o t o f S Y C R A F T . c u s s e d i n d e t a i l i n C h a p t e r 1 1 u s i n g c a s e s t u d i e s i n c l u d i n g t h e B y z a n t i n e a g r e e m e n t a n d t o k e n r i n g p r o b l e m s w i t h v a r i o u s n u m b e r o f p r o c e s s e s . I n p a r t i c u l a r , b y a p p l y - i n g m o r e a d v a n c e d t e c h n i q u e s t h a n t h o s e i n t r o d u c e d i n C h a p t e r 1 1 ( e . g . , e x p l o i t i n g s y m m e t r y i n d i s t r i b u t e d p r o c e s s e s a n d s t a t e s p a c e p a r t i t i o n i n g ) w e h a v e b e e n a b l e t o s y n t h e s i z e B y z a n t i n e a g r e e m e n t w i t h 3 p r o c e s s e s i n 0 . 0 7 8 a n d u p t o 4 0 p r o c e s s e s 2 8 9 R e m o v i n g u n s a f e t r a n s i t i o n s . . . C y c l e ( s ) d e t e c t e d / r e m o v e d f r o m t h e f a u l t - s p a n . . . S O M E R E C O V E R Y A C T I O N A D D E D E l i m i n a t i n g r e m a i n i n g d e a d l o c k s t a t e s . . . E l i m i n a t i n g s t a t e s . . . E l i m i n a t i n g s t a t e s . . . E l i m i n a t i n g s t a t e s . . . E l i m i n a t i n g s t a t e s . . . E l i m i n a t i n g s t a t e s . . . E l i m i n a t i n g s t a t e s . . . S o m e t h i n g w a s e l i m i n a t e d . r e m a i n i n g d e a d l o c k r e m a i n i n g d e a d l o c k r e m a i n i n g d e a d l o c k r e m a i n i n g d e a d l o c k r e m a i n i n g d e a d l o c k r e m a i n i n g d e a d l o c k S A F E T Y . . . . . . . . . . . . . . . . . . . . . . . . . O K . D E A D L O C K S . . . . . . . . . . . . . . . . . . F A I L E D . I N V A R I A N T N O N E M P T I N E S S . . . . . . . . . O K . I N V A R I A N T C L O S U R E . . . . . . . . . . . . . . O K . F - S P A N C L O S U R E . . . . . . . . . . . . . . . . . O K . C o m p u t i n g t h e f a u l t - s p a n . . . R e m o v i n g u n s a f e t r a n s i t i o n s . . . S t e p 3 - 4 F i x p o i n t r e a c h e d S A F E T Y . . . . . . . . . . . . . . . . . . . . . . . . . O K . D E A D L O C K S . . . . . . . . . . . . . . . . . . F A I L E D . I N V A R I A N T N O N E M P T I N E S S . . . . . . . . . O K . I N V A R I A N T C L O S U R E . . . . . . . . . . . . . . O K . F - S P A N C L O S U R E . . . . . . . . . . . . . . F A I L E D . S A F E T Y . . . . . . . . . . . . . . . . . . . . . . F A I L E D . D E A D L O C K S . . . . . . . . . . . . . . . . . . . . . . O K . I N V A R I A N T N O N E M P T I N E S S . . . . . . . . . O K . I N V A R I A N T C L O S U R E . . . . . . . . . . . . . . O K . F - S P A N C L O S U R E . . . . . . . . . . . . . . F A I L E D . C o m p u t i n g t h e f a u l t - s p a n . . . R e m o v i n g u n s a f e t r a n s i t i o n s . . . S t e p 3 - 4 F i x p o i n t r e a c h e d S t e p 3 - 5 F i x p o i n t r e a c h e d S t e p 3 - 7 F i x p o i n t r e a c h e d S A F E T Y . . . . . . . . . . . . . . . . . . . . . . . . . O K . D E A D L O C K S . . . . . . . . . . . . . . . . . . . . . . O K . I N V A R I A N T N O N E M P T I N E S S . . . . . . . . . O K . I N V A R I A N T C L O S U R E . . . . . . . . . . . . . . O K . F - S P A N C L O S U R E . . . . . . . . . . . . . . . . . O K . T o t a l s y n t h e s i s t i m e = 0 . 1 2 5 s S e l e c t t h e p r o c e s s y o u w i s h t o s e e i t s f a u l t - t o l e r a n t v e r s i o n : ( 1 ) j : 0 . . 2 ( e x a m p l e : ( 2 ) q u i t " j 1 " ) O u t p u t p r o c e s s : D e s t r o y i n g M D D m a n a g e r G 1 u 2 . 1 . . . $ F i g u r e 1 2 . 2 : A s a m p l e r u n s n a p s h o t o f S Y C R A F T . ( r e a c h a b l e s t a t e s o f s i z e 1 0 5 0 ) i n l e s s t h a n 1 0 0 m i n u t e s u s i n g a r e g u l a r p e r s o n a l c o m - p u t e r . 2 9 0 1 2 . 3 O u t p u t F o r m a t T h e o u t p u t o f S Y C R A F T i s a f a u l t - t o l e r a n t p r o g r a m i n t e r m s o f i t s a c t i o n s . S Y C R A F T o r g a n i z e s t h e s e a c t i o n s i n t h r e e c a t e g o r i e s . U n c h a n g e d a c t i o n s e n t i r e l y e x i s t i n t h e i n p u t p r o g r a m . R e v i s e d a c t i o n s e x i s t i n t h e i n p u t p r o g r a m , b u t t h e i r g u a r d o r s t a t e - m e n t h a v e b e e n s t r e n g t h e n e d . S Y C R A F T a d d s R e c o v e r y a c t i o n s t o e n a b l e t h e p r o g r a m t o s a f e l y c o n v e r g e t o i t s i n v a r i a n t p r e d i c a t e . N o t i c e t h a t t h e s t r e n g t h e n e d a c t i o n s p r o - h i b i t t h e p r o g r a m t o r e a c h a s t a t e f r o m w h e r e v a l i d i t y o r a g r e e m e n t i s v i o l a t e d i n t h e p r e s e n c e o f f a u l t s . I t a l s o p r o h i b i t s t h e p r o g r a m t o r e a c h d e a d l o c k s t a t e s f r o m w h e r e s a f e r e c o v e r y i s n o t p o s s i b l e . 1 2 . 4 E x a m p l e 1 : N e v e r 7 T h i s e x a m p l e i s a d a p t e d f r o m M . S c . t h e s i s o f B a s t i a n B r a u n a t U n i v e r s i t y o f M a n n h e i m , G e r m a n y . N o t e t h a t i n B r a u n ’ s t h e s i s t h e o b j e c t i v e i s t o s y n t h e s i z e a f a i l - s a f e p r o g r a m , w h e r e s a f e r e c o v e r y t o t h e p r o g r a m i n v a r i a n t i s n o t r e q u i r e d , w h e r e a s S Y C R A F T s y n t h e s i z e s m a s k i n g f a u l t - t o l e r a n t p r o g r a m s w h e r e s a f e r e c o v e r y i s p r o v i d e d i n o r d e r t o e n s u r e t h a t t h e s y n t h e s i z e d p r o g r a m d o e s n o t d e a d l o c k i n t h e p r e s e n c e o f f a u l t s . T h u s , t h e o u r p r o g r a m i s s l i g h t l y d i f f e r e n t f r o m t h a t d e v e l o p e d b y B r a u n . T h e p r o g r a m ’ s s t a t e - t r a n s i t i o n g r a p h i s i l l u s t r a t e d i n F i g u r e 1 2 . 3 . T h i s p r o g r a m h a s 8 s t a t e s a n d t h e s a f e t y s p e c i fi c a t i o n r e q u i r e s t h a t s t a t e 7 s h o u l d n e v e r b e r e a c h e d . T h e i n v a r i a n t p r e d i c a t e o f t h e p r o g r a m i s t h e s e t { 0 , 1 , 2 } . P r o g r a m a n d f a u l t t r a n - s i t i o n s a r e c l e a r i n t h e fi g u r e . I t i s e a s y t o o b s e r v e t h a t t h e p r o g r a m d o e s n o t r e a c h s t a t e 7 i n t h e a b s e n c e o f f a u l t s , b u t i t m a y r e a c h s t a t e 7 d u e t o t h e o c c u r r e n c e o f 2 9 1 f a u l t s . W e u s e S Y C R A F T t o s y n t h e s i z e a f a u l t - t o l e r a n t p r o g r a m , i . e . , a p r o g r a m t h a t n e v e r r e a c h e s s t a t e 7 i n b o t h a b s e n c e a n d p r e s e n c e o f f a u l t s . F o r t h e s a k e o f i l l u s t r a - t i o n , w e r e q u i r e t h a t p o t e n t i a l t r a n s i t i o n s ( 6 , 1 ) , ( 6 , 2 ) , a n d ( 3 , 0 ) s h o u l d n o t b e u s e d f o r a d d i n g r e c o v e r y c o m p u t a t i o n s . / / i \ \ / | \ \ ‘ ” / — - > p r o g r a m - - - > f a u l t F i g u r e 1 2 . 3 : N e v e r 7 p r o g r a m s t a t e - t r a n s i t i o n g r a p h . W e n e w m o d e l t h i s p r o g r a m i n S Y C R A F T ’ S i n p u t l a n g u a g e . W e u s e a v a r i a b l e s t a t e w i t h d o m a i n 0 . 7 w h i c h e n c o d e s e a c h s t a t e s h o w n i n F i g u r e 1 2 . 3 . W e d e c l a r e a n d d e fi n e o n l y o n e p r o c e s s a n d t h i s p r o c e s s c a n r e a d a n d w r i t e t h e v a r i a b l e s t a t e , a s t h e r e i s n o d i s t r i b u t i o n i n v o l v e d . I t i s s t r a i g h t f o r w a r d t o s e e t h a t t h e g u a r d e d c o m m a n d s i n p r o c e s s t r a n s o f F i g u r e 1 2 . 4 m o d e l t h e t r a n s i t i o n s i n F i g u r e 1 2 . 3 . O b v i o u s l y , p r o c e s s t r a n s c a n r e a d a n d w r i t e v a r i a b l e s t a t e w h i c h c o n c l u d e s t h e d e fi n i t i o n o f p r o c e s s t r a n s . A s m e n t i o n e d e a r l i e r , t h e i n v a r i a n t p r e d i c a t e o f N e v e r ? c o n s i s t s o f s t a t e i n t h e s e t { 0 , 1 , 2 } . I t i s e a s y t o s e e t h a t t h e i n v a r i a n t i n F i g u r e 1 2 . 4 d e fi n e s t h e e q u i v a l e n t e x p r e s s i o n . T h e s a f e t y s p e c i fi c a t i o n o f o u r p r o g r a m c o n s i s t s o f t h e s i m p l e e x p r e s s i o n ( s t a t e ' = = 7 ) , w h i c h e s s e n t i a l l y i n c l u d e s a n y t r a n s i t i o n t h a t e n d s i n s t a t e w h e r e t h e v a l u e o f v a r i a b l e s t a t e i s 7 . F i n a l l y , t h e e x p r e s s i o n i n t h e p r o h i b i t e d s e c t i o n o f F i g u r e 1 2 . 4 , s p e c i fi e s t h e t r a n - s i t i o n s t h a t w e r u l e d o u t f o r a d d i n g r e c o v e r y , i . e . , t r a n s i t i o n s ( 6 , 1 ) , ( 6 , 2 ) , a n d ( 3 , 0 ) . A f t e r r u n n i n g S Y C R A F T o n t h e i n p u t fi l e i n F i g u r e 1 2 . 4 , t h e o u t p u t i s a f a u l t - 2 9 2 p r o g r a m n e v e r 7 ; v a r i n t s t a t e : d o m a i n 0 7 ; { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - } p r o c e s s t r a n s ( s t a t e 2 2 0 ) - - > s t a t e : 2 1 ; [ I ( s t a t e 2 2 1 ) - - > s t a t e : 2 2 ; I ] ( s t a t e 2 2 2 ) - - > s t a t e : 2 0 ; I ] ( s t a t e 2 2 3 ) - — > s t a t e : 2 4 ; [ I ( s t a t e 2 2 6 ) - - > s t a t e : 2 7 ; f a u l t M a l f u n c t i o n ( s t a t e 2 2 1 ) - - > s t a t e : 2 3 ; ( s t a t e 2 2 1 ) - - > s t a t e : 2 6 ; ( s t a t e 2 2 4 ) - - > s t a t e : 2 5 ; [ I ( s t a t e 2 2 5 ) - - > s t a t e : 2 7 ; e n d f a u l t r e a d : s t a t e ; w r i t e : s t a t e ; e n d p r o c e s s { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - } i n v a r i a n t ( s t a t e 2 2 0 ) I ( s t a t e 2 2 1 ) | ( s t a t e 2 2 2 ) ; { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 s p e c i f i c a t i o n ( s t a t e ‘ - 2 7 ) ; { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - } p r o h i b i t e d ( ( s t a t e 2 2 6 ) & ( ( s t a t e ‘ 2 2 1 ) I ( s t a t e ‘ 2 2 2 ) ) ) I ( ( s t a t e 2 2 3 ) 8 4 ( s t a t e ' 2 2 0 ) ) ; F i g u r e 1 2 . 4 : N e v e r 7 p r o g r a m a s i n p u t t o S Y C R A F T . t o l e r a n t v e r s i o n o f N e v e r 7 s h o w n i n F i g u r e 1 2 . 6 . A s c a n b e s e e n i n t h i s fi g u r e , S Y C R A F T h a s r e m o v e d t r a n s i t i o n s ( 3 , 4 ) a n d ( 6 , 7 ) . N o t i c e t h a t e x i s t e n c e o f t r a n - 2 9 3 — > p r o g r a m - - + f a u l t F i g u r e 1 2 . 5 : F a u l t - t o l e r a n t N e v e r 7 s t a t e - t r a n s i t i o n g r a p h . s i t i o n ( 3 , 4 ) m a y l e a d t h e p r o g r a m t o s t a t e 5 f r o m w h e r e o c c u r r e n c e o f f a u l t s a l o n e v i o l a t e t h e s a f e t y . M o r e o v e r , i f t h e p r o g r a m r e a c h e s s t a t e 6 d u e t o t h e o c c u r r e n c e o f f a u l t s , t h e n t r a n s i t i o n ( 6 , 7 ) v i o l a t e s t h e s a f e t y . O n e c a n a l s o n o t i c e t h a t S Y C R A F T h a s a d d e d t h r e e r e c o v e r y t r a n s i t i o n s i n o r d e r t o r e s o l v e d e a d l o c k s t a t e s . N o t i c e t h a t t h e s e t r a n s i t i o n s d o n o t i n t e r s e c t w i t h t r a n s i t i o n s s p e c i fi e d i n t h e p r o h i b i t e d s e c t i o n . F o r t h e r e a d e r ’ s c o n v e n i e n c e , F i g u r e 1 2 . 5 s h o w s t h e s t a t e - t r a n s i t i o n g r a p h o f t h e f a u l t - t o l e r a n t v e r s i o n o f N e v e r 7 . 1 2 . 5 E x a m p l e 2 : T o k e n R i n g W e n o w r e i t e r a t e t h e d e s c r i p t i o n o f t h e t o k e n r i n g p r o b l e m ( c f . S e c t i o n 1 1 . 5 ) i n o r d e r t o d e s c r i b e t h e i n p u t t o S Y C R A F T m o r e c l e a r l y . I n a t o k e n r i n g p r o g r a m , t h e p r o c e s s e s 0 . . N a r e o r g a n i z e d i n a r i n g a n d t h e t o k e n i s c i r c u l a t e d a l o n g t h e r i n g i n a fi x e d d i r e c t i o n . E a c h p r o c e s s , s a y j , m a i n t a i n s a v a r i a b l e x w i t h t h e d o m a i n { 0 , 1 , 2 } , w h e r e t h e v a l u e 2 d e n o t e s a c o r r u p t e d v a l u e . P r o c e s s j , w h e r e j i s g r e a t e r t h a n z e r o , h a s t h e t o k e n i f f x . j d i f f e r s f r o m i t s s u c c e s s o r x . ( j + 1 ) a n d p r o c e s s N h a s t h e t o k e n 2 9 4 1 - ( s t a t e = = 0 ) — - > ( s t a t e : = 1 ) 2 - ( s t a t e = = 1 ) — - > ( s t a t e : = 2 ) 3 - ( s t a t e = = 2 ) - - > ( s t a t e : = O ) 1 - ( s t a t e = = 6 ) - - > ( s t a t e : = 0 ) 2 - ( s t a t e = = 3 ) - — > ( s t a t e : = 2 ) 3 - ( s t a t e = = 3 ) - - > ( s t a t e : = 1 ) F i g u r e 1 2 . 6 : S Y C R A F T o u t p u t : f a u l t - t o l e r a n t N e v e r 7 . i f f x . N i s t h e s a m e a s i t s s u c c e s s o r x . 0 . E a c h p r o c e s s c a n o n l y w r i t e i t s l o c a l v a r i a b l e ( i . e . , x . j ) . M o r e o v e r , a p r o c e s s c a n o n l y r e a d i t s o w n l o c a l v a r i a b l e a n d t h e v a r i a b l e o f i t s p r e d e c e s s o r . I n t h i s p r o g r a m , f a u l t s c a n r e s t a r t a t m o s t N - l p r o c e s s e s . T h e i n v a r i a n t p r e d i c a t e o f t h e t o k e n r i n g p r o b l e m i s d e t e r m i n e d a s f o l l o w s . C o n - s i d e r a s t a t e w h e r e a p r o c e s s j h a s t h e t o k e n . I n t h i s s t a t e , s i n c e n o o t h e r p r o c e s s h a s a t o k e n , t h e v a l u e o f v a r i a b l e x o f a l l p r o c e s s e s 0 . . j i s i d e n t i c a l a n d t h e x v a l u e o f a l l p r o c e s s e s ( j + 1 ) . . N i s i d e n t i c a l . L e t t i n g X d e n o t e t h e s t r i n g o f b i n a r y v a l u e s x . 0 , x . 1 , . . . , x . N , w e h a v e t h a t X s a t i s fi e s t h e r e g u l a r e x p r e s s i o n ( 0 ’ . I ( N + l — l ) U 1 1 . 0 ( N + 1 ‘ l ) ) , w h i c h d e n o t e s a s e q u e n c e o f l e n g t h N + 1 c o n s i s t i n g o f z e r o s f o l l o w e d b y o n e s o r o n e s f o l l o w e d b y z e r o s . I n t o k e n r i n g p r o c e s s e s w h o s e s t a t e i s u n c o r r u p t e d a r e n o t a l l o w e d t o c o p y t h e v a l u e o f a c o r r u p t e d p r o c e s s . N o t e t h a t i n t o k e n r i n g , s i n c e t h i s c o n s t r a i n t h a s t o b e 2 9 5 p r o g r a m B i n a r y T o k e n R i n g ; c o n s t N 2 3 ; v a r i n t x . 0 . . N : d o m a i n 0 2 ; { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 p r o c e s s p ( x . 2 2 0 ) 8 4 ( x . N 2 2 0 ) - - > x . 0 : 2 1 ; ( x 0 2 2 1 ) 8 4 ( x . N 2 2 1 ) - - > x . 0 : 2 0 ; r e a d : x . 0 , x . N ; w r i t e : x . 0 ; e n d p r o c e s s { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - } p r o c e s s q : 1 . . N x . q ! 2 x . ( q - 1 ) - — > x . q : 2 x . ( q - 1 ) ; p r o h i b i t e d ( x . O 2 2 2 ) 8 4 ( x . N 2 2 x . ( O ) ‘ ) r e a d : x . q , x . ( q - 1 ) ; w r i t e : x . q ; e n d p r o c e s s { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - } f a u l t T o k e n C o r r u p t i o n e x i s t s i , j i n 0 . . N : ( i ! 2 j ) : : ( ( x . i ! 2 2 ) 8 4 ( x . j ! 2 2 ) ) - - > ( x . 0 : 2 2 ) [ I ( x . 1 : 2 2 ) [ ] ( x . 2 : 2 2 ) [ ] ( x . 3 : 2 2 ) ; e n d f a u l t { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - } i n v a r i a n t ( ( x . 0 2 2 1 ) 8 4 ( x . 1 2 2 0 ) 8 4 ( X 2 2 2 0 ) 8 4 ( x . 3 2 2 0 ) ) | ( ( x . 0 2 2 1 ) 8 4 ( x . 1 2 2 1 ) 8 4 ( x 2 2 2 0 ) 8 4 ( x . 3 2 2 0 ) ) | ( ( x . 0 2 2 l ) 8 4 ( x . 1 2 2 1 ) 8 4 ( x 2 2 2 l ) 8 4 ( x . 3 2 2 0 ) ) | ( ( x . 0 2 2 1 ) 8 4 ( x . 1 2 2 1 ) 8 4 ( X 2 2 2 1 ) 8 4 ( x . 3 2 2 1 ) ) | ( ( x . 0 2 2 0 ) 8 4 ( x . 1 2 2 0 ) 8 4 ( x 2 2 2 0 ) 8 4 ( x . 3 2 2 0 ) ) | ( ( x . 0 2 2 0 ) 8 4 ( x . 1 2 2 0 ) 8 4 ( X 2 2 2 0 ) 8 4 ( x . 3 2 2 1 ) ) | ( ( x . 0 2 2 0 ) 8 4 ( x . 1 2 2 0 ) 8 4 ( X 2 2 2 1 ) 8 4 ( x . 3 2 2 1 ) ) | ( ( x . 0 2 2 0 ) 8 4 ( x . 1 2 2 1 ) 8 4 ( X 2 2 2 1 ) 8 4 ( x . 3 2 2 1 ) ) ; { - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - } p r o h i b i t e d e x i s t s i i n 0 . . N : : ( ( x . i ! 2 2 ) 8 4 ( x . ( i ) ‘ 2 2 2 ) ) ; F i g u r e 1 2 . 7 : T o k e n r i n g p r o g r a m a s i n p u t t o S Y C R A F T . 2 9 6 m e t o n l y b y e x e c u t i o n o f p r o g r a m a c t i o n s ( n o t f a u l t a c t i o n s ) , w e s p e c i f y i t u n d e r t h e p r o h i b i t e d s e c t i o n i n S Y C R A F T . F i g u r e 1 2 . 7 s h o w s h o w w e m o d e l t h e t o k e n r i n g p r o b l e m i n S Y C R A F T . S p e c i fi c a l l y , w e d e fi n e t w o p r o c e s s e s , p a n d q . P r o c e s s p m o d e l s p r o c e s s 0 i n t h e r i n g a n d p r o c e s s q w h i c h r a n g e s o v e r 1 . . N m o d e l s t h e r e s t o f p r o c e s s e s i n t h e r i n g . C u r r e n t l y , S Y C R A F T ’ S g r a m m a r d o e s n o t f e a t u r e r e g u l a r e x p r e s s i o n s . T h u s , w e h a v e t o m o d e l t h e m e x p l i c i t l y i n S Y C R A F T . A n a l e r t r e a d e r o b s e r v e s t h a t t h e a b o v e p r o g r a m w o r k s c o r r e c t l y i n t h e a b s e n c e o f f a u l t s . H o w e v e r , i n t h e p r e s e n c e o f f a u l t s , i t d e a d l o c k s d u e t o e x i s t e n c e o f s e v e r a l t o k e n s o r n o t o k e n s i n t h e r i n g . T h e o u t p u t o f S Y C R A F T a f t e r a d d i n g f a u l t - t o l e r a n c e t o B i n a r y T o k e n R i n g i s a s f o l l o w s ( c f . F i g u r e 1 2 . 8 ) . I n t u i t i v e l y , a q — p r o c e s s i n t h e s y n t h e s i z e d p r o g r a m i s a l l o w e d t o c o p y t h e v a l u e o f i t s p r e d e c e s s o r , i f t h i s v a l u e i n n o t c o r r u p t e d . N o t i c e t h a t r e c o v e r y a c t i o n p r o c e s s p i n t h e s y n t h e s i z e d p r o g r a m s t i p u l a t e r e c o v e r y m e c h a n i s m t h a t s t a r t s f r o m o u t s i d e p r o g r a m i n v a r i a n t a n d r e a c h e s t h e i n v a r i a n t i n o n e s t e p . 1 2 . 6 E x a m p l e 3 : B y z a n t i n e A g r e e m e n t W e n o w r e i t e r a t e t h e d e s c r i p t i o n o f t h e B y z a n t i n e a g r e e m e n t p r o b l e m ( c f . S u b s e c t i o n 2 . 1 . 3 ) i n o r d e r t o d e s c r i b e t h e i n p u t t o S Y C R A F T m o r e c l e a r l y . I n B y z a n t i n e a g r e e - m e n t [ L S P 8 2 ] , t h e p r o g r a m c o n s i s t s o f a g e n e r a l g a n d t h r e e ( o r m o r e ) n o n — g e n e r a l p r o c e s s e s : 0 , 1 , a n d 2 F i g u r e 1 2 . 9 . S i n c e , t h e n o n - g e n e r a l p r o c e s s e s h a v e t h e s a m e 2 9 7 F o r p r o c e s s q 2 1 F i g u r e 1 2 . 8 : S Y C R A F T o u t p u t : f a u l t - t o l e r a n t t o k e n r i n g . s t r u c t u r e , w e m o d e l t h e m a s a p r o c e s s j t h a t r a n g e s o v e r 0 . 2 . T h e g e n e r a l i s n o t m o d e l e d a s a p r o c e s s , b u t b y t w o g l o b a l v a r i a b l e s b y a n d d g . E a c h p r o c e s s m a i n t a i n s a d e c i s i o n d ; f o r t h e g e n e r a l , t h e d e c i s i o n c a n b e e i t h e r 0 o r 1 , a n d f o r t h e n o n - g e n e r a l p r o c e s s e s , t h e d e c i s i o n c a n b e 0 , 1 o r 2 , w h e r e t h e v a l u e 2 d e n o t e s t h a t t h e c o r r e - 2 9 8 s p o n d i n g p r o c e s s h a s n o t y e t r e c e i v e d t h e v a l u e f r o m t h e g e n e r a l . E a c h n o n - g e n e r a l p r o c e s s a l s o m a i n t a i n s a B o o l e a n v a r i a b l e f t h a t d e n o t e s w h e t h e r t h a t p r o c e s s h a s fi n a l i z e d i t s d e c i s i o n . T o r e p r e s e n t a B y z a n t i n e p r o c e s s , w e i n t r o d u c e a v a r i a b l e b f o r e a c h p r o c e s s ; i f b . j i s t r u e t h e n p r o c e s s j i s B y z a n t i n e , w h e r e p r o c e s s j c a n n o t r e a d b . k f o r k 2 j . T h e p r o g r a m w o r k s a s f o l l o w s . E a c h n o n - g e n e r a l p r o c e s s c o p i e s t h e d e c i s i o n v a l u e f r o m t h e g e n e r a l ( L i n e 1 2 ) a n d t h e n fi n a l i z e s t h a t v a l u e ( L i n e 1 4 ) . A f a u l t a c t i o n m a y t u r n a p r o c e s s t o a B y z a n t i n e p r o c e s s , i f n o o t h e r p r o c e s s i s B y z a n t i n e ( L i n e 1 6 ) . F a u l t s a l s o c h a n g e t h e d e c i s i o n ( i . e . , v a r i a b l e s d a n d f ) o f a B y z a n t i n e p r o c e s s a r b i t r a r i l y a n d n o n - d e t e r m i n i s t i c a l l y ( L i n e 1 8 ) . A s m e n t i o n e d e a r l i e r , i n S Y C R A F T , o n e c a n s p e c i f y f a u l t s t h a t a r e n o t a s s o c i a t e d w i t h a p a r t i c u l a r p r o c e s s . T h i s f e a t u r e i s u s e f u l f o r c a s e s w h e r e f a u l t s a f f e c t g l o b a l v a r i a b l e s , e . g . , t h e d e c i s i o n o f t h e g e n e r a l ( L i n e s 2 4 - 2 8 ) . I n t h e p r o h i b i t e d s e c t i o n , w e s p e c i f y t r a n s i t i o n s t h a t v i o l a t e s a f e t y b y p r o c e s s ( a n d n o t f a u l t ) a c t i o n s . F o r i n s t a n c e , i t i s u n a c c e p t a b l e f o r a p r o c e s s t o c h a n g e i t s fi n a l d e c i s i o n ( L i n e 2 1 ) . F i n a l l y , a n o n - g e n e r a l p r o c e s s i s a l l o w e d t o r e a d i t s o w n a n d o t h e r p r o c e s s e s ’ d v a l u e s a n d u p d a t e i t s o w n d a n d f v a l u e s ( L i n e s 1 2 - 2 3 ) . T h e f o l l o w i n g s t a t e s d e fi n e t h e i n v a r i a n t p r e d i c a t e : ( 1 ) a t m o s t o n e p r o c e s s m a y b e B y z a n t i n e ( L i n e 3 1 ) , ( 2 ) t h e d v a l u e o f a n o n - B y z a n t i n e n o n - g e n e r a l p r o c e s s i s e i t h e r 2 o r e q u a l t o d g ( L i n e 3 2 ) , a n d ( 3 ) a n o n - B y z a n t i n e u n d e c i d e d p r o c e s s c a n n o t fi n a l i z e i t s d e c i s i o n ( L i n e 3 3 ) , o r , i f t h e g e n e r a l i s B y z a n t i n e a n d o t h e r p r o c e s s e s a r e n o n - B y z a n t i n e t h e i r d e c i s i o n s m u s t b e i d e n t i c a l a n d n o t e q u a l t o 2 ( L i n e 3 5 ) . T h e s a f e t y s p e c i fi c a t i o n o f B y z a n t i n e a g r e e m e n t r e q u i r e s a g r e e m e n t a n d v a l i d i t y . A g r e e m e n t r e q u i r e s t h a t t h e fi n a l d e c i s i o n o f t w o n o n - B y z a n t i n e p r o c e s s e s c a n n o t b e 2 9 9 d i f f e r e n t ( L i n e s 3 7 - 3 8 ) . A n d , v a l i d i t y r e q u i r e s t h a t i f t h e g e n e r a l i s n o n — B y z a n t i n e t h e n t h e fi n a l d e c i s i o n o f a n o n - B y z a n t i n e p r o c e s s m u s t b e t h e s a m e a s t h a t o f t h e g e n e r a l ( L i n e s 3 9 ) . N o t i c e t h a t i n t h e p r e s e n c e o f a B y z a n t i n e p r o c e s s , t h e p r o g r a m m a y v i o l a t e t h e s a f e t y s p e c i fi c a t i o n . S i m i l a r t o o t h e r e x a m p l e s , t h e B y z a n t i n e a g r e e m e n t p r o g r a m w o r k s fi n e i n t h e a b s e n c e o f f a u l t s . H o w e v e r , i t m a y v i o l a t e i t s s a f e t y s p e c i fi c a t i o n ( a g r e e m e n t o r v a - l i d i t y ) o r d e a d l o c k i n t h e p r e s e n c e o f f a u l t s . F i g u r e 1 2 . 1 0 s h o w s h o w S Y C R A F T a d d s f a u l t - t o l e r a n c e t o B y z a n t i n e a g r e e m e n t . A s c a n b e s e e n t h e fi r s t a c t i o n i s u n c h a n g e d , i . e . , a n o n — g e n e r a l p r o c e s s c a n c o p y t h e g e n e r a l ’ s d e c i s i o n u n d e r n o c o n s t r a i n t s . H o w - e v e r , t h e s e c o n d a c t i o n o f t h e i n p u t p r o g r a m i s r e v i s e d . I n t u i t i v e l y , t h e r e v i s e d a c t i o n s t i p u l a t e s t h a t a n o n - g e n e r a l p r o c e s s c a n fi n a l i z e i t s d e c i s i o n o n l y i f i t a g r e e s w i t h a m a j o r i t y o f n o n - g e n e r a l p r o c e s s e s o n i t s d e c i s i o n . F i n a l l y , s a f e r e c o v e r y a c t i o n s o f a n o n - g e n e r a l p r o c e s s o f t h e t o l e r a n t p r o g r a m r e s o l v e s d e a d l o c k s t a t e s b y r e a d i n g t h e d e c i s i o n o f o t h e r n o n — g e n e r a l p r o c e s s e s i n o r d e r t o a d j u s t i t s o w n d e c i s i o n ( r e c o v e r y a c t i o n s 6 a n d 7 ) . T h e p r o c e s s h a s a l s o t h e o p t i o n o f fi n a l i z i n g i t s d e c i s i o n w h i l e r e c o v e r i n g ( r e c o v e r y a c t i o n s 8 a n d 9 ) . 3 0 0 1 ) 2 ) 3 ) 4 ) 5 ) 6 ) 7 ) 3 ) 9 ) 1 0 ) 1 1 ) 1 2 ) 1 3 ) 1 4 ) 1 5 ) 1 6 ) 1 7 ) 1 8 ) 1 9 ) 2 0 ) 2 1 ) 2 2 ) 2 3 ) 2 4 ) 2 5 ) 2 6 ) 2 7 ) 2 8 ) 2 9 ) 3 0 ) 3 1 ) 3 2 ) 3 3 ) 3 4 ) 3 5 ) 3 6 ) 3 7 ) 3 8 ) 3 9 ) p r o g r a m B y z a n t i n e A g r e e m e n t ; c o n s t i n t N 2 2 ; i n t b o t 2 2 ; v a r b o o l e a n b g ; b o o l e a n b . 0 . . N ; b o o l e a n f . 0 . . N ; i n t d g : d o m a i n 0 . . 1 ; i n t d . 0 . . N : d o m a i n 0 2 ; p r o c e s s j : 0 . . N ( d . j 2 2 b o t ) 8 4 ! f . j 8 4 ! b . j - - > d . j : 2 d g ; ( d . j I 2 b e t ) 8 4 ! f . j 8 4 ! b . j - - > f . j : 2 t r u e ; f a u l t B y z a n t i n e _ N o n G e n e r a l ! b g 8 4 ( f o r a l l p i n 0 . . N : : ( ! b . p ) ) - - > b . j : 2 t r u e ; [ I b . j - - > ( d . j : 2 1 ) [ ] ( d . j : 2 0 ) fl ( f . j : 2 f a l s e ) [ ] ( f . j : 2 t r u e ) ; e n d f a u l t p r o h i b i t e d ! b . j ' 8 4 I b . ( j ) ’ 8 4 f . j 8 4 ( ( d . j I 2 d . ( j ) ' ) | I f . ( j ) ' ) ; r e a d : d . 0 . . N , d g , f . j , b . j ; w r i t e : d . j , f . j ; e n d p r o c e s s f a u l t B y z a n t i n e _ G e n e r a | ! b g 8 4 ( f o r a l l p i n 0 . . N : : ( ! b . p ) ) - - > b g : 2 t r u e ; b g - - > ( d g : 2 1 ) I ] ( d g : 2 0 ) ; e n d f a u l t i n v a fi a n t ( ! b g 8 4 ( f o r a l l p , q i n 0 . . N : ( p I 2 q ) : : ( ! b . p | ! b . q ) ) 8 4 ( f o r a l l r i n 0 . . N : : ( I b . r 2 > ( ( d . r 2 2 b o t ) | ( d . r 2 2 d g ) ) ) ) 8 4 - ( f o r a l l s i n 0 . . N : : ( ( I b . s 8 4 f . s ) 2 > ( d . s I 2 b o t ) ) ) ) I ( b g 8 4 ( f o r a l l t i n 0 . . N : : ( I b . t ) ) 8 4 ( f o r a l l a , b i n 0 . . N : : ( ( d . a 2 2 d b ) 8 4 ( d a I 2 b o t ) ) ) ) ; s p e c i f i c a t i o n : ( e x i s t s p , q i n 0 . . N : ( p ! 2 q ) : : ( I b . ( p ) ' 8 4 I b . ( q ) ' 8 4 ( d . ( p ) ’ I 2 b e t ) & ( d - ( 9 ) ' ! = b o t ) & ( d - ( p ) ' I = d - ( 9 ) ' ) & f - ( p ) ' & f - ( < I ) ' ) ) ( e x i s t s r i n 0 . . N : : ( I b g ' 8 4 I b . ( r ) ’ 8 4 f . ( r ) ' 8 4 ( d . ( r ) ’ I 2 b o t ) 8 4 ( d . ( r ) ’ I 2 d g ’ ) ) ) ; F i g u r e 1 2 . 9 : T h e B y z a n t i n e a g r e e m e n t p r o b l e m a s i n p u t t o S Y C R A F T . 3 0 1 2 - ( b 0 = = 0 ) & ( d 0 " 1 ) & ( d 1 = = 1 ) & ( f 0 = = 0 ) - - > ( f 0 = 1 ) 3 - ( b 0 “ 0 ) 8 t . ( d o - ’ 0 ) & ( d 2 = = 0 ) & ( f 0 = = 0 ) - - > ( f 0 = 1 ) 4 - ( b 0 = = 0 ) & ( d 0 = = 0 ) & ( d 1 = = 0 ) & ( f 0 = = 0 ) - - > ( f 0 = 1 ) 5 - ( b 0 = = 0 ) & ( d 0 = = 1 ) & ( d 2 = = 1 ) & ( f 0 = = 0 ) - - > ( f 0 = 1 ) - — - — — — — - - — — - - — _ - — - — - — - _ - - - - - — - — — - - — — — - - — — — - - - — — - — - - - - - - — - — — - — — — — 6 - ( b 0 = = 0 ) & ( d 0 = = 0 ) & ( d 1 = = 1 ) & ( d 2 = = 1 ) & ( f 0 = = 0 ) - - > ( d 0 : = 7 - ( b 0 = = 0 ) & ( d 0 = = 1 ) & ( d 1 = = 0 ) & ( d 2 = = 0 ) & ( f 0 = = 0 ) - - > ( d 0 : = 8 - ( b 0 = = 0 ) & ( d 0 = = 0 ) & ( d 1 = = 1 ) & ( d 2 = = 1 ) & ( f 0 = = 0 ) - - > ( d 0 : = 1 ) , ( f 0 : 9 - ( b 0 = = 0 ) & ( d 0 = = 1 ) & ( d 1 = = 0 ) & ( d 2 = = 0 ) & ( f 0 = = 0 ) - - > ( d 0 : = F i g u r e 1 2 . 1 0 : S Y C R A F T o u t p u t : f a u l t - t o l e r a n t B y z a n t i n e a g r e e m e n t . 3 0 2 P a r t I V D i s t r i b u t e d a n d P a r a l l e l R e v i s i o n T e c h n i q u e s 3 0 3 I n C h a p t e r 1 1 , w e p r e s e n t e d a B D D - b a s e d a p p r o a c h t o r e m e d y t h e s t a t e e x p l o - s i o n p r o b l e m a s w e l l a s t i m e c o m p l e x i t y i n t h e c o n t e x t o f s y n t h e s i z i n g d i s t r i b u t e d p r o g r a m s . A l t e r n a t i v e l y , i n o r d e r t o o v e r c o m e t h e s p a c e e x p l o s i o n p r o b l e m , r e c e n t l y , a n i n c r e a s i n g i n t e r e s t i n p a r a l l e l a n d d i s t r i b u t e d t e c h n i q u e s h a s e m e r g e d i n t h e m o d e l c h e c k i n g c o m m u n i t y ( e . g . , [ G M S 0 1 , S D 9 7 , H G G S O O , L S V V 0 3 , C C 0 6 ] ) . S u c h t e c h - n i q u e s p a r a l l e l i z e e n u m e r a t i v e o r s y m b o l i c s t a t e s p a c e o f a g i v e n m o d e l o v e r a n e t - w o r k o r c l u s t e r o f w o r k s t a t i o n s a n d r u n a d i s t r i b u t e d v e r i fi c a t i o n a l g o r i t h m o v e r t h e p a r a l l e l i z e d s t a t e s p a c e . O n t h e o t h e r h a n d , t h e s p a c e e x p l o s i o n p r o b l e m a n d h i g h t i m e c o m p l e x i t y o f s y n t h e s i s m e t h o d s r e m a i n u n a d d r e s s e d . W i t h t h i s m o t i v a t i o n , i n t h i s p a r t o f t h e d i s s e r t a t i o n , w e c o n c e n t r a t e o n d i s - t r i b u t e d a n d p a r a l l e l t e c h n i q u e s a s m e a n s t o a d d r e s s t h e s t a t e e x p l o s i o n p r o b l e m a n d u t i l i z i n g m u l t i p l e p r o c e s s o r s f o r m o r e e f f i c i e n t p r o g r a m r e v i s i o n . T h i s p a r t i s o r g a - n i z e d a s f o l l o w s . I n C h a p t e r 1 3 , w e p r o p o s e t w o d i s t r i b u t e d a l g o r i t h m s ( m u l t i p l e p r o c e s s o r s — d i s t r i b u t e d m e m o r y ) f o r s y n t h e s i z i n g f a i l s a f e a n d m a s k i n g f a u l t - t o l e r a n t u n t i m e d c e n t r a l i z e d p r o g r a m s . T h e n , i n C h a p t e r 1 4 , w e p r e s e n t a p a r a l l e l B D D - b a s e d a l g o r i t h m ( m u l t i p l e p r o c e s s o r s - s h a r e d m e m o r y ) f o r d e a d l o c k r e s o l u t i o n . T h i s a l g o r i t h m c a n b e u s e d a s a b u i l d i n g b l o c k f o r a u t o m a t e d s y n t h e s i s o f m a s k i n g d i s - t r i b u t e d f a u l t - t o l e r a n t p r o g r a m s . 3 0 4 C h a p t e r 1 3 D i s t r i b u t e d S y n t h e s i s o f C e n t r a l i z e d F a u l t - T o l e r a n t P r o g r a m s I n t h i s c h a p t e r , w e c o n c e n t r a t e o n t h e p r o b l e m o f d e s i g n i n g d i s t r i b u t e d a l g o r i t h m s ( m u l t i p l e p r o c e s s o r s - d i s t r i b u t e d m e m o r y ) f o r a u t o m a t e d p r o g r a m s y n t h e s i s . M o r e s p e c i fi c a l l y , w e p a r a l l e l i z e t w o s y n t h e s i s a l g o r i t h m s ( f r o m [ K A O 0 I ) f o r a d d i n g t w o l e v e l s o f f a u l t - t o l e r a n c e , n a m e l y f a i l s a f e a n d m a s k i n g , t o e x i s t i n g f a u l t - i n t o l e r a n t p r o - g r a m s . A s m e n t i o n e d i n p r e v i o u s c h a p t e r s , i n t u i t i v e l y , i n t h e p r e s e n c e o f f a u l t s , a f a i l s a f e f a u l t - t o l e r a n t p r o g r a m s a t i s fi e s o n l y i t s s a f e t y s p e c i fi c a t i o n , b u t a m a s k i n g f a u l t - t o l e r a n t p r o g r a m s a t i s fi e s b o t h i t s s a f e t y a n d l i v e n e s s s p e c i fi c a t i o n s . W e a s s u m e t h a t p r o g r a m s a r e u n t i m e d a n d c e n t r a l i z e d , w h e r e a l l p r o c e s s e s c a n r e a d a n d w r i t e a l l p r o g r a m v a r i a b l e s i n o n e a t o m i c s t e p . W e n o t e t h a t f o l l o w i n g t h e P r o b l e m S t a t e - 3 0 5 m e n t 7 . 3 . 2 , t h e a f o r e m e n t i o n e d s y n t h e s i s a l g o r i t h m s s o l e l y a d d f a u l t - t o l e r a n c e t o a f a u l t - i n t o l e r a n t p r o g r a m i n t h e s e n s e t h a t t h e y a d d n o n e w b e h a v i o r s t o t h e i n p u t p r o g r a m i n t h e a b s e n c e o f f a u l t s . S i m i l a r t o d i s t r i b u t e d m o d e l c h e c k i n g t e c h n i q u e s , d e v e l o p i n g d i s t r i b u t e d s y n t h e s i s a l g o r i t h m s c o n s i s t s o f t w o p h a s e s : 1 . p a r a l l e l i z i n g t h e s t a t e s p a c e o v e r a n e t w o r k o f w o r k s t a t i o n s , a n d 2 . d e s i g n i n g a d i s t r i b u t e d a l g o r i t h m t h a t r u n s o n e a c h p a r t i t i o n o f t h e s t a t e s p a c e . I n t h i s c h a p t e r , w e o n l y f o c u s o n t h e s e c o n d p h a s e . I n p a r t i c u l a r , w e a s s u m e t h a t p a r a l l e l i z a t i o n o f s t a t e s p a c e i s a l r e a d y d o n e u s i n g o n e o f t h e k n o w n e n u m e r a t i v e t e c h n i q u e s i n t h e l i t e r a t u r e . P r e c i s e l y , w e u s e t h e s t a t e s p a c e p a r a l l e l i z a t i o n t e c h n i q u e p r o p o s e d b y G a r a v e l , M a t e e s c u , a n d S m a r a n d a c h e [ G M S O I ] w i t h s o m e m o d i fi c a t i o n s t a i l o r e d f o r t h e p u r p o s e o f s y n t h e s i s r a t h e r t h a n m o d e l c h e c k i n g . A l t h o u g h t h e r e e x i s t m o r e e f fi c i e n t w a y s f o r p a r a l l e l c o n s t r u c t i o n o f s t a t e s p a c e ( e . g . , u s i n g a b s t r a c t i n t e r p r e t a t i o n ) , w e c a n n o t t r i v i a l l y a p p l y t h e m a s a m e a n s f o r s y n t h e s i z i n g p r o g r a m s . T h i s i s d u e t o t h e f a c t t h a t i n s y n t h e s i s ( u n l i k e m o d e l c h e c k i n g ) , w e u s u a l l y r e q u i r e f u l l i n f o r m a t i o n a b o u t t h e p r o g r a m b e i n g s y n t h e s i z e d , a s w e n e e d t o m a n i p u l a t e a p r o g r a m b y r e m o v i n g o r a d d i n g c o m p u t a t i o n s . T h u s , w e c o n s e r v a t i v e l y c h o o s e t o d e v e l o p d i s t r i b u t e d a l g o r i t h m s t h a t r u n o v e r t h e d e t a i l e d p a r a l l e l i z e d e n u m e r a t i v e s t a t e s p a c e . S i n c e t h e e s s e n c e o f t h e p r o p o s e d a l g o r i t h m i n [ K A 0 0 ] f o r s y n t h e s i z i n g f a i l s a f e f a u l t - t o l e r a n t p r o g r a m s i s c a l c u l a t i n g fi x p o i n t o f f o r m u l a e , i n t h i s c h a p t e r , w e p r o p o s e a d i s t r i b u t e d m u l t i - t h r e a d e d a l g o r i t h m f o r c a l c u l a t i n g s m a l l e s t a n d l a r g e s t fi x p o i n t s . 3 0 6 F u r t h e r m o r e , s i n c e a m a s k i n g f a u l t - t o l e r a n t p r o g r a m r e c o v e r s t o i t s n o r m a l b e h a v i o r a f t e r t h e o c c u r r e n c e o f f a u l t s , w e a l s o p r o p o s e a d i s t r i b u t e d a l g o r i t h m f o r s y n t h e s i z i n g r e c o v e r y p a t h s . T h e m a i n r e s u l t s o f t h i s c h a p t e r a r e a s f o l l o w s . W e p r o p o s e ( i ) a d i s t r i b u t e d m u l t i - t h r e a d e d s y n t h e s i s a l g o r i t h m f o r a d d i n g f a i l s a f e f a u l t - t o l e r a n c e , a n d ( i i ) a d i s - t r i b u t e d m u l t i - t h r e a d e d s y n t h e s i s a l g o r i t h m f o r a d d i n g m a s k i n g f a u l t - t o l e r a n c e t o e x i s t i n g f a u l t - i n t o l e r a n t p r o g r a m s . T h e s e a l g o r i t h m s i n v o l v e d e s i g n i n g d i s t r i b u t e d t e c h n i q u e s f o r fi x p o i n t c a l c u l a t i o n s a n d a d d i n g r e c o v e r y c o m p u t a t i o n s t o a p r o g r a m . T o t h e b e s t o f o u r k n o w l e d g e , o u r m e t h o d i s t h e fi r s t t h a t a d d r e s s e s c h a l l e n g e s a n d p r o p o s e s s o l u t i o n s f o r d e s i g n i n g d i s t r i b u t e d a l g o r i t h m s i n t h e c o n t e x t o f p r o g r a m s y n t h e s i s a n d t r a n s f o r m a t i o n . W e b e l i e v e t h a t t h i s s t u d y p a v e s t h e w a y f o r f u r t h e r r e s e a r c h o n d e s i g n i n g d i s t r i b u t e d s y n t h e s i s a l g o r i t h m s . T h e r e s t o f t h i s c h a p t e r i s o r g a n i z e d a s f o l l o w s . W e fi r s t p r e s e n t t h e s t a t e s p a c e c o n s t r u c t i o n t e c h n i q u e d u e t o G a r a v e l , M a t e e s c u , a n d S m a r a n d a c h e [ G M S O I ] i n S e c - t i o n 1 3 . 1 . W e m a k e s o m e m o d i fi c a t i o n s t o t h e t e c h n i q u e s i n [ G M S O I ] t a i l o r e d f o r t h e p u r p o s e o f s y n t h e s i s r a t h e r t h a n m o d e l c h e c k i n g . T h e n , i n S e c t i o n s 1 3 . 2 a n d 1 3 . 3 , w e p r e s e n t o u r d i s t r i b u t e d a l g o r i t h m s f o r a d d i n g f a i l s a f e a n d m a s k i n g f a u l t - t o l e r a n c e , r e s p e c t i v e l y . 1 3 . 1 P a r a l l e l C o n s t r u c t i o n o f S t a t e S p a c e I n o r d e r t o r e p r e s e n t a p r o g r a m P 2 ( H P , I n v p ) w i t h s t a t e s p a c e S p o n N m a c h i n e s ( n u m b e r e d f r o m 0 t o N — 1 ) , w e u s e t h e n o t i o n o f p a r t i t i o n e d p r o g r a m s . M o r e 3 0 7 s p e c i fi c a l l y , t h e s t a t e s p a c e S p i s p a r t i t i o n e d t o S 0 - - - S . g . _ 1 , w h e r e S p 2 U 9 ; 6 1 8 % ) a n d 8 ; ? O 5 f ) 2 { } f o r a l l 0 S i 2 j < N ( i . e . , t h e s t a t e s p a c e i s p a r t i t i o n e d i n t o N c l a s s e s , o n e c l a s s p e r m a c h i n e ) . L i k e w i s e , s t a t e p r e d i c a t e s a r e p a r t i t i o n e d i n t h e s a m e f a s h i o n . F o r i n s t a n c e , m a c h i n e i c o n t a i n s I n v z f p a n d S 5 3 p a r t i t i o n s o f t h e i n v a r i a n t I n v p a n d t h e f a u l t - s p a n S p . F r o m n o w o n , w e c a l l I n v p t h e g l o b a l i n v a r i a n t a n d e a c h I n v ; t h e l o c a l i n v a r i a n t w i t h r e s p e c t t o m a c h i n e i . T h e s a m e c o n c e p t a p p l i e s t o a n y o t h e r s t a t e p r e d i c a t e s u c h a s t h e f a u l t - s p a n S p , i . e . , S p i s t h e g l o b a l f a u l t - s p a n a n d S I ? i s t h e l o c a l f a u l t - s p a n w i t h r e s p e c t t o m a c h i n e i . T h e s e t T 7 3 o f t r a n s i t i o n s i s p a r t i t i o n e d t o T ” P D - - - T g _ 1 , w h e r e T 7 , 2 U 2 ] : B I T E ) , a n d ( 0 0 , 0 1 ) 6 2 1 ; ) i f f ( 0 0 E 5 % , V 0 1 E 8 ; ? ) f o r a l l 0 S i < N ( i . e . , i f t h e s o u r c e a n d t a r g e t o f a t r a n s i t i o n b e l o n g t o d i f f e r e n t m a c h i n e s , t h e t r a n s i t i o n i s s t o r e d i n b o t h t h e s o u r c e a n d t a r g e t m a c h i n e s ) . W e c a l l s u c h t r a n s i t i o n s c r o s s t r a n s i t i o n s . L i k e w i s e , F a n d S P E C b t a r e p a r t i t i o n e d i n t h e s a m e f a s h i o n . F r o m n o w o n , w e c a l l T ’ P t h e g l o b a l s e t o f p r o g r a m t r a n s i t i o n s a n d e a c h I ; t h e l o c a l s e t o f p r o g r a m t r a n s i t i o n s w i t h r e s p e c t t o m a c h i n e i . T h e s a m e c o n c e p t a p p l i e s t o a n y o t h e r s e t o f t r a n s i t i o n s s u c h a s t h e s e t o f f a u l t s F a n d t h e s e t o f b a d t r a n s i t i o n s S P E C b t ' R e m a r k 1 3 . 1 . 1 W e c h o o s e t o s t o r e c r o s s t r a n s i t i o n s i n b o t h s o u r c e a n d t a r g e t m a - c h i n e s d u e t o t w o r e a s o n s : 1 . a s w e s h a l l s e e i n S e c t i o n s 1 3 . 2 a n d 1 3 . 3 , s u c h d u p l i c a t i o n d e c r e a s e s t h e n u m b e r o f p o t e n t i a l b r o a d c a s t m e s s a g e s c o n s i d e r a b l y , a n d 2 . i t a l l o w s u s t o e f fi c i e n t l y d o b o t h f o r w a r d a n d b a c k w a r d r e a c h a b i l i t y a n a l y s i s a t t h e s a m e t i m e . 3 0 8 I n f a c t , t h i s d e v i a t i o n f r o m d i s t r i b u t e d m o d e l c h e c k i n g t e c h n i q u e s i s d u e t o t h e n a t u r e s y n t h e s i s a s c o m p a r e d t o v e r i fi c a t i o n . A s s u m p t i o n 1 3 . 1 . 2 I n o u r s y n t h e s i s a l g o r i t h m s , w e a s s u m e t h a t t h e i n p u t f a u l t - i n t o l e r a n t p r o g r a m P i s a l r e a d y p a r t i t i o n e d o v e r a n e t w o r k u s i n g a r e a s o n a b l e s t a t i c p a r t i t i o n f u n c t i o n h : S p — - > [ 0 , N — 1 ] u s i n g t h e a b o v e p a r a l l e l i z a t i o n m e t h o d . I n o t h e r w o r d s , m a c h i n e i c o n t a i n s a s t a t e 0 i f f h ( a ) 2 i . W e a l s o a s s u m e t h a t a l l t h e s y n t h e s i s p r o c e s s e s o v e r t h e n e t w o r k h a v e a r e p l i c a o f h . R e v i s e d p r o b l e m s t a t e m e n t W i t h t h i s s e t t i n g , w e r e v i s e t h e P r o b l e m S t a t e m e n t 7 . 3 . 2 a s f o l l o w s . G i v e n a r e a p a r t i - t i o n f u n c t i o n h , a p a r t i t i o n e d p r o g r a m T g - - - T 7 1 3 v _ 1 w i t h s t a t e s p a c e S 0 - - - S ] ; _ 1 , 0 N — l l o c a l i n v a r i a n t s I n v . p . - - I n v p , a p a r t i t i o n e d c l a s s o f f a u l t s F 0 - - - F N " ' 1 , a n d s a f e t y s p e c i fi c a t i o n S P E C g t . . . S P E C b i ] — 1 s u c h t h a t P I 2 1 7 “ ) ? S P E C I E S . O u r g o a l i s t o d e s i g n d i s t r i b u t e d a l g o r i t h m s t h a t s y n t h e s i z e a p r o g r a m P , w i t h i n v a r i a n t I n v p , s u c h t h a t P ’ i s f a i l s a f e / m a s k i n g F - t o l e r a n t t o S P E C b t f r o m I n v P I . 1 3 . 2 D i s t r i b u t e d A d d i t i o n o f F a i l s a f e F a u l t - T o l e r a n c e I n o r d e r t o s y n t h e s i z e a f a i l s a f e f a u l t — t o l e r a n t p r o g r a m , w e t r a n s f o r m P i n t o P , s u c h t h a t t r a n s i t i o n s o f S P E C b t o c c u r i n n o c o m p u t a t i o n p r e fi x e s o f P I . T o w a r d s t h i s e n d , w e p a r a l l e l i z e t h e p r o p o s e d c e n t r a l i z e d a l g o r i t h m i n [ K A 0 0 ] f o r a d d i n g f a i l s a f e f a u l t - t o l e r a n c e . 3 0 9 T h r e a d 1 3 . 1 D i s t r i b u t e d _ A d d _ f a i I s a f e I n p u t : l o c a l p r o g r a m t r a n s i t i o n s T Z , i n v a r i a n t I n v p , f a u l t t r a n s i t i o n s F 7 ’ , s a f e t y s p e c i fi c a t i o n S P E C b t ’ s t a t e s p a c e S p , i n t e g e r N , p a r t i t i o n f u n c t i o n h , a n d B o o l e a n b L e a d e r z . O u t p u t : a f a i l s a f e p a r t i t i o n o f p r o g r a m P . 1 : c h n t i , c b I t c v d z . 2 0 ; _ i n s — — ; { } 2 : m 3 — - — { 0 0 I 3 0 1 E 5 , 3 3 : ( 0 0 , 0 1 ) 6 F 2 / \ ( 0 0 0 1 ) E S P E C “ ) 3 : m s 2 - — F i n d L o c a l U n s a f e S t a t e s ( S . P , m s i , F I ) 4 : B L K R E C E I V E ( T r m - d t c t ) ; { ‘ — } 5 : c h n t z , c h c v d i : 2 0 ; 6 : m t i z - — { ( 0 0 , 0 1 ) | 0 1 E ( m s i U n 3 2 ) V ( 0 0 , 4 7 1 ) E S P E C A t } ; . _ S i . . _ i . 7 . I n v p : — I n v p — T P . — T . I 3 — m t , . 8 : I n v p , , T ; ) , : - — R e m o v e L o c a l D e a d l o c k s U n v f p , T H E ? ) 9 : B L K R E C E I V E ( T r m _ d t c t ) ; { t — } 1 0 : i f “ a n 3 , 2 { } ) t h e n _ _ _ N — I . 1 2 2 I n v l p / W J U N — : O l i 1 n v i P / ; 1 3 : r e t u r n T 1 ) ” I n v p , , 1 4 : e l s e 1 5 : i f ( b L e a d e r z ) t h e n 1 6 : S E N D ( ( i + 1 ) m o d N , E m p t - i n v ( 0 ) ) ; 1 7 : e n d i f 1 8 : e n d i f A l g o r i t h m s k e t c h . T h e e s s e n c e o f a d d i n g f a i l s a f e f a u l t - t o l e r a n c e c o n s i s t s o f t w o p a r t s : ( 1 ) a s m a l l e s t fi x p o i n t c a l c u l a t i o n f o r i d e n t i f y i n g t h e s e t o f s t a t e s f r o m w h e r e s a f e t y m a y b e v i o l a t e d , a n d ( 2 ) a l a r g e s t fi x p o i n t c a l c u l a t i o n f o r c o m p u t i n g t h e i n v a r i a n t o f t h e f a i l s a f e p r o g r a m . O u r a l g o r i t h m c o n s i s t s o f a s e t o f d i s t r i b u t e d p r o c e s s e s e a c h r u n n i n g o n o n e m a c h i n e a c r o s s t h e n e t w o r k . E a c h p r o c e s s c o n s i s t s o f t w o t h r e a d s , n a m e l y , D i s t r i b u t e d A d e a i l s a f e ( c f . T h r e a d 1 3 . 1 ) a n d M e s s a g e H a n d l e r ( c f . T h r e a d 1 3 . 5 ) . B r i e fl y , t h e t h r e a d D i s t r i b u t e d _ A d d _ f a i I s a f e i s i n c h a r g e o f i n i t i a t - 3 1 0 i n g l o c a l fi x p o i n t c a l c u l a t i o n s a n d m a n a g i n g s y n c h r o n i z a t i o n p o i n t s o f t h e a l g o r i t h m . T h e t h r e a d M e s s a g e H a n d l e r i s r e s p o n s i b l e f o r h a n d l i n g m e s s a g e s s e n t b y o t h e r s y n - t h e s i s p r o c e s s e s a c r o s s t h e n e t w o r k a n d i n v o k i n g a p p r o p r i a t e p r o c e d u r e s . T h e t h r e a d D i s t r i b u t e d _ A d d _ f a i I s a f e c o n s i s t s o f t h r e e m a i n p a r t s , n a m e l y , L i n e s 1 - 4 w h i c h i s a s m a l l e s t fi x p o i n t c o m p u t a t i o n , L i n e s 5 — 9 w h i c h i s a l a r g e s t fi x p o i n t c o m p u t a t i o n , a n d L i n e s 1 0 — 1 3 w h e r e w e c h e c k t h e e m p t i n e s s o f t h e s y n t h e s i z e d p r o g r a m ( t o d e c l a r e f a i l u r e o r s u c c e s s ) . I t a l s o i n v o k e s t h r e e p r o c e d u r e s , n a m e l y , F i n d L o c a I U n s a f e S t a t e s , R e m o v e L o c a I D e a d I o c k s , a n d E n s u r e C l o s u r e . A s s u m p t i o n 1 3 . 2 . 1 T h r o u g h o u t t h i s c h a p t e r , w e a s s u m e t h a t p r o c e d u r e i n v o c a - t i o n s a r e a t o m i c . W e n o w d e s c r i b e o u r a l g o r i t h m i n d e t a i l . F i r s t , t h e t h r e a d D i s t r i b u t e d _ A d d . f a i l s a f e 7 ' o f s t a t e s f r o m w h e r e a s i n g l e f a u l t t r a n s i t i o n v i o l a t e s t h e s a f e t y fi n d s t h e s e t m s ( L i n e 2 ) . N e x t , w e i n v o k e t h e p r o c e d u r e F i n d L o c a l U n s a f e S t a t e s w h e r e w e fi n d t h e s e t o f s t a t e s f r o m w h e r e f a u l t s a l o n e m a y v i o l a t e t h e s a f e t y ( L i n e 3 ) . W e fi n d t h i s s e t b y c a l c u l a t i n g t h e s m a l l e s t fi x p o i n t o f b a c k w a r d r e a c h a b l e s t a t e s , g i v e n t h e i n i t i a l s e t m s i ( s e e P r o c e d u r e 1 3 . 2 ) . I n t h i s c a l c u l a t i o n , i f w e fi n d a f a u l t t r a n s i t i o n , s a y ( 0 0 , 0 1 ) , w h e r e 0 1 E m s i , b u t 0 0 r e s i d e s i n a m a c h i n e o t h e r t h a n i ( i . e . , h ( 0 0 ) 2 i ) , w e s e n d a N e w _ m s m e s s a g e t o p r o c e s s 1 1 ( 0 0 ) i n d i c a t i n g t h a t 0 0 i s a s t a t e f r o m w h e r e f a u l t s a l o n e m a y v i o l a t e t h e s a f e t y s p e c i fi c a t i o n . N o t a t i o n : A t t h e r e c e i v e r ’ s s i d e , w e d e n o t e m e s s a g e s b y m s g j ( p a r a m s ) , w h e r e m s g i s t h e n a m e o f m e s s a g e , j i s t h e s e n d e r p r o c e s s , a n d p a r a m s i s a l i s t o f p a r a m e t e r s s e n t a l o n g w i t h t h e m e s s a g e . A l l m e s s a g e s ( e x c e p t T r m _ d t c t ) a r e h a n d l e d i n t h e t h r e a d 3 1 1 M e s s a g e H a n d I e r . A t t h e s e n d e r ’ s s i d e , w e o m i t t h e s e n d e r ’ s s u b s c r i p t . T h e r e c e i v e r o f a M e a n s m e s s a g e ( c f . L i n e s 3 - 7 i n T h r e a d 1 3 . 5 ) a d d s 0 0 t o i t s l o c a l m s f ( L i n e 4 ) a n d i n v o k e s t h e p r o c e d u r e F i n d L o c a l U n s a f e S t a t e s ( L i n e 6 ) s o t h a t b y t a k i n g 0 0 i n t o a c c o u n t , n e w s t a t e s f r o m w h e r e f a u l t s a l o n e m a y v i o l a t e t h e s a f e t y s p e c i fi c a t i o n a r e e x p l o r e d . T h e s e t n s i c o n s i s t s o f s t a t e s t h a t a r e i n m s j . N o t i c e t h a t e v e r y t i m e a p r o c e s s s e n d s ( r e s p e c t i v e l y , r e c e i v e s ) s u c h m e s s a g e s , i t i n c r e m e n t s t h e v a r i a b l e c h n t i ( r e s p e c t i v e l y , c h c v d i ) . W e s h a l l u s e t h e s e v a r i a b l e s f o r t e r m i n a t i o n d e t e c t i o n a s a m e a n s t o s y n c h r o n i z e p r o c e s s e s a t c e r t a i n p o i n t s . P r o c e d u r e 1 3 . 2 F i n d L o c a l U n s a f e S t a t e s I n p u t : s t a t e p r e d i c a t e s S i , m s i a n d t r a n s i t i o n p r e d i c a t e F i . O u t p u t : r e t u r n s t h e s e t o f s t a t e s f r o m w h e r e s a f e t y m a y b e v i o l a t e d b y f a u l t s a l o n e . w h i l e ( 3 0 0 , 0 1 : ( 0 1 E m s i A ( 0 0 , 0 1 ) 6 F i ) ) d o I : 2 : i f M a g ) 2 i t h e n 3 : m s 2 : 2 m s z U { 0 0 } ; 4 : e l s e . . 5 : S E N D ( h ( 0 0 ) , N e w _ m s ( 0 0 , 0 1 ) ) ; c h n t z : 2 c h n t z + 1 ; 6 : e n d i f 7 : e n d w h i l e 8 : r e t u r n m s z ; T h e n e x t p h a s e o f t h e a l g o r i t h m i s r e m o v i n g t h e s t a t e s o f g l o b a l m s f r o m t h e g l o b a l i n v a r i a n t . T o t h i s e n d , w e n e e d t o h a v e a s y n c h r o n i z a t i o n m e c h a n i s m t o e n s u r e t h a t c a l c u l a t i o n o f m s i i s c o m p l e t e d f o r a l l i E [ 0 . . N — 1 ] . I n p a r t i c u l a r , w e u s e t h e t e r m i - n a t i o n d e t e c t i o n t e c h n i q u e p r o p o s e d b y M a t t e r n [ M a t 8 7 ] . M o r e s p e c i fi c a l l y , i n L i n e 6 , t h e t h r e a d D i s t r i b u t e d _ A d d . f a i l s a f e w a i t s t o r e c e i v e a T r m _ d t c t m e s s a g e i n d i c a t i n g t h a t a l l p r o c e s s e s a r e fi n i s h e d b y c a l c u l a t i n g t h e i r l o c a l m s i a n d a l l c o m m u n i c a t i o n c h a n - n e l s a r e e m p t y . T h e a r r o w s ( < — ) i n T h r e a d 1 3 . 1 m a r k t h e s y n c h r o n i z a t i o n b a r r i e r s . 3 1 2 W e w i l l d e s c r i b e t h e t e r m i n a t i o n d e t e c t i o n t e c h n i q u e l a t e r i n t h i s s u b s e c t i o n . A f t e r c a l c u l a t i n g t h e g l o b a l s e t m s , w e r e m o v e t h i s s e t f r o m t h e i n v a r i a n t t o e n s u r e t h a t n o c o m p u t a t i o n o f P I t h a t s t a r t s f r o m a s t a t e i n I n v p , v i o l a t e s t h e s a f e t y s p e c - i fi c a t i o n . W e a l s o r e m o v e t h e t r a n s i t i o n s o f t h e s e t m t i f r o m T i , w h e r e m t i c o n s i s t s o f t r a n s i t i o n s w h o s e t a r g e t s t a t e s a r e i n m s i o r d i r e c t l y v i o l a t e t h e s a f e t y s p e c i fi c a t i o n ( L i n e 7 ) . N o t i c e t h a t t h i s r e m o v a l m a y c r e a t e d e a d l o c k s t a t e s ( i . e . , s t a t e s f r o m w h e r e t h e r e e x i s t n o o u t g o i n g t r a n s i t i o n s ) . T h u s , t h e t h r e a d D i s t r i b u t e d _ A d d _ f a i I s a f e i n v o k e s t h e p r o c e d u r e R e m o v e L o c a I D e a d I o c k s ( L i n e 8 ) t o r e m o v e d e a d l o c k s t a t e s w h i c h i s i n t u r n c a l c u l a t i n g t h e l a r g e s t fi x p o i n t o f b a c k w a r d r e a c h a b l e s t a t e s , g i v e n t h e i n i t i a l s e t I n v ? ) I n o t h e r w o r d s , i t k e e p s r e m o v i n g d e a d l o c k s t a t e s u n t i l i t r e a c h e s a fi x p o i n t ( s e e P r o c e d u r e 1 3 . 3 ) . I n t h i s c a l c u l a t i o n , s i n c e r e m o v a l o f a d e a d l o c k s t a t e , s a y 0 1 , m a y c r e a t e t r a n s i t i o n s , s a y ( 0 0 , 0 1 ) , s u c h t h a t ( 0 0 , 0 1 ) v i o l a t e s t h e c l o s u r e o f i n v a r i - a n t , w e i n v o k e t h e p r o c e d u r e E n s u r e C I o s u r e t o e n s u r e t h a t n o s u c h t r a n s i t i o n s e x i s t i n t h e fi n a l s y n t h e s i z e d p r o g r a m . F u r t h e r m o r e , i f w e e n c o u n t e r a p r o g r a m t r a n s i t i o n , s a y ( 0 0 , 0 1 ) , w h e r e 0 1 i s a d e a d l o c k s t a t e a n d 0 0 r e s i d e s i n a m a c h i n e o t h e r t h a n i ( i . e . , h ( 0 0 ) 2 i ) , t h e n w e s e n d a N e w _ d s m e s s a g e t o p r o c e s s h ( 0 0 ) i n d i c a t i n g t h a t 0 0 P r o c e d u r e 1 3 . 3 R e m o v e L o c a I D e a d I o c k s I n p u t : s t a t e p r e d i c a t e I n v i a n d t r a n s i t i o n p r e d i c a t e T 2 . O u t p u t : r e t u r n s t h e l a r g e s t s u b s e t o f I n v i s u c h t h a t c o m p u t a t i o n s o f T i w i t h i n t h a t s u b s e t a r e i n fi n i t e . 1 : w h i l e ( 3 0 1 6 I n v f p : ( V 0 2 | ( 3 0 0 | ( 0 0 , 0 2 ) 6 T i ) : ( 0 1 , 0 2 ) ¢ T i ) ) d o 2 I n v i : 2 I n v i — { 0 1 } ; _ ' 3 : C l ” : 2 E n s u r e C l o s u r e ( T " , I n v z , 0 1 ) ; 4 : e n d w h i l e . . 5 : r e t u r n I n v z , T ' 1 ; 3 1 3 ? ? ? 9 0 9 9 @ P r o c e d u r e 1 3 . 4 E n s u r e C l o s u r e I n p u t : s t a t e p r e d i c a t e I n v z , t r a n s i t i o n p r e d i c a t e T i , a n d s t a t e 0 1 . O u t p u t : s t a t e p r e d i c a t e I n v a n d t r a n s i t i o n p r e d i c a t e T 7 ' v h e r e I n v i s c l o s e d i n T 2 w h i l e ( 3 0 0 : ( ( 0 0 , 0 1 ) 6 T 2 A 1 1 ( 0 0 ) 2 i ) ) d o S E N D ( h ( o O ) , N e w - d s ( 0 0 , 0 1 ) ) ; c h n t 2 : _ 2 c h n t z + 1 ; T 2 — 7 f ‘ - { ( 0 0 0 1 ) } ; e n d w h i l e r e t u r n T I — { ( 0 0 , 0 1 ) I O D E I H ’ U P } ; m i g h t b e a d e a d l o c k s t a t e ( L i n e 2 i n P r o c e d u r e 1 3 . 4 ) . U p o n r e c e i p t o f s u c h a m e s s a g e ( c f . L i n e 8 i n F i g u r e 1 3 . 5 ) , t h e r e c e i v e r r e m o v e s t h e t r a n s i t i o n ( 0 0 , 0 1 ) t o m a i n t a i n c o n s i s t e n c y o f t r a n s i t i o n s a n d t h e n i n v o k e s t h e p r o c e d u r e R e m o v e L o c a I D e a d I o c k s ( c f . L i n e 1 0 i n F i g u r e 1 3 . 5 ) t o r e m o v e p o s s i b l e n e w d e a d l o c k s t a t e s d u e t o r e m o v a l o f ( 0 0 , 0 1 ) . S i m i l a r t o t h e c a l c u l a t i o n o f m s , o u r a l g o r i t h m e n s u r e s c o m p l e t i o n o f c a l c u - l a t i o n o f t h e l a r g e s t fi x p o i n t I n v p , u s i n g t h e s a m e t e r m i n a t i o n d e t e c t i o n t e c h n i q u e ( L i n e 9 i n F i g u r e 1 3 . 1 ) . A t t h i s p o i n t , e a c h p r o c e s s h a s s y n t h e s i z e d a l o c a l s e t o f p r o g r a m t r a n s i t i o n s T 7 3 ’ w i t h a l o c a l i n v a r i a n t I n v f T h e u n i o n o f t h e s e p o r t i o n s i s t h e fi n a l s y n t h e s i z e d r " - _ N - O T I _ N - l i p r o g r a m , i . e . , T P ’ — T 7 3 , a n d I n v p , — U i 2 0 I n v p p r e d i c a t e s c a n n o t b e e m p t y , i f I n v p , t u r n s o u t t o b e e q u a l t o t h e e m p t y s e t , t h e , . H o w e v e r , s i n c e i n v a r i a n t a l g o r i t h m d e c l a r e s f a i l u r e . T o t e s t t h e e m p t i n e s s o f I n v p ] , a p i e — s p e c i f i e d l e a d e r p r o c e s s i d e n t i fi e d b y t h e v a r i a b l e b L e a d e r i n i t i a t e s a n e m p t i n e s s p o l l i n g o f t h e g l o b a l i n v a r i a n t I n v p , a s f o l l o w s . F o r t h i s p o l l i n g ( a n d a l s o t e r m i n a t i o n d e t e c t i o n ) , w e c o n s i d e r a u n i d i r e c t i o n a l v i r t u a l r i n g w h i c h c o n n e c t s e v e r y m a c h i n e i t o i t s s u c c e s s o r m a c h i n e ( i + 1 ) m o d N . N o t e t h a t t h i s v i r t u a l r i n g i s i n d e p e n d e n t o f t h e f u l l y 3 1 4 c o n n e c t e d t o p o l o g y o f t h e n e t w o r k . N o w , i f t h e l o c a l i n v a r i a n t o f t h e l e a d e r i s e q u a l t o t h e e m p t y s e t t h e n i t s e n d s a n E m p t _ i n v ( 0 ) m e s s a g e t o i t s fi r s t n e i g h b o r 0 1 1 t h e v i r t u a l r i n g ( p r o c e s s ( i + 1 ) m o d N ) i n d i c a t i n g t h a t i t s o w n l o c a l i n v a r i a n t i s e q u a l t o t h e e m p t y s e t ( c f . L i n e s 1 5 - 1 7 i n T h r e a d 1 3 . 1 ) . I f t h e l o c a l i n v a r i a n t o f t h e ( ( i + 1 ) m o d N ) t h p r o c e s s i s e q u a l t o t h e e m p t y s e t a s w e l l , i t i n c r e m e n t s t h e v a l u e o f k ( t h e i n t e g e r r e c e i v e d a l o n g w i t h t h e m e s s a g e E m p t _ i n v ) b y o n e a n d s e n d s t h e s a m e m e s s a g e t o t h e n e x t p r o c e s s o n t h e r i n g ( c f . L i n e 1 4 i n F i g u r e 1 3 . 5 ) . O t h e r w i s e , i t d o e s n o t c h a n g e t h e v a l u e o f k a n d s e n d s a n E m p t _ i n v ( k ) m e s s a g e t o t h e n e x t p r o c e s s ( L i n e 1 8 ) . U p o n t h e c o m p l e t i o n o f o n e r o u n d o f s e n d i n g t h e E m p t . _ i n v m e s s a g e s , t h e l e a d e r fi n a l l y fi n d s o u t w h e t h e r t h e g l o b a l i n v a r i a n t I n v p , i s e q u a l t o t h e e m p t y s e t o r n o t ( L i n e s 2 2 - 2 8 ) . I f t h e g l o b a l i n v a r i a n t I n v p , i s i n d e e d e q u a l t o t h e e m p t y s e t t h e n t h e l e a d e r d e c l a r e s f a i l u r e ( L i n e 2 2 ) . O t h e r w i s e , i t c a l c u l a t e s a n d r e t u r n s P , a n d I n v p , ( L i n e 2 5 ) . N o t i c e t h a t L i n e s 1 1 - 1 3 i n T h r e a d 1 3 . 1 a n d 2 5 a n d i n t h r e a d 1 3 . 5 r e s p e c t i v e l y d e s c r i b e s t h a t t h e o u t p u t o f t h e d i s t r i b u t e d a l g o r i t h m i s i n d e e d a p r o g r a m w h i c h i s t h e u n i o n o f a l l l o c a l s e t s o f t r a n s i t i o n s a n d l o c a l i n v a r i a n t s . T e r m i n a t i o n d e t e c t i o n I n o r d e r t o d e t e c t t h e t e r m i n a t i o n o f t h e fi x p o i n t c a l c u l a t i o n s , w e u s e a v i r t u a l r i n g - b a s e d a l g o r i t h m i n s p i r e d b y M a t t e r n [ M a t 8 7 ] . A c c o r d i n g t o t h e g e n e r a l d e fi n i t i o n , g l o b a l t e r m i n a t i o n i s r e a c h e d w h e n a l l l o c a l c o m p u t a t i o n s a r e c o m p l e t e ( i . e . , e a c h m a c h i n e i h a s c a l c u l a t e d a l o c a l fi x p o i n t ) a n d a l l c o m m u n i c a t i o n c h a n n e l s a r e e m p t y ( i . e . , a l l s e n t t r a n s i t i o n s h a v e b e e n r e c e i v e d ) . T h e c o r e o f t h e t e r m i n a t i o n d e t e c t i o n a l g o r i t h m i s a s f o l l o w s . E v e r y t i m e t h e l e a d e r p r o c e s s fi n i s h e s i t s l o c a l fi x p o i n t c a l - c u l a t i o n s , i t c h e c k s w h e t h e r g l o b a l t e r m i n a t i o n h a s b e e n r e a c h e d b y g e n e r a t i n g t w o 3 1 5 T h r e a d 1 3 . 5 M e s s a g e H a n d l e r ( p a r t 1 ) 1 : m s g : 2 R E C E I V E O ; 2 : S w i t c h m s g i s 3 : 1 0 : I 2 : 1 3 : 1 4 : 1 5 : 1 6 : 1 7 : 1 8 : 1 9 : 2 0 : 2 1 : 2 2 : 2 3 : 2 4 : 2 5 : 2 6 : 2 7 : 2 8 : 2 9 : 3 0 : 3 1 : 3 2 : 3 3 : 3 4 : 3 5 : 3 6 : 3 7 : C a s e N e w _ m s j - , ( 0 0 0 1 ) : m s i : 2 m s U { 0 0 } ; n s : 2 n s 7 L ' U { c 7 1 } c h c v d ‘ 2 — — c h c v d ‘ + 1 ; — — F i n d L o c a l U n s a f e S t a t e s ( S " p , m s , F ” ) ; E n d C a s e C a s e N e w - d s j : ( 0 0 , 0 1 ) T I ) : = T — { ( 0 0 , 0 1 ) } ; c h c v d 7 ’ : — — — c h c v d z + I ; I n v ; 3 , , T l : , ; , ' . 2 I P R e m o v e L o c a l D e a d l o c k s ( I n v , T I P ) ; E n d C a s e C a s e E m p t _ i n v j ( k ) : i f ( 2 b L e a d e r A I n v f p 2 { } ) t h e n S E N D ( ( i + 1 ) m o d N , E m p t _ i n v ( k + 1 ) ) ; r e t u r n { } ; e l s e i f ( 2 b L e a d e r A I n v I D 2 { } ) t h e n S E N D ( ( i + 1 ) m o d N , E m p t - i n v ( k ) ) ; r e t u r n T ‘ , , I n v p , ; 7 3 e l s e i f ( b L e a d e r A ( k 2 N — 1 ) ) t h e n d e c l a r e n o f a i l s a f e p r o g r a m P , e x i s t s ; e x i t ( ) ; e l s e r e t u r n T , . : 2 U 7 3 e n d i f e n d i f e n d i f E n d C a s e C a s e R e p o r t . r c v j ( k ) : i f ( 2 b L e a d e r z ) t h e n S E N D ( ( i + 1 ) m o d N , R e p o r t _ r c v ( k + c h c v d z ) ) ; e l s e a n o t a l : 2 k ; _ S E N D ( ( i + 1 ) m o d N , R e p o r t _ s n d ( c h n t ) I ) ; e n d i f E n d C a s e N — i — ( ) 1 T p h l n v p , : 2 U N 0 i 1 1 n v P ” 3 1 6 T h r e a d 1 3 . 6 M e s s a g e H a n d l e r ( p a r t 2 ) 3 8 : 3 9 : 4 0 : 4 1 : 4 2 : 4 3 : 4 4 : 4 5 : 4 6 : 4 7 : 4 8 : 4 9 : 5 0 : 5 1 : 5 2 : 5 3 : 5 4 : 5 5 : 5 6 : 5 7 : 5 8 : 5 9 : 6 0 : 6 1 : 6 2 : 6 3 : 6 4 : 6 5 : 6 6 : 6 7 : 6 8 : 6 9 : 7 0 : 7 1 : 7 2 : 7 3 : C a s e R e p o r t _ s n d j ( k ) : i f ( 2 b L e a d e r z ) t h e n S E N D ( ( i + 1 ) m o d N , R e p o r t - s n d ( k + c h n t z ) ) ; e l s e i f ( a n o t a l 2 k ) t h e n S E N D ( I ( i + 1 ) m o d N . . ( i + N — - 1 ) m o d N ] , T r m _ d t c t ) ; e n d i f e n d i f E n d C a s e C a s e N e w - f s ( 0 0 ) S I 1 2 — S z — { 0 0 } ; c h c v d l ’ l z — - c h c v d z + 1 ; . . S I : 2 C o n s t r u c t L o c a l F a u l t S p a n ( S Z , S é — S I , F 2 ) ; E n d C a s e C a s e S e a r c h _ p a t h j ( X ) : - — ; { } c h c v d g u — - c h c v d z + 1 ; f o r e a c h 0 0 E X d o i f ( 3 0 1 : ( R a n k ( 0 1 ) 2 0 0 ) ) A ( ( 0 0 , 4 7 1 ) ¢ m t f ’ ) t h e n r 2 : 2 r 2 U { ( 0 0 , 0 1 , R a n k ( 0 1 ) + 1 ) } ; e n d i f e n d f o r . . . S E N D ( j , N e w _ p a t h ( r 2 ) ) ; c h n t 2 : 2 c h n t z + l ; E n d C a s e . C a s e N e w . _ p a t h j ( r 2 ) : — { } c h c v d i z - — c h c v d ” + 1 ; _ ' . f o r e a c h ( 0 0 , 0 1 , a ) s . t . ( ( 0 0 , 0 1 , a ) E r 2 A 0 0 E ( 5 % - — S I » d o i f ( 0 0 , 0 1 ) ¢ T I ) t h e n T I : ' = T I ; U ( 0 0 0 1 ) ; ( I U ( 0 0 . 0 1 ) ; R a n k ( 0 0 ) : - — a ; 1 9 1 , 1 9 2 7 ' — _ S Z U { 0 0 } , 1 9 2 — { 0 0 } ; T " , T 1 r ' - - — C o n s t r u c t L o c a l R e c o v e r y P a t h s ( I n v ' i , 5 ; , T 1 , m t i ) ; S E N D ( j , C o n f i r m _ t r n s ( q z ) ) ; c h n t z z — - c h n t z + 1 ; e n d i f e n d f o r E n d C a s e 3 1 7 T h r e a d 1 3 . 7 M e s s a g e H a n d l e r ( p a r t 3 ) 7 4 : C a s e C o n f i r m _ t r n s j ( q i ) : . i . _ ' i . 7 5 . T . _ 7 ; ) u q , 7 6 : c h c v d i : 2 c h c v c f i + 1 ; 7 7 : S E N D ( j , C o m m i t ) ; 7 8 : c h n t 2 : 2 c h n t z + 1 ; 7 9 : E n d C a s e 8 0 : C a s e C o m m i t - z . 7 8 1 : c h c ' u d z : 2 c h c v d ' t + 1 ; 8 2 : W a i t t o r e c e i v e C o m m i t m e s s a g e f r o m a l l p r o v i d e r s ; 8 3 : S E N D ( i + 1 m o d N , T o k e n ) ; 8 4 : c h n t " : 2 c h n t ’ t + 1 ; 8 5 : E n d C a s e 8 6 : C a s e T o k e n j : 8 7 : c h c v d i : 2 c h c v d ’ i + 1 ; . . 8 8 : S E N D ( [ ( i + 1 ) m o d N . . ( i + N — 1 ) m o d N ] , S e a r c h _ p a t h ( S § - — S 9 ) ; 8 9 : c h n t z : 2 c h n t 2 + 1 ; 9 0 : E n d C a s e 9 1 : E n d S w i t c h s u c c e s s i v e w a v e s o f R e p o r t _ r c v ( r e s p e c t i v e l y , R e p o r t - s n d ) m e s s a g e s o n t h e v i r t u a l r i n g t o c o l l e c t t h e n u m b e r o f m e s s a g e s r e c e i v e d ( r e s p e c t i v e l y , s e n t ) b y a l l m a c h i n e s . A m e s s a g e R e p o r t _ r c v j ( k ) ( r e s p e c t i v e l y , R e p o r t _ s n d j ( k ) ) r e c e i v e d b y m a c h i n e 2 ' i n - d i c a t e s t h a t k m e s s a g e s h a v e b e e n r e c e i v e d ( r e s p e c t i v e l y , s e n t ) b y t h e m a c h i n e s f r o m t h e l e a d e r u p t o j 2 ( 2 ' — 1 ) m o d N . E a c h m a c h i n e 2 ' c o u n t s t h e m e s s a g e s i t h a s r e - c e i v e d a n d s e n t u s i n g t w o i n t e g e r v a r i a b l e s c b l i ’ c v d i a n d c h n t i , a n d a d d s t h e i r v a l u e s t o t h e n u m b e r s c a r r i e d b y R e p o r t _ r c v a n d R e p o r t _ s n d m e s s a g e s ( L i n e s 3 2 , 3 5 , a n d 4 0 ) . U p o n r e c e i p t o f t h e R e p o r t _ s n d j ( 1 : ) m e s s a g e e n d i n g t h e s e c o n d w a v e , t h e l e a d e r m a c h i n e c h e c k s w h e t h e r t h e t o t a l n u m b e r k o f m e s s a g e s s e n t i s e q u a l t o t h e t o t a l n u m b e r a n o t a l o f m e s s a g e s r e c e i v e d ( t h e r e s u l t o f t h e R e p o r t _ r c v w a v e ) . I f t h i s i s t h e c a s e , i t i n f o r m s t h e o t h e r m a c h i n e s t h a t t e r m i n a t i o n h a s b e e n r e a c h e d , b y s e n d i n g 3 1 8 a b r o a d c a s t T r m _ d t c t m e s s a g e . O t h e r w i s e , t h e l e a d e r c o n c l u d e s t h a t t e r m i n a t i o n h a s n o t b e e n r e a c h e d y e t a n d w i l l g e n e r a t e a n e w t e r m i n a t i o n d e t e c t i o n w a v e l a t e r ( L i n e 4 3 ) . T h e o r e m 1 3 . 2 . 2 T h e a l g o r i t h m D i s t r i b u t e d _ A d d _ f a i I s a f e i s s o u n d a n d c o m p l e t e . P r o o f . S i n c e t h e o u t p u t o f o u r a l g o r i t h m i s i d e n t i c a l t o t h e o u t p u t o f t h e c e n t r a l i z e d a l g o r i t h m b y K u l k a r n i a n d A r o r a [ K A O O ] , t h e p r o o f o f s o u n d n e s s a n d c o m p l e t e n e s s i m m e d i a t e l y f o l l o w s . I P e r f o r m a n c e o f p a r a l l e l i z e d a d d i t i o n o f f a i l s a f e D i s t r i b u t i n g t h e s y n t h e s i s a l g o r i t h m i s a i m e d a t r e d u c i n g t h e s p a c e c o m p l e x i t y a n d t i m e c o m p l e x i t y . O f t h e s e , s i m i l a r t o t h e g o a l s f o r d i s t r i b u t e d m o d e l c h e c k i n g , r e - d u c i n g t h e s p a c e c o m p l e x i t y i s a h i g h e r p r i o r i t y . W e e x p e c t t h a t o u r a p p r o a c h w o u l d a s s i s t i n t h i s c a s e . I n p a r t i c u l a r , i f N m a c h i n e s a r e u s e d t o p e r f o r m s y n t h e s i s t h e n e a c h o f t h e m i s e x p e c t e d t o h a v e ( 1 / N ) t h n u m b e r o f s t a t e s a n d a t m o s t ( 2 / N ) t h n u m b e r o f t r a n s i t i o n s ( b e c a u s e a t r a n s i t i o n m a y b e s t o r e d i n u p t o t w o m a c h i n e s ) . R e g a r d i n g t i m e c o m p l e x i t y , i n e a c h p h a s e , a m a c h i n e p e r f o r m s s o m e l o c a l c o m p u t a - t i o n t h a t r e s u l t s a s e t o f q u e r i e s ( e . g . , N e w _ m s , N e w _ d s , e t c . ) f o r o t h e r m a c h i n e s . N o w , c o n s i d e r t h e r o l e o f t h e t w o t h r e a d s D i s t r i b u t e d _ A d d _ f a i I s a f e a n d M e s s a g e H a n d l e r . T h e t h r e a d M e s s a g e H a n d l e r p r o v i d e s a n e w l i s t o f t a s k s ( r e c e i v e d f r o m o t h e r m a c h i n e s ) t h a t s h o u l d b e p e r f o r m e d b y D i s t r i b u t e d A d e a i l s a f e . S i n c e D i s t r i b u t e d _ A d d . f a i l s a f e b e g i n s w i t h a l i s t o f t a s k s ( b a s e d o n i t s l o c a l s t a t e s a n d t r a n s i t i o n s ) a n d M e s s a g e H a n - d l e r c o n t i n u e s t o p r o v i d e n e w t a s k s b a s e d o n r e q u e s t s r e c e i v e d f r o m o t h e r s , w e e x p e c t t h a t t h e l i s t o f t a s k s t h a t D i s t r i b u t e d _ A d d . f a i l s a f e n e e d s t o p e r f o r m w i l l t y p i c a l l y b e 3 1 9 n o n e m p t y a t a l l t i m e s . I n o t h e r w o r d s , c o m m u n i c a t i o n c o s t w i l l n o t b e i n t h e c r i t i c a l p a t h f o r t h e s y n t h e s i s . T h e r e f o r e , w e e x p e c t t h a t t h e d i s t r i b u t e d s y n t h e s i s a l g o r i t h m w i l l b e a b l e t o p r o v i d e s i g n i fi c a n t b e n e fi t s r e g a r d i n g t i m e c o m p l e x i t y a s w e l l . 1 3 . 3 D i s t r i b u t e d A d d i t i o n o f M a s k i n g F a u l t - T o l e r a n c e I n o r d e r t o s y n t h e s i z e a m a s k i n g p r o g r a m , w e s h o u l d g e n e r a t e a p r o g r a m ” P , w i t h i n - v a r i a n t I n v p / a n d f a u l t - s p a n 8 1 3 ” s u c h t h a t P , n e v e r v i o l a t e s i t s s a f e t y s p e c i fi c a t i o n a n d i f f a u l t s p e r t u r b t h e s t a t e o f ’ P ’ t o a s t a t e i n S p l , i t r e c o v e r s t o I n v p , w i t h i n a fi n i t e n u m b e r o f r e c o v e r y s t e p s . S i m i l a r t o t h e d i s t r i b u t e d a l g o r i t h m f o r a d d i n g f a i l - s a f e f a u l t — t o l e r a n c e , o u r a l g o r i t h m f o r a d d i n g m a s k i n g f a u l t - t o l e r a n c e c o n s i s t s o f t w o t h r e a d s D i s t r i b u t e d _ A d d _ m a s k i n g ( c f . T h r e a d 1 3 . 8 ) a n d M e s s a g e H a n d l e r ( c f . T h r e a d 1 3 . 5 ) . O u r fi r s t e s t i m a t e o f a m a s k i n g p r o g r a m i s a f a i l s a f e p r o g r a m . H e n c e , w e l e t o u r fi r s t e s t i m a t e 1 7 1 . i n b e t h e l o c a l i n v a r i a n t o f i t s f a i l s a f e f a u l t — t o l e r a n t p r o g r a m ( c f . L i n e s 1 - 2 i n F i g u r e 1 3 . 8 ) . L i k e w i s e , w e e s t i m a t e t h e l o c a l f a u l t - s p a n t o b e S i w h e r e S i i n c l u d e s a l l t h e s t a t e s i n t h e l o c a l s t a t e s p a c e m i n u s t h e s t a t e s f r o m w h e r e s a f e t y o f ” P , m a y b e v i o l a t e d ( L i n e s 3 - 4 ) . N e x t , w e c o m p u t e t h e l o c a l s e t o f t r a n s i t i o n s T i , l o c a l f a u l t - s p a n S i , a n d l o c a l i n v a r i a n t 1 7 1 . i n i n a l o o p ( L i n e s 6 — 2 5 ) . T h i s l o o p c o n s i s t s o f t h r e e m a i n s t e p s f o r c o n s t r u c t i n g r e c o v e r y p a t h s , c a l c u l a t i n g f a u l t - s p a n , a n d c a l c u l a t i n g i n v a r i a n t a s f o l l o w s : 3 2 0 1 . I n o r d e r t o c o m p u t e t h e l o c a l s e t o f t r a n s i t i o n s T ' l i , w e c o n s t r u c t r e c o v e r y p a t h s f r o m e a c h s t a t e i n t h e f a u l t - s p a n t o a s t a t e i n t h e i n v a r i a n t . T o t h i s e n d , w e i d e n t i f y t w o t y p e s o f r e c o v e r y p a t h s : ( 1 ) r e c o v e r y p a t h s c o n s i s t o f o n l y l o c a l p r o g r a m t r a n s i t i o n s , a n d ( 2 ) r e c o v e r y p a t h s c o n s i s t o f b o t h l o c a l p r o g r a m t r a n s i t i o n s a s w e l l a s c r o s s t r a n s i t i o n s . W e n o t e t h a t s i n c e t h e s e t r a n s i t i o n s o r i g i n a t e o u t s i d e t h e i n v a r i a n t , t h e y d o n o t v i o l a t e t h e s e c o n d c o n s t r a i n t o f t h e p r o b l e m s t a t e m e n t ( i . e . , i n t h e a b s e n c e o f f a u l t s , n o n e w c o m p u t a t i o n i s i n t r o d u c e d t o f a u l t - t o l e r a n t p r o g r a m ) . R e c o v e r y p a t h s t h r o u g h l o c a l t r a n s i t i o n s . T h e t h r e a d D i s - t r i b u t e d _ A d d - m a s k i n g i n v o k e s t h e p r o c e d u r e C o n s t r u c t L o c a l R e c o v e r y P a t h s ( L i n e 9 ) , w h i c h i d e n t i fi e s l a y e r s o f s t a t e s i n t h e l o c a l f a u l t - s p a n c o r r e s p o n d i n g t o t h e n u m b e r o f s t e p s o f r e c o v e r y p a t h s , i n a l o o p ( L i n e s 4 - 1 0 i n P r o c e d u r e 1 3 . 9 ) . I n t h e b e g i n n i n g o f t h e l o o p i t a s s i g n s a r a n k t o e a c h s t a t e w h i c h i s e q u a l t o t h e n u m b e r o f r e c o v e r y s t e p s f r o m t h a t s t a t e t o a s t a t e i n t h e l o c a l i n v a r i - a n t . I n t h i s s e t t i n g , t h e r a n k o f s t a t e s i n t h e l o c a l i n v a r i a n t a r e z e r o . I n t h e fi r s t i t e r a t i o n o f t h e l o o p , w e i d e n t i f y t h e s e t o f s t a t e s f r o m w h e r e o n e — s t e p r e c o v e r y t o t h e l o c a l i n v a r i a n t i s p o s s i b l e w h i l e m a i n t a i n i n g t h e s a f e t y , i . e . , X i = { 0 0 | ( 7 0 e ( 5 2 1 ' - 1 m g ) A 3 0 1 e m i , : ( 0 0 , 0 1 ) { . 1 m t i } . T h u s , w e a d d t h e t r a n s i t i o n s , s a y ( 0 0 , 0 1 ) w h e r e 0 0 E X i a n d 0 1 E I n v f p , t o t h e s e t o f l o c a l p r o g r a m t r a n s i t i o n s . I n t h e s e c o n d i t e r a t i o n o f t h e l o o p , w e i d e n t i f y t h e s e t o f s t a t e s f r o m w h e r e t w o - s t e p r e c o v e r y i s p o s s i b l e . I n d e e d , t h i s i s e q u i v a l e n t t o i d e n t i f y i n g t h e s e t o f s t a t e s f r o m w h e r e o n e - s t e p r e c o v e r y i s p o s s i b l e f r o m 3 2 1 S i — X i t o t h e s e t X i U I n t / i . C o n t i n u i n g t h u s i n d u c t i v e l y , w e i d e n t i f y l a y e r s o f s t a t e s f r o m w h e r e m u l t i — s t e p r e c o v e r y i s p o s s i b l e . F i n a l l y , w e r e a c h a p o i n t w h e r e w e i d e n t i f y t h e s e t X i o f s t a t e s f r o m w h e r e r e c o v e r y t o t h e l o c a l i n v a r i a n t u s i n g l o c a l t r a n s i t i o n s i s p o s s i b l e a n d t h e s e t S i — - X i o f s t a t e s f r o m w h e r e s u c h r e c o v e r y i s n o t p o s s i b l e . R e c o v e r y p a t h s t h r o u g h c r o s s t r a n s i t i o n s . A f t e r c o n s t r u c t i n g l o c a l r e - c o v e r y p a t h s , t h e l e a d e r p r o c e s s i n i t i a t e s a w a v e o f c o m m u n i c a t i o n a m o n g a l l p r o c e s s e s t o i d e n t i f y t h e s e t o f s t a t e s f r o m w h e r e l o c a l r e c o v e r y i s n o t p o s s i b l e , b u t r e c o v e r y t h r o u g h c r o s s t r a n s i t i o n s i s p o s s i b l e . M o r e s p e c i fi c a l l y , t h e l e a d e r p r o c e s s s e n d s a S e a r c h _ p a t h m e s s a g e t o a l l o t h e r p r o c e s s e s ( L i n e 1 3 i n T h r e a d 1 3 . 8 ) . L e t u s c a l l t h e p r o c e s s w h i c h s e n d s a S e a r c h _ p a t h t h e r e q u e s t e r p r o c e s s . U p o n r e c e i p t o f t h i s m e s s a g e a l o n g w i t h t h e s e t X o f s t a t e s f r o m w h e r e l o c a l r e c o v e r y i s n o t p o s s i b l e ( L i n e 5 2 i n T h r e a d 1 3 . 5 ) , e a c h p r o c e s s o f f e r s a r e c o v e r y c r o s s t r a n s i t i o n , s a y ( 0 0 , 0 1 ) , p r o v i d e d ( 0 0 , 0 1 ) ¢ m t i a n d t h e r e e x i s t s a r e c o v - e r y p a t h f r o m 0 1 ( i . e . , R a n k ( 0 ‘ 1 ) 2 0 0 ) , f o r e a c h s t a t e 0 0 E X ( L i n e 5 6 ) . L e t u s c a l l s u c h p r o c e s s e s t h e p r o v i d e r s . E a c h p r o v i d e r s e n d s a N e w . p a t h m e s s a g e c a r r y i n g t h e s e t T 7 : o f c r o s s r e c o v e r y t r a n s i t i o n s a l o n g w i t h t h e r a n k o f s t a t e 0 0 t o t h e r e q u e s t e r ( L i n e 5 9 ) . O b v i o u s l y , i f t h e r e q u e s t e r a c c e p t s t h e p r o v i d e r ’ s t r a n s i t i o n s , t h e r a n k o f 0 0 w i l l b e R a n k ( o l ) + 1 . U p o n r e c e i p t o f t h i s m e s s a g e ( L i n e 6 1 i n T h r e a d 1 3 . 5 ) , t h e r e q u e s t e r a d d s t h e n e w r e c o v e r y c r o s s t r a n s i t i o n s , s a y ( 0 0 , 0 1 ) , t o i t s s e t o f l o c a l p r o g r a m t r a n s i t i o n s ( L i n e 6 6 ) a n d s e t s t h e r a n k o f s o u r c e s t a t e s 0 0 ( L i n e 6 7 ) . T h e s e s t a t e s 3 2 2 s h o u l d b e a d d e d t o t h e l o c a l f a u l t - s p a n ( L i n e 6 8 ) . N e x t , i t i n v o k e s t h e p r o c e d u r e C o n s t r u c t L o c a l R e c o v e r y P a t h s t o a d d n e w p o s s i b l e l o c a l r e c o v e r y t r a n s i t i o n s b y t a k i n g t h e n e w l y a d d e d r e c o v e r y c r o s s t r a n s i t i o n s i n t o a c c o u n t ( L i n e 6 9 ) . T h e n , i t s e n d s a C o n f i r m _ t r n s m e s s a g e t o t h e p r o v i d e r s o f t h e c r o s s t r a n s i t i o n s s o t h a t t h e s e t o f c r o s s t r a n s i t i o n s o f p r o v i d e r s a n d t h e r e q u e s t e r p r o c e s s e s a r e c o n s i s t e n t ( L i n e 7 0 ) . O b v i o u s l y , i f t h e r e q u e s t e r r e c e i v e s o t h e r o f f e r s f o r a c r o s s t r a n s i t i o n o r i g i n a t e d a t 0 0 , s a y ( 0 0 , 0 1 ) w i t h r a n k a , w h e r e t h e c u r r e n t r a n k o f 0 0 i s g r e a t e r t h a n a , t h e n t h e r e q u e s t e r c a n r e p l a c e i t s c u r r e n t c r o s s t r a n s i t i o n w i t h ( 0 0 , 0 1 ) . H o w e v e r , w e d o n o t i l l u s t r a t e s u c h i m p l e m e n t a t i o n d e t a i l s i n t h e a l g o r i t h m s . F i n a l l y , u p o n t h e r e c e i p t o f a C o n f i r m _ t r n s m e s s a g e , t h e p r o v i d e r s a d d t h e s e t q i o f c r o s s t r a n s i t i o n s ( s e l e c t e d b y t h e r e q u e s t e r ) t o t h e i r s e t o f l o c a l p r o g r a m t r a n s i t i o n s a s w e l l ( L i n e 7 4 ) . A t t h i s p o i n t , p r o v i d e r s s e n d a C o m m i t m e s s a g e t o t h e r e q u e s t e r ( L i n e 7 7 ) i n d i c a t i n g t h a t t h e c h a n g e s a r e c o m m i t t e d . U p o n r e c e i p t o f C o m m i t m e s s a g e f r o m a l l p r o v i d e r s ( L i n e s 8 1 - 8 2 ) , t h e r e q u e s t e r s e n d s a T o k e n m e s s a g e t o t h e n e x t p r o c e s s o n t h e v i r t u a l r i n g ( L i n e 8 3 ) s o t h a t i t s t a r t s i d e n t i f y i n g t h e c r o s s r e c o v e r y t r a n s i t i o n s i n t h e s a m e f a s h i o n ( L i n e 8 8 ) . W e c o n t i n u e d o i n g t h i s u n t i l n o c r o s s t r a n s i t i o n i s a d d e d a c r o s s t h e n e t w o r k . N o t i c e t h a t i n b o t h t y p e s o f r e c o v e r y p a t h s , w e d o n o t i n t r o d u c e c y c l e s t o t h e f a u l t - s p a n , a s w e d o n o t a d d t r a n s i t i o n s f r o m a s t a t e w i t h a l o w e r r a n k t o a s t a t e w i t h h i g h e r r a n k . H e n c e , a f t e r o c c u r r e n c e o f f a u l t s , r e c o v e r y w i t h i n a fi n i t e n u m b e r o f s t e p s i s g u a r a n t e e d . W e s y n c h r o n i z e t h e c o m p l e t i o n o f c o n s t r u c t i o n 3 2 3 o f r e c o v e r y p a t h s i n L i n e 1 0 . . S i n c e t h e r e m a y e x i s t s t a t e s f r o m w h e r e r e c o v e r y t o t h e i n v a r i a n t i s n o t p o s s i b l e , w e n e e d t o r e c o m p u t e t h e l o c a l f a u l t - s p a n b y r e m o v i n g t h e s t a t e s f r o m w h e r e c l o s u r e o f f a u l t - s p a n i s v i o l a t e d t h r o u g h f a u l t t r a n s i t i o n s . T o t h i s e n d , w e i n v o k e t h e p r o c e d u r e C o n s t r u c t F a u l t s p a n w h i c h i s a l a r g e s t fi x p o i n t c a l c u l a t i o n ( L i n e 1 8 i n T h r e a d 1 3 . 8 ) t o c a l c u l a t e t h e l a r g e s t f a u l t - s p a n w h i c h i s c l o s e d i n ’ P U f . S i n c e t h i s r e m o v a l m a y c a u s e o t h e r s t a t e s i n t h e l o c a l f a u l t - s p a n o f o t h e r p r o c e s s e s t o v i o l a t e t h e c l o s u r e o f t h e g l o b a l f a u l t — s p a n , w e s e n d a N e v i s m e s s a g e t o s u c h p r o c e s s e s t o i n d i c a t e t h i s f a c t ( L i n e 6 i n P r o c e d u r e 1 3 . 1 0 ) . N o t e t h a t i n o r d e r t o s y n c h r o n i z e t h e c o m p l e t i o n o f c a l c u l a t i o n o f l o c a l f a u l t - s p a n s , h e r e a s w e l l , w e n e e d a b a r r i e r s y n c h r o n i z a t i o n ( L i n e 1 9 ) . . D u e t o t h e r e m o v a l o f s o m e s t a t e s i n s t e p 2 , w e r e c o m p u t e t h e l o c a l i n v a r i a n t b y i n v o k i n g t h e p r o c e d u r e R e m o v e L o c a I D e a d I o c k s . N o t i c e t h a t s i n c e I n v ' i m u s t b e a s u b s e t o f S i , t h i s i n v o c a t i o n i s p a r a m e t e r i z e d b y I n v f l ( 1 S i ( L i n e 2 1 ) . A t t h i s p o i n t , i f b o t h I n v f l a n d S i a r e n o n e m p t y , w e j u m p b a c k t o s t e p 1 a n d w e k e e p r e p e a t i n g t h e l o o p u n t i l a fi x p o i n t i s r e a c h e d , i . e . , ( S i 2 S g / \ 1 1 1 2 2 3 2 1 7 2 1 1 3 ) . U p o n t h e t e r m i n a t i o n o f t h e r e p e a t - u n t i l l o o p , r e c o v e r y w i t h o u t v i o l a t i o n o f t h e s a f e t y s p e c i fi c a t i o n f r o m S 1 : t o 1 7 7 . 1 1 3 i s p r o v i d e d . A t t h i s p o i n t , i f t h e r e e x i s t p r o c e s s e s 2 ' a n d 3 ' s u c h t h a t I n v i , a n d S ] , a r e b o t h n o n e m p t y t h e n w e h a v e a s o l u t i o n t o t h e P 7 9 s y n t h e s i s p r o b l e m . T h u s , s i m i l a r t o a d d i t i o n o f f a i l s a f e , w e r u n a n e m p t i n e s s p o l l a m o n g t h e p r o c e s s e s ( L i n e s 2 8 — 3 3 ) . T o t h i s e n d , w e s e n d a E m p t _ f s ( 0 ) , w h i c h i s s i m i l a r t o E m p t _ i n v , e x c e p t t h e m e s s a g e h a n d l e r t e s t s t h e e m p t i n e s s o f t h e l o c a l 3 2 4 f a u l t - s p a n r a t h e r t h a n l o c a l i n v a r i a n t . W ' e s k i p i n c l u d i n g t h i s m e s s a g e i n T h r e a d 1 3 . 5 . W e n o t e t h a t , i n t h i s c h a p t e r , w e h a v e m o d i fi e d t h e r e c o v e r y m e c h a n i s m o f t h e c e n t r a l i z e d a l g o r i t h m i n [ K A O O ] . T h i s i s d u e t o t h e f a c t t h a t i n t h a t a l g o r i t h m t h e a u t h o r s a d d a l l p o s s i b l e t r a n s i t i o n s , i . e . , t h e s e t T l l l n v l U { ( 0 0 , 0 1 ) I 0 0 E 5 1 — I n v l / \ 0 1 6 S 1 } , a n d t h e n r e m o v e n o n - p r o g r e s s c y c l e s . H o w e v e r , s i n c e t h e s i z e o f t h i s s e t i n w o r s t c a s e i s i n t h e s q u a r e o r d e r o f t h e s i z e o f t h e s t a t e s p a c e , i t i m p l i e s t h a t i n w o r s t c a s e , e a c h m a c h i n e 2 ' m u s t s t o r e a s e t w h o s e s i z e i s i n t h e s q u a r e o r d e r o f t h e s t a t e s p a c e w h i c h o b v i o u s l y d o e s n o t m a k e s e n s e . H e n c e , i n s t e a d o f a d d i n g a l l p o s s i b l e t r a n s i t i o n s a n d r e m o v i n g c y c l e s , w e c o n s t r u c t r e c o v e r y p a t h s i n a m o r e s p a c e - e f fi c i e n t w a y i n a s t e p w i s e m a n n e r u s i n g t h e n o t i o n o f l a y e r e d f a u l t - s p a n ( c f . t h e P r o c e d u r e C o n s t r u c t L o c a l R e c o v e r y P a t h s ) . T h e o r e m 1 3 . 3 . 1 T h e a l g o r i t h m D i s t r i b u t e d . A d d . m a s k i n g i s s o u n d . I T h r e a d 1 3 . 8 D i s t r i b u t e d _ A d d _ m a s k i n g I n p u t : l o c a l p r o g r a m t r a n s i t i o n s T i , i n v a r i a n t I r m a ) , f a u l t t r a n s i t i o n s F i , s a f e t y s p e c i fi c a t i o n S P E C / " g t , s t a t e s p a c e 8 ; ) , i n t e g e r N , p a r t i t i o n f u n c t i o n h , a n d B o o l e a n b L e a d e r i . O u t p u t : a m a s k i n g p a r t i t i o n o f p r o g r a m ’ P . 1 : C o m p u t e m s i a n d m t i a s i n D i s t r i b u t e d _ A d d . f a i l s a f e ; 2 : L e t I n v ’ i b e t h e l o c a l i n v a r i a n t o f t h e f a i l s a f e v e r s i o n o f ’ P ; 3 : S i : 2 8 3 1 : ) — m s i ; 4 : V 0 6 ( S ‘ — I n v l ) : R a n k ( o ) : 2 o o ; 5 : T 1 : — — 7 % . ) ; 6 : r e p e a t . 7 : S 2 , I n v 2 : — — S 1 , I n v 1 ; 8 : c h n t ’ , c h c v d i : - - — ; O . . . 9 : T i , 8 1 1 : 2 C o n s t r u c t L o c a l R e c o v e r y P a t h s ( [ n u l l , S % , 1 ; ) , m t ’ ) ; 1 0 : B L K R E C E I V E ( T r m - d t c t ) ; { . _ } 1 1 : c h n t i , c h c v d i : 2 0 ; 1 2 : i f ( b L e a d e r ) t h e n 1 3 : S E N D ( [ ( i + 1 ) m o d N . . ( i + N — 1 ) m o d N ] S e a r c h _ p a t h ( S 1 — S p ) ; 1 4 : c h n t i : 2 c h n t i + 1 ; 1 5 : e n d i f 1 6 : B L K R E C E I V E ( T r m - d t c t ) ; { < — } 1 7 : c h n t z , c h c v d i z — — 2 0 ; . . 1 8 : S i . ' 2 C o n s t r u c t L o c a l F a u l t S p a n ( S 2 , S é — S z , F 2 ) ; 1 9 : B L K R E C E I V E ( T r m _ d t c t ) ; { < — } 2 0 : c h n t ' , c h c v d z : 2 O ; 2 1 : I n v l z — - R e m o v e L o c a I D e a d I o c k s ( I n v ] O S i , T 1 ) ; 2 2 : B L K R E C E I V E ( T r m _ _ d t c t ) ; { < — — } 2 3 : i f ( 1 m ) 1 2 { } V . 5 4 2 - { } ) t h e n b r e a k ; 2 4 : e n d i f _ . . . 2 5 : u n t i l ( S f i 2 S 5 A I n v 1 2 1 n v 2 2 ) 2 6 : B L K R E C I E I V E 2 ( T r m . d t c t ) ; { e — } 2 7 : 5 3 ) , , I n v p r : 2 S Z , I n v 1 ; 2 8 : i f ( b L e a d e r z A ( I n v p , 2 { } ) ) t h e n 2 9 : S E N D ( ( i + 1 ) m o d N , E m p t - i n v ( 0 ) ) ; 3 0 : e n d i f . . 3 1 : i f ( b L e a d e r z A ( S Z P , 2 { } ) ) t h e n 3 2 : S E N D ( ( i + 1 ) m o d N , E m p t _ f s ( 0 ) ) ; 3 3 : e n d i f 3 2 6 P r o c e d u r e 1 3 . 9 C o n s t r u c t L o c a l R e c o v e r y P a t h s I n p u t : s t a t e p r e d i c a t e s I n v i , S i a n d t r a n s i t i o n p r e d i c a t e s T i , m t i . O u t p u t : r e t u r n s t r a n s i t i o n p r e d i c a t e c o n t a i n i n g r e c o v e r y t r a n s i t i o n s X i : 2 I n v i ' 1 : p r 2 : j 2 0 ; 3 : X é : 2 { } ; 4 : r e p e a t _ _ 5 : V 0 6 ( X i — X 5 ) : R a n k ( o ) : 2 j ; 6 : X 5 : 2 X 2 ; j : 2 j + 1 ; 7 ‘ T Z . ‘ = { ( ‘ , ’ 0 ’ 0 1 ) , | 0 0 _ E ( S i — X i ) A 0 1 6 X i } * m ” ; 8 : T 1 . : 2 T 2 | I n v “ U r 2 ; 9 : X z = = X i U { 0 0 l 3 0 1 = ( 0 0 : 0 1 ) E U } ; 1 0 : u n t i l ( X i = X é ) : r e t u r n T 2 , X 2 ; H H P r o c e d u r e 1 3 . 1 0 C o n s t r u c t L o c a l F a u l t S p a n I n p u t : s t a t e p r e d i c a t e s S i , 5 % a n d t r a n s i t i o n p r e d i c a t e f F i . O u t p u t : r e t u r n s t h e l a r g e s t f a u l t - s p a n c l o s e d i n F i 1 : W h i l e ( 3 0 0 , 0 1 : ( ( 0 0 E S i ) / \ ( 0 ’ 1 6 S E ) / \ ( 0 0 , 0 1 ) 6 F 2 » d o 2 : S i : 2 S i — { 0 0 } ; 3 : e n d w h i l e . 4 : f o r e a c h 0 1 E 5 % d o 5 : i f ( 3 0 0 : ( ( 0 0 , 0 1 ) E F 2 / \ h ( 0 0 ) 2 i ) ) t h e n 6 : S E N D ( h ( o O ) , N e w _ f s ( 0 0 ) ) ; 7 : c h n t 2 : 2 c h n t z + 1 ; 8 : e n d i f 9 : e n d f o r _ 1 0 : r e t u r n S ‘ ; 3 2 7 C h a p t e r 1 4 P a r a l l e l i z i n g S y m b o l i c D e a d l o c k R e s o l u t i o n I n C h a p t e r 1 1 , w e o b s e r v e d t h a t d e p e n d i n g u p o n t h e s t r u c t u r e o f t h e g i v e n d i s - t r i b u t e d i n t o l e r a n t p r o g r a m , p e r f o r m a n c e o f s y n t h e s i s m a y s u f f e r f r o m s e v e r a l m a j o r c o m p l e x i t y o b s t a c l e s , n a m e l y g e n e r a t i o n o f f a u l t - s p a n , r e s o l u t i o n o f d e a d l o c k s t a t e s , c y c l e d e t e c t i o n , a n d a d d i t i o n o f r e c o v e r y . T h u s , m o r e e f f i c i e n t t e c h n i q u e s a r e s t i l l n e e d e d t o o v e r c o m e t h e a f o r e m e n t i o n e d b o t t l e n e c k s . I n t h i s c h a p t e r , w e f o c u s o n p a r a l l e l i z i n g d e a d l o c k r e s o l u t i o n i n s y m b o l i c s y n t h e s i s o f f a u l t - t o l e r a n t d i s t r i b u t e d p r o g r a m s . D e a d l o c k r e s o l u t i o n i s e s p e c i a l l y c r u c i a l i n t h e c o n t e x t o f d e p e n d a b l e s y s - t e m s , a s i t g u a r a n t e e s t h a t t h e s y n t h e s i z e d f a u l t - t o l e r a n t p r o g r a m m e e t s i t s l i v e n e s s r e q u i r e m e n t s e v e n i n t h e p r e s e n c e o f f a u l t s . T h i s c h a p t e r i s o r g a n i z e d a s f o l l o w s . F i r s t , i n S e c t i o n 1 4 . 1 , w e d e s c r i b e t h e p r o b - l e m i n d e t a i l . T h e n , i n S e c t i o n 1 4 . 2 , w e p r e s e n t o u r p a r a l l e l a l g o r i t h m f o r d e a d l o c k r e s o l u t i o n . 3 2 8 1 4 . 1 T h e D e a d l o c k R e s o l u t i o n P r o b l e m w e n o w d e s c r i b e t h e i s s u e o f d e a d l o c k r e s o l u t i o n u s i n g t h e B y z a n t i n e a g r e e m e n t ( d e n o t e d B A ) p r o b l e m [ L S P 8 2 ] . W e o m i t o t h e r s t e p s i n v o l v e d i n s y n t h e s i z i n g a f a u l t - t o l e r a n t v e r s i o n o f B A ( e . g . , f a u l t - s p a n g e n e r a t i o n , p r e s e r v i n g s a f e t y , a n d r e c o n - s t r u c t i n g i n v a r i a n t p r e d i c a t e ) , a s t h e y a r e n o t i n t h e s c o p e o f t h i s p a p e r . B A c o n s i s t s o f a g e n e r a l , s a y g , a n d t h r e e ( o r m o r e ) n o n - g e n e r a l p r o c e s s e s : j , k , a n d 1 . E a c h p r o c e s s o f B A m a i n t a i n s a d e c i s i o n d ; f o r t h e g e n e r a l , t h e d e c i s i o n c a n b e e i t h e r 0 o r 1 , a n d f o r t h e n o n - g e n e r a l p r o c e s s e s , t h e d e c i s i o n c a n b e 0 , 1 , o r . L , w h e r e t h e v a l u e J . d e n o t e s t h a t t h e c o r r e s p o n d i n g p r o c e s s h a s n o t y e t r e c e i v e d t h e d e c i s i o n f r o m t h e g e n e r a l . E a c h n o n - g e n e r a l p r o c e s s a l s o m a i n t a i n s a B o o l e a n v a r i a b l e f t h a t d e n o t e s w h e t h e r t h a t p r o c e s s h a s fi n a l i z e d i t s d e c i s i o n . F o r e a c h p r o c e s s , a B o o l e a n v a r i a b l e b s h o w s w h e t h e r o r n o t t h e p r o c e s s i s B y z a n t i n e . I n t h e f a u l t - i n t o l e r a n t v e r s i o n o f t h i s p r o g r a m , e a c h n o n - g e n e r a l p r o c e s s c o p i e s t h e d e c i s i o n f r o m t h e g e n e r a l a n d t h e n fi n a l i z e s ( o u t p u t s ) t h a t d e c i s i o n , p r o v i d e d i t i s n o n - B y z a n t i n e . A f a u l t t r a n s i t i o n c a n c a u s e a p r o c e s s t o b e c o m e B y z a n t i n e , i f n o o t h e r p r o c e s s i s i n i t i a l l y B y z a n t i n e . A l s o , a f a u l t c a n c h a n g e t h e d a n d f v a l u e s o f a B y z a n t i n e p r o c e s s . L e t t h e s e q u e n c e ( $ 1 , 1 3 2 , : r 3 , x 4 ) d e n o t e t h e s e t o f s t a t e s w i t h r e s p e c t t o d e c i s i o n v a l u e o f p r o c e s s e s , i . e . , x 1 2 d . g , x 2 2 d . j , 2 : 3 2 d k , a n d 3 : 4 2 d . l . I n t h i s n o t a t i o n , a n o v e r l i n e d ( r e s p e c t i v e l y , u n d e r l i n e d ) d — v a l u e s h o w s t h a t t h e c o r r e s p o n d i n g p r o c e s s h a s fi n a l i z e d i t s d e c i s i o n ( r e s p e c t i v e l y , i s B y z a n t i n e ) . N o w c o n s i d e r t h e f o l l o w i n g s c e n a r i o s : 0 S t a r t i n g f r o m a s t a t e 0 0 i n ( 1 , _ L , _ L , 1 ) , w h e r e t h e g e n e r a l a n d p r o c e s s I a g r e e o n d e c i s i o n 1 a n d p r o c e s s e s j a n d k a r e u n d e c i d e d , t h e p r o g r a m m a y r e a c h 3 2 9 t h e f o l l o w i n g s e q u e n c e o f s t a t e s d u e t o o c c u r r e n c e o f f a u l t s ( d e n o t e d - - - » ) a n d e x e c u t i o n o f p r o g r a m a c t i o n s ( d e n o t e d — > ) : ( 1 , 1 , 1 , 1 ) - — + ( l , . L , J . , 1 ) - - + ( Q , . L , . L , 1 ) — > ( 0 , 0 , 1 , 1 ) — - > ( Q , 0 , 0 , 1 ) . L e t 0 1 b e a s t a t e i n ( Q , 0 , 0 , 1 ) , w h e r e t h e B y z a n t i n e g e n e r a l g a n d n o n - g e n e r a l p r o c e s s e s j a n d k a g r e e o n d e c i s i o n 0 , b u t p r o c e s s I h a s d e c i d e d o n 1 . N o w , c o n s i d e r t h e t a s k s f o r a s y n t h e s i s a l g o r i t h m i n d e a l i n g w i t h s t a t e 0 ' 1 - N o t e t h a t n o p r o c e s s c a n d e t e r m i n e w h e t h e r o t h e r p r o c e s s e s h a v e fi n a l i z e d t h e i r d e c i s i o n d u e t o t h e i s s u e o f d i s t r i b u t i o n . T h u s , t h e s y n t h e s i s a l g o r i t h m r u l e s o u t t r a n s i t i o n s t h a t o r i g i n a t e f r o m 0 1 a n d j fi n a l i z e s i t s d e c i s i o n , a s i t w o u l d v i o l a t e s a f e t y ( i . e . , a g r e e m e n t ) . L i k e w i s e , i t c a n n o t a l l o w 1 : a n d l t o fi n a l i z e e i t h e r . W e c a l l s t a t e s s u c h a s 0 1 a d e a d l o c k s t a t e , s i n c e t h e p r o g r a m c a n n o t p r o c e e d i t s e x e c u t i o n . A s y n t h e s i s a l g o r i t h m c a n r e s o l v e t h i s d e a d l o c k s t a t e b y s i m p l y a d d i n g a r e c o v e r y t r a n s i t i o n t h a t c h a n g e s t h e d e c i s i o n o f l t o 0 w h i c h r e s u l t s i n r e a c h i n g a l e g i t i m a t e s t a t e w i t h o u t v i o l a t i n g s a f e t y . A f t e r a d d i n g s u c h t r a n s i t i o n s , i n t h e n e x t i t e r a t i o n o f t h e s y n t h e s i s a l g o r i t h m , w e c a n a l l o w j a n d k t o fi n a l i z e t h e i r d e c i s i o n a f t e r c o n c l u d i n g t h a t ( 0 , 0 , 0 , 1 ) ( i . e . , w h e r e l i s n o t B y z a n t i n e a n d h a s fi n a l i z e d ) i s n o t r e a c h e d . N o w , c o n s i d e r t h e s c e n a r i o w h e r e 0 0 r e a c h e s t h e f o l l o w i n g s e q u e n c e o f s t a t e s : ( l , J . , . L , 1 ) — > ( 1 , _ L , _ L , T ) - - + ( _ 1 _ , _ L , _ L , 1 ) - — ~ > ( Q , _ L , _ L , 1 ) — - » ( Q , O , _ L , T ) — > ( Q , 0 , 0 , 1 ) . L e t 0 2 b e a s t a t e i n ( _ Q , 0 , 0 , 1 ) , w h e r e n o n - g e n e r a l p r o c e s s e s j a n d 1 : : a g r e e w i t h t h e B y z a n t i n e g e n e r a l o n d e c i s i o n 0 , b u t p r o c e s s I h a s fi n a l i z e d i t s d e c i s i o n o n 1 . O b v i o u s l y , 0 2 i s a l s o a d e a d l o c k s t a t e . H o w e v e r , u n l i k e 0 1 i n t h e p r e v i o u s s c e n a r i o , s i n c e p r o c e s s l h a s fi n a l i z e d i t s d e c i s i o n , w e c a n n o t 3 3 0 r e s o l v e 0 2 b y a d d i n g s a f e r e c o v e r y . O n e a p p r o a c h t o d e a l w i t h s u c h d e a d l o c k s t a t e s i s t o s i m p l y e l i m i n a t e t h e m ( i . e . , m a k i n g t h e m u n r e a c h a b l e ) . H o w e v e r , s i n c e w e r e q u i r e t h a t d u r i n g e l i m i n a t i o n o f a d e a d l o c k s t a t e , n o n e w d e a d l o c k s t a t e s m u s t b e c r e a t e d , a r e s p e c t i v e d e a d l o c k r e s o l u t i o n a l g o r i t h m i n v o l v e s m a n y b a c k t r a c k i n g s t e p s . I n p a r t i c u l a r , i n o r d e r t o r e s o l v e 0 2 , t h e a l g o r i t h m n e e d s t o e x p l o r e t h e r e a c h a b i l i t y g r a p h a n d r e m o v e t h e t r a n s i t i o n t h a t a l l o w s a p r o c e s s t o fi n a l i z e i t s d e c i s i o n w h i l e t h e r e e x i s t t w o u n d e c i d e d p r o c e s s e s . I n C h a p t e r 1 1 , w e o b s e r v e d t h a t i n o r d e r t o a u t o m a t i c a l l y s y n t h e s i z e a f a u l t - t o l e r a n t v e r s i o n o f B A i d e n t i c a l t o t h e o n e b y L a m p o r t , S h o s t a k , a n d P e a s e [ L S P 8 2 ] , 9 6 % o f t h e t o t a l s y n t h e s i s t i m e i s s p e n t t o r e s o l v e d e a d l o c k s t a t e s . W i t h t h i s m o t i v a t i o n , i n t h i s c h a p t e r , w e i n t r o d u c e a p a r a l l e l B D D - b a s e d a l g o - r i t h m f o r r e s o l v i n g d e a d l o c k s t a t e s i n d i s t r i b u t e d p r o g r a m s t h a t a r e s u b j e c t t o a s e t o f f a u l t s . W e s p e c i fi c a l l y d e s i g n o u r a l g o r i t h m f o r m u l t i p r o c e s s o r a r c h i t e c t u r e s w i t h s h a r e d m e m o r y ( e . g . , m u l t i - c o r e p r o c e s s o r s ) d u e t o t h e i r a v a i l a b i l i t y i n v i r t u a l l y a n y o r g a n i z a t i o n . I n t u i t i v e l y , o u r a l g o r i t h m p a r t i t i o n s t h e t r a n s i t i o n r e l a t i o n o f t h e g i v e n i n t o l e r a n t p r o g r a m a c r o s s m u l t i p l e t h r e a d s w h e r e e a c h t h r e a d w o r k s o n a d i f f e r e n t p r o c e s s o r c o r e . T h e a l g o r i t h m m a k e s n o a s s u m p t i o n s a b o u t t h e s t r u c t u r e o f a g i v e n p r o g r a m ( e . g . , s e t o f t r a n s i t i o n s , n u m b e r o f d i s t r i b u t e d p r o c e s s e s , o r i t s r e a c h a b l e s t a t e s ) i n o r d e r t o r e s o l v e d e a d l o c k s t a t e s . T h u s , w e e x p e c t t h e a l g o r i t h m t o b e g e n - e r a l l y a p p l i c a b l e t o a w i d e v a r i e t y o f d i s t r i b u t e d p r o g r a m s . O u r p a r a l l e l a l g o r i t h m t e n d s t o r e q u i r e m o r e m e m o r y t h a n i t s s e q u e n t i a l v e r s i o n . H o w e v e r , b a s e d o n o u r e x — p e r i m e n t a l r e s u l t s , u n l i k e m o d e l c h e c k i n g , B D D - b a s e d s y n t h e s i s a l g o r i t h m s r u n o u t 3 3 1 o f t i m e b e f o r e t h e y r u n o u t o f m e m o r y . H e n c e , t h e i n c r e a s e d s p a c e c o m p l e x i t y i s u n l i k e l y t o b e a b o t t l e n e c k d u r i n g s y n t h e s i s . W e n o t e t h a t s y m b o l i c a l g o r i t h m s a r e k n o w n t o b e n o t o r i o u s l y h a r d t o p a r a l l e l i z e d u e t o t h e i n t e r d e p e n d e n c e a m o n g d a t a s t r u c t u r e s i n v o l v e d i n s u c h a l g o r i t h m s . A s a m a t t e r o f f a c t , w h i l e p a r a l l e l i m p l e m e n t a t i o n s o f s y m b o l i c m o d e l c h e c k e r s a r e o f t e n s u c c e s s f u l i n i n c r e a s i n g a v a i l a b l e m e m o r y , t h e s p e e d u p g a i n e d f r o m s u c h t e c h n i q u e s i s l i m i t e d . T h i s i s l a r g e l y d u e t o t h e i r r e g u l a r n a t u r e o f t h e s t a t e - s p a c e g e n e r a t i o n t a s k a n d t h e r e s u l t i n g h i g h p a r a l l e l o v e r h e a d s s u c h a s l o a d i m b a l a n c e a n d s c h e d u l i n g o f s m a l l c o m p u t a t i o n s . 1 4 . 2 P a r a l l e l S y m b o l i c R e s o l u t i o n o f D e a d l o c k S t a t e s I n t h i s s e c t i o n , w e p r e s e n t o u r p a r a l l e l B D D - b a s e d a l g o r i t h m f o r r e s o l v i n g d e a d l o c k s t a t e s r e a c h a b l e i n t h e p r e s e n c e o f f a u l t s i n a d i s t r i b u t e d p r o g r a m . A m a j o r b a r r i e r i n s u c h p a r a l l e l i z a t i o n i s t h a t B D D m a n i p u l a t i o n p a c k a g e s a r e n o t r e e n t r a n t d u e t o d a t a s t r u c t u r e s s h a r e d a c r o s s s e v e r a l B D D s ( e . g . , a h a s h t a b l e t h a t s t o r e s a l l B D D n o d e s ) . T h e r e a r e t w o a p p r o a c h e s t o d e a l w i t h t h i s o b s t a c l e . T h e fi r s t a p p r o a c h i s t o m o d i f y a B D D p a c k a g e t o m a k e i t r e e n t r a n t . T h e s e c o n d a p p r o a c h i s t o u t i l i z e m u l t i p l e i n s t a n c e s o f t h e B D D p a c k a g e t h a t d o n o t s h a r e m e m o r y . W i t h t h i s a p p r o a c h , e a c h t h r e a d w o r k s o n i t s o w n c o p y o f r e l a t e d B D D S . H o w e v e r , c h a n g e s m a d e b y o n e t h r e a d w o u l d n o t b e i m m e d i a t e l y a v a i l a b l e t o o t h e r t h r e a d s . H e n c e , 3 3 2 t h r e a d s m a y c h a n g e t h e B D D s ( e . g . , t h e p r o g r a m b e i n g s y n t h e s i z e d ) i n c o n s i s t e n t l y . T h e r e f o r e , w e n e e d t o m e r g e t h e r e s u l t s a n d r e m o v e / m a n a g e t h e i n c o n s i s t e n c i e s . I n t h i s w o r k , w e c o n s i d e r t h e s e c o n d a p p r o a c h . A l g o r i t h m s k e t c h . I n t u i t i v e l y , o u r a l g o r i t h m w o r k s a s f o l l o w s . D u r i n g d e a d l o c k r e s o l u t i o n , a m a s t e r t h r e a d s p a w n s s e v e r a l w o r k e r t h r e a d s e a c h r u n n i n g o n a d i f f e r e n t p r o c e s s o r c o r e i n p a r a l l e l w i t h a n i n s t a n c e o f i t s o w n B D D p a c k a g e . T h e i n s t a n c e o f t h e B D D p a c k a g e a s s i g n e d t o e a c h w o r k e r t h r e a d i s i n i t i a l i z e d u s i n g B D D s f o r p r o g r a m t r a n s i t i o n s , i n v a r i a n t p r e d i c a t e , f a u l t - s p a n , a n d f a u l t t r a n s i t i o n s . T h e m a s t e r t h r e a d p a r t i t i o n s t h e s e t o f d e a d l o c k s t a t e s a n d p r o v i d e s e a c h w o r k e r t h r e a d w i t h o n e s u c h p a r t i t i o n . S u b s e q u e n t l y , w o r k e r t h r e a d s s t a r t r e s o l v i n g t h e i r a s s i g n e d s e t o f d e a d l o c k s t a t e s i n p a r a l l e l b y e i t h e r ( 1 ) a d d i n g s a f e r e c o v e r y , o r ( 2 ) e l i m i n a t i n g t h e o n e s ( i . e . , m a k i n g t h e m u n r e a c h a b l e ) f r o m w h e r e s a f e r e c o v e r y i s n o t p o s s i b l e . U p o n c o m p l e t i o n , t h e m a s t e r t h r e a d m e r g e s t h e r e s u l t s r e t u r n e d b y e a c h w o r k e r t h r e a d a n d r e s o l v e s i n c o n s i s t e n c i e s . 1 4 . 2 . 1 P a r a l l e l A d d i t i o n o f S a f e R e c o v e r y G i v e n a p r o g r a m ’ P , f a u l t s F , f a u l t - s p a n S p , i n v a r i a n t p r e d i c a t e I n v p , s a f e t y s p e c - i fi c a t i o n S P E C b t , a n d p a r t i t i o n p r e d i c a t e s p r t l . . . p r t n , w h e r e n 2 1 i s t h e n u m b e r o f w o r k e r t h r e a d s t o b e s p a w n e d , o u r g o a l i s t o s y n t h e s i z e a t r a n s i t i o n p r e d i c a t e T 7 ) , s u c h t h a t S p c o n t a i n s n o d e a d l o c k s t a t e s , i . e . , S p / \ fi G u a r d ( T P , ) 2 f a l s e . B e f o r e w e d e s c r i b e o u r p a r a l l e l a l g o r i t h m f o r r e s o l v i n g d e a d l o c k s t a t e s t h r o u g h a d - 3 3 3 d i t i o n o f r e c o v e r y a c t i o n s , n o t i c e t h a t s u c h a r e c o v e r y m e c h a n i s m s h o u l d n o t v i o l a t e t h e s a f e t y s p e c i fi c a t i o n . T h u s , w e fi r s t i d e n t i f y t h e s t a t e p r e d i c a t e m s ( L i n e 2 o f R e s o l v e D e a d l o c k S t a t e s i n A l g o r i t h m 1 4 . 1 ) f r o m w h e r e f a u l t s a l o n e c a n r e a c h a s t a t e w h e r e G u a r d ( F / \ S P E C b t ) i s t r u e ( i . e . , f a u l t s a l o n e c a n v i o l a t e t h e s a f e t y ) . N o w , l e t m t i n c l u d e t h e t r a n s i t i o n s i n S P E C b t a s w e l l a s t r a n s i t i o n s i n T 7 3 t h a t e n d i n m s . O b s e r v e t h a t i n o r d e r t o e n s u r e s a f e t y , T 7 3 , ( i n c l u d i n g i t s r e c o v e r y a c t i o n s ) m u s t b e d i s j o i n t f r o m m t . A f t e r i d e n t i f y i n g t h e s e t d s o f d e a d l o c k s t a t e s i n S p ( L i n e 4 ) , w e p a r t i t i o n d s u s - i n g t h e p a r t i t i o n p r e d i c a t e s s u c h t h a t V i z : 1 ( p r t i A d s ) 2 d s . T o e f fi c i e n t l y p a r t i t i o n d e a d l o c k s t a t e s b e t w e e n t h r e a d s , o n e n e e d s t o d e s i g n a m e t h o d s u c h t h a t ( 1 ) d e a d - l o c k s t a t e s a r e e v e n l y d i s t r i b u t e d a m o n g w o r k e r t h r e a d s , a n d ( 2 ) s t a t e s c o n s i d e r e d b y d i f f e r e n t t h r e a d s f o r e l i m i n a t i n g h a v e a s m a l l o v e r l a p d u r i n g b a c k t r a c k i n g . R e - g a r d i n g t h e fi r s t c o n s t r a i n t , w e c a n p a r t i t i o n d e a d l o c k s t a t e s b a s e d o n v a l u e s o f s o m e v a r i a b l e a n d e v a l u a t e t h e s i z e o f c o r r e s p o n d i n g B D D s b y t h e n u m b e r o f m i n t e r m s t h a t s a t i s f y t h e c o r r e s p o n d i n g f o r m u l a . R e g a r d i n g t h e s e c o n d c o n s t r a i n t , w e e x p e c t t h a t t h e o v e r h e a d f o r s u c h a s p l i t i s a s h i g h a s i t r e q u i r e s d e d i c a t e d a n a l y s i s o f p r o — g r a m t r a n s i t i o n s . H e n c e , i n s t e a d o f s a t i s f y i n g t h i s c o n s t r a i n t , w e a d d s y n c h r o n i z a t i o n b e t w e e n t h r e a d s . T h u s , w e d e s i g n p a r t i t i o n p r e d i c a t e s b a s e d v a l u e o f v a r i a b l e s . F o r e x a m p l e , i n t h e c a s e o f B y z a n t i n e a g r e e m e n t p r o g r a m w i t h f o u r w o r k e r t h r e a d s , w e l e t p r t l 2 ( d . j 2 0 ) / \ ( d . k 2 0 ) , p r t z 2 ( d . j 2 0 ) / \ ( d . k 2 0 ) , p r t 3 2 ( d . j 7 E 0 ) / \ ( d . k 2 0 ) , a n d [ W M 2 ( d . j 7 5 0 ) / \ ( d . l c 2 0 ) . N e x t , w e a s s i g n e a c h p a r t i t i o n p r t z - / \ d s o f d e a d l o c k s t a t e s t o a w o r k e r t h r e a d t o i d e n t i f y s a f e r e c o v e r y p a t h s f r o m p r t z - / \ d s t o t h e i n v a r i a n t p r e d i c a t e i n a l a y e r e d f a s h i o n ( L i n e s 5 - 8 i n A l g o r i t h m R e s o l v e D e a d l o c k S t a t e s ) . 3 3 4 4 : d s : 2 S p A fi G u a r d ( T p ) ; A l g o r i t h m 1 4 . 1 R e s o l v e D e a d l o c k S t a t e s I n p u t : p r o g r a m t r a n s i t i o n p r e d i c a t e T P ’ f a u l t s F , i n v a r i a n t I n v p , f a u l t s p a n S p , s a f e t y s p e c i fi c a t i o n S P E C b t ’ a n d p a r t i t i o n p r e d i c a t e s p r t l . . p r t n , w h e r e n i s t h e n u m b e r o f w o r k e r t h r e a d s . O u t p u t : p r o g r a m t r a n s i t i o n p r e d i c a t e T , a n d t h e p r e d i c a t e f t e o f s t a t e s f a i l e d t o 1 ) e l i m i n a t e . : L e t r f o b e t h e s t a t e p r e d i c a t e r e a c h a b l e b y f a u l t s o n l y f r o m t h e i n v a r i a n t p r e d i c a t e ; : L e t m s b e t h e s t a t e p r e d i c a t e f r o m w h e r e f a u l t s a l o n e c a n r e a c h a s t a t e w h e r e G u a r d ( F A S P E C b t ) i s t r u e . m t : 2 S P E C b t V ( m s ) ’ ; 1 2 : 1 3 : 1 4 : 1 5 : 1 6 : 1 7 : 1 8 : 1 9 : 2 0 : 2 1 : 2 2 : { / / R e s o l v i n g d e a d l o c k s t a t e s b y a d d i n g s a f e r e c o v e r y } f o r i z = 1 t o n d o r t , - : 2 S p a w n T h r e a d w A d d R e c o v e r y ( d s A p r t i , I n v p , m t ) ; e n d f o r T h r e a d J o i n ( 1 . . n ) ; 1 0 : 1 1 : Z : v d s , f t e : 2 f a l s e ; d s : 2 S p A fi G u a r d ( T P ) ; { / / E l i m i n a t i n g d e a d l o c k s t a t e s f r o m w h e r e s a f e r e c o v e r y i s n o t p o s s i b l e } f o r i z 2 1 t o n d o r p z - , v d s z - , f t e , - : 2 S p a w n T h r e a d w E l i m i n a t e ( d s A p r t i , T . P , I n v p , F , S p , v d s , r f o , f t e ) ; e n d f o r T h r e a d J o i n ( 1 . . n ) ; { / / M e r g i n g r e s u l t s f r o m w o r k e r t h r e a d s } T 1 9 1 3 : G r o u p ( A ? = 1 7 7 9 2 ' ) ; f t e 3 : y = 1 fi e i § v d s : 2 V ? _ _ _ 1 v d s , ; n d s : = ( ( S p A - . I n v p ) A fi G u a r d ( T , P , ) ) A — » ( ( S P / \ fi l n v p ) A fi a u a r fl T p » ; T 7 ) , : 2 T ’ P ’ V G r o u p ( T p A n d s ) ; T 7 3 , : 2 T , V G r o u p ( T p A ( f t e A r f o ) ’ ) ; r e t u r n 7 2 7 ; , f t e ; 3 3 5 E a c h w o r k e r t h r e a d f o r a d d i n g r e c o v e r y w o r k s a s f o l l o w s ( c f . A d d R e c o v e r y i n T h r e a d 1 4 . 2 ) . L e t t h e fi r s t l a y e r , l y r , b e t h e i n v a r i a n t p r e d i c a t e S ( L i n e 1 ) . W e n o w c o n s t r u c t t h e r e c o v e r y t r a n s i t i o n p r e d i c a t e r t b y ( 1 ) i n c l u d i n g t r a n s i t i o n s t h a t o r i g i n a t e f r o m t h e g i v e n s e t o f d e a d l o c k s t a t e s d s a n d e n d i n l y r ( L i n e 3 ) , a n d ( 2 ) e x - c l u d i n g t r a n s i t i o n s t h a t c a n l e a d t h e p r o g r a m t o a s t a t e w h e r e s a f e t y m a y b e v i o l a t e d ( L i n e 4 ) . W e a d d t h e r e s u l t i n g r e c o v e r y t r a n s i t i o n p r e d i c a t e t o r e c ( L i n e 5 ) . N o w , f o r t h e n e x t i t e r a t i o n , w e l e t l y r b e t h e s t a t e p r e d i c a t e f r o m w h e r e o n e - s t e p s a f e r e c o v - e r y i s p o s s i b l e ( L i n e 6 ) . W e c o n t i n u e a d d i n g r e c o v e r y t r a n s i t i o n p r e d i c a t e s u n t i l n o s u c h t r a n s i t i o n p r e d i c a t e i s a d d e d . N o t i c e t h a t o u r s t r a t e g y o n a d d i n g r e c o v e r y p a t h s g u a r a n t e e s t h a t n o c y c l e s a r e i n t r o d u c e d t o t h e f a u l t - s p a n . H e n c e , a n y c o m p u t a t i o n t h a t t a k e s a r e c o v e r y p a t h r e a c h e s t h e i n v a r i a n t p r e d i c a t e i n a fi n i t e n u m b e r o f s t e p s . T h r e a d 1 4 . 2 A d d R e c o v e r y I n p u t : d e a d l o c k s t a t e s d s , i n v a r i a n t I n v p , a n d t r a n s i t i o n p r e d i c a t e m t . O u t p u t : r e c o v e r y t r a n s i t i o n p r e d i c a t e r e c . 1 : l y r , r e c : 2 I n v p , f a l s e ; 2 : r e p e a t 3 r t : 2 G r o u p ( d s A ( l y r ) ’ ) ; 4 . r t : 2 r t A fi G r o u p ( r t A m t ) ; 5 : r e c : 2 r e c V r t ; 6 l y r : 2 G u a r d ( d s A r t ) 7 : u n t i l ( l y r 2 f a l s e ) ; 8 : r e t u r n r e c ; O n c e a l l w o r k e r t h r e a d s c o m p l e t e t h e r e j o b ( L i n e 8 i n A l g o r i t h m 1 4 . 1 ) , t h e m a s t e r t h r e a d a d d s a l l t h e r e c o v e r y t r a n s i t i o n s r e t u r n e d b y w o r k e r t h r e a d s t o t h e p r o g r a m ’ s t r a n s i t i o n p r e d i c a t e ( L i n e 9 i n A l g o r i t h m R e s o l v e D e a d l o c k S t a t e s ) . A t t h i s p o i n t , t h e r e m a i n i n g d e a d l o c k s t a t e s ( L i n e 1 1 ) h a v e t o b e m a d e u n r e a c h a b l e , a s i t i s n o t p o s s i b l e t o a d d s a f e r e c o v e r y f r o m t h e m t o t h e i n v a r i a n t p r e d i c a t e . 3 3 6 T h r e a d 1 4 . 3 E l i m i n a t e I n p u t : d e a d l o c k s t a t e s d s , p r o g r a m T 7 9 , i n v a r i a n t I n v p , f a u l t t r a n s i t i o n s F , f a u l t s p a n S p , v i s i t e d d e a d l o c k s t a t e s v d s , s t a t e s p r e d i c a t e r e a c h a b l e b y f a u l t s o n l y r f o , p r e d i c a t e f t e f a i l e d t o e l i m i n a t e . O u t p u t : r e v i s e d p r o g r a m t r a n s i t i o n p r e d i c a t e T , v i s i t e d d e a d l o c k s t a t e s v d s , p r e d - 9 . 0 ” 9 9 : 2 9 . 5 3 ! " i c a t e f t e f a i l e d t o e l i m i n a t e . w a i t ( m u t e : z : ) ; d s : 2 d s A - v v d s ; v d s : 2 v d s V d s ; s i g n a l ( m a t e r ) ; i f ( d s 2 f a l s e ) t h e n r e t u r n T ; e n d i f P 9 : t m p : = ( 5 7 ) A ’ i l n v p ) A T 7 ; A ( d s ) ’ ; 1 0 : 1 1 : l 2 : 1 3 : 1 4 : 1 5 : 1 6 : 1 7 : 1 8 : T 7 3 : 2 T P A fi G r o u p ( t m p ) ; f 3 : 2 G u a r d ( S p A fi I n v p A F A ( d s ) ’ ) A - w r f o ; T 7 3 , v d s , f t e : 2 E l i m i n a t e ( f s , T p , I n v p , F , S p , v d s , r f o , f t e ) ; n d s : 2 G u a r d ( S p A fi l n v p A G r o u p ( t m p ) A 2 G u a r d ( T r p ) ) ; T ’ P : 2 T ’ P V ( G r o u p ( t m p ) A n d s ) ; n d s : 2 n d s A G u a r d ( t m p ) ; f t e : 2 f t e V - w ( o l d A 2 T ? A S p A ( d s ) ’ ) ” ; T 7 3 , v d s , ] t e : 2 E l i m i n a t e ( n d s A fi l n v p , T ’ P ’ I n v p , F , S p , v d s , r f o , f t e ) ; r e t u r n T , v d s , f t e ; E x a m p l e . A s m e n t i o n e d i n t h e i n t r o d u c t i o n , o n e t y p e o f d e a d l o c k s t a t e s i n B A i s o f t h e f o r m ( Q , 0 , 0 , 1 ) , w h e r e t h e B y z a n t i n e g e n e r a l 9 a n d n o n - g e n e r a l p r o c e s s e s j a n d k a g r e e o n d e c i s i o n 0 , b u t p r o c e s s I h a s d e c i d e d o n 1 . T h e a l g o r i t h m R e s o l v e D e a d - l o c k S t a t e s r e s o l v e s s u c h d e a d l o c k s t a t e s a n d t h e i r s y m m e t r i c a l s t a t e s b y a d d i n g t h e f o l l o w i n g r e c o v e r y a c t i o n s t o p r o c e s s l ( a n d b y s y m m e t r y t o p r o c e s s e s j a n d k ) o f B A : 3 A 3 , : : d . j 2 0 A d . k = 0 A d . l 2 1 A f . l = 0 - — » d . l , f . l : = 0 , 0 | 1 [ 3 . 4 4 1 : : d . j 2 1 A d . k 2 1 A d . l 2 O A f l 2 0 - — — — > d . l , f . l : 2 1 , 0 | 1 3 3 7 1 4 . 2 . 2 P a r a l l e l S t a t e E l i m i n a t i o n L e t d s b e a d e a d l o c k s t a t e p r e d i c a t e f r o m w h e r e r e c o v e r y t o t h e i n v a r i a n t p r e d i c a t e c a n n o t b e a d d e d . H e n c e , i n o r d e r f o r ’ P ’ ( t h e s y n t h e s i z e d p r o g r a m ) t o s a t i s f y t h e t h i r d c o n d i t i o n o f t h e s y n t h e s i s p r o b l e m , w e n e e d t o e n s u r e t h a t d s i s e l i m i n a t e d f r o m t h e s e t o f s t a t e s t h a t P , c a n r e a c h i n t h e p r e s e n c e o f f a u l t s . S i m i l a r t o a d d i t i o n o f r e c o v e r y p a t h s , t h e A l g o r i t h m R e s o l v e D e a d l o c k S t a t e s l a u n c h e s o n e w o r k e r t h r e a d p e r e a c h p a r t i t i o n o f d s f o r e l i m i n a t i o n ( L i n e s 1 2 - 1 5 ) . T h e T h r e a d E l i m i n a t e ( c f . T h r e a d 1 4 . 3 ) w o r k s a s f o l l o w s . W e fi r s t k e e p t r a c k o f v i s i t e d d e a d l o c k s t a t e s b y a l l w o r k e r t h r e a d s ( L i n e s 1 4 ) s o t h a t n o t h r e a d a t t e m p t s t o e l i m i n a t e d e a d l o c k s t a t e s t h a t h a v e a l r e a d y b e e n c o n s i d e r e d f o r e l i m i n a t i o n . I n p a r t i c u l a r , a l l t h r e a d s s y n c h r o n i z e o n t h e p r e d i c a t e v d s w h i c h c o n t a i n s v i s i t e d d e a d - l o c k s t a t e s b y a l l t h r e a d s ( L i n e s 1 - 4 ) . N e x t , w e r e m o v e a l l i n c o m i n g t r a n s i t i o n s t o d s ( L i n e s 8 - 1 0 ) . T h e n , s i n c e a p r o g r a m d o e s n o t h a v e c o n t r o l o v e r t h e o c c u r r e n c e o f f a u l t s , w e e l i m i n a t e s t a t e s t h a t c a n r e a c h d s v i a a f a u l t t r a n s i t i o n ( L i n e s 1 1 - 1 2 ) . N o w , i f r e m o v a l o f t r a n s i t i o n s i n L i n e 1 0 c a u s e s s o m e s t a t e p r e d i c a t e n d s t o b e c o m e a d e a d l o c k s t a t e p r e d i c a t e ( L i n e 1 3 ) t h e n w e a d d t h e t r a n s i t i o n s ( a n d t h e c o r r e s p o n d - i n g g r o u p ) t h a t b e g i n f r o m n d s ( L i n e s 1 5 — 1 7 ) t o T 7 ) a n d i n s t e a d , w e e l i m i n a t e n d s l . W e k e e p r e p e a t i n g t h i s p r o c e d u r e r e c u r s i v e l y u n t i l t h e r e d o e s n o t e x i s t a s t a t e t o e l i m i n a t e . O n c e a l l w o r k e r t h r e a d s c o m p l e t e t h e i r j o b ( L i n e 1 5 i n A l g o r i t h m 1 4 . 1 ) , t h e m a s t e r l L e t T 1 , b e a t r a n s i t i o n p r e d i c a t e . ( T p ) ” d e n o t e s t h e s t a t e p r e d i c a t e o b t a i n e d b y fi r s t a b s t r a c t i n g u n p r i m e d v a r i a b l e s i n T 1 , a n d t h e n r e p l a c i n g a l l p r i m e d v a r i a b l e s o f T 1 , b y t h e i r c o r r e s p o n d i n g u n p r i m e d v a r i a b l e s . 3 3 8 t h r e a d m e r g e s a l l t h e r e s u l t s b y c o l l e c t i n g t r a n s i t i o n s t h a t a l l w o r k e r t h r e a d s a g r e e o n ( L i n e 1 6 ) . A l t h o u g h t h e a b o v e a l g o r i t h m i s a s o u n d b u i l d i n g b l o c k f o r a s e q u e n t i a l a l g o r i t h m , i t m a y c r e a t e i n c o n s i s t e n c i e s w h e n m u l t i p l e i n s t a n c e s o f i t r u n i n p a r a l l e l . H a n d l i n g I n c o n s i s t e n c i e s . L e t 0 1 a n d 0 2 b e t w o s t a t e s t h a t a r e c o n s i d e r e d f o r e l i m i n a t i o n a n d ( 0 0 , 0 1 ) a n d ( 0 0 , 0 2 ) b e t w o t r a n s i t i o n s f o r s o m e 0 0 . A s e q u e n - t i a l a l g o r i t h m t h a t a p p l i e s E l i m i n a t e , r e m o v e s t r a n s i t i o n s ( 0 0 , 0 1 ) a n d ( 0 0 , 0 2 ) w h i c h c a u s e s 0 0 t o b e a n e w d e a d l o c k s t a t e ( c f . A l g o r i t h m 1 4 . 1 ) . H e n c e , i t p u t s ( 0 0 , 0 1 ) a n d ( 0 0 , 0 2 ) ( a n d c o r r e s p o n d i n g g r o u p p r e d i c a t e s ) b a c k i n t o t h e p r o g r a m b e i n g s y n - t h e s i z e d a n d i n v o k e s E l i m i n a t e o n s t a t e 0 0 . H o w e v e r , w h e n m u l t i p l e w o r k e r t h r e a d s , s a y t h l a n d t a g , r u n c o n c u r r e n t l y , t h e r e a r e t h r e e p o s s i b l e s c e n a r i o s t h a t c a u s e i n - c o n s i s t e n c i e s , d e s c r i b e d n e x t . C a s e 1 . C o n s i d e r t h e c a s e w h e r e d e a d l o c k s t a t e s 0 1 a n d 0 2 a r e i n d i f f e r e n t p a r t i t i o n s . H e n c e , t h l i n v o k e s E l i m i n a t e o n 0 1 w h i c h i n t u r n r e m o v e s ( 0 0 , 0 1 ) , a n d , t h 2 i n v o k e s E l i m i n a t e o n 0 2 w h i c h r e m o v e s ( 0 0 , 0 2 ) ( c f . F i g u r e 1 4 . 1 . b ) . T h u s , n e i t h e r t h r e a d i n v o k e s E l i m i n a t e o n 0 0 , s i n c e t h e y d o n o t i d e n t i f y 0 0 a s a d e a d l o c k s t a t e . S u b s e q u e n t l y , w h e n t h e m a s t e r t h r e a d m e r g e s t h e r e s u l t s r e t u r n e d b y t h l a n d t h 2 ( i . e . , L i n e 1 6 i n A l g o r i t h m 1 4 . 1 ) , ( 7 0 b e c o m e s a n e w d e a d l o c k s t a t e w h i c h h a s t o S e q u e n t i a l T h r e a d 1 T h r e a d 2 M e r g e d F i x e d W V 3 ' V 5 2 0 " “ ' 3 ' ? 0 3 : “ “ l s " V B e f o r e A fi e r o 3 1 3 2 5 1 5 2 o 3 1 5 2 S 1 3 2 e l i m i n a t i o n e l i m i n a t i o n C a s e 2 Q / S f V 4 : V S : ( a ) A t a t L e g e n g l ' ' t d t t c 3 ° S l s 2 3 1 5 2 ' S ' s z N O ’ ( ) o s e O i m m a e s a e u s e 0 / 0 O V O o / O c 0 T o b e c o n s i d e r e d f o r e l i m i n a t i o n S O S O 5 0 H a n d l e d F i g u r e 1 4 . 1 : I n c o n s i s t e n c i e s r a i s e d b y c o n c u r r e n c y . 3 3 9 b e e l i m i n a t e d w h i l e t h e g r o u p p r e d i c a t e s o f t r a n s i t i o n s ( 0 0 , 0 1 ) a n d ( 0 0 , 0 2 ) h a v e b e e n r e m o v e d u n n e c e s s a r i l y . I n o r d e r t o r e s o l v e t h i s c a s e , w e r e p l a c e a l l o u t g o i n g t r a n s i t i o n s t h a t s t a r t f r o m 0 0 a n d m a r k 0 0 a s a s t a t e t h a t h a s t o b e e l i m i n a t e d i n s u b s e q u e n t i t e r a t i o n s ( L i n e s 1 9 — 2 0 ) . C a s e 2 . D u e t o b a c k t r a c k i n g b e h a v i o r o f E l i m i n a t e , i t i s p o s s i b l e t h a t t h l a n d M g c o n s i d e r c o m m o n s t a t e s f o r e l i m i n a t i o n . I n p a r t i c u l a r , i f t h l c o n s i d e r s 0 1 a n d t h 2 c o n s i d e r s b o t h ( ’ 1 a n d 0 2 f o r e l i m i n a t i o n ( c f . F i g u r e 1 4 . 1 . b ) , a f t e r m e r g i n g t h e r e s u l t s , n o n e w d e a d l o c k s t a t e s a r e i n t r o d u c e d . H o w e v e r , ( 0 0 , 0 1 ) w o u l d b e r e m o v e d u n n e c e s s a r i l y . I n o r d e r t o r e s o l v e t h i s c a s e , w e c o l l e c t a l l t h e s t a t e s t h a t w o r k e r t h r e a d s f a i l e d t o e l i m i n a t e ( i . e . , s t a t e p r e d i c a t e f t e i n L i n e 1 7 i n A l g o r i t h m 1 4 . 1 ) a n d r e p l a c e a l l i n c o m i n g t r a n s i t i o n s i n t o t h o s e s t a t e s ( L i n e 2 1 ) . C a s e 3 . I t i s a l s o p o s s i b l e t h a t t h l c o n s i d e r s 0 1 a n d t h 2 c o n s i d e r s n e i t h e r 0 1 n o r 0 2 ( c f . F i g u r e 1 4 . 1 . c ) . T h i s c a s e o c c u r s w h e n t h 2 s t o p s b a c k t r a c k i n g a t a l e v e l h i g h e r t h a n ‘ 7 1 a n d 0 2 i n t h e r e a c h a b i l i t y g r a p h d u e t o f a c i n g e i t h e r C a s e 1 o r C a s e 2 . T h u s , w h e n t h e m a s t e r t h r e a d m e r g e s t h e r e s u l t s r e t u r n e d b y t h e w o r k e r t h r e a d s , n o n e w d e a d l o c k s t a t e i s i n t r o d u c e d , b u t ( 0 0 , 0 1 ) i s r e m o v e d u n n e c e s s a r i l y . W h i l e i d e n t i f y i n g t h i s c a s e g i v e n t h e s t r u c t u r e s i n F i g u r e 1 4 . 1 . c i s n o t s t r a i g h t f o r w a r d , o n e a p p r o a c h t o r e s o l v e t h i s i n c o n s i s t e n c y i s t o f o r c e a l l w o r k e r t h r e a d s t o s y n c h r o n i z e a t e a c h b a c k t r a c k i n g s t e p . S i n c e s u c h s y n c h r o n i z a t i o n s e e m s t o d e c l i n e t h e p e r f o r m a n c e o f t h e p a r a l l e l a l g o r i t h m , w e c h o o s e n o t t o h a n d l e t h i s c a s e . N o t i c e t h a t r e m o v a l o f ( 0 0 , 0 1 ) d o e s n o t r e s u l t i n s y n t h e s i z i n g a n i n c o r r e c t p r o g r a m . H o w e v e r , t h e p r o - g r a m s y n t h e s i z e d u s i n g t h e p a r a l l e l a l g o r i t h m m a y h a v e l e s s t r a n s i t i o n s t h a n t h e p r o g r a m s y n t h e s i z e d b y t h e s e q u e n t i a l a l g o r i t h m . W e n o t e t h a t t h i s c a s e i s n o t d u e 3 4 0 t o o u r a l g o r i t h m s t r a t e g y , b u t a n a r t i f a c t o f b r e a d t h - fi r s t — s e a r c h n a t u r e o f B D D - b a s e d r e a c h a b i l i t y a n a l y s i s . I n f a c t , a n y r a n d o m s t a t e s p a c e s e a r c h s t r a t e g y m a y a s w e l l e x h i b i t t h i s c a s e . E x a m p l e . A s m e n t i o n e d i n t h e i n t r o d u c t i o n , a n o t h e r t y p e o f d e a d l o c k s t a t e s i n B A i s o f t h e f o r m ( Q , 0 , 0 , T ) , w h e r e n o n - g e n e r a l p r o c e s s e s j a n d k a g r e e w i t h t h e B y z a n t i n e g e n e r a l o n d e c i s i o n 0 , b u t p r o c e s s l h a s fi n a l i z e d i t s d e c i s i o n o n 1 . S i n c e p r o c e s s l h a s fi n a l i z e d i t s d e c i s i o n , w e c a n n o t r e s o l v e s u c h d e a d l o c k s t a t e s b y a d d i n g s a f e r e c o v e r y . T h u s , t h e a l g o r i t h m R e s o l v e D e a d l o c k S t a t e s h a s t o e l i m i n a t e s t a t e s i n ( Q , 0 , 0 , 1 ) . M o r e s p e c i fi c a l l y , t h e T h r e a d E l i m i n a t e b a c k t r a c k s t h r o u g h t h e r e a c h a b i l i t y g r a p h u n t i l i t r e m o v e s t h e t r a n s i t i o n ( 1 , 1 , 1 , 1 ) — + ( 1 , J _ , _ L , T ) . T h i s r e m o v a l c r e a t e s n o n e w d e a d l o c k s t a t e a n d , h e n c e , E l i m i n a t e t e r m i n a t e s s u c c e s s f u l l y . P r e c i s e l y , o u r a l g o r i t h m r e v i s e s a c t i o n B A 2 1 , s o t h a t n o c o m p u t a t i o n o f B A i n t h e p r e s e n c e o f f a u l t s r e a c h e s a d e a d l o c k s t a t e a s f o l l o w s : B A 2 1 : : ( d . l 2 J . ) A ( f . l = f a l s e ) A ( d . j 2 _ L V d . k 2 _ L ) — — > f . l : 2 t r u e W e n o t e t h a t i n t h e c o n t e x t o f o f B A , i n c o n s i s t e n c y o f t y p e C a s e 3 d o e s n o t o c c u r . H o w e v e r , C a s e s 1 a n d 2 d o o c c u r , b u t o u r a l g o r i t h m fi x e s t h e m . I n f a c t , t h e o u t p u t o f o u r s y n t h e s i s a l g o r i t h m i s i d e n t i c a l t o t h e s o l u t i o n p r o p o s e d b y L a m p o r t , S h o s t a k , a n d P e a s e [ L S P 8 2 ] . 3 4 1 P a r t V L i t e r a t u r e S u r v e y a n d C o n c l u s i o n 3 4 2 C h a p t e r 1 5 R e l a t e d W o r k I n t h i s c h a p t e r , w e i l l u s t r a t e h o w t h e c o n t r i b u t i o n s o f t h i s d i s s e r t a t i o n d i f f e r f r o m e x i s t i n g a p p r o a c h e s i n p r o g r a m s y n t h e s i s . B e f o r e w e d i s c u s s t h e r e l a t e d w o r k i n t h e c o n t e x t o f p r o g r a m r e v i s i o n a n d s y n t h e s i s , w e n o t e t h a t l i k e m a n y o t h e r w o r d s i n c o m p u t e r s c i e n c e , t h e t e r m “ s y n t h e s i s ” i s u s e d t o m e a n d i f f e r e n t t h i n g s i n d i f f e r e n t c o n t e x t s . T h e s e c o n t e x t s r a n g e f r o m c o d e g e n e r a t i o n f r o m ( f o r m a l o r i n f o r m a l ) s p e c - i fi c a t i o n t o t r a n s f o r m a t i o n , b e i t f u l l y a u t o m a t e d , s e m i - a u t o m a t e d , o r f u l l y m a n u a l . I n t h i s d i s s e r t a t i o n , w e u s e d t h e t e r m “ s y n t h e s i s ” i n t h e c o n t e x t o f p r o g r a m “ r e v i - s i o n ” , w h e r e w e f o c u s o n f u l l y a u t o m a t e d t r a n s f o r m a t i o n o f o n e a b s t r a c t p r o g r a m i n t o a n o t h e r a b s t r a c t p r o g r a m t h a t m e e t s a d d i t i o n a l r e q u i r e m e n t s ( e . g . , s a f e t y , t i m i n g c o n - s t r a i n t s , f a u l t — t o l e r a n c e ) . T h u s , i n t h i s c h a p t e r , w e f o c u s o n r e l a t e d w o r k t h a t ( 1 ) a r e f u l l y a u t o m a t e d , ( 2 ) t h e i r o u t p u t i s c o r r e c t - b y - c o n s t r u c t i o n , a n d ( 3 ) d e a l w i t h p r o - g r a m s r e p r e s e n t e d b y s t a t e - t r a n s i t i o n s y s t e m s . T h u s , t h e f o l l o w i n g l i n e s o f r e s e a r c h a r e o r t h o g o n a l t o o u r a p p r o a c h i n t h i s d i s s e r t a t i o n : 3 4 3 1 . P l a t f o r m a n d a r c h i t e c t u r e d e p e n d e n t t e c h n i q u e s . T h e r e e x i s t s a n e x t e n s i v e l i n e o f r e s e a r c h i n t h e s y s t e m s a r e a o n f a u l t - t o l e r a n t r e a l — t i m e a n d d i s t r i b u t e d c o m p u t i n g . F o r i n s t a n c e , i n t h e l i t e r a t u r e o f r e a l - t i m e c o m p u t i n g , m o s t a p p r o a c h e s a d d r e s s f a u l t - t o l e r a n c e i n t h e c o n t e x t o f s c h e d u l i n g t h e o r y ( e . g . , [ P M 9 8 , A M 9 9 a , L M M O O , A A M M O O , M M G O B , A M M O O D . I n f a u l t - t o l e r a n t r e a l - t i m e s c h e d u l i n g , t h e o b j e c t i v e i s t o fi n d t h e o p t i m a l s c h e d u l e o f a s e t o f t a s k s o n a s e t o f p r o c e s s o r s d y n a m i c a l l y , s u c h t h a t t h e l a r g e s t p o s s i b l e n u m - b e r o f t a s k s m e e t t h e i r d e a d l i n e s . S i n c e t i m e c o m p l e x i t y i s a c r i t i c a l i s s u e i n d y n a m i c s c h e d u l i n g , m o s t o f t h e p r o p o s e d a l g o r i t h m s a r e b e s t - e f f o r t h e u r i s t i c s d e s i g n e d f o r s p e c i fi c p l a t f o r m s a n d s p e c i a l t y p e s o f f a u l t s ( e . g . , t r a n s i e n t , f a i l - s t o p , B y z a n t i n e , e t c ) . W e n o t e t h a t t h e o u t p u t o f o u r a l g o r i t h m s i s a n a b s t r a c t p r o g r a m t h a t m a y b e f u r t h e r r e fi n e d i n t o a d e t e r m i n i s t i c p r o g r a m i n a h i g h - l e v e l l a n g u a g e f o r a s p e c i fi c p l a t f o r m a n d a r c h i t e c t u r e . 2 . L o g i c - b a s e d p r o g r a m s y n t h e s i s . D e d u c t i v e p r o g r a m s y n t h e s i s m e t h o d s ( e . g . , [ M W 8 0 , M W 9 2 , Y q u H 8 5 , C K 8 9 ] ) r e l y o n a t h e o r e m - p r o v i n g a p p r o a c h . T h i s a p p r o a c h c o m b i n e s t e c h n i q u e s o f u n i fi c a t i o n , m a t h e m a t i c a l i n d u c t i o n , a n d t r a n s f o r m a t i o n r u l e s w i t h i n a s i n g l e d e d u c t i v e s y s t e m . H o w e v e r , s i n c e e d u c t i v e p r o g r a m s y n t h e s i s m e t h o d s d o n o t o b s e r v e a p r o g r a m a s a s t a t e - t r a n s i t i o n s y s - t e m , t h e y a r e n o t q u i t e r e l e v a n t t o t h e s c o p e o f t h i s d i s s e r t a t i o n . A l t h o u g h i t i s u n c l e a r h o w o n e c a n u s e t h e o r e m p r o v i n g t e c h n i q u e s i n s t a t e — t r a n s i t i o n g r a p h — b a s e d s y n t h e s i s o r v i c e v e r s a , i t i s c e r t a i n l y a n i n t e r e s t i n g q u e s t i o n f o r f u r t h e r i n v e s t i g a t i o n . 3 4 4 3 . M a n u a l t e c h n i q u e s . D i j k s t r a [ D i j 9 0 ] , C h a n d y a n d M i s r a [ C M 8 8 ] , a n d G r i e s [ G r i 8 1 ] p r o p o s e a w i d e v a r i e t y o f t e c h n i q u e s f o r s t e p w i s e d e v e l o p m e n t o f c o r r e c t p r o g r a m s . W h e n u s i n g t h e i r m e t h o d o l o g y , a p r o g r a m m e r b e g i n s w i t h a s p e c i fi c a t i o n o f t h e p r o b l e m w r i t t e n i n a n a s s e r t i o n l a n g u a g e s u c h a s p r e d i c a t e l o g i c a n d i n c r e m e n t a l l y r e fi n e s t h e s p e c i fi c a t i o n i n t o c o d e . S u c h a r e fi n e m e n t t e c h n i q u e i s i n t e n d e d f o r h u m a n u s e , a s i t m a y r e q u i r e i n t u i t i o n o f t h e p r o g r a m m e r d u r i n g t h e a p p l i c a t i o n p r o c e s s . I n S e c t i o n 1 5 . 4 , w e d i s c u s s h o w ( p o s s i b l y m a n u a l ) p r e - s y n t h e s i z e d p r o g r a m c o m p o n e n t s c a n b e u s e d t o f o r a d d i n g f a u l t - t o l e r a n c e t o a p r o g r a m . T h e r e s t o f t h i s c h a p t e r i s o r g a n i z e d a s f o l l o w s . I n S e c t i o n 1 5 . 1 , w e p r e s e n t t h e r e l a t e d w o r k o n s y n t h e s i s o f p r o g r a m s i n c l o s e d s y s t e m s . T h e n , i n S e c t i o n 1 5 . 2 , w e p r e s e n t t h e r e l a t e d w o r k o n p r o g r a m s y n t h e s i s i n o p e n s y s t e m s . S e c t i o n 1 5 . 3 i s d e d i c a t e d t o d e s c r i b e s t a t e - o f — t h e - a r t s y n t h e s i s t o o l s . F i n a l l y , w e d i s c u s s t h e r e l a t e d w o r k o n t h e t h e o r y o f d e t e c t o r s a n d c o r r e c t o r s i n S e c t i o n 1 5 . 4 . 1 5 . 1 P r o g r a m S y n t h e s i s i n C l o s e d S y s t e m s I n t h i s s e c t i o n , w e p r e s e n t t h e r e l a t e d w o r k o n a u t o m a t e d s y n t h e s i s o f c l o s e d s y s t e m s . S p e c i fi c a l l y , i n S u b s e c t i o n 1 5 . 1 . 1 , w e d i s c u s s t h e l i n e o f r e s e a r c h o n c o m p r e h e n s i v e s y n t h e s i s o f c l o s e d s y s t e m s . T h e n , i n S u b s e c t i o n 1 5 . 1 . 2 , w e p r e s e n t c o m p a r i s o n a n d c o n t r a s t b e t w e e n o u r w o r k a n d t h e r e l a t e d w o r k i n t h e a r e a o f p r o g r a m c o r r e c t i o n a n d r e p a i r . 3 4 5 1 5 . 1 . 1 C o m p r e h e n s i v e S y n t h e s i s M o s t e x i s t i n g c o m p r e h e n s i v e s y n t h e s i s m e t h o d s f o r c l o s e d s y s t e m s f o c u s o n d e r i v i n g t h e s y n c h r o n i z a t i o n s k e l e t o n o f a p r o g r a m f r o m i t s s p e c i fi c a t i o n i n t e r m s o f a t e m p o r a l l o g i c e x p r e s s i o n s [ E C 8 2 , M W 8 4 , A A E 0 4 , A t t 9 9 , A E O l ] . T h e s y n c h r o n i z a t i o n s k e l e t o n o f a p r o g r a m i s a n a b s t r a c t s t r u c t u r e o f t h e c o d e o f t h e p r o g r a m i m p l e m e n t i n g i n t e r - p r o c e s s s y n c h r o n i z a t i o n . A l t h o u g h s u c h s y n t h e s i s m e t h o d s d i f f e r i n t h e t y p e o f i n p u t s p e c i fi c a t i o n l a n g u a g e a n d t h e p r o g r a m m o d e l t h a t t h e y s y n t h e s i z e , t h e y a r e a l l b a s e d o n a p r o o f t h a t t h e s p e c i fi c a t i o n i s s a t i s fi a b l e . T h i s m a k e s i t d i f f i c u l t t o p r o v i d e r e u s e d u r i n g s y n t h e s i z i n g p r o g r a m s . I n o t h e r w o r d s , a n y c h a n g e i n t h e s p e c i fi c a t i o n r e q u i r e s t h e s y n t h e s i s t o b e r e s t a r t e d f r o m s c r a t c h . T o t h e c o n t r a r y , i n o u r a p p r o a c h , s i n c e t h e i n p u t t o o u r a l g o r i t h m s i s a n e x i s t i n g p r o g r a m , o u r m e t h o d s h a v e t h e p o t e n t i a l t o r e u s e t h e s t r u c t u r e o f t h e p r o g r a m i n c r e m e n t a l l y a d d n e w p r o p e r t i e s . T h e s e m i n a l w o r k i n t h i s a r e a i s d u e t o E m e r s o n a n d C l a r k e [ E C 8 2 ] , w h e r e t h e y p r o p o s e a t a b l e a u - b a s e d m e t h o d f o r d e r i v i n g a fi n i t e s t a t e m o d e l f r o m a C T L f o r m u l a . S p e c i fi c a l l y , t h e i r s y n t h e s i s m e t h o d b u i l d s a t a b l e a u , w h i c h c o n t a i n s a l l p o t e n t i a l m o d e l s . T h u s , i f a f o r m u l a f i s s a t i s fi a b l e , t h e n a m o d e l o f f e x i s t s i n t h e t a b l e a u . A n d , i f t h e r e i n d e e d e x i s t s a m o d e l , t h e n t h e i r m e t h o d e x t r a c t s a s y n c h r o n i z a t i o n s k e l e t o n o f t h e m o d e l f r o m t h e t a b l e a u . B r i e f l y , a t a b l e a u f o r a C T L f o r m u l a i s a fi n i t e d i r e c t e d A N D / O R g r a p h . T h i s g r a p h i s b u i l t s y s t e m a t i c a l l y i n t w o s t e p s : ( 1 ) s e t t i n g t h e f o r m u l a a s t h e r o o t o f t h e t a b l e a u , a n d ( 2 ) c o n t i n u i n g t h e r e d u c t i o n o f u n r e d u c e d A N D - n o d e s a n d O R — n o d e s , w h i l e t h e r e e x i s t s a n u n r e d u c e d n o d e ( i . e . , a n o d e w i t h o u t s u c c e s s o r ) . 3 4 6 M a n n a a n d W o l p e r [ M W 8 4 ] p r e s e n t a s i m i l a r m e t h o d f o r s y n t h e s i z i n g d i s t r i b u t e d c o m m u n i c a t i n g p r o c e s s e s f r o m a f o r m u l a i n P r o p o s i t i o n a l L i n e a r T e m p o r a l L o g i c . T h e o u t p u t m o d e l o f [ M W 8 4 ] s t i p u l a t e s t h a t a l l t h e i n t e r - p r o c e s s c o m m u n i c a t i o n s ( t h r o u g h m e s s a g e p a s s i n g ) t a k e p l a c e t h r o u g h a s y n c h r o n i z e r p r o c e s s . A t t i e a n d E m e r s o n s t u d y t h e p r o b l e m o f s y n t h e s i z i n g c o n c u r r e n t p r o g r a m s f r o m C T L s p e c i fi c a t i o n s i n a l i n e o f p a p e r s . S p e c i fi c a l l y , i n [ A E 9 8 ] , t h e y a d d r e s s t h e s t a t e e x p l o s i o n p r o b l e m u s i n g t h e b e h a v i o r a l s i m i l a r i t y o f p r o c e s s e s o f a c o n c u r r e n t p r o - g r a m . T h e y a r g u e t h a t i n a s e t o f c o n c u r r e n t p r o c e s s e s , s i m i l a r i t y i n b e h a v i o r o f t e n e x i s t s . F o r i n s t a n c e , i n a m u t u a l e x c l u s i o n p r o b l e m , a s e t o f p r o c e s s a r e c o m p e t i n g t o a c q u i r e a c r i t i c a l s e c t i o n . A t t i e a n d E m e r s o n a l s o a d d r e s s t h e p r o b l e m o f s y n t h e - s i z i n g d i s t r i b u t e d p r o c e s s e s u s i n g t h e m e t h o d i n [ E C 8 2 ] a n d b y i n c o r p o r a t i n g a t o m i c r e a d / w r i t e a c t i o n s [ A E 0 1 ] . A l g o r i t h m s f o r c o m p r e h e n s i v e r e d e s i g n o f t i m e d a u t o m a t a [ A D 9 4 ] f r o m r e a l - t i m e t e m p o r a l l o g i c M I T L f o r m u l a e w a s fi r s t i n t r o d u c e d i n [ A F H 9 6 ] . M o r e r e c e n t l y , i n [ M N P 0 6 ] , t h e a u t h o r s p r e s e n t m u c h s i m p l e r a l g o r i t h m s f o r c o n s t r u c t i n g t i m e d a u - t o m a t a f r o m M I T L f o r m u l a e t h a n t h e o n e s i n [ A F H 9 6 ] . 1 5 . 1 . 2 P r o g r a m R e p a i r a n d C o r r e c t i o n T h e r e h a s b e e n a n e x t e n s i v e l i n e o f r e s e a r c h i n t h e a r e a o f c o r r e c t i o n o f c o m b i n a t i o n a l h a r d w a r e c i r c u i t s . I n t h i s l i n e o f r e s e a r c h , t h e n o t i o n o f f a u l t d o e s n o t h a v e e x a c t l y t h e s a m e m e a n i n g a s w h a t w e d e fi n e d i n C h a p t e r 7 . I n p a r t i c u l a r , a f a u l t i s o b s e r v e d a s : a n y g a t e c a n b e r e p l a c e d b y a n a r b i t r a r y f u n c t i o n . I n [ M C B 8 9 , L T L 9 0 , P Y C 9 4 ] , 3 4 7 t h e a u t h o r s p r e s e n t f o r m a l m e t h o d s f o r f a u l t l o c a l i z a t i o n a n d c o r r e c t i o n b a s e d o n B o o l e a n e q u a t i o n s . S i m i l a r t o m o s t f o r m a l m e t h o d s , i n t h e s e p a p e r s , t h e c o r r e c t b e h a v i o r o f c i r c u i t s i s g i v e n a s a s p e c i fi c a t i o n . W e n o t e t h a t c i r c u i t s c o n s i d e r i n t h e a f o r e m e n t i o n e d p a p e r s a r e s e q u e n t i a l . M o t i v a t e d b y t h e s a m e c o n c e p t , J o b s t m a n n , G r i e s m a y e r , a n d B l o e m [ J G B O S ] f o r m u l a t e t h e p r o b l e m o f p r o g r a m r e p a i r a s a t w o p l a y e r B i i c h i g a m e . I n t h e i r f r a m e - w o r k , t h e s p e c i fi c a t i o n i s g i v e n i n L i n e a r T e m p o r a l L o g i c , a n d s t a t e t h e c o r r e c t i o n p r o b l e m a s a g a m e , i n w h i c h t h e p r o t a g o n i s t s e l e c t s a f a u l t y c o m p o n e n t a n d s u g - g e s t s a l t e r n a t i v e b e h a v i o r . T h e o b j e c t i v e o f t h e i r w o r k i s v e r y s i m i l a r t o o u r g o a l i n P a r t I I o f t h i s d i s s e r t a t i o n . I n p a r t i c u l a r , t h e a u t h o r s h a v e i n d e p e n d e n t l y s h o w n t h a t d e c i d i n g w h e t h e r a m e m o r y l e s s s t r a t e g i e s e x i s t s i s N P - c o m p l e t e . E x i s t e n c e o f a m e m o r y l e s s s t r a t e g y f o r a B i i c h i g a m e c a n b e p r e c i s e l y t r a n s l a t e d t o a d d i n g t w o e v e n t u a l l y p r o p e r t i e s t o a n u n t i m e d c e n t r a l i z e d p r o g r a m ( s e e T h e o r e m 4 . 2 . 1 ) . B u c c a f u r r i e t a 1 . [ B E G L 9 9 ] s t u d y t h e c o r r e c t i o n p r o b l e m f o r C T L a s a n a b d u c t i v e r e a s o n i n g p r o b l e m . T h e a u t h o r s p r e s e n t a m e t h o d b a s e d o n i n v o k i n g a m o d e l c h e c k e r o n c e f o r e v e r y p o s s i b l e c o r r e c t i o n t o s e e i f i t i s s u c c e s s f u l . O u r a p p r o a c h , o n t h e o t h e r h a n d , n e e d s t o c o n s i d e r t h e p r o b l e m o n l y o n c e , c o n s i d e r i n g a l l p o s s i b l e c o r r e c t i o n s a t t h e s a m e t i m e , a n d i s l i k e l y t o b e m o r e e f fi c i e n t . I n f a c t , i n o u r a p p r o a c h , w e d o n o t n e e d t o c a l l a m o d e l c h e c k e r a t a l l . F i n a l l y , J a n j u a a n d M y c r o f t [ . 1 M 0 6 ] d e s c r i b e h o w t o a u t o m a t i c a l l y i n s e r t s y n c h r o — n i z a t i o n s t a t e m e n t s i n a m u l t i - t h r e a d e d p r o g r a m i n o r d e r t o p r e v e n t b u g s d u e t o a n u n f o r t u n a t e s c h e d u l i n g . I n [ S L T B + 0 6 ] , t h e a u t h o r s p r o p o s e a C - l i k e l a n g u a g e , i n w h i c h p r o g r a m s c a n b e m o d e l e d . A s y n t h e s i z e r t h e n c o m p l e t e s t h e m o d e l s o t h a t i t 3 4 8 a d h e r e s t o a s p e c i fi c a t i o n . 1 5 . 2 P r o g r a m S y n t h e s i s i n O p e n S y s t e m s I n t h i s s e c t i o n , w e p r e s e n t t h e r e l a t e d w o r k o n a u t o m a t e d s y n t h e s i s o f o p e n s y s t e m s . S p e c i fi c a l l y , i n S u b s e c t i o n 1 5 . 2 . 1 , w e d i s c u s s t h e l i n e o f r e s e a r c h o n i n c r e m e n t a l s y n - t h e s i s o f f a u l t - t o l e r a n t p r o g r a m s . T h e n , i n S u b s e c t i o n s 1 5 . 2 . 2 a n d 1 5 . 2 . 2 , w e p r e s e n t c o m p a r i s o n a n d c o n t r a s t b e t w e e n o u r w o r k a n d t h e r e l a t e d w o r k i n t h e a r e a o f d i s c r e t e c o n t r o l l e r s y n t h e s i s a n d g a m e t h e o r y , r e s p e c t i v e l y . 1 5 . 2 . 1 A u t o m a t e d S y n t h e s i s o f F a u l t - T o l e r a n c e T h e p r o b l e m o f s y n t h e s i z i n g u n t i m e d f a u l t - t o l e r a n t p r o g r a m s h a s b e e n s t u d i e d i n t h e l i t e r a t u r e f r o m d i f f e r e n t p e r s p e c t i v e s . T h e s e m i n a l w o r k i n t h i s a r e a i s d u e t o A t - t i e , A r o r a , a n d E m e r s o n , w h e r e t h e y s t u d y t h e p r o b l e m o f s y n t h e s i z i n g f a u l t - t o l e r a n t c o n c u r r e n t u n t i m e d p r o g r a m s f r o m t e m p o r a l l o g i c s p e c i fi c a t i o n s e x p r e s s e d i n C T L f o r m u l a e [ A A E O 4 ] . T h e i r a p p r o a c h i s e s s e n t i a l l y b a s e d o n E m e r s o n a n d C l a r k e ’ s t a b l e a u - b a s e d m e t h o d [ E C 8 2 ] . T h e i n p u t t o t h e t h e i r a l g o r i t h m i s ( 1 ) a s p e c i fi c a t i o n r e p r e s e n t e d b y a C T L f o r m u l a , ( 2 ) f a u l t a c t i o n s a n d f a u l t s p e c i fi c a t i o n , w h i c h i s a s e t o f a u x i l i a r y a t o m i c p r o p o s i t i o n s , ( 3 ) t h e c o u p l i n g s p e c i fi c a t i o n , w h i c h i s a l s o a C T L f o r m u l a , a n d ( 4 ) a l e v e l o f f a u l t - t o l e r a n c e . T h e a l g o r i t h m , fi r s t , g e n e r a t e s a fi n i t e m o d e l o f t h e p r o g r a m u s i n g t h e t a b l e a u - b a s e d m e t h o d i n [ E C 8 2 ] . T h e n , t h e y a p p l y t h e f a u l t a c t i o n s t o e v e r y s t a t e o f t h e g e n e r a t e d m o d e l i n o r d e r t o g e n e r a t e n e w s t a t e s , i . e . , s t a t e s t h a t t h e p r o g r a m c a n r e a c h i n t h e p r e s e n c e o f f a u l t s . T h e n , t h e y g e n e r a t e 3 4 9 r e c o v e r y t r a n s i t i o n s t h a t c a n r e a c h t h e p r o g r a m i n v a r i a n t . A t t h e e n d , t h e y a p p l y a s e t o f m o d i fi e d d e l e t i o n r u l e s t o p r u n e t h e a u g m e n t e d g l o b a l s t a t e - t r a n s i t i o n d i a g r a m i n o r d e r t o e x t r a c t t h e i n d i v i d u a l p r o c e s s e s . S i m i l a r t o c o m p r e h e n s i v e s y n t h e s i s a p - p r o a c h e s , t h i s a p p r o a c h c a n n o t s t a r t f r o m a g i v e n i n t o l e r a n t p r o g r a m . T h u s , t h e l a c k o f r e u s e i s t h e k e y d i f f e r e n c e b e t w e e n o u r a p p r o a c h a n d t h e m e t h o d i n [ A A E O 4 ] . T h e a l g o r i t h m s f o r a u t o m a t i c a d d i t i o n o f f a u l t - t o l e r a n c e [ K A 0 0 , K A C O l , K 1 3 0 2 , K E 0 3 , K E 0 4 ] a d d f a u l t - t o l e r a n c e c o n c e r n s t o e x i s t i n g u n t i m e d p r o g r a m s i n t h e p r e s - e n c e o f f a u l t s , a n d g u a r a n t e e t h e a d d i t i o n o f n o n e w b e h a v i o r s t o t h e o r i g i n a l p r o g r a m i n t h e a b s e n c e o f f a u l t s . I n t h e s e m i n a l w o r k i n t h i s a r e a [ K A O O ] , t h e a u t h o r s i n t r o d u c e s y n t h e s i s m e t h o d s f o r a u t o m a t e d a d d i t i o n o f f a u l t - t o l e r a n c e t o u n t i m e d c e n t r a l i z e d a n d d i s t r i b u t e d p r o g r a m s . I n p a r t i c u l a r , t h e y i n t r o d u c e p o l y n o m i a l - t i m e s o u n d a n d c o m p l e t e a l g o r i t h m s f o r a d d i n g a l l l e v e l s o f f a u l t - t o l e r a n c e ( f a i l s a f e , n o n m a s k i n g , a n d m a s k i n g ) t o c e n t r a l i z e d p r o g r a m s . T h e i n p u t t o t h e s e a l g o r i t h m s i s a f a u l t — i n t o l e r a n t c e n t r a l i z e d p r o g r a m , s a f e t y s p e c i fi c a t i o n , a n d a s e t o f f a u l t t r a n s i t i o n s . T h e a l g o r i t h m s g e n e r a t e a f a u l t - t o l e r a n t p r o g r a m a l o n g w i t h a n i n v a r i a n t p r e d i c a t e . T h e a u t h o r s a l s o s h o w t h a t t h e p r o b l e m o f a d d i n g m a s k i n g f a u l t - t o l e r a n c e t o d i s t r i b u t e d p r o g r a m s i s N P - c o m p l e t e i n t h e s i z e o f t h e i n p u t p r o g r a m ’ s s t a t e s p a c e . W e n o t e t h a t T h e o r e m 5 . 2 . 1 i n t h i s d i s s e r t a t i o n i s a g e n e r a l i z a t i o n o f t h e N P - c o m p l e t e n e s s r e s u l t i n [ K A O O ] . T h i s i s b e c a u s e i n T h e o r e m 5 . 2 . 1 , w e s h o w e d t h a t t h e p r o b l e m o f a d d i n g a p r o g r e s s p r o p e r t y ( i n o t h e r w o r d s , a d d i n g r e c o v e r y i n [ K A 0 0 ] ) t o a d i s t r i b u t e d p r o g r a m i s N P - c o m p l e t e e v e n i n t h e a b s e n c e o f f a u l t s . I n o r d e r t o c o p e w i t h t h e e x p o n e n t i a l c o m p l e x i t y i d e n t i fi e d i n [ K A O O ] , K u l k a r n i , A r o r a , a n d C h i p p a d a i n t r o d u c e a s e t o f h e u r i s t i c s t o s o l v e t h e p r o b l e m o f s y n t h e s i z i n g 3 5 0 d i s t r i b u t e d m a s k i n g p r o g r a m s i n p o l y n o m i a l - t i m e . O u r h e u r i s t i c s i n C h a p t e r 1 1 a r e b a s e d o n t h e o n e s i n [ K A C O I ] w i t h t h e o b v i o u s d i f f e r e n c e t h a t o u r h e u r i s t i c s a r e s y m b o l i c . U n f o r t u n a t e l y , t h e r e i s n o p u b l i s h e d d a t a o n p e r f o r m a n c e a n a l y s i s o f t h e h e u r i s t i c s i n [ K A C O l ] . I n [ K E 0 2 , K E 0 5 b ] , K u l k a r n i a n d E b n e n a s i r s h o w t h a t t h e p r o b l e m o f a d d i n g f a i l s a f e f a u l t - t o l e r a n c e t o d i s t r i b u t e d p r o g r a m s i s a l s o N P - c o m p l e t e i n t h e s i z e o f t h e i n p u t p r o g r a m ’ s s t a t e s p a c e . T h e y a l s o i d e n t i f y a c l a s s o f s p e c i fi c a t i o n s , m o n o t o n i c s p e c i fi c a t i o n s , a n d a c l a s s o f p r o g r a m s , m o n o t o n i c p r o g r a m s , f o r w h i c h t h e s y n t h e s i s o f f a i l s a f e f a u l t - t o l e r a n c e c a n b e d o n e i n p o l y n o m i a l - t i m e ( i n p r o g r a m s t a t e s p a c e ) . M o r e o v e r , t h e y p r o v e t h a t i f o n l y o n e o f t h e m o n o t o n i c i t y c o n d i t i o n s i s s a t i s fi e d , t h e s y n t h e s i s o f f a i l s a f e f a u l t - t o l e r a n c e i s s t i l l N P — c o m p l e t e . I n t u i t i v e l y , t h e n o t i o n o f o f m o n o t o n i c i t y c a p t u r e s t h e c a s e w h e r e a p r o g r a m ’ P c a n s a f e l y a s s u m e t h a t a v a r i a b l e s x i s f a l s e a n d , e v e n i f a : w e r e t r u e w h e n ’ P e x e c u t e s , t h e c o r r e s p o n d i n g t r a n s i t i o n w o u l d n o t v i o l a t e s a f e t y . W e e m p h a s i z e t h a t T h e o r e m 5 . 1 . 1 i n t h i s d i s s e r t a t i o n i s a g e n e r a l i z a t i o n o f t h e N P — c o m p l e t e n e s s r e s u l t i n [ K E O 2 , K E 0 5 b ] . T h i s i s b e c a u s e i n T h e o r e m 5 . 1 . 1 , w e s h o w e d t h a t t h e p r o b l e m o f a d d i n g o n l y o n e s a f e t y p r o p e r t y ( i n o t h e r w o r d s , r e m o v i n g u n s a f e t r a n s i t i o n i n [ K E 0 2 , K E 0 5 b ] ) t o a d i s t r i b u t e d p r o g r a m i s N P - c o m p l e t e e v e n i n t h e a b s e n c e o f f a u l t s . K u l k a r n i a n d E b n e n a s i r [ K E 0 3 ] a l s o p r e s e n t a l g o r i t h m i c s o l u t i o n s f o r e n h a n c i n g t h e l e v e l o f f a u l t - t o l e r a n c e o f p r o g r a m s f r o m n o n m a s k i n g t o m a s k i n g . T h e p r o b l e m o f e n h a n c i n g f a u l t - t o l e r a n c e f r o m n o n m a s k i n g t o m a s k i n g r e q u i r e s t h a t s a f e t y b e a d d e d a n d r e c o v e r y b e p r e s e r v e d . T h e a u t h o r s p r e s e n t a s o u n d a n d c o m p l e t e a l g o r i t h m f o r c e n t r a l i z e d p r o g r a m s a n d a s o u n d a l g o r i t h m f o r d i s t r i b u t e d p r o g r a m s . O b v i o u s l y , t h e 3 5 1 a l g o r i t h m s i n t h i s w o r k a r e u s e f u l f o r t h e c a s e w h e r e t h e i n p u t p r o g r a m a t h a n d i s a l r e a d y n o n m a s k i n g . I n [ K E 0 4 ] , K u l k a r n i a n d E b n e n a s i r a d d r e s s t h e p r o b l e m o f a u t o m a t e d s y n t h e s i s o f u n t i m e d m u l t i t o l e r a n t p r o g r a m s , i . e . , p r o g r a m s t h a t t o l e r a t e m u l t i p l e c l a s s e s o f f a u l t s a n d p r o v i d e a ( p o s s i b l y ) d i f f e r e n t l e v e l o f f a u l t - t o l e r a n c e t o e a c h c l a s s . T h e y s h o w t h a t i f o n e n e e d s t o a d d f a i l s a f e ( r e s p e c t i v e l y , n o n m a s k i n g ) f a u l t - t o l e r a n c e w i t h r e s p e c t t o o n e c l a s s o f f a u l t s a n d m a s k i n g f a u l t - t o l e r a n c e w i t h r e s p e c t t o a n o t h e r c l a s s o f f a u l t s , t h e n s u c h a d d i t i o n c a n b e d o n e i n p o l y n o m i a l — t i m e i n t h e s i z e o f s t a t e s p a c e o f t h e f a u l t - i n t o l e r a n t p r o g r a m . T h e n o v e l t y o f t h e i r a l g o r i t h m i s , i t a d d s f a u l t - t o l e r a n c e i n a s t e p w i s e f a s h i o n . T h e y , h o w e v e r , s h o w t h a t i f o n e n e e d s t o a d d f a i l s a f e f a u l t - t o l e r a n c e w i t h r e s p e c t t o o n e c l a s s o f f a u l t s a n d n o n m a s k i n g f a u l t - t o l e r a n c e w i t h r e s p e c t t o a n o t h e r c l a s s o f f a u l t s , t h e n t h e p r o b l e m i s N P - c o m p l e t e . J h u m k a a n d G a r t n e r [ ( 3 . 1 0 4 ] c o n s i d e r t h e p r o b l e m o f a u t o m a t e d s y n t h e s i s o f f a i l - s a f e p r o g r a m s , w h e r e t h e s a f e t y s p e c i fi c a t i o n i s n o t f u s i o n c l o s e d . I n o t h e r w o r d s , t h e ( t i m i n g i n d e p e n d e n t ) s a f e t y s p e c i fi c a t i o n ( i . e . , S P E C b t ) c a n n o t b e r e p r e s e n t e d b y a s e t o f b a d t r a n s i t i o n s ; r a t h e r , b y a s e t o f b a d p r e fi x e s . I n g e n e r a l , f u s i o n c l o s u r e o f s p e c i fi c a t i o n s c a n b e a c h i e v e d b y a d d i n g h i s t o r y v a r i a b l e s . H o w e v e r , a s J h u m k a a n d G a r t n e r a r g u e , t h e a d d i t i o n o f h i s t o r y v a r i a b l e s c a u s e s a n e x p o n e n t i a l g r o w t h o f t h e s t a t e s p a c e o f t h e p r o g r a m , c a u s i n g a d d i t i o n o f f a u l t t o l e r a n c e t o b e e x p e n s i v e . T o a d d r e s s t h i s p r o b l e m , t h e a u t h o r s p r e s e n t a m e t h o d w h i c h c a n b e u s e d t o a d d h i s t o r y i n f o r m a t i o n t o a p r o g r a m i n a w a y t h a t s i g n i fi c a n t l y r e d u c e s t h e n u m b e r o f s t a t e s a d d e d d u e t o i n c o r p o r a t i n g h i s t o r y v a r i a b l e s . K u l k a r n i a n d E b n e n a s i r [ K E O 5 b ] a l s o i n v e s t i g a t e t h e e f f e c t o f n o n - f u s i o n c l o s e d 3 5 2 s a f e t y s p e c i fi c a t i o n s o n t h e c o m p l e x i t y o f a d d i n g m a s k i n g f a u l t - t o l e r a n c e t o u n - t i m e d c e n t r a l i z e d p r o g r a m s . A s m e n t i o n e d e a r l i e r , i t i s k n o w n t h a t a d d i n g m a s k i n g f a u l t - t o l e r a n c e t o u n t i m e d c e n t r a l i z e d p r o g r a m s c a n b e a c h i e v e d i n p o l y n o m i a l - t i m e [ K A O O ] . H o w e v e r , t h e a u t h o r s i n [ K E 0 5 b ] s h o w t h a t f o r t h e c a s e w h e r e o n e r e p - r e s e n t s t h e s a f e t y s p e c i fi c a t i o n b y a s e t o f b a d p a i r s o f t r a n s i t i o n s , t h e p r o b l e m o f a d d i n g m a s k i n g f a u l t - t o l e r a n c e t o u n t i m e d c e n t r a l i z e d p r o g r a m s i s N P - c o m p l e t e . W e n o t e t h a t t h i s N P - c o m p l e t e n e s s r e s u l t i s o u r m o s t f u n d a m e n t a l r e a s o n f o r r e p r e s e n t - i n g ( t i m i n g i n d e p e n d e n t ) s a f e t y s p e c i fi c a t i o n ( s e e D e fi n i t i o n 7 . 1 . 6 ) b y a s e t o f b a d t r a n s i t i o n s i n o u r f r a m e w o r k . E b n e n a s i r [ E b n 0 7 ] d e v e l o p s a m e t h o d f o r d i v i d i n g t h e r e v i s i o n p r o b l e m t h a t s c a l e s u p . I n a n a p p l i c a t i o n o f t h i s a p p r o a c h f o r s a f e t y p r o p e r t i e s , E b n e n a s i r d e v e l o p s a n a l g o r i t h m t h a t s t a t i c a l l y a n a l y z e s ( a n d p o s s i b l y r e v i s e s ) p r o g r a m i n s t r u c t i o n s o n s e p a r a t e m a c h i n e s i n a p a r a l l e l / d i s t r i b u t e d p l a t f o r m . B a s e d o n t h i s m e t h o d , t h e a u t h o r i m p l e m e n t s a d i s t r i b u t e d f r a m e w o r k t h a t e x p l o i t s t h e c o m p u t a t i o n a l r e s o u r c e s o f w i d e a r e a n e t w o r k s f o r p r o g r a m r e v i s i o n s . U s i n g t h i s a p p r o a c h , i t i s p o s s i b l e t o s y n t h e s i z e f a i l s a f e B y z a n t i n e a g r e e m e n t w i t h 4 0 p r o c e s s e s o n a c l u s t e r o f t h r e e m a c h i n e s i n 3 5 3 s e c o n d s . U s i n g o u r B D D - b a s e d a p p r o a c h , t h e s a m e p r o g r a m c a n b e s y n t h e s i z e d i n 2 2 s e c o n d s . T h e p r o b l e m o f o n l i n e f a u l t d e t e c t i o n i n t i m e d a u t o m a t a i s s t u d i e d i n [ 1 3 1 0 2 ] . I n t h i s w o r k , T r i p a k i s p r o p o s e s a p o l y n o m i a l - s p a c e o n l i n e a l g o r i t h m f o r d e s i g n i n g a d i a g n o s e r t h a t d e t e c t s f a u l t s i n b e h a v i o r s o f a g i v e n t i m e d a u t o m a t o n a f t e r t h e y o c c u r . I t i s a s s u m e d t h a t ( 1 ) t h e g i v e n s y s t e m i s i n s y n c h r o n o u s m o d e l , a n d ( 2 ) f a u l t s a n d f a i l u r e s a r e i d e n t i c a l e v e n t s . T h u s , t h i s m o d e l d o e s n o t c a p t u r e s i t u a t i o n s w h e r e 3 5 3 t h e o c c u r r e n c e o f f a u l t s ( a l t h o u g h u n d e s i r a b l e ) i s c o m m o n a n d e x p e c t e d , b u t m a y l e a d a s y s t e m t o f a i l u r e s . B o u y e r , C h e v a l i e r , a n d D ’ S o u z a [ B C D 0 5 ] a d d r e s s t h e s a m e p r o b l e m w h e r e t h e d i a g n o s e r i s r e a l i z a b l e a s a d e t e r m i n i s t i c t i m e d a u t o m a t o n o r a n e v e n t r e c o r d a u t o m a t o n . 1 5 . 2 . 2 C o n t r o l l e r S y n t h e s i s S y n t h e s i s o f d i s c r e t e - e v e n t s y s t e m s h a s m o s t l y b e e n s t u d i e d i n t h e c o n t e x t o f c o n t r o l l e r s y n t h e s i s a n d g a m e t h e o r y . I n t h i s s u b s e c t i o n , w e c o m p a r e a n d c o n t r a s t o u r a p p r o a c h t o c o n t r o l l e r s y n t h e s i s a n d g a m e t h e o r y . T h e s e m i n a l w o r k i n t h e a r e a o f c o n t r o l l e r s y n t h e s i s i s d u e R a m a d g e a n d W o n h a m [ R W 8 9 ] . T h e d i s c r e t e c o n t r o l l e r s y n t h e s i s ( D C S ) p r o b l e m i s a s f o l l o w s : s t a r t i n g f r o m t w o l a n g u a g e s U a n d D , i d e n t i f y a t h i r d l a n g u a g e C s u c h t h a t 1 1 0 6 g D . I n D C S t e r m i n o l o g y , t h e t h r e e l a n g u a g e s U , D , a n d C a r e c a l l e d t h e p l a n t , t h e d e s i r e d s y s t e m , a n d t h e c o n t r o l l e r , r e s p e c t i v e l y . ( I N C i s c a l l e d t h e c o n t r o l l e d s y s t e m . F i n a l l y , t h e s e t A o f a l p h a b e t s i s r e p r e s e n t s e v e n t s t h a t c a n o c c u r . O b v i o u s l y , t h e l a n g u a g e s L I a n d D m a y r e p r e s e n t t h e s e t o f c o m p u t a t i o n s o f a g i v e n p r o g r a m a n d a s a f e t y a n d / o r r e a c h a b i l i t y s p e c i fi c a t i o n . M o r e o v e r , C i d e n t i fi e s t h e c o m p u t a t i o n s t h a t d o n o t v i o l a t e D i n t h e p r e s e n c e o f u n c o n t r o l l a b l e t r a n s i t i o n s . O n e c a n n o t i c e t h a t o u r w o r k i n t h i s d i s s e r t a t i o n i s i n s p i r i t c l o s e t o D O S S p e c i f - i c a l l y , a n i n p u t p r o g r a m a n d f a u l t t r a n s i t i o n s m a y b e m o d e l e d a s c o n t r o l l a b l e a n d u n c o n t r o l l a b l e a c t i o n s . I n f a c t , i n b o t h p r o b l e m s , t h e o b j e c t i v e i s t o r e s t r i c t t h e p r o - g r a m a c t i o n s a t e a c h s t a t e t h r o u g h s y n t h e s i z i n g a c o n t r o l l e r s u c h t h a t t h e b e h a v i o r o f t h e e n t i r e s y s t e m i s a l w a y s d e s i r a b l e a c c o r d i n g t o s a f e t y a n d r e a c h a b i l i t y c o n d i - 3 5 4 t i o n s , i n t h e p r e s e n c e o f a n a d v e r s a r y . A s m e n t i o n e d i n S e c t i o n 7 . 3 , n o t i c e t h a t t h e c o n d i t i o n s C 1 a n d 0 2 p r e c i s e l y e x p r e s s t h i s n o t i o n o f r e s t r i c t i o n . F u r t h e r m o r e , t h e c o n j u n c t i o n o f a l l c o n d i t i o n s e x p r e s s e s t h e n o t i o n o f l a n g u a g e i n c l u s i o n , w h e r e t h e s y n t h e s i z e d p r o g r a m i s s u p p o s e d t o e x h i b i t a s u b s e t o f b e h a v i o r s o f t h e i n p u t i n t o l - e r a n t p r o g r a m . H a v i n g s a i d t h a t , o u r w o r k d i f f e r s f r o m s y n t h e s i z i n g d i s c r e t e - e v e n t c o n t r o l l e r s i n t h a t : 1 . T h e c o m p u t a t i o n m o d e l f o r s y n t h e s i z i n g c o n t r o l l e r s i s b a s e d o n p r i o r i t i z e d s y n - c h r o n i z a t i o n , w h e r e a s o u r s i s b a s e d o n i n t e r l e a v i n g . 2 . T h e c o m p l e x i t y o f s y n t h e s i z i n g a f a u l t - t o l e r a n t d e s i g n i n t h e c o n t e x t o f t h e f o r m u l a t i o n p r e s e n t e d i n P r o b l e m S t a t e m e n t 7 . 3 . 2 f o r u n t i m e d c e n t r a l i z e d p r o - g r a m s i s p o l y n o m i a l - t i m e w h e r e a s t h e c o m p l e x i t y o f s y n t h e s i z i n g c o n t r o l l e r s i s N P - h a r d [ G W O O ] . 3 . O u r a l g o r i t h m s a r e c o n c e r n e d w i t h p r o p e r t i e s t y p i c a l l y u s e d i n s p e c i f y i n g r e a l - t i m e a n d d i s t r i b u t e d f a u l t - t o l e r a n c e r e q u i r e m e n t s a n d , h e n c e , t h e y s y n t h e s i z e p r o g r a m s m o r e e f fi c i e n t l y . 4 . I n c o n t r o l l e r s y n t h e s i s , t h e n o t i o n o f a d d i t i o n o f r e c o v e r y c o m p u t a t i o n s d o e s n o t e x i s t , w h i c h i s a c r u c i a l c o n c e p t i n f a u l t - t o l e r a n t s y s t e m s . T o t h e b e s t o f o u r k n o w l e d g e , t h i s d i f f e r e n c e e x i s t s b e t w e e n S Y C R A F T a n d v i r t u a l l y a l l t o o l s t h a t i m p l e m e n t c o n t r o l l e r s y n t h e s i s a s w e l l . 5 . F i n a l l y , w e m o d e l d i s t r i b u t i o n b y s p e c i f y i n g r e a d / w r i t e r e s t r i c t i o n s , w h e r e a s t h e i s s u e o f d e c e n t r a l i z e d p l a n t s i s m o d e l e d t h r o u g h p a r t i a l o b s e r v a b i l i t y [ L W 9 0 , 3 5 5 R W 9 2 ] . I n t h e c o n t e x t o f r e a l - t i m e s y s t e m s , A s a r i n , M a l e r , a n d P n u e l i [ A M P 9 5 ] i n t r o d u c e a s y m b o l i c m e t h o d t o s y n t h e s i z e t i m e d c o n t r o l l e r s . A t t h e s e m a n t i c l e v e l t h e i r a p p r o a c h s y n t h e s i z e a c o n t r o l l e r i s s y n t h e s i z e d b y fi n d i n g a w i n n i n g s t r a t e g y f o r e i t h e r s a f e t y o r r e a c h a b i l i t y g a m e s ( b u t n o t b o t h ) d e fi n e d b y t r a d i t i o n a l fi n i t e s t a t e a u t o m a t a o r b y t i m e d - a u t o m a t a . T h e c o m p l e x i t y g a p b e t w e e n o u r a p p r o a c h a n d t i m e d c o n t r o l l e r s y n t h e s i s a p p r o a c h e s i s m o r e v i s i b l e . F o r e x a m p l e , t h e s y n t h e s i s p r o b l e m s p r e s e n t e d i n [ F L M O 2 , A M P S Q 8 , A M 9 9 b , d A F H + 0 3 ] a r e E X P T I M E - c o m p l e t e . M o r e o v e r , d e c i d i n g t h e e x i s t e n c e o f a c o n t r o l l e r i n [ D M 0 2 , B D M P 0 3 ] i s 2 E X P T I M E — c o m p l e t e . B y c o n t r a s t , a s w e s h o w e d i n C h a p t e r 8 , t h e c o m p l e x i t y o f o u r a l g o r i t h m s i s s i g n i fi c a n t l y l e s s . 1 5 . 2 . 3 G a m e T h e o r y G a m e - t h e o r e t i c a p p r o a c h e s f o r t h e s y n t h e s i s o f c o n t r o l l e r s a n d r e a c t i v e p r o g r a m s [ P R 8 9 a ] a r e g e n e r a l l y b a s e d o n t h e m o d e l o f t w o — p l a y e r g a m e s [ T h 0 9 5 ] . I n s u c h g a m e s a p r o g r a m m a k e s m o v e s i n r e s p o n s e t o t h e m o v e s o f i t s e n v i r o n m e n t . T h e p r o g r a m a n d i t s e n v i r o n m e n t i n t e r a c t t h r o u g h a s e t o f i n t e r f a c e v a r i a b l e s a n d , h e n c e , t h e e n v i r o n m e n t c a n o n l y u p d a t e t h e i n t e r f a c e v a r i a b l e s . I n o u r m o d e l , h o w e v e r , f a u l t s c a n p e r t u r b a l l p r o g r a m v a r i a b l e s . M o r e o v e r , i n a t w o - p l a y e r g a m e m o d e l , p l a y e r s t a k e t u r n s a n d t h e s e t o f s t a t e s f r o m w h e r e t h e fi r s t p l a y e r c a n m a k e a m o v e i s d i s j o i n t f r o m t h e s e t o f s t a t e s f r o m w h e r e t h e s e c o n d p l a y e r c a n m o v e [ W H T O B ] . 3 5 6 T o t h e c o n t r a r y , i n o u r w o r k , f a u l t - t o l e r a n c e s h o u l d b e p r o v i d e d a g a i n s t f a u l t s t h a t c a n e x e c u t e f r o m a n y s t a t e . G a m e t h e o r e t i c m e t h o d s a r e b a s e d o n t h e t h e o r y o f t r e e a u t o m a t a [ T t h O ] . S u c h a n a u t o m a t o n r e p r e s e n t s t h e s p e c i fi c a t i o n o f a s y s t e m . A s y n t h e s i s a l g o r i t h m c h e c k s t h e n o n - e m p t i n e s s o f t h e a u t o m a t o n , i . e . , w h e t h e r t h e r e e x i s t s a t r e e a c c e p t a b l e b y t h e t r e e a u t o m a t o n . I f t h e t r e e a u t o m a t o n i s i n d e e d n o n e m p t y , t h e n t h e s p e c i fi c a t i o n i s c a l l e d r e a l i z a b l e a n d t h e r e e x i s t s a m o d e l o f t h e s y n t h e s i z e d p r o g r a m . P n u e l i a n d R o s n e r a d d r e s s t h e p r o b l e m o f s y n t h e s i z i n g s y n c h r o n o u s o p e n r e a c t i v e m o d u l e s i n [ P R 8 9 a ] . T h e y g e n e r a l i z e t h e i r m e t h o d i n [ P R 8 9 b ] , b y p r o p o s i n g a t e c h - n i q u e f o r s y n t h e s i z i n g a s y n c h r o n o u s r e a c t i v e m o d u l e s . I n p a r t i c u l a r , t h e y i n v e s t i g a t e t h e p r o b l e m o f s y n t h e s i z i n g a n a s y n c h r o n o u s r e a c t i v e m o d u l e t h a t i n c l u d e o n l y o n e p r o c e s s a n d i n t e r a c t s w i t h a n o n - d e t e r m i n i s t i c e n v i r o n m e n t t h r o u g h a B o o l e a n v a r i - a b l e a : a n d a B o o l e a n o u t p u t v a r i a b l e y . I n o r d e r t o d e fi n e t h e r e a l i z a b i l i t y p r o b l e m , P n u e l i a n d R o s n e r d e fi n e a p r o g r a m a s a f u n c t i o n f r o m t h e s e t o f fi n i t e s e q u e n c e s o f i n p u t v a l u e s t o a s e q u e n c e o f o u t p u t v a l u e s . G i v e n a d o m a i n D f o r i n p u t a n d o u t p u t v a l u e s , a p r o g r a m P i s a f u n c t i o n f : D + — + D ( D + r e p r e s e n t s t h e s e t o f s e q u e n c e s o f i n p u t v a l u e s ) , w h e r e t h e v a r i a b l e s a : a n d y r a n g e o v e r D . T h u s , f o r e v e r y s t e p i o f e x e c u t i o n , t h e p r o g r a m g e n e r a t e s f ( a 0 , a 1 - ~ a z - ) a s t h e v a l u e o f y , w h e r e a k i s t h e o b s e r v a b l e v a l u e o f a : a t s t e p 1 : , 0 S k g i . H e n c e , e a c h a s y n c h r o n o u s b e h a v i o r o f t h e s y s t e m c o n s i s t s o f a n i n fi n i t e s e q u e n c e o f o r d e r e d p a i r s ( “ i v 1 ) , ) , w h e r e “ i E D i s t h e i n p u t v a l u e o f : r a n d b , - E D i s t h e o u t p u t v a l u e o f y a t s t e p i . A l s o , P n u e l i a n d R o s n e r i n c o r p o r a t e t o w o t h e r i n fi n i t e s e q u e n c e s t h a t r e p r e s e n t t h e s c h e d u l i n g s t a t e o f t h e p r o g r a m . F i n a l l y , t h e y d e fi n e t h e r e a l i z a b i l i t y p r o b l e m a s f o l l o w s : g i v e n a n 3 5 7 L T L s p e c i fi c a t i o n ¢ ( . r , y ) , d o e s t h e r e e x i s t a p r o g r a m P t h a t s a t i s fi e s g b ( ; r , y ) . T h e y s h o w t h a t t h e n e c e s s a r y a n d s u f fi c i e n t c o n d i t i o n f o r r e a l i z a b i l i t y o f a s p e c i fi c a t i o n i s i t s v a l i d i t y , a n d n o t j u s t s a t i s fi a b i l i t y . W h i l e s y m b o l i c m o d e l c h e c k i n g h a s b e e n s t u d i e d e x t e n s i v e l y ( e . g . , [ B C l V I + 9 2 , M c M 9 3 , H N S Y 9 4 ] ) , l i t t l e w o r k h a s b e e n d o n e o n s y m b o l i c s y n t h e s i s a n d e s p e c i a l l y o n p e r f o r m a n c e a n a l y s i s . R e c e n t l y , W a l l m e i e r , H i i t t e n , a n d T h o m a s [ W H T 0 3 ] i n t r o d u c e a n a l g o r i t h m f o r s y n t h e s i z i n g fi n i t e s t a t e c o n t r o l l e r s b y s o l v i n g i n fi n i t e g a m e s o v e r fi n i t e s t a t e s p a c e s . T h e y m o d e l t h e w i n n i n g c o n s t r a i n t b y s a f e t y c o n d i t i o n s a n d a s e t o f r e q u e s t - r e s p o n s e p r o p e r t i e s a s l i v e n e s s c o n d i t i o n s . T h e y t r a n s f o r m t h i s g a m e i n t o a B i i c h i g a m e w h i c h i n e v i t a b l y i n v o l v e s a n e x p o n e n t i a l b l o w - u p . T h e a p p r o a c h i n [ W H T O B ] d o e s n o t a d d r e s s t h e i s s u e o f d i s t r i b u t i o n o r t i m e . M o r e o v e r , t h e r e p o r t e d m a x i m u m n u m b e r o f v a r i a b l e s i n t h e i r e x p e r i m e n t s i s 2 3 , w h i c h i s f a r l e s s t h a n t h e n u m b e r o f v a r i a b l e s t h a t w e h a v e h a n d l e d u s i n g o u r s y m b o l i c a l g o r i t h m s . F i n a l l y , w e e m p h a s i z e t h a t s i m i l a r t o d i s c r e t e c o n t r o l l e r s y n t h e s i s , g a m e t h e o r e t i c a p p r o a c h e s d o n o t a d d r e s s t h e i s s u e o f a d d i t i o n o f r e c o v e r y . A l s o , i n g a m e t h e o r y , t h e n o t i o n o f d i s t r i b u t i o n i s m o d e l e d b y p a r t i a l o b s e r v a b i l i t y . 1 5 . 3 S y n t h e s i s T o o l s T h e m o s t r e l e v a n t s y n t h e s i s t o o l t o S Y C R A F T i s F T S y n [ E K A a r ] . T h i s t o o l i m p l e - m e n t s t h e s y n t h e s i s h e u r i s t i c s i n t r o d u c e d b y K u l k a r n i , A r o r a , a n d C h i p p a d a [ K A C O I ] i n a n e n u m e r a t i v e f a s h i o n . T h e i n p u t l a n g u a g e o f F T S Y n i s s i m i l a r t o S Y C R A F T ; i t a c c e p t s a s e t o f p r o c e s s e s a l o n g w i t h r e a d / w r i t e r e s t r i c t i o n s , s a f e t y s p e c i fi c a t i o n , a n d 3 5 8 a n i n v a r i a n t . H o w e v e r , t h e g r a m m a r o f i n p u t l a n g u a g e o f F T S y n i s n o t a s r i c h a s S Y C R A F T . F o r i n s t a n c e , F T S y n d o e s n o t a l l o w q u a n t i fi e r s a n d r a n g e o n s y m m e t r i c p r o c e s s e s . I t i s a l s o n o t p o s s i b l e t o a s s o c i a t e e a c h p r o c e s s w i t h a s e t o f f a u l t s a n d p r o h i b i t e d t r a n s i t i o n s . G i v e n a n i n p u t p r o g r a m , t h e o u t p u t o f F T S y n i s a m a s k i n g f a u l t - t o l e r a n t d i s t r i b u t e d p r o g r a m . A l s o , t h e o u t p u t o f S Y C R A F T i s m o r e o p t i m i z e d t h a n F T S y n i n t h e s e n s e t h a t S Y C R A F T s i m p l i fi e s B o o l e a n m i n t e r m s b e t t e r t h a n F T - S y n . U n f o r t u n a t e l y , a t t h e t i m e o f w r i t i n g t h i s d i s s e r t a t i o n , t h e r e i s n o p u b l i s h e d d a t a o n p e r f o r m a n c e o f F T S y n . H o w e v e r , o u r e x p e r i m e n t s s h o w a c o n s i d e r a b l e d i f f e r e n c e b e t w e e n p e r f o r m a n c e o f F T S y n a n d S Y C R A F T . F o r e x a m p l e , i n c a s e o f B y z a n t i n e a g r e e m e n t f o r fi v e p r o c e s s e s , i t t a k e F T S y n a b o u t 1 5 m i n u t e s t o g e n e r a t e a n o u t p u t , w h e r e a s S Y C R A F T c a n g e n e r a t e t h e s a m e o u t p u t w i t h i n l e s s t h a n a s e c o n d . F u r - t h e r m o r e , F T S y n f a i l s t o a d d f a u l t - t o l e r a n c e t o m o r e t h a n s i x n o n - g e n e r a l p r o c e s s e s , w h e r e a s S Y C R A F T h a s s u c c e s s f u l l y b e e n u s e d t o s y n t h e s i z e u p t o 5 0 n o n - g e n e r a l p r o - c e s s e s . T h e t o o l L i L Y [ J B ] s y n t h e s i z e s a f u n c t i o n a l l y c o r r e c t d e s i g n f r o m a f o r m a l s p e c i fi - c a t i o n e x p r e s s e d i n L T L b a s e d o n t h e n e w a d v a n c e s o n o p t i m i z a t i o n s f o r L T L s y n t h e s i s [ J B 0 6 ] . I n p a r t i c u l a r , L i L y i s a t o o l f o r c o m p r e h e n s i v e s y n t h e s i s f r o m L T L s p e c i fi c a — t i o n w r i t t e n i n P e r l . T h e o u t p u t o f L i L Y i s a s t a t e m a c h i n e r e p r e s e n t e d a s a V e r i l o g 1 m o d u l e o r a s a d i r e c t e d g r a p h i n D O T f o r m a t . A n z u [ J G W B O 7 ] i s a n o t h e r t o o l f r o m t h e s a m e r e s e a r c h g r o u p . T h e t o o l s y n t h e s i z e s V e r i l o g d e s i g n s f r o m s p e c i fi c a - t i o n s w r i t t e n i n L T L . U n l i k e L i L Y , A n z u i m p l e m e n t s t h e R e a c t i v e - l a l g o r i t h m d u e 1 V e r i l o g i s a h a r d w a r e d e s c r i p t i o n l a n g u a g e ( H D L ) u s e d t o m o d e l e l e c t r o n i c s y s t e m s . F o r m o r e i n f o r m a t i o n , v i s i t h t t p : / / w w w . v e r i l o g . c o m / . 3 5 9 t o P n u e l i , P i t e r m a n , a n d S a ’ a r ’ s [ P P S O fi ] , w h i c h c a n h a n d l e a h u g e s u b s e t o f L T L . A s m e n t i o n e d e a r l i e r , O u r s y n t h e s i s p r o b l e m i s i n s p r i t c l o s e t o c o n t r o l l e r s y n t h e s i s a n d g a m e t h e o r y p r o b l e m s . H o w e v e r , t h e r e e x i s t s e v e r a l d i s t i n c t i o n s i n t h e o r i e s a n d , h e n c e , t h e c o r r e s p o n d i n g t o o l s . I n p a r t i c u l a r , i n c o n t r o l l e r s y n t h e s i s a n d g a m e t h e o r y , t h e n o t i o n o f a d d i t i o n o f r e c o v e r y c o m p u t a t i o n s d o e s n o t e x i s t , w h i c h i s a c r u c i a l c o n c e p t i n f a u l t - t o l e r a n t s y s t e m s . T o t h e b e s t o f o u r k n o w l e d g e , t h i s d i f f e r e n c e e x i s t s i n v i r t u a l l y a l l t o o l s t h a t i m p l e m e n t c o n t r o l l e r s y n t h e s i s o r g a m e t h e o r e t i c a l g o r i t h m s . M o r e o v e r , w e m o d e l d i s t r i b u t i o n b y s p e c i f y i n g r e a d / w r i t e r e s t r i c t i o n s , w h e r e a s r e l a t e d t o o l s e i t h e r d o n o t a d d r e s s t h e n o t i o n o f d i s t r i b u t i o n o r t h e i r m o d e l i n g i s i n a h i g h e r l e v e l o f a b s t r a c t i o n ( e . g . , t h e S M T - b a s e d m e t h o d i n [ F 8 0 7 ] ) . B e l o w , w e p r e s e n t s o m e o f s u c h t o o l s . S o m e t o o l s ( e . g . , T I C C a n d S u p r e m i a ) m o d e l t h e i s s u e o f d i s t r i b u t i o n u s i n g s y n c h r o n i z a t i o n o n i n p u t a c t i o n s . S I G A L I [ B B G O O ] s u p p o r t s v e r i fi c a t i o n o f r e a c t i v e s y s t e m s a n d s y n t h e s i z i n g d i s c r e t e c o n t r o l l e r s . I n S I G A L I , a s y s t e m i s r e p r e s e n t e d b y a l a b e l e d t r a n s i t i o n s y s t e m , w h i l e t h e c o n t r o l o f t h e s y s t e m i s p e r f o r m e d b y r e s t r i c t i n g t h e c o n t r o l l a b l e i n p u t v a l u e s t o v a l u e s s u i t a b l e f o r t h e c o n t r o l g o a l . T h i s r e s t r i c t i o n i s o b t a i n e d b y i n c o r p o r a t i n g n e w a l g e b r a i c e q u a t i o n s i n t o t h e i n i t i a l s y s t e m . S i m i l a r t o m o s t c o n t r o l l e r s y n t h e s i s a p p r o a c h e s , i n S I G A L I t h e c o n t r o l o b j e c t i v e s a r e r e a c h a b i l i t y a n d p e r s i s t e n c e ( e . g . , a s e t o f s a f e s t a t e s ) . A s m e n t i o n e d e a r l i e r , i n c o n t r o l l e r s y n t h e s i s , s o m e o f t h e c r u c i a l f e a t u r e s o f f a u l t - t o l e r a n c e ( e . g . , s a f e r e c o v e r y a f t e r a f a u l t o c c u r s ) a r e n o t a d d r e s s e d . T h i s i s t h e c a s e i n S I G A L I a s w e l l . M o r e o v e r , i t i s n o t p o s s i b l e t o m o d e l d i s t r i b u t i o n i n S I G A L I . S u p r e m i c a [ A F F M O 6 , A F F V 0 3 ] i s a l s o a t o o l f o r v e r i fi c a t i o n , s y n t h e s i s , a n d s i m u - 3 6 0 l a t i o n o f d i s c r e t e e v e n t s y s t e m s . S i m i l a r t o S I G A L I , t h e i n p u t m o d e l i n S u p r e m i c a i s a fi n i t e s t a t e a u t o m a t o n , w h e r e t h e t r a n s i t i o n s h a v e a n a s s o c i a t e d e v e n t t o g e t h e r w i t h a g u a r d c o n d i t i o n a n d a n a c t i o n f u n c t i o n t h a t u p d a t e s t h e s y s t e m v a r i a b l e s . S u p r e m - i c a e x p l o i t s m o d u l a r i t y i n o r d e r t o a d d r e s s t h e s t a t e e x p l o s i o n p r o b l e m , a f e a t u r e t h a t S Y C R A F T c u r r e n t l y l a c k s . S i m i l a r t o S Y C R A F T , i m p l e m e n t a t i o n s o f S u p r e m i c a i s B D D - b a s e d . A n o t h e r d i f f e r e n c e b e t w e e n S Y C R A F T a n d S u p r e m i c a i s t h a t i n p u t p r o g r a m s t o S Y C R A F T a r e m o d e l e d i n a n a s y n c h r o n o u s s e t t i n g , w h e r e a s i n S u p r e m - i c a d i f f e r e n t t r a n s i t i o n s o f t h e g i v e n a u t o m a t o n s y n c h r o n i z e o n i n p u t a c t i o n s . T h u s , c o m p a r i s o n o f e x p e r i m e n t a l r e s u l t s i s i r r e l e v a n t . T C T [ F W 0 6 ] i s a l s o a t o o l f o r s u p e r v i s o r y c o n t r o l s y n t h e s i s o f u n t i m e d fi n i t e s t a t e s y s t e m s . I t i n c o r p o r a t e s B D D s i n i m p l e m e n t a t i o n o f i t s c o r e a l g o r i t h m s . A l s o , T C T e x p l o i t s s y s t e m h i e r a r c h i c a l s t r u c t u r e i n o r d e r t o r e m e d y t h e s t a t e e x p l o s i o n p r o b l e m . 0 2 0 s t a t e s T h e l a t e s t v e r s i o n o f T C T c a n c o m p u t e s y s t e m s t h a t w o u l d n e e d a b o u t 1 i f c o m p u t e d e x t e n s i o n a l l y i n a u t o m a t a . W e n o t e t h a t a l t h o u g h T C T a n d S Y C R A F T i m p l e m e n t d i f f e r e n t m o d e l s , a s f a r a s s y n c h r o n i z a t i o n i s c o n c e r n e d , S Y C R A F T i s a b l e 0 5 0 r e a c h a b l e s t a t e s a n b e y o n d . t o s y n t h e s i z e p r o g r a m s w i t h 1 I n [ d A F L 0 6 ] , d e A l f a r o , F a e l l a , a n d L e g a y i n t r o d u c e t h e t o o l T I C C f o r g a m e - b a s e d m o d e l i n g o f s o f t w a r e a n d d i s t r i b u t e d s y s t e m s . T h e c o r e o f T I C C i s b a s e d o n t h e t h e o r y o f i n t e r f a c e a u t o m a t a [ d A H O I ] . I n T I C C , c o m p o n e n t s a r e m o d e l e d v i a b o t h d i s c r e t e v a r i a b l e s a n d a c t i o n s ( t o d e s c r i b e s y n c h r o n i z a t i o n ) . T h e i m p l e m e n t a t i o n o f T I C C i s a l s o B D D - b a s e d . I n p a r t i c u l a r , T I C C c a n s y n t h e s i z e i n p u t a s s u m p t i o n s o f s o m e e n v i r o n m e n t i n w h i c h a d i s t r i b u t e d p r o g r a m c a n b e e x e c u t e d w i t h o u t r e a c h i n g a d e a d l o c k d u e t o u n a n t i c i p a t e d m o v e s b y t h e e n v i r o n m e n t . S i m i l a r t o S u p r e m i c a 3 6 1 a n d u n l i k e S Y C R A F T , T I C C m o d e l s d i s t r i b u t i o n c o n c e r n s a s m o d u l e s t h a t s y n c h r o n i z e o n s h a r e d a c t i o n s . 1 5 . 4 C o m p o n e n t - B a s e d A n a l y s i s o f F a u l t - T o l e r a n t P r o g r a m s I n C h a p t e r 1 0 , w e e x t e n d e d t h e t h e o r y o f f a u l t - t o l e r a n c e c o m p o n e n t s [ A K 9 8 b ] t o t h e c o n t e x t o f r e a l - t i m e p r o g r a m s . T h e t h e o r y i n [ A K 9 8 b ] e s s e n t i a l l y s e p a r a t e s f a u l t - t o l e r a n c e a n d f u n c t i o n a l i t y c o n c e r n s o f u n t i m e d s y s t e m s . M o r e s p e c i fi c a l l y , t h e t h e o r y i d e n t i fi e s t w o t y p e s o f f a u l t — t o l e r a n c e c o m p o n e n t s , n a m e l y d e t e c t o r s a n d c o r r e c t o r s . T h e s e c o m p o n e n t s a r e b a s e d o n t h e p r i n c i p l e o f d e t e c t i n g a s t a t e p r e d i c a t e t o e n s u r e t h a t p r o g r a m a c t i o n s w o u l d b e s a f e a n d c o r r e c t i n g a s t a t e p r e d i c a t e t o e n s u r e t h a t t h e p r o g r a m e v e n t u a l l y r e a c h e s a l e g i t i m a t e s t a t e . W e e m p h a s i z e t h a t s i n c e t h e s e c o m p o n e n t s d o n o t r e l y o n d e t e c t i n g f a u l t s o r c o r r e c t i n g f a u l t s , t h e y c a n b e a p p l i e d i n c a s e s w h e r e f a u l t s a r e n o t d e t e c t a b l e ( e . g . , B y z a n t i n e f a u l t s ) . O u r w o r k i n C h a p t e r 1 0 d i f f e r s f r o m t h e w o r k o n f a i l u r e d e t e c t o r s ( e . g . , t h e l i n e o f r e s e a r c h p i o n e e r e d b y C h a n d r a a n d T o u e g ) i n t h a t t h e p r e d i c a t e s b e i n g d e t e c t e d i n [ C T 9 6 , C H T 9 6 ] a r e o f t h e t y p e “ p r o c e s s j h a s f a i l e d ” . T o t h e c o n t r a r y , t h e p r e d - i c a t e s i n o u r w o r k a r e a r b i t r a r y s t a t e p r e d i c a t e s . M o r e o v e r , i n [ C T 9 6 , C H T 9 6 ] , t h e a u t h o r s h a v e c o n s i d e r e d d e t e c t o r s t h a t a r e n o t p e r f e c t ; s i m i l a r d e t e c t o r s c a n a l s o b e c o n s t r u c t e d f r o m t h e c o m p o n e n t s i n t h i s p a p e r . H o w e v e r , t h i s i s s u e i s i m p o r t a n t i n t h e c o n t e x t o f a d e s i g n m e t h o d o l o g y a n d i s d i s c u s s e d i n [ B K 0 6 b , K E 0 4 , A K 9 8 a ] . 3 6 2 S i n c e t h e d i s c u s s i o n a b o u t i m p e r f e c t d e t e c t o r s i s n o t n e e d e d i n o u r c o n t e x t , t h i s i s s u e i s o u t s i d e t h e s c o p e o f t h i s p a p e r . L i k e w i s e , i s s u e s s u c h a s a t o m i c i t y o f t h e f a u l t - t o l e r a n c e c o m p o n e n t s a r e i m p o r t a n t f o r d e s i g n ; i n t h e c o n t e x t o f a n a l y s i s , t h e c o m p o n e n t s c o n t a i n e d i n a f a u l t - t o l e r a n t p r o g r a m , b y d e fi n i t i o n , w o u l d s a t i s f y a n y a t o m i c i t y r e s t r i c t i o n s i m p o s e d o n t h a t f a u l t - t o l e r a n t p r o g r a m . A l t h o u g h d e t e c t o r s a n d c o r r e c t o r s h a v e b e e n f o u n d t o b e u s e f u l i n t h e d e s i g n o f f a u l t - t o l e r a n t p r o g r a m s 2 , t h e i r s i g n i fi c a n c e i n a n a l y s i s h a s n o t b e e n e v a l u a t e d e x c e p t i n e m p i r i c a l c a s e s t u d i e s . I n t h e s e s t u d i e s [ K R 8 9 9 , G J O 4 ] , d e c o m p o s i t i o n o f a f a u l t - t o l e r a n t p r o g r a m i n t o i t s c o m p o n e n t s h a s b e e n f o u n d v a l u a b l e i n f o r m a l v e r i fi c a t i o n o f t h e p r o g r a m . T h u s , w e e x p e c t t h a t o u r a f fi r m a t i v e a n s w e r t o e x i s t e n c e o f t h e c o m p o n e n t s i n C h a p t e r 1 0 w o u l d s i g n i fi c a n t l y a s s i s t i n a n a l y s i s o f r e a l - t i m e e m b e d d e d f a u l t - t o l e r a n t p r o g r a m s . T h e t h e o r y o f d e t e c t o r s a n d c o r r e c t o r s [ A K 9 8 b ] w a s e x t e n d e d i n [ J G F S 0 2 ] f o r s a f e t y - c r i t i c a l s y s t e m s . I n [ T G 9 9 ] , t h e a u t h o r s h a v e u s e d a s i m i l a r a p p r o a c h f o r p r o v i n g c o n v e r g e n c e o f s y s t e m s t o l e g i t i m a t e s t a t e s . T h e t h e o r y h a s a l s o b e e n u s e d i n d e s i g n o f s e v e r a l m u l t i — t o l e r a n t e x a m p l e s [ K E 0 4 , G H O O ] w h e r e t o l e r a n c e t o d i f f e r e n t t y p e s o f f a u l t s i s p r o v i d e d a n d t h e l e v e l o f f a u l t - t o l e r a n c e v a r i e s d e p e n d i n g u p o n t h e s e v e r i t y o f f a u l t s . I n t h e c o n t e x t o f a u t o m a t i o n o f a d d i t i o n o f f a u l t - t o l e r a n c e , t h e t h e o r y h a s b e e n e x p l o i t e d i n [ B K 0 8 a , B K 0 6 b , K E 0 4 , G J 0 4 , J H S O 2 ] . I n t h e c o n t e x t o f v e r i fi c a t i o n , s i m p l i fi e d v e r s i o n s o f t h i s t h e o r y a r e a p p l i e d i n v e r i fi c a t i o n o f t i m e - t r i g g e r e d a r c h i t e c t u r e s [ R u s 0 2 ] . I t h a s a l s o b e e n u s e d i n s o f t w a r e v e r i fi c a t i o n t h r o u g h 2 T h e c o m p o n e n t s h a v e b e e n s h o w n t o s u f f i c e i n t h e d e s i g n o f a l a r g e c l a s s o f f a u l t - t o l e r a n t p r o g r a m s [ A K 9 8 b ] i n c l u d i n g p r o g r a m s d e s i g n e d u s i n g r e p l i c a t i o n , s t a t e m a c h i n e a p p r o a c h , a n d , c h e c k p o i n t i n g a n d r e c o v e r y . 3 6 3 s e p a r a t i o n o f c o n c e r n s [ K R 8 9 9 , J H A O 7 ] . I n [ K E 0 5 a ] , t h e a u t h o r s c o n s i d e r t h e p r o b l e m o f i n c o r p o r a t i n g p r e - s y n t h e s i z e d d e - t e c t o r a n d c o r r e c t o r c o m p o n e n t s f o r s y n t h e s i z i n g m a s k i n g f a u l t - t o l e r a n t d i s t r i b u t e d p r o g r a m s . T h e m o t i v a t i o n o f t h e i r w o r k i s b a s e d o n t h e f a c t s t h a t t h e p r o b l e m o f s y n t h e s i z i n g d i s t r i b u t e d m a s k i n g p r o g r a m s i s N P — c o m p l e t e a n d h e u r i s t i c s i n t r o d u c e d i n [ K A C O I ] m a y f a i l t o s y n t h e s i z e a p r o g r a m . S i m i l a r t o o u r a p p r o a c h i n t h i s d i s - s e r t a t i o n , t h e i r s y n t h e s i s m e t h o d r e u s e s t h e g i v e n f a u l t - i n t o l e r a n t p r o g r a m . I t a l s o e n s u r e s i n t e r f e r e n c e f r e e d o m a m o n g t h e g i v e n p r e — s y n t h e s i z e d c o m p o n e n t s a n d t h e i n t o l e r a n t p r o g r a m , i . e . , t h e e x e c u t i o n o f o n e o f t h e m d o e s n o t v i o l a t e t h e ( s a f e t y o r l i v e n e s s ) s p e c i fi c a t i o n o f a n o t h e r o n e . O b v i o u s l y , s u c h a s y n t h e s i s m e t h o d i s s e m i - a u t o m a t e d a s t h e d e s i g n e r h a s t o s o m e h o w p r o v i d e t h e i r s y n t h e s i s m e t h o d w i t h t h e r i g h t p r e — s y n t h e s i z e d c o m p o n e n t s . B a s e d o n t h e d e t e c t o r - c o r r e c t o r t h e o r y E b n e n a s i r a n d C h e n g [ E C O 7 ] i n t r o d u c e a n o b j e c t a n a l y s i s p a t t e r n , c a l l e d t h e d e t e c t o r p a t t e r n , t h a t p r o v i d e s a r e u s a b l e s t r a t e g y f o r c a p t u r i n g t h e r e q u i r e m e n t s o f f a i l s a f e f a u l t - t o l e r a n c e i n a n e x i s t i n g c o n c e p t u a l m o d e l . T h e y a l s o p r e s e n t a m e t h o d t h a t u s e s t h e d e t e c t o r p a t t e r n f o r c r e a t i n g a b e h a v i o r a l m o d e l o f a f a i l s a f e f a u l t - t o l e r a n t s y s t e m i n U M L . T h e i r m e t h o d a l s o g e n - e r a t e s a n d m o d e l c h e c k s f o r m a l m o d e l s o f U M L s t a t e d i a g r a m s o f t h e f a u l t — t o l e r a n t s y s t e m . I n a d d i t i o n i t v i s u a l i z e s t h e m o d e l c h e c k i n g r e s u l t s i n t e r m s o f t h e U M L d i - a g r a m s . E b n e n a s i r a n d C h e n g [ E C 0 6 ] a l s o i n t r o d u c e t h e n o t i o n o f c o r r e c t o r s p a t t e r n i n o r d e r t o m o d e l a n d a n a l y z e e r r o r r e c o v e r y i n f a u l t - t o l e r a n t p r o g r a m s . 3 6 4 C h a p t e r 1 6 C o n c l u s i o n a n d F u t u r e W o r k I n t h i s d i s s e r t a t i o n , w e f o c u s e d o n t h e p r o b l e m o f a u t o m a t e d r e v i s i o n o f d i s t r i b u t e d a n d r e a l — t i m e p r o g r a m s i n t h e c o n t e x t o f o p e n a n d c l o s e d s y s t e m s . I n b o t h c a s e s , w e c o n c e n t r a t e d o n p r o p e r t i e s t h a t a r e t y p i c a l l y u s e d i n s p e c i f y i n g d i s t r i b u t e d a n d r e a l - t i m e s y s t e m s ( e . g . , U N I T Y p r o p e r t i e s [ C M 8 8 ] ) . I n t h e c o n t e x t o f c l o s e d s y s t e m s , w e o b s e r v e d t h e r e v i s i o n p r o b l e m a s t h e p r o b l e m o f a d d i n g p r o p e r t i e s t h a t t h e o r i g i n a l p r o g r a m f a i l s t o s a t i s f y , w h i l e p r e s e r v i n g t h e e x i s t i n g u n i v e r s a l l y q u a n t i fi e d p r o p e r t i e s o f t h e o r i g i n a l p r o g r a m . W e s t u d i e d r e v i s i o n o f o p e n s y s t e m s b y c o n s i d e r i n g p r o g r a m s t h a t a r e s u b j e c t t o a s e t o f u n c o n t r o l l a b l e f a u l t s i m p o s e d b y t h e e n v i r o n m e n t . W e a l s o d e v e l o p e d s y m b o l i c , d i s t r i b u t e d , a n d p a r a l l e l t e c h n i q u e s t o i m p r o v e t h e p e r f o r m a n c e o f o u r r e v i s i o n a l g o r i t h m s . O u r a p p r o a c h i s b a s e d o n l o c a l r e v i s i o n o f p r o g r a m s w h e r e b y b e h a v i o r s t h a t v i o l a t e t h e n e w p r o p e r t i e s a r e r e m o v e d . T h i s a p p r o a c h a l s o e n s u r e s t h a t a l l e x i s t i n g u n i v e r - s a l l y q u a n t i fi e d p r o p e r t i e s c o n t i n u e t o b e s a t i s fi e d . A s m e n t i o n e d i n t h e i n t r o d u c t i o n , w e c l a s s i fi e d o u r r e s u l t s i n t o t h r e e t y p e s o f ( 1 ) s o u n d a n d c o m p l e t e p o l y n o m i a l - t i m e 3 6 5 a l g o r i t h m s , ( 2 ) i d e n t i f y i n g c o m p l e x i t y h i e r a r c h y , a n d ( 3 ) e f fi c i e n t h e u r i s t i c s t h a t c a n b e d e p l o y e d i n b u i l d i n g t o o l s . A s o u n d a n d c o m p l e t e a l g o r i t h m i s h i g h l y v a l u a b l e s i n c e i t a l l o w s d e s i g n e r s t o d e t e r m i n e w h e t h e r a g i v e n p r o g r a m i s fi r a b l e a n d i f t h e p r o g r a m i s i n d e e d fi x a b l e , t h e a l g o r i t h m s y n t h e s i z e s a n e w p r o g r a m t h a t s a t i s fi e s t h e d e s i r e d p r o p e r t y ( o r l e v e l o f f a u l t - t o l e r a n c e ) . T h e k n o w l e d g e o f c o m p l e x i t y b o u n d s i s a l s o i m p o r t a n t i n b u i l d i n g t o o l s f o r a u t o m a t e d p r o g r a m r e v i s i o n . F o r i n s t a n c e , a n N P - c o m p l e t e n e s s r e s u l t d e m o n s t r a t e s t h a t c o r r e s p o n d i n g t o o l s m u s t u t i l i z e e f fi c i e n t h e u r i s t i c s t o e x p e d i t e t h e r e v i s i o n a l g o r i t h m a t t h e c o s t o f c o m p l e t e n e s s . M o r e o v e r , h a r d n e s s p r o o f s o f t e n i d e n t i f y w h e r e t h e e x p o n e n t i a l c o m p l e x i t y l i e s i n t h e p r o b l e m . T h u s , t h o r o u g h a n a l y s i s o f p r o o f s i s a l s o c r u c i a l i n d e v i s i n g e f f i c i e n t h e u r i s t i c s . I n t h i s c h a p t e r , w e p r e s e n t a n o v e r a l l p i c t u r e o f t h e s t a t u s o f o u r r e s e a r c h o n a u t o - m a t e d r e v i s i o n o f r e a l - t i m e a n d d i s t r i b u t e d p r o g r a m s . I n S e c t i o n 1 6 . 1 , w e s u m m a r i z e t h e c o n t r i b u t i o n s o f t h i s d i s s e r t a t i o n . T h e n , i n S e c t i o n 1 6 . 2 , w e p r e s e n t s o m e o p e n p r o b l e m s a n d c h a r a c t e r i z e f u t u r e r e s e a r c h d i r e c t i o n s . 1 6 . 1 C o n t r i b u t i o n s T h e m a i n r e s u l t s o f t h i s d i s s e r t a t i o n i n t h e c o n t e x t o f r e v i s i n g c l o s e d s y s t e m s a r e a s f o l l o w s : 1 . W e i n t r o d u c e d a s o u n d a n d c o m p l e t e a l g o r i t h m f o r a d d i n g a s i n g l e U N I T Y p r o g r e s s p r o p e r t y ( i . e . , l e a d s - t o o r e n s u r e s ) a l o n g w i t h a s e t o f U N I T Y s a f e t y p r o p e r t i e s ( i . e . , u n l e s s , s t a b l e , a n d i n v a r i a n t ) t o u n t i m e d c e n t r a l i z e d p r o g r a m s . T h e t i m e c o m p l e x i t y o f o u r a l g o r i t h m i s p o l y n o m i a l i n t h e s i z e o f t h e i n p u t 3 6 6 M . p r o g r a m ’ s s t a t e s p a c e . . W e p r e s e n t e d a c o u n t e r i n t u i t i v e r e s u l t w h e r e w e s h o w e d t h a t a d d i n g t w o o r m o r e p r o g r e s s p r o p e r t i e s t o a n u n t i m e d c e n t r a l i z e d p r o g r a m i s N P - c o m p l e t e . B a s e d o n t h i s r e s u l t , w e fi n d t h a t a d d i n g o n e p r o g r e s s p r o p e r t y i s s i g n i fi c a n t l y e a s i e r t h a n s i m u l t a n e o u s a d d i t i o n o f m u l t i p l e s u c h p r o p e r t i e s . . W e s h o w e d t h a t t h e p r o b l e m o f a d d i n g a s i n g l e l e a d s - t o p r o p e r t y t o a n u n - t i m e d c e n t r a l i z e d p r o g r a m w h i l e p r e s e r v i n g m a x i m u m n o n - d e t e r m i n i s m i s N P - c o m p l e t e . . W e p r o v e d t h a t a d d i t i o n o f o n l y o n e U N I T Y s a f e t y o r o n l y o n e U N I T Y p r o g r e s s p r o p e r t y t o a d i s t r i b u t e d p r o g r a m i s N P — c o m p l e t e . T h i s r e s u l t f o r m a l l y v a l i - d a t e s t h e c o m m o n b e l i e f t h a t d e s i g n i n g fi n i t e s t a t e d i s t r i b u t e d s y s t e m s i s S i g - - n i fi c a n t l y m o r e d i f fi c u l t t h a n fi n i t e s t a t e c e n t r a l i z e d s y s t e m s . . W e p r o p o s e d a s o u n d a n d c o m p l e t e p o l y n o m i a l - t i m e a l g o r i t h m i n t h e s i z e o f t h e i n p u t p r o g r a m ’ s r e g i o n g r a p h f o r a d d i t i o n o f a s i n g l e b o u n d e d - t i m e l e a d s - t o p r o p e r t y . S i m i l a r t o t h e u n t i m e d c a s e , o u r a l g o r i t h m i s a b l e t o a d d a s i n g l e b o u n d e d - t i m e e n s u r e s p r o p e r t y a l o n g w i t h a s e t o f s a f e t y p r 0 p e r t i e s a s w e l l . . W e s h o w e d a n o t h e r c o u n t e r i n t u i t i v e r e s u l t t h a t t h e p r o b l e m o f p r o v i d i n g m a x - i m u m n o n - d e t e r m i n i s m w h i l e a d d i n g a s i n g l e b o u n d e d - t i m e l e a d s - t o p r o p e r t y t o a r e a l - t i m e p r o g r a m i s N P - c o m p l e t e ( i n t h e s i z e o f t h e i n p u t p r o g r a m ’ s r e - g i o n g r a p h ) e v e n i f t h e o r i g i n a l p r o g r a m s a t i s fi e s t h e c o r r e s p o n d i n g u n b o u n d e d l e a d s - t o p r o p e r t y . 3 6 7 T h e m a i n r e s u l t s o f t h i s d i s s e r t a t i o n i n t h e c o n t e x t o f r e v i s i o n o f o p e n s y s t e m s a r e a s f o l l o w s : 1 . W e i n t r o d u c e d a g e n e r i c f a u l t - t o l e r a n c e f r a m e w o r k f o r r e a l - t i m e p r o g r a m s i n d e - p e n d e n t o f p l a t f o r m , a r c h i t e c t u r e , a n d t y p e o f f a u l t s . I n p a r t i c u l a r , w e f o r m a l l y d e fi n e d w h a t w e m e a n b y f a u l t s a n d l e v e l s o f f a u l t - t o l e r a n c e ( e . g . , s o f t a n d h a r d f a u l t - t o l e r a n c e ) i n t h e c o n t e x t o f r e a l - t i m e p r o g r a m s . 2 . W e p r e s e n t e d a p o l y n o m i a l - t i m e a l g o r i t h m ( i n t h e s i z e o f t h e i n p u t p r o g r a m ’ s r e g i o n g r a p h ) t h a t a d d s b o u n d e d - t i m e r e c o v e r y f r o m a n a r b i t r a r y s t a t e p r e d i c a t e t o a n o t h e r a r b i t r a r y s t a t e p r e d i c a t e . U s i n g t h i s a l g o r i t h m , w e p r o p o s e d s o u n d a n d c o m p l e t e s y n t h e s i s a l g o r i t h m s f o r a d d i n g n o n m a s k i n g a n d s o f t - m a s k i n g f a u l t - t o l e r a n c e t o f a u l t - i n t o l e r a n t r e a l - t i m e p r o g r a m s . 3 . W e i n t r o d u c e d a s o u n d a n d c o m p l e t e a l g o r i t h m t h a t t r a n s f o r m s a f a u l t - i n t o l e r a n t r e a l — t i m e p r o g r a m i n t o a h a r d - f a i l s a f e p r o g r a m w h e r e t h e o u t p u t p r o g r a m i s r e q u i r e d t o s a t i s f y o n l y o n e b o u n d e d - t i m e r e s p o n s e p r o p e r t y i n t h e p r e s e n c e o f f a u l t s . 4 . W e s h o w e d t h a t t h e p r o b l e m s o f a d d i n g h a r d - f a i l s a f e ( w i t h o n l y o n e b o u n d e d - t i m e r e s p o n s e p r o p e r t y ) a n d s o f t - m a s k i n g f a u l t - t o l e r a n c e t o a f a u l t - i n t o l e r a n t r e a l - t i m e p r o g r a m a r e P S P A C E — c o m p l e t e i n t h e s i z e o f t h e i n p u t i n t o l e r a n t p r o - g r a m . 5 . W e s h o w e d t h a t t h e p r o b l e m o f a d d i n g h a r d - m a s k i n g f a u l t - t o l e r a n c e i s N P — c o m p l e t e i n t h e s i z e o f t h e r e g i o n g r a p h o f t h e i n p u t p r o g r a m . 3 6 8 6 . W e i n t r o d u c e d t h e n o t i o n o f b o u n d e d - t i m e p h a s e d r e c o v e r y i n t h e c o n t e x t o f f a u l t — t o l e r a n t r e a l - t i m e p r o g r a m s . W e a l s o i d e n t i fi e d a s u f fi c i e n t c o n d i t i o n f o r e x i s t e n c e o f a p o l y n o m i a l - t i m e s o u n d a n d c o m p l e t e a l g o r i t h m f o r a d d i n g p h a s e d r e c o v e r y t o r e a l - t i m e p r o g r a m s . 7 . F i n a l l y , w e s h o w e d t h a t t h e o u t p u t o f o u r r e v i s i o n a l g o r i t h m s i s s e n s i b l e p r o — g r a m s i n t h e s e n s e t h a t a n y o u t p u t p r o g r a m c a n b e d e c o m p o s e d t o a f a u l t - i n t o l e r a n t p r o g r a m a n d a s e t o f c o m p o n e n t s c a l l e d d e t e c t o r s a n d 6 - c o r r e c t o r s . I n o r d e r t o d e p l o y t h e r e v i s i o n a l g o r i t h m s p r e s e n t e d i n t h i s d i s s e r t a t i o n , w e fi r s t c o n s i d e r e d a B D D - b a s e d i m p l e m e n t a t i o n o f a d d i n g a l e a d s - t o p r o p e r t y t o a d i s t r i b u t e d p r o g r a m ( c f . A l g o r i t h m 5 . 1 ) . T h e p e r f o r m a n c e o f o u r i m p l e m e n t a t i o n o b v i o u s l y d e p e n d s o n t h e s t r u c t u r e o f t h e i n p u t p r o g r a m . I n p a r t i c u l a r , o u r i m p l e m e n t a t i o n 0 1 0 i n l e s s t h a n a n h o u r . c a n h a n d l e c o m p l e x p r o g r a m s w i t h r e a c h a b l e s t a t e s o f s i z e 1 B y a c o m p l e x p r o g r a m w e m e a n o n e w h o s e r e a c h a b i l i t y g r a p h i n v o l v e s m u l t i p l e c y c l e s . A l s o , u s i n g s y m b o l i c t e c h n i q u e s , w e d e v e l o p e d h e u r i s t i c s f o r a d d i t i o n o f f a u l t - t o l e r a n c e t o d i s t r i b u t e d p r o g r a m s . W e d e m o n s t r a t e d t h a t s y n t h e s i s o f d i s t r i b u t e d 1 0 5 0 a n d b e y o n d ) c a n u n t i m e d p r o g r a m s w i t h m o d e r a t e - s i z e d s e t o f r e a c h a b l e s t a t e s ( b e a c h i e v e d w i t h i n a r e a s o n a b l e a m o u n t o f t i m e a n d m e m o r y . O u r a n a l y s i s a l s o s h o w s t h a t t h e g r o w t h o f t h e t i m e c o m p l e x i t y i s s u b l i n e a r i n t h e s t a t e s p a c e . U s i n g o u r s y m b o l i c s y n t h e s i s a l g o r i t h m s , w e d e v e l o p e d t h e t o o l S Y C R A F T f o r a d d i n g f a u l t - t o l e r a n c e t o e x i s t i n g f a u l t - i n t o l e r a n t d i s t r i b u t e d p r o g r a m s . I n S Y C R A F T , a d i s t r i b u t e d f a u l t - i n t o l e r a n t p r o g r a m i s s p e c i fi e d i n t e r m s o f a s e t o f p r o c e s s e s a n d a n i n v a r i a n t . E a c h p r o c e s s i s s p e c i fi e d a s i t s s e t o f t r a n s i t i o n s , a s e t o f v a r i a b l e s t h a t 3 6 9 t h e p r o c e s s c a n r e a d , a n d a s e t o f v a r i a b l e s t h a t t h e p r o c e s s c a n w r i t e . G i v e n a s e t o f f a u l t t r a n s i t i o n s a n d a s a f e t y s p e c i fi c a t i o n , t h e t o o l c a n s y n t h e s i z e a f a u l t - t o l e r a n t d i s t r i b u t e d p r o g r a m . W e d e m o n s t r a t e d t h e a p p l i c a t i o n o f S Y C R A F T i n a d d i n g f a u l t - t o l e r a n c e t o p r o b l e m s f r o m t h e l i t e r a t u r e o f d i s t r i b u t e d c o m p u t i n g a s w e l l a s a d a t a d i s s e m i n a t i o n p r o t o c o l i n s e n s o r n e t w o r k s . T i m e a n d s p a c e c o m p l e x i t y h a s a l w a y s b e e n a m a j o r o b s t a c l e i n d e p l o y m e n t o f a u t o m a t e d f o r m a l m e t h o d s . T h u s , e x p l o i t i n g m u l t i p l e m a c h i n e s t o e x p a n d a v a i l a b l e m e m o r y a n d m u l t i p l e p r o c e s s o r s t o i n c r e a s e c o m p u t i n g p o w e r s e e m t o b e s e n s i b l e b r e a k t h r o u g h s . T h u s , a s y e t a n o t h e r t o o l t o i m p r o v e t h e p e r f o r m a n c e o f a u t o m a t e d r e v i s i o n , w e e x p l o r e d t h e p o t e n t i a l o f u s i n g d i s t r i b u t e d a n d p a r a l l e l t e c h n i q u e s i n a u t o m a t e d p r o g r a m r e v i s i o n . I n p a r t i c u l a r , w e p r o p o s e d a d i s t r i b u t e d a l g o r i t h m f o r s y n t h e s i z i n g f a i l s a f e a n d m a s k i n g u n t i m e d c e n t r a l i z e d p r o g r a m s . W e a l s o i n t r o d u c e d a s y m b o l i c m u l t i - c o r e a l g o r i t h m f o r r e s o l v i n g d e a d l o c k s t a t e s i n d i s t r i b u t e d f a u l t - t o l e r a n t p r o g r a m s . 1 6 . 2 O p e n P r o b l e m s a n d F u t u r e R e s e a r c h D i r e c - t i o n s I n t h i s s e c t i o n , w e p r e s e n t s o m e o p e n p r o b l e m s i n t h e c o n t e x t o f r e v i s i o n o f r e a l - t i m e a n d d i s t r i b u t e d p r o g r a m s . W e c h a r a c t e r i z e t h e s e p r o b l e m s b a s e d o n t h e i r a p p l i c a t i o n i n ( 1 ) c o m p l e x i t y t h e o r y , ( 2 ) t e c h n i q u e s f o r i m p r o v i n g t h e p e r f o r m a n c e o f e x i s t i n g a l g o r i t h m s , a n d ( 3 ) d e p l o y m e n t o f a l g o r i t h m s i n t r o d u c e d i n t h i s d i s s e r t a t i o n i n s y n - 3 7 0 t h e s i s t o o l s i n S u b s e c t i o n s 1 6 . 2 . 1 , 1 6 . 2 . 2 , a n d 1 6 . 2 . 3 , r e s p e c t i v e l y . I n S u b s e c t i o n s 1 6 . 2 . 2 a n d 1 6 . 2 . 3 , w e a l s o d e s c r i b e h o w o n e c a n e x p l o i t m o d e l c h e c k i n g t e c h n i q u e s t o m a k e s y n t h e s i s a l g o r i t h m s m o r e e f fi c i e n t . N o t e , h o w e v e r , t h a t i n S u b s e c t i o n 1 6 . 2 . 3 , w e e x p l a i n t h e m o d e l c h e c k i n g t e c h n i q u e s ( e . g . , e f fi c i e n t r e a c h a b i l i t y a n a l y s i s ) t h a t c a n b e t r i v i a l l y a p p l i e d i n s y n t h e s i s , b u t i n S u b s e c t i o n 1 6 . 2 . 2 , w e d e s c r i b e c a s e s w h e r e s u c h t e c h n i q u e s ( e . g . , p r e d i c a t e a b s t r a c t i o n ) c a n n o t b e t r i v i a l l y a p p l i e d d u e t o t h e n a t u r a l d i f f e r e n c e s b e t w e e n v e r i fi c a t i o n a n d s y n t h e s i s . 1 6 . 2 . 1 O p e n P r o b l e m s R e l a t e d t o C o m p l e x i t y o f S y n t h e s i s O p e n q u e s t i o n s i n t h i s c a t e g o r y d e a l w i t h t h e c o m p l e x i t y o f d e c i s i o n p r o b l e m s i n t h e c o n t e x t o f r e v i s i o n o f r e a l — t i m e a n d d i s t r i b u t e d p r o g r a m s . I d e n t i f y i n g t h e c l a s s o f c o m p l e x i t y o f d e c i s i o n p r o b l e m s i s i m p o r t a n t i n t h e s e n s e t h a t i f t h e p r o b l e m i n v o l v e s e x p o n e n t i a l b l o w - u p , a s e t o f n e w q u e s t i o n s o n h o w t o c o p e w i t h s u c h c o m p l e x i t y i s r a i s e d . I n t h i s c o n t e x t , t h e f o l l o w i n g p r o b l e m s a r e c u r r e n t l y o p e n : 0 I n P a r t I I o f t h i s d i s s e r t a t i o n , w e a s s u m e d t h a t a l l p r o g r a m c o m p u t a t i o n s a r e u n f a i r . A n i m p o r t a n t O p e n q u e s t i o n i s w h e t h e r i n v o l v i n g f a i r c o m p u t a t i o n s c h a n g e s t h e c o m p l e x i t y h i e r a r c h y o f a l g o r i t h m s t h a t a d d p r o g r e s s p r o p e r t i e s t o p r o g r a m s . 0 C o m p l e x i t y o f s y n t h e s i s o f h a r d - f a i l s a f e f a u l t - t o l e r a n t r e a l - t i m e p r o g r a m s w h e r e S P E C E c o n s i s t s o f t w o b o u n d e d - t i m e r e s p o n s e p r o p e r t i e s . ( w e s h o w e d t h a t t h e p r o b l e m f o r o n l y o n e b o u n d e d r e s p o n s e p r o p e r t y i s P S P A C E — c o m p l e t e ) 3 7 1 o P S P A C E — h a r d n e s s o f s y n t h e s i s o f n o n m a s k i n g a n d s o f t - f a i l s a f e r e a l - t i m e p r o — g r a m s . 0 I n [ K E 0 4 ] , K u l k a r n i a n d E b n e n a s i r a d d r e s s t h e p r o b l e m o f a u t o m a t e d s y n t h e s i s o f u n t i m e d m u l t i t o l e r a n t p r o g r a m s , i . e . , p r o g r a m s t h a t t o l e r a t e m u l t i p l e c l a s s e s o f f a u l t s a n d p r o v i d e a ( p o s s i b l y ) d i f f e r e n t l e v e l o f f a u l t - t o l e r a n c e t o e a c h c l a s s . T h e y s h o w t h a t i f o n e n e e d s t o a d d f a i l s a f e ( r e s p e c t i v e l y , n o n m a s k i n g ) f a u l t - t o l e r a n c e w i t h r e s p e c t t o o n e c l a s s o f f a u l t s a n d m a s k i n g f a u l t - t o l e r a n c e w i t h r e s p e c t t o a n o t h e r c l a s s o f f a u l t s , t h e n s u c h a d d i t i o n c a n b e d o n e i n p o l y n o m i a l - t i m e i n t h e s i z e o f s t a t e s p a c e o f t h e f a u l t - i n t o l e r a n t p r o g r a m . T h e n o v e l t y o f t h e i r a l g o r i t h m i s , i t a d d s f a u l t - t o l e r a n c e i n a s t e p w i s e f a s h i o n . T h e y , h o w e v e r , s h o w t h a t i f o n e n e e d s t o a d d f a i l s a f e f a u l t - t o l e r a n c e w i t h r e s p e c t t o o n e c l a s s o f f a u l t s a n d n o n m a s k i n g f a u l t — t o l e r a n c e w i t h r e s p e c t t o a n o t h e r c l a s s o f f a u l t s , t h e n t h e p r o b l e m i s N P - c o m p l e t e . I n t h e c o n t e x t o f r e a l - t i m e p r o g r a m s , a n o p e n p r o b l e m i s w h e t h e r s t e p w i s e s y n t h e s i s o f m u l t i t o l e r a n c e i s f e a s i b l e . A n - o t h e r f u t u r e w o r k i n t h i s c o n t e x t i n c l u d e s i d e n t i f y i n g c o n s t r a i n t s u n d e r w h i c h a m u l t i t o l e r a n t r e a l - t i m e p r o g r a m c a n b e d e s i g n e d i n a s t e p w i s e m a n n e r w h e r e o n l y o n e c l a s s o f f a u l t s i s c o n s i d e r e d a t a t i m e . o I n C h a p t e r 9 , w e s h o w e d t h a t t h e p r o b l e m o f a d d i n g p h a s e d r e c o v e r y t o a p r o g r a m i s N P - c o m p l e t e . W e a l s o d e v e l o p e d a s u f fi c i e n t c o n d i t i o n f o r a d d i n g p h a s e d r e c o v e r y i n p o l y n o m i a l - t i m e i n t h e s i z e o f t h e i n p u t p r o g r a m ’ s r e g i o n g r a p h . A n o p e n p r o b l e m i n t h i s c o n t e x t i s d e v e l o p i n g o t h e r s u f fi c i e n t c o n d i t i o n s b a s e d o n t h e s e t r e l a t i o n b e t w e e n i n t e r m e d i a t e a n d fi n a l r e c o v e r y p r e d i c a t e s . A 3 7 2 m o r e i n t e r e s t i n g p r o b l e m i s i d e n t i f y i n g a n e c e s s a r y c o n d i t i o n u n d e r w h i c h t h e p r o b l e m c a n b e s o l v e d i n p o l y n o m i a l - t i m e . 1 6 . 2 . 2 O p e n P r o b l e m s o n I m p r o v i n g t h e P e r f o r m a n c e o f E x - i s t i n g A l g o r i t h m s O p e n q u e s t i o n s i n t h i s c a t e g o r y d e a l w i t h t e c h n i q u e s t h a t i m p r o v e t h e p e r f o r m a n c e o f e x i s t i n g a l g o r i t h m s . I n t h i s c o n t e x t , w e n o t e t h a t p r o b l e m s a s s o c i a t e d w i t h a u t o - m a t e d f o r m a l a n a l y s i s o f d i s t r i b u t e d a n d e s p e c i a l l y r e a l - t i m e s y s t e m s a r e g e n e r a l l y c o n s i d e r e d t o b e d i f fi c u l t . F o r i n s t a n c e , t h e s i m p l e p r o b l e m o f r e a c h a b i l i t y a n a l y s i s i n t i m e d a u t o m a t a i s P S P A C E - c o m p l e t e . W e p l a n t o i n v e s t i g a t e t h e f o l l o w i n g t e c h n i q u e s a s a m e a n s t o c o p e w i t h t h e c o m p l e x i t y o f s u c h p r o b l e m s : 0 ( S y n t h e s i s u s i n g z o n e a u t o m a t a ) R e g i o n g r a p h s a r e n o t t h e m o s t e f fi c i e n t fi n i t e r e p r e s e n t a t i o n o f r e a l — t i m e p r o g r a m s i n t e r m s o f s p a c e c o m p l e x i t y . O n t h e o t h e r h a n d , z o n e a u t o m a t a [ A C H + 9 2 ] a r e m o r e e f fi c i e n t t i m e - a b s t r a c t e d r e p r e s e n t a - t i o n o f r e a l - t i m e p r o g r a m s . F o r i n s t a n c e , t h e U P P A A L m o d e l c h e c k e r [ L P Y 9 7 ] i n c o r p o r a t e s z o n e a u t o m a t a . I n t h i s d i s s e r t a t i o n , s i n c e o u r g o a l w a s t o e v a l u - a t e t h e c o m p l e x i t y c l a s s e s a n d f e a s i b i l i t y o f a d d i n g f a u l t - t o l e r a n c e t o r e a l - t i m e p r o g r a m s , w e f o c u s e d o n r e g i o n g r a p h s . H o w e v e r , a n o b v i o u s i m p r o v e m e n t i s m o d i f y i n g t h e a l g o r i t h m s f o r r e v i s i o n o f r e a l - t i m e p r o g r a m s p r e s e n t e d i n t h i s d i s s e r t a t i o n s o t h a t t h e y m a n i p u l a t e z o n e a u t o m a t a r a t h e r t h a n d e t a i l e d r e g i o n g r a p h s . 0 ( D e v e l o p i n g e f fi c i e n t h e u r i s t i c s ) A s y n t h e s i s a l g o r i t h m w i t h e x p o n e n t i a l c o m - 3 7 3 p l e x i t y w o u l d c l e a r l y l i m i t i t s a p p l i c a t i o n o n l y t o p r o g r a m s w h o s e s t a t e s p a c e i s s m a l l . O n e w a y t o r e d r e s s t h i s l i m i t a t i o n i s t o i d e n t i f y a s e t o f h e u r i s t i c s u n d e r w h i c h t h e s y n t h e s i s a l g o r i t h m t a k e s p o l y n o m i a l t i m e . F o r i n s t a n c e , l e t u s c o n s i d e r t h e N P - c o m p l e t e p r o b l e m o f s y n t h e s i s o f h a r d - m a s k i n g p r o g r a m s w h o s e s a f e t y s p e c i fi c a t i o n s c o n s i s t o f t w o b o u n d e d r e s p o n s e p r o p e r t i e s . A s w e s h o w e d i n t h e p r o o f o f T h e o r e m 8 . 4 . 3 , t h e b o t t l e n e c k o f t h e p r o b l e m l i e s i n t h e e x i s t e n c e o f c y c l e s t h a t p e r m i t t h e p r o g r a m t o v i o l a t e i t s b o u n d e d r e s p o n s e p r o p e r t i e s . I n t h i s c o n t e x t , a n a t u r a l q u e s t i o n i s u n d e r w h a t c i r c u m s t a n c e s w e c a n e f fi c i e n t l y i d e n t i f y s u c h u n d e s i r a b l e c y c l e s ‘ a n d b r e a k t h e m s u c h t h a t t h e r e s u l t i n g p r o g r a m s a t i s fi e s t h e b o u n d e d - t i m e r e s p o n s e p r o p e r t i e s . A n a n s w e r t o t h i s q u e s t i o n w i l l l e a d u s t o h e u r i s t i c s t h a t a r e m o r e e f fi c i e n t t h a n b r u t e - f o r c e s o l u t i o n s . ( M u l t i - p r o c e s s o r / M u l t i - c o r e s y n t h e s i s a l g o r i t h m s ) I n P a r t I V , w e d e v e l o p e d t w o e x p l i c i t - s t a t e a p p r o a c h e s f o r d i s t r i b u t e d s y n t h e s i s o f f a i l s a f e a n d m a s k i n g f a u l t - t o l e r a n t u n t i m e d c e n t r a l i z e d p r o g r a m s . W e a l s o d e v e I O p e d a s y m b o l i c a l g o r i t h m f o r r e s o l v i n g d e a d l o c k s t a t e s i n m a s k i n g f a u l t - t o l e r a n t d i s t r i b u t e d p r o g r a m s . W e a r e c u r r e n t l y i n v e s t i g a t i n g s i m i l a r s y n t h e s i s a l g o r i t h m s i n t h e r e a l - t i m e a n d s y m b o l i c s e t t i n g s . S p e c i fi c a l l y , a s t h e fi r s t s t e p , w e a r e d e v e l o p i n g a m u l t i - c o r e a l g o r i t h m ( s i m i l a r t o t h e c o n c e p t o f m u l t i - c o r e s a t u r a t i o n [ E L S O 6 ] ) f o r f a u l t - s p a n g e n e r a t i o n o f p r o g r a m s i n s y n c h r o n o u s s y s t e m s . ( P r e d i c a t e a b s t r a c t i o n ) E x p l o i t i n g a b s t r a c t i n t e r p r e t a t i o n t e c h n i q u e s i s e s s e n - t i a l f o r r e d u c i n g l a r g e o r i n fi n i t e s t a t e s y s t e m s t o s m a l l o r fi n i t e s t a t e s y s - 3 7 4 t e m s . W h i l e s u c h t e c h n i q u e s h a v e b e e n w i d e l y u s e d i n m o d e l c h e c k i n g ( e . g . , [ C C 9 2 , 8 8 9 9 ] ) , i t i s u n c l e a r w h e t h e r e x i s t i n g t e c h n i q u e s c a n b e t r i v i a l l y u s e d i n t h e c o n t e x t o f p r o g r a m s y n t h e s i s . N o t i c e t h a t w h e n w e r e p r e s e n t a s t a t e p r e d i - c a t e , s a y X , b y a B o o l e a n v a r i a b l e , s a y a t , u s i n g a n a b s t r a c t i o n t e c h n i q u e , d u e t o t h e n a t u r e o f s y n t h e s i s , w e m a y n e e d t o m a n i p u l a t e X a n d / o r t h e t r a n s i t i o n s t h a t o r i g i n a t e o r e n d a t X . H e n c e , a f t e r t h i s m a n i p u l a t i o n , : 1 5 d o e s n o t r e p r e - s e n t X a n y m o r e . T h u s , a n i n t e r e s t i n g r e s e a r c h d i r e c t i o n i s t o m o d i f y e x i s t i n g a b s t r a c t i o n t e c h n i q u e s o r d e v e l o p n e w o n e s t h a t w o u l d w o r k i n t h e c o n t e x t o f p r o g r a m s y n t h e s i s a n d t r a n s f o r m a t i o n . ( S y m m e t r y r e d u c t i o n ) S y m m e t r y r e d u c t i o n i s a l s o a m e a n s f o r e x p l o i t i n g t h e p r e s e n c e o f r e p l i c a t i o n i n a m o d e l , w h i c h h a s y i e l d e d c o n s i d e r a b l e s u c c e s s i n m o d e l c h e c k i n g [ C F . 1 9 3 , E 8 9 6 ] . S i n c e s y m m e t r y o c c u r s v e r y o f t e n i n d i s t r i b u t e d p r o g r a m s [ A E 9 8 ] , w e e x p e c t t h a t a s i g n i fi c a n t i m p r o v e m e n t c a n b e a c h i e v e d u s i n g s y m m e t r y r e d u c t i o n t e c h n i q u e s . ( S A T - b a s e d d e a d l o c k r e s o l u t i o n ) A s m e n t i o n e d i n S u b s e c t i o n 1 1 . 2 , t h e m o s t s e r i o u s b o t t l e n e c k i n s y n t h e s i z i n g f a u l t — t o l e r a n t B y z a n t i n e a g r e e m e n t p r o g r a m i s d e a d l o c k r e s o l u t i o n . I n p a r t i c u l a r , w e o b s e r v e d t h a t o n a v e r a g e , 9 6 % o f t h e t o t a l s y n t h e s i s t i m e i s s p e n t i n r e s o l v i n g d e a d l o c k s . W e n o t e t h a t i n t h e c a s e o f B y z a n t i n e a g r e e m e n t , t h e d e a d l o c k s t a t e s t h a t a r e h a r d t o r e s o l v e a r e t h e o n e s f r o m w h e r e s a f e r e c o v e r y t o t h e p r o g r a m i n v a r i a n t i s n o t p o s s i b l e . S u c h s t a t e s h a v e t o b e e l i m i n a t e d . W e a r e c u r r e n t l y i n v e s t i g a t i n g w a y s t o e n c o d e t h e d e a d l o c k r e s o l u t i o n p r o b l e m a s a s a t i s fi a b i l i t y p r o b l e m . U s i n g o u r e n c o d i n g , w e 3 7 5 p l a n t o u s e a s t a t e - o f — t h e — a r t S M T 1 o r S A T s o l v e r ( e . g . , z C h a f f ) a s m e a n s f o r b e n c h m a r k a n a l y s i s . W e n o t e t h a t i n s y n t h e s i z i n g f a i l s a f e f a u l t - t o l e r a n t v e r s i o n s o f d i s t r i b u t e d p r o - g r a m s , w h e r e o n l y s a t i s f a c t i o n o f s a f e t y s p e c i fi c a t i o n i n t h e p r e s e n c e o f f a u l t s i s r e q u i r e d , d e a d l o c k r e s o l u t i o n i s n o t a c o n c e r n . T h u s , w e e x p e c t t h a t s u c h p r o g r a m s c a n b e s y n t h e s i z e d m o r e e f fi c i e n t l y . o ( S y m b o l i c c y c l e r e s o l u t i o n ) L e t u s c o n s i d e r t h e f o l l o w i n g s c e n a r i o f o r d e a d l o c k r e s o l u t i o n . L e t a d b e a d e a d l o c k s t a t e i n s i d e t h e f a u l t - s p a n S p o f a p r o g r a m P . R e c a l l t h a t t h e a l g o r i t h m S y m b o l i c _ A d d _ F t ( c f . A l g o r i t h m 1 1 . 1 ) r e s o l v e s d e a d l o c k s t a t e s b y ( 1 ) a d d i n g s a f e r e c o v e r y t r a n s i t i o n s , a n d ( 2 ) i f s u c h a d d i t i o n i s n o t p o s s i b l e , e l i m i n a t i n g t h e s t a t e . N o w , s u p p o s e t h a t i t i s n o t p o s s i b l e t o e i t h e r a d d s a f e r e c o v e r y o r e l i m i n a t e t h i s s t a t e ( i . e . , t h e r e s u l t i n g p r o g r a m w i l l b e c o m e e m p t y ) . I n s u c h a c a s e , i t m a y b e p o s s i b l e t o a d d a s a f e t r a n s i t i o n f r o m 0 d t o a s t a t e 0 0 , w h e r e 0 0 ¢ S p , a n d t h e n a d d a n o t h e r t r a n s i t i o n f r o m ‘ 7 0 t o a s t a t e 0 1 , w h e r e 0 1 6 S p s u c h t h a t r e c o v e r y f r o m 0 1 t o t h e i n v a r i a n t i s p o s s i b l e . I n o r d e r t o e n s u r e t h a t t h i s s o l u t i o n i s s o u n d , w e n e e d t o r e s o l v e c y c l e s c r e a t e d b y a d d i n g t r a n s i t i o n s t h a t o r i g i n a t e f r o m t h e f a u l t - s p a n a n d e n d i n a s t a t e o u t s i d e t h e f a u l t — s p a n . F o r i n s t a n c e , i n o u r s c e n a r i o , i f t h e r e e x i s t s t h e t r a n s i t i o n ( 0 1 , a d ) , t h e n w e h a v e c r e a t e d t h e c y c l e 0 d — 0 0 — 0 1 — a d . A l t h o u g h t h e r e e x i s t s e v e r a l h e u r i s t i c s f o r s y m b o l i c c y c l e d e t e c t i o n i n t h e l i t e r a t u r e o f 1 I n S M T ( s a t i s fi a b i l i t y m o d u l o t h e o r i e s ) s o l v e r s ( e . g . , Y i c e s [ y i c ] a n d 2 3 [ d M B 0 8 ] ) , i n a d d i t i o n t o B o o l e a n v a r i a b l e s , o n e c a n u s e o t h e r t y p e s s u c h a s a b s t r a c t d a t a t y p e s , i n t e g e r s , r e a l s e t c . , i n f o r m u l a e t h a t i n v o l v e a r i t h m e t i c a n d q u a n t i fi e r s a s w e l l . W e e x p e c t t h a t s u c h i n t e g r a t i o n i m p r o v e s t h e p e r f o r m a n c e o f s y n t h e s i s . 3 7 6 m o d e l c h e c k i n g [ F F K + 0 1 , B G S O G , G P P 0 3 ] , t o t h e b e s t o f o u r k n o w l e d g e , t h e r e d o e s n o t e x i s t a s o l u t i o n t o s y m b o l i c c y c l e r e s o l u t i o n o t h e r t h a n o u r a l g o r i t h m A d d - L e a d s T o ( c f . A l g o r i t h m 5 . 1 ) . H o w e v e r , t h i s a l g o r i t h m i s n o t a s e f fi c i e n t a s o u r a l g o r i t h m S y m b o l i c _ A d d _ F t . O n e r e a s o n i s A d d _ L e a d s T o i s m o r e g e n e r a l t h a n S y m b o l i c _ A d d _ F t a n d i t i s l e s s l i k e l y t o f a i l w h e n t h e r e e x i s t s a s o l u t i o n . H o w e v e r , a n i n t e r e s t i n g r e s e a r c h d i r e c t i o n i s d e v e l o p i n g o t h e r c y c l e r e s o l u t i o n h e u r i s t i c s t h a t a r e m o r e e f fi c i e n t t h a n A d d _ L e a d s T o . C y c l e r e s o l u t i o n h a s a p p l i c a t i o n i n a d d i n g p r o p e r t i e s i n u n t i m e d c e n t r a l i z e d p r o - g r a m s a s w e l l . F o r i n s t a n c e , t h e m o s t c r u c i a l s t e p i n t h e a l g o r i t h m A d d _ U N l T Y ( c f . S e c t i o n 4 . 1 ) i s b r e a k i n g c y c l e s t h a t v i o l a t e t h e d e s i r a b l e p r o g r e s s p r o p — e r t y . S i n c e r e m o v i n g n o n - p r o g r e s s c y c l e s f r o m p r o g r a m s i s o f t e n a t e d i o u s t a s k , w e b e l i e v e s u c h h e u r i s t i c s w i l l b e e x t r e m e l y b e n e fi c i a l i f i n t e g r a t e d w i t h m o d e l c h e c k e r s . ( D y n a m i c v a r i a b l e r e o r d e r i n g ) B D D r e p r e s e n t a t i o n o f a B o o l e a n f o r m u l a i s o f - t e n m o r e s p a c e - e f fi c i e n t t h a n a n e n u m e r a t i v e r e p r e s e n t a t i o n , p r o v i d e d a g o o d o r d e r i n g o f v a r i a b l e s i s c h o s e n . I n m o d e l c h e c k i n g , s i n c e t h e g o a l i s t o “ v e r i f y ” t h e c o r r e c t n e s s o f a m o d e l a g a i n s t a p r o p e r t y , o n c e t h e B D D o f t h e m o d e l i s c o n s t r u c t e d , t h e r e i s n o n e e d t o r e c o n s t r u c t i t d u r i n g v e r i fi c a t i o n . H e n c e , a n a p p r o p r i a t e i n i t i a l o r d e r o f v a r i a b l e s i s s u f fi c i e n t d u r i n g t h e c o u r s e o f v e r i fi c a - t i o n . T o t h e c o n t r a r y , a u t o m a t e d s y n t h e s i s h a s a d i f f e r e n t d y n a m i c , a s w e o f t e n a d d a n d r e m o v e s t a t e s a n d t r a n s i t i o n s t o m a n i p u l a t e a g i v e n p r o g r a m s u c h t h a t i t s a t i s fi e s a d e s i r e d p r o p e r t y ( e . g . , f a u l t - t o l e r a n c e ) . I n o t h e r w o r d s , s i n c e t h e 3 7 7 s t r u c t u r e o f a p r o g r a m c h a n g e s d u r i n g s y n t h e s i s , w e e x p e c t t h a t d y n a m i c r e - o r d e r i n g o f t h e v a r i a b l e s o f B D D s w i l l b e b e n e fi c i a l . H o w e v e r , t h e r e i s a t r a d e — o f f b e t w e e n t i m e s p e n t t o r e o r d e r v a r i a b l e s f o r m e m o r y e f fi c i e n c y o n o n e s i d e , a n d t i m e s p e n t t o s y n t h e s i z e t h e p r o g r a m o n t h e o t h e r s i d e . T h u s , a n o t h e r o p e n p r o b l e m i s t o d e t e r m i n e t h e c i r c u m s t a n c e s u n d e r w h i c h d y n a m i c r e o r d e r i n g i s b e n e fi c i a l . 1 6 . 2 . 3 E x t e n d i n g t h e B o u n d a r i e s o f S Y C R A F T I n t h i s s u b s e c t i o n , w e d e s c r i b e t h e m o d e l c h e c k i n g t e c h n i q u e s t h a t c a n b e t r i v i a l l y a p p l i e d t o o u r s y n t h e s i s a l g o r i t h m s i n o r d e r t o i m p r o v e t h e e f f i c i e n c y o f S Y C R A F T . M o r e o v e r , w e a l s o d e s c r i b e s o m e a p p l i c a t i o n s o f o u r w o r k i n m o d e l c h e c k i n g . I m p r o v i n g t h e E f fi c i e n c y o f S Y C R A F T U s i n g T e c h n i q u e s f r o m M o d e l C h e c k i n g O b s e r v e t h a t t h e c o m p l e x i t y o f t h e a l g o r i t h m s p r e s e n t e d i n t h i s d i s s e r t a t i o n i s c o m p a — r a b l e ( i n t h e s a m e c o m p l e x i t y c l a s s ) t o t h e c o r r e s p o n d i n g p r o b l e m i n m o d e l c h e c k i n g . W e b e l i e v e t h a t t h i s c o m p l e x i t y o r d e r i s e s p e c i a l l y h e l p f u l i n i m p r o v i n g t h e p e r f o r - m a n c e o f S Y C R A F T b y i n c o r p o r a t i n g t e c h n i q u e s f r o m m o d e l c h e c k i n g . B a s e d o n t h e a n a l y s i s o f o u r a l g o r i t h m s a n d e x p e r i m e n t a l r e s u l t s , w e i d e n t i fi e d fi v e d i f f e r e n t b o t t l e n e c k s ( d e p e n d i n g u p o n t h e s t r u c t u r e o f t h e p r o g r a m b e i n g s y n - t h e s i z e d ) , n a m e l y , ( 1 ) d e a d l o c k r e s o l u t i o n , ( 2 ) c o m p u t a t i o n o f f a u l t - s p a n , ( 3 ) c y c l e r e s o l u t i o n , ( 4 ) c o m p u t i n g r e c o v e r y p a t h s , a n d ( 5 ) c h e c k i n g s a f e t y o f g r o u p s o f t r a n - 3 7 8 “ e ! s i t i o n s . T h e i s s u e s o f d e a d l o c k r e s o l u t i o n , c y c l e r e s o l u t i o n , a n d c o m p u t i n g r e c o v e r y p a t h s a r e n o t r e l a t e d t o m o d e l c h e c k i n g a n d w e r e d i s c u s s e d i n S u b s e c t i o n 1 6 . 2 . 2 . O n t h e o t h e r h a n d , c o m p u t a t i o n o f f a u l t - s p a n i s s i m p l y e q u i v a l e n t t o c o m p u t a t i o n o f t h e s e t o f s t a t e s r e a c h a b l e i n t h e p r e s e n c e o f f a u l t s . T h u s , m o r e e f fi c i e n t r e a c h a b i l i t y a n a l y s i s a l g o r i t h m s a r e s t r o n g l y n e e d e d t o i m p r o v e t h e p e r f o r m a n c e o f s y n t h e s i s o f f a u l t — t o l e r a n t d i s t r i b u t e d p r o g r a m s . W e c a t e g o r i z e m o d e l c h e c k i n g t e c h n i q u e s t h a t c a n b e t r i v i a l l y u s e d i n S Y C R A F T a s f o l l o w s : 0 I n o u r i m p l e m e n t a t i o n , t h e P r o c e d u r e F o r w a r d R e a c h a b l e S t a t e s i s i m p l e m e n t e d s i m p l y b y a n e x t - s t a t e r e l a t i o n . T h i s a p p r o a c h i s e f fi c i e n t f o r c a s e s w h e r e t h e s i z e o f B D D s a r e s m a l l ( e . g . , i n B y z a n t i n e a g r e e m e n t ) . H o w e v e r , a s s o o n a s t h e s i z e o f B D D s b e c o m e l a r g e r ( e . g . , i n t o k e n r i n g ) , n e x t - s t a t e r e a c h a b i l i t y a n a l y s i s c a n b e a s b a d a s e n u m e r a t i v e m e t h o d s . W e a r e p l a n n i n g t o i n c o r p o - r a t e m o r e r e c e n t s y m b o l i c t e c h n i q u e s s u c h a s c l u s t e r i n g [ R A B + 9 5 ] , p a r t i t i o n i n g [ B C L 9 1 ] , a n d s a t u r a t i o n - b a s e d r e a c h a b i l i t y a n a l y s i s [ C L 8 0 1 , C Y 0 5 ] i n o u r c u r - r e n t i m p l e m e n t a t i o n . T h e s e t e c h n i q u e s w i l l c e r t a i n l y i m p r o v e c o m p u t a t i o n o f s t a t e p r e d i c a t e s s u c h a s p r o g r a m i n v a r i a n t a n d f a u l t - s p a n . H o w e v e r , d u e t o t h e d y n a m i c n a t u r e o f s y n t h e s i s , s i n c e w e a d d a n d r e m o v e t r a n s i t i o n s a n d s t a t e s , i n e a c h i t e r a t i o n o f t h e a l g o r i t h m , w e n e e d t o r e c o m p u t e a n e w f a u l t - s p a n s t a r t i n g f r o m t h e p r o g r a m i n v a r i a n t u s i n g t h e m o d i fi e d s e t o f p r o g r a m t r a n s i t i o n s . T h u s , a n o t h e r i m p r o v e m e n t i s t o d e v e l o p a l g o r i t h m s t h a t r e u s e t h e o l d f a u l t - s p a n f r o m p r e v i o u s i t e r a t i o n s a n d r e m o v e u n r e a c h a b l e s t a t e s . 0 O b s e r v e t h a t i n c a s e o f B y z a n t i n e a g r e e m e n t , t h e fi r s t a c t i o n o f t h e p r o g r a m 3 7 9 n e v e r v i o l a t e s s a f e t y . T h i s f a c t s u g g e s t s t h a t i t i s b e n e fi c i a l i f w e c a n s o m e h o w i d e n t i f y s u c h a c t i o n s a n d r u l e t h e m o u t i n e a r l y s t a g e s o f s y n t h e s i s . A l s o , o b s e r v e t h a t i f p r o c e s s e s o f a d i s t r i b u t e d p r o g r a m a r e a l l o w e d t o r e a d a n d w r i t e o n l y a s m a l l n u m b e r o f v a r i a b l e s ( e . g . , i n t o k e n r i n g ) , t h e s i z e o f a s s o c i a t e d g r o u p p r e d i c a t e s b e c o m e r e l a t i v e l y l a r g e . S i n c e v i o l a t i o n o f s a f e t y c a n b e m o d e l e d a s a s a t i s fi a b i l i t y p r o b l e m [ E K O 4 ] , w e e x p e c t t h a t i n t e g r a t i n g o u r i m p l e m e n t a t i o n w i t h S A T a n d S M T s o l v e r s i s b e n e fi c i a l . W e b e l i e v e t h a t t h e a b o v e i m p r o v e m e n t s w i l l e n a b l e u s t o s y n t h e s i z e a l a r g e c l a s s o f f a u l t - t o l e r a n t d i s t r i b u t e d p r o g r a m s f r o m t h e i r f a u l t - i n t o l e r a n t v e r s i o n . S y n t h e s i z i n g R e a l - T i m e P r o g r a m s i n S Y C R A F T A n i m p o r t a n t e x t e n s i o n o f S Y C R A F T c a n b e a c h i e v e d b y i m p l e m e n t i n g o u r a l g o r i t h m i n C h a p t e r s 8 a n d 9 . S y n t h e s i s o f f a u l t - t o l e r a n t r e a l - t i m e p r o g r a m s i s o f s p e c i a l i n t e r e s t , a s a u g m e n t i n g p r o g r a m s w i t h t h e n o t i o n o f t i m e o f t e n m a k e s t h e i r f o r m a l a n a l y s i s s i g n i fi c a n t l y m o r e d i f fi c u l t . B e n e fi t i n g S y n t h e s i s i n M o d e l C h e c k i n g T o e x t e n d t h e r e s u l t s o f t h i s d i s s e r t a t i o n , w e p l a n t o i n t e g r a t e t h e a l g o r i t h m s p r e - s e n t e d i n t h i s d i s s e r t a t i o n w i t h m o d e l c h e c k i n g a l g o r i t h m s t o p r o v i d e d e v e l o p e r s w i t h a u t o m a t e d a s s i s t a n c e . A s a r e s u l t , i f m o d e l c h e c k i n g o f a p r o g r a m w i t h r e s p e c t t o a p r o p e r t y f a i l s , t h e n o u r r e v i s i o n a l g o r i t h m s a u t o m a t i c a l l y ( 1 ) d e t e r m i n e w h e t h e r o r n o t t h e m o d e l i s fi x a b l e , a n d ( 2 ) fi x t h e m o d e l i f i t i s i n d e e d fi x a b l e . 3 8 0 n l 1 6 . 3 O t h e r R e s e a r c h D i r e c t i o n s I n t h i s s e c t i o n , w e d e s c r i b e o t h e r i n t e r e s t i n g r e s e a r c h d i r e c t i o n s i n t h e c o n t e x t o f s y n - t h e s i s o f f a u l t — t o l e r a n t s y s t e m s . T h e s e d i r e c t i o n s i n c l u d e s y n t h e s i z i n g h y b r i d s y s t e m s a n d i n c o r p o r a t i n g m u l t i d i s c i p l i n a r y t e c h n i q u e s s u c h a s m a c h i n e l e a r n i n g a n d l o g i c o f k n o w l e d g e . 1 6 . 3 . 1 S y n t h e s i z i n g F a u l t - T o l e r a n t H y b r i d S y s t e m s A f e w b l e n d e d t h e o r i e s o f a n a l y t i c a l a n d c o m p u t a t i o n a l m o d e l s h a v e e m e r g e d t o c a p t u r e t h e h y b r i d i t y o f d e e p l y e m b e d d e d s y s t e m s . I n p a r t i c u l a r , t h e u s e o f h y b r i d a u t o m a t a [ H e n 9 6 ] m a k e s i t p o s s i b l e t o m o d e l b o t h a n a l y t i c a l a n d c o m p u t a t i o n a l b e h a v i o r s o f e m b e d d e d s y s t e m s a t t h e s a m e t i m e . T h u s , b y d e v e l o p i n g a f r a m e w o r k f o r d e fi n i n g t h e c o n c e p t o f l e v e l s o f f a u l t - t o l e r a n c e i n t e r m s o f s a f e a n d l i v e s e m a n t i c s o f h y b r i d a u t o m a t a , o n e c a n s p e c i f y a n d r e a s o n a b o u t f a u l t - t o l e r a n c e p r o p e r t i e s o f c y b e r — p h y s i c a l s y s t e m s [ L e e 0 6 , 8 L M R 0 5 ] i n a f o r m a l a n d e l e g a n t f a s h i o n . M e a n w h i l e , t h e f u n d a m e n t a l r e s e a r c h p r o b l e m i n t h i s c o n t e x t i s t o i d e n t i f y t h e p o s s i b i l i t i e s a n d l i m i t a t i o n s i n d e v e l o p i n g s y n t h e s i s a l g o r i t h m s t h a t t r a n s f o r m f a u l t - i n t o l e r a n t h y b r i d s y s t e m s t o f a u l t - t o l e r a n t o n e s . M o r e o v e r , t h e f o r m a l f r a m e w o r k c a n b e g e n e r a l i z e d t o c a p t u r e m u l t i t o l e r a n t h y b r i d s y s t e m s a s w e l l ; b u i l d i n g a r i c h t h e o r y o f d e p e n d a b l e c y b e r — p h y s i c a l s y s t e m s . 3 8 1 1 6 . 3 . 2 I n c o r p o r a t i n g M a c h i n e L e a r n i n g a n d D a t a M i n i n g t e c h n i q u e s T h e i n p u t t o o u r t r a n s f o r m a t i o n p r o b l e m i s a p r o g r a m i n t e r m s o f a s t a t e - t r a n s i t i o n f u n c t i o n a n d t h e g o a l i s t o g e n e r a t e a n o t h e r s y s t e m t h a t s a t i s fi e s a s e t o f n e w p r o p — e r t i e s . S i n c e s t a t e - t r a n s i t i o n f u n c t i o n s c a n b e r e p r e s e n t e d b y ( p o s s i b l y w e i g h e d ) d i - r e c t e d g r a p h s , t h e t r a n s f o r m a t i o n p r o b l e m c a n b e f o r m u l a t e d a s a g r a p h t r a n s f o r m a - t i o n p r o b l e m a s w e l l . I n f a c t , t h e o u t p u t i s t h e t r a n s f o r m e d i n p u t g r a p h t h a t s a t i s fi e s t h e s e t o f p r o p e r t i e s o f i n t e r e s t . I n r e c e n t y e a r s , a n i n c r e a s i n g i n t e r e s t i n t h e u s e o f g r a p h m i n i n g a l g o r i t h m s h a s b e e n e m e r g e d i n t h e g r a p h t r a n s f o r m a t i o n c o m m u n i t y . I n t e r e s t i n g l y , o u r t r a n s f o r - m a t i o n p r o b l e m c a n b e e l e g a n t l y f o r m u l a t e d a s a g r a p h m i n i n g p r o b l e m a s f o l l o w s . H a v i n g a d a t a b a s e o f p r o g r a m s ( i . e . , d i r e c t e d g r a p h s ) t h a t s a t i s f y a p r o p e r t y o f i n t e r - e s t a n d a n o t h e r d a t a b a s e c o n t a i n i n g p r o g r a m s t h a t d o n o t s a t i s f y t h e p r o p e r t y , t h e p r o b l e m i s t o i d e n t i f y p o s s i b i l i t i e s a n d l i m i t a t i o n s o f d e c i d i n g t h e e x i t a n c e o f a s o l u - t i o n t o t h e t r a n s f o r a t i o n p r o b l e m f o r a p a r t i c u l a r p r o g r a m w i t h r e s p e c t t o a p r o p e r t y o f i n t e r e s t . F u r t h e r m o r e , i f t h e a n s w e r t o t h e d e c i s i o n p r o b l e m i s a f f i r m a t i v e , a n o t h e r r e s e a r c h p r o b l e m i s t o d e v i s e a l g o r i t h m s t h a t e f fi c i e n t l y fi n d a w i t n e s s t o t h e d e c i s i o n p r o b l e m . 3 8 2 1 6 . 3 . 3 R e v i s i n g F a u l t - T o l e r a n t D i s t r i b u t e d S y s t e m s i n E p i s - t e m i c L o g i c A n o t h e r d i r e c t i o n i s t o e x p l o r e t h e p o s s i b i l i t i e s a n d l i m i t a t i o n s o f a d d i t i o n o f f a u l t - t o l e r a n c e t o f a u l t - i n t o l e r a n t d i s t r i b u t e d p r o g r a m s u s i n g e p i s t e m i c l o g i c [ F n Y M V 9 5 ] . T o t h i s e n d , fi r s t , o n e d e v e l o p s a k n o w l e d g e - b a s e d f o r m a l f r a m e w o r k f o r d e fi n i n g t h e n o t i o n s o f f a u l t s a n d l e v e l s o f f a u l t — t o l e r a n c e i n e p i s t e m i c l o g i c . U n l i k e t h e r e l a t e d w o r k , t h i s f r a m e w o r k s h o u l d b e g e n e r i c i n t h e s e n s e t h a t t h e r e p r e s e n t a t i o n o f f a u l t s w i l l b e p o s s i b l e n o t w i t h s t a n d i n g t h e t y p e o f t h e f a u l t s ( b e t h e y s t u c k - a t , c r a s h , f a i l - s t o p , t i m i n g , p e r f o r m a n c e , B y z a n t i n e , m e s s a g e l o s s , e t c . ) , t h e n a t u r e o f t h e f a u l t s ( b e t h e y p e r m a n e n t , t r a n s i e n t , o r i n t e r m i t t e n t ) , o r t h e a b i l i t y o f t h e p r o g r a m t o o b s e r v e t h e e f f e c t s o f t h e f a u l t s ( b e t h e y d e t e c t a b l e o r u n d e t e c t a b l e ) . I n t h i s f r a m e w o r k , p r o - g r a m s w i l l b e s p e c i fi e d b a s e d o n t h e a p p r o a c h i n t r o d u c e d b y F a g i n , H a l p e r n , M o s e s , a n d V a r d i [ F H M V 9 5 ] . O n e h a s t o f o r m a l l y d e fi n e w h a t i t m e a n s f o r a k n o w l e d g e — b a s e d p r o g r a m t o t o l e r a t e a c l a s s o f f a u l t s . T h e n o t i o n o f t o l e r a n c e o f a c l a s s o f f a u l t s b y a p r o g r a m w i l l b e b a s e d o n a n e p i s t e m i c s p e c i fi c a t i o n . I n o t h e r w o r d s , a k n o w l e d g e - b a s e d p r o g r a m t o l e r a t e s a c l a s s o f f a u l t s i f a n d o n l y i f i t d o e s n o t v i o l a t e i t s e p i s t e m i c s p e c i fi c a t i o n i n t h e p r e s e n c e o f f a u l t s . I t h a s b e e n s h o w n t h a t s y n t h e s i s o f d i s t r i b u t e d p r o t o c o l s w i t h m o r e t h a n o n e a g e n t f r o m e p i s t e m i c s p e c i fi c a t i o n s i s u n d e c i d a b l e [ v d M W O S ] . H o w e v e r , g i v e n a k n o w l e d g e - b a s e d p r o g r a m , i t i s a n O p e n q u e s t i o n t h a t w h e t h e r i t i s p o s s i b l e t o r e v i s e t h e p r o - g r a m a c c o r d i n g t o s o m e e p i s t e m i c s p e c i fi c a t i o n i n t h e a b s e n c e o r p r e s e n c e o f f a u l t s . I f t h i s p r o b l e m i s d e c i d a b l e f o r a l l e p i s t e m i c p r o p e r t i e s , t h e n i t s h o w s t h a t r e v i s i n g 3 8 3 k n o w l e d g e - b a s e d p r o g r a m s c a n b e e s p e c i a l l y u s e f u l w h e n i t i s u n d e c i d a b l e t o s y n t h e - s i z e t h e g i v e n p r o g r a m ( i . e . , s y n t h e s i s f r o m s c r a t c h i s n o t p o s s i b l e ) . I n c a s e t h e r e v i - s i o n p r o b l e m i s u n d e c i d a b l e f o r a r b i t r a r y e p i s t e m i c s p e c i fi c a t i o n s , o n e h a s t o i d e n t i f y e p i s t e m i c p r o p e r t i e s b a s e d o n d e c i d a b i l i t y o f t h e i r c o r r e s p o n d i n g r e v i s i o n p r o b l e m . W e w o u l d l i k e t o n o t e t h a t a k n o w l e d g e - b a s e d f o r m a l f r a m e w o r k s e e m s t o b e e s - p e c i a l l y b e n e fi c i a l f o r s p e c i f y i n g a n d r e a s o n i n g a b o u t p r o g r a m s a n d p r o t o c o l s w i t h m u l t i p l e c o n c e r n s , i . e . , p r o t o c o l s c o n s i s t o f c o n c e r n s s u c h a s s e c u r i t y , f a u l t — t o l e r a n c e , d i s t r i b u t i o n , c o m m u n i c a t i o n , r e a l - t i m e , e t c . T h u s , r e s u l t s o n e p i s t e m i c - b a s e d s y n t h e - s i s o f f a u l t - t o l e r a n c e p a v e s t h e w a y f o r f u r t h e r r e s e a r c h o n s p e c i f y i n g a n d s y n t h e s i z i n g p r o t o c o l s w i t h m u l t i p l e c o n c e r n s . 3 8 4 B I B L I O G R A P H Y 3 8 5 [ A A E O 4 ] [ A A M M O O ] [ A O H + 9 2 ] [ A D 9 4 ] [ A E 9 8 ] [ A E O I ] [ A F F M O G ] [ A F F V O B ] [ A F H 9 6 ] [ A G 9 3 ] B i b l i o g r a p h y P . C . A t t i e , A . A r o r a , a n d E . A . E m e r s o n . S y n t h e s i s O f f a u l t - t o l e r a n t c o n c u r r e n t p r o g r a m s . A C M T r a n s a c t i o n s o n P r o g r a m m i n g L a n g u a g e s a n d S y s t e m s ( T O P L A S ) , 2 6 ( 1 ) : ] 2 5 — 1 8 5 , 2 0 0 4 . P . M . A l v a r e z , H . A y d i n , D . M o s s é , a n d R . G . M e l h e m . S c h e d u l i n g O p t i o n a l c o m p u t a t i o n s i n f a u l t - t o l e r a n t r e a l - t i m e s y s t e m s . I n R e a l — T i m e C o m p u t i n g S y s t e m s a n d A p p l i c a t i o n s ( R T C S A ) , 2 0 0 0 . R . A l u r , C . C o u r c o u b e t i s , N . H a l b w a c h s , D . L . D i l l , a n d H . W o n g - T o i . M i n i m i z a t i o n O f t i m e d t r a n s i t i o n s y s t e m s . I n I n t e r n a t i o n a l C o n f e r e n c e o n C o n c u r r e n c y T h e o r y ( C O N C U R ) , p a g e s 3 4 0 — 3 5 4 , 1 9 9 2 . R . A l u r a n d D . D i l l . A t h e o r y o f t i m e d a u t o m a t a . T h e o r e t i c a l C o m p u t e r S c i e n c e , 1 2 6 ( 2 ) : 1 8 3 fi 2 3 5 , 1 9 9 4 . P . A t t i e a n d E . A . E m e r s o n . S y n t h e s i s O f c o n c u r r e n t s y s t e m s w i t h m a n y s i m i l a r p r o c e s s e s . A C M T r a n s a c t i o n s o n P r o g r a m m i n g L a n g u a g e s a n d S y s t e m s ( T O P L A S ) , 2 0 ( 1 ) : 5 1 — 1 1 5 , 1 9 9 8 . R C . A t t i e a n d E . A . E m e r s o n . S y n t h e s i s O f c o n c u r r e n t p r o g r a m s f o r a n a t o m i c r e a d / w r i t e m o d e l o f c o m p u t a t i o n . A C M T r a n s a c t i o n s o n P r o g r a m m i n g L a n g u a g e s a n d S y s t e m s ( T O P L A S ) , 2 3 ( 2 ) : 1 8 7 — 2 4 2 , 2 0 0 1 . K . A k e s s o n , M . F a b i a n , H . F l o r d a l , a n d R . M a l i k . S u p r e m i c a a n i n t e - g r a t e d e n v i r o n m e n t f o r v e r i fi c a t i o n , s y n t h e s i s a n d s i m u l a t i o n O f d i s c r e t e e v e n t s y s t e m s . I n I n t e r n a t i o n a l W o r k s h o p o n D i s c r e t e E v e n t S y s t e m s , p a g e s 3 8 4 — 3 8 5 , 2 0 0 6 . K . A k e s s o n , M . F a b i a n , H . F l o r d a l , a n d A . V a h i d i . S u p r e m i c a a t o o l f o r v e r i fi c a t i o n a n d s y n t h e s i s O f d i s c r e t e e v e n t s u p e r v i s o r s . I n M e d i t e r r a n e a n C o n f e r e n c e o n C o n t r o l a n d A u t o m a t i o n , 2 0 0 3 . R . A l u r , T . F e d e r , a n d T A . H e n z i n g e r . T h e b e n e fi t s O f r e l a x i n g p u n c - t u a l i t y . J o u r n a l o f t h e A C M , 4 3 ( 1 ) : 1 1 6 N 1 4 6 , 1 9 9 6 . A . A r o r a a n d M . G . G o u d a . C l o s u r e a n d c o n v e r g e n c e : A f o u n d a t i o n O f f a u l t - t o l e r a n t c o m p u t i n g . I E E E T r a n s a c t i o n s o n S o f t w a r e E n g i n e e r i n g , 1 9 ( 1 1 ) : 1 0 1 5 — 1 0 2 7 , 1 9 9 3 . 3 8 6 [ A H 9 3 ] R . A l u r a n d T A . H e n z i n g e r . R e a l - T i m e L o g i c s : C o m p l e x i t y a n d E x - p r e s s i v e n e s s . I n f o r m a t i o n a n d C o m p u t a t i o n , 1 0 ( 1 ) : 3 5 7 7 , M a y 1 9 9 3 . [ A H 9 7 ] R . A l u r a n d T . A . H e n z i n g e r . R e a l - t i m e s y s t e m 2 d i s c r e t e s y s t e m + c l o c k v a r i a b l e s . I n t e r n a t i o n a l J o u r n a l o n S o f t w a r e T o o l s f o r T e c h n o l o g y T r a n s f e r , 1 ( 1 - 2 ) : 8 6 — 1 0 9 , 1 9 9 7 . [ A K 9 8 a ] A . A r o r a a n d S . S . K u l k a r n i . C o m p o n e n t b a s e d d e s i g n O f m u l t i t o l e r - a n t s y s t e m s . I E E E T r a n s a c t i o n s o n S o f t w a r e E n g i n e e r i n g , 2 4 ( 1 ) : 6 3 — 7 8 , 1 9 9 8 . [ A K 9 8 b ] A . A r o r a a n d S . S . K u l k a r n i . D e t e c t o r s a n d c o r r e c t o r s : A t h e o r y o f f a u l t - t o l e r a n c e c o m p o n e n t s . I n I n t e r n a t i o n a l C o n f e r e n c e o n D i s t r i b u t e d C o m p u t i n g S y s t e m s ( I C D C S ) , p a g e s 4 3 6 — 4 4 3 , 1 9 9 8 . [ A L W 8 9 ] M . A b a d i , L . L a m p o r t , a n d P . W o l p e r . R e a l i z a b l e a n d u n r e a l i z a b l e c o n - c u r r e n t p r o g r a m s p e c i fi c a t i o n . I n I n t e r n a t i o n a l C o l l o q i u m o n A u t o m a t a , L a n g u a g e s , a n d P r o g r a m m i n g ( I C A L P ) , p a g e s 1 — 1 7 , 1 9 8 9 . [ A M 9 9 a ] P . M . A l v a r e z a n d D . M o s s é . A r e s p o n s i v e n e s s a p p r o a c h f o r s c h e d u l i n g f a u l t r e c o v e r y i n r e a l - t i m e s y s t e m s . I n I E E E R e a l T i m e T e c h n o l o g y a n d A p p l i c a t i o n s S y m p o s i u m ( R T A S ) , p a g e s 4 u 1 3 , 1 9 9 9 . [ A M 9 9 b ] E . A s a r i n a n d O . M a l e r . A s s o o n a s p o s s i b l e : T i m e O p t i m a l c o n t r o l f o r t i m e d a u t o m a t a . I n H y b r i d S y s t e m s : C o m p u t a t i o n a n d C o n t r o l ( H S C C ) , p a g e s 1 9 3 0 , 1 9 9 9 . [ A M M O O ] H . A y d i n , R . G . M e l h e m , a n d D . M o s s é . O p t i m a l s c h e d u l i n g O f i m p r e - c i s e c o m p u t a t i o n t a s k s i n t h e p r e s e n c e o f m u l t i p l e f a u l t s . I n R e a l — T i m e C o m p u t i n g S y s t e m s a n d A p p l i c a t i o n s ( R T C S A ) , p a g e s 2 8 9 — 2 9 6 , 2 0 0 0 . [ A M P 9 5 ] E . A s a r i n , O . M a l e r , a n d A . P n u e l i . S y m b o l i c c o n t r o l l e r s y n t h e s i s f o r d i s c r e t e a n d t i m e d s y s t e m s . I n H y b r i d S y s t e m , 1 9 9 5 . [ A M P 8 9 8 ] E . A s a r i n , O . M a l e r , A . P n u e l i , a n d J . S i f a k i s . C o n t r o l l e r s y n t h e s i s f o r t i m e d a u t o m a t a . I n I F A C S y m p o s i u m o n S y s t e m S t r u c t u r e a n d C o n t r o l , p a g e s 4 6 9 — 4 7 4 , 1 9 9 8 . [ A 8 8 5 ] B . A l p e r n a n d F . B . S c h n e i d e r . D e fi n i n g l i v e n e s s . I n f o r m a t i o n P r o c e s s i n g L e t t e r s , 2 1 : 1 8 1 - 1 8 5 , 1 9 8 5 . [ A t t 9 9 ] P . C . A t t i e . S y n t h e s i s o f l a r g e c o n c u r r e n t p r o g r a m s v i a p a i r w i s e c o m p o - s i t i o n . I n I n t e r n a t i o n a l C o n f e r e n c e o n C o n c u r r e n c y T h e o r y ( C O N C U R ) , p a g e s 1 3 0 - 1 4 5 , 1 9 9 9 . [ A T W O 5 ] C . S . A l t h o f f , W . T h o m a s , a n d N . W a l l m e i e r . O b s e r v a t i o n s o n d e t e r — m i n i z a t i o n O f b i i c h i a u t o m a t a . I n I m p l e m e n t a t i o n a n d A p p l i c a t i o n o f A u t o m a t a ( C I A A ) , p a g e s 2 6 2 2 7 2 , 2 0 0 5 . 3 8 7 [ B A K 0 8 ] [ B B G O O ] [ B C D O 5 ] [ B C L 9 1 ] [ B C M + 9 2 ] [ B D M P 0 3 ] [ B E G L 9 9 ] [ B E K a r ] [ B G S O 6 ] [ 1 3 1 1 0 0 ] [ B J G O Z ] [ B K 0 6 a ] B . B o n a k d a r p o u r , F . A b u j a r a d , a n d S . S . K u l k a r n i . P a r a l l e l i z i n g d e a d - l o c k r e s o l u t i o n i n s y m b o l i c s y n t h e s i s O f d i s t r i b u t e d p r o g r a m s . T e c h n i c a l R e p o r t M S U — C S E — O 8 — 2 5 , D e p a r t m e n t O f C o m p u t e r S c i e n c e a n d E n g i - n e e r i n g , M i c h i g a n S t a t e U n i v e r s i t y , 2 0 0 8 . P . B o u r n a i , M . L e B o r g n e , a n d P . L e G u e r n i c . S y n t h e s i s O f d i s c r e t e - e v e n t c o n t r o l l e r s b a s e d o n t h e s i g n a l e n v i r o n m e n t . I n D i s c r e t e E v e n t D y n a m i c S y s t e m : T h e o r y a n d A p p l i c a t i o n s , p a g e s 3 2 5 3 4 6 , 2 0 0 0 . P . B o u y e r , F . C h e v a l i e r , a n d D . D ’ S o u z a . F a u l t d i a g n o s i s u s i n g t i m e d a u t o m a t a . I n F o u n d a t i o n s o f S o f t w a r e S c i e n c e a n d C o m p u t a t i o n S t r u c - t u r e , p a g e s 2 1 9 2 3 3 , 2 0 0 5 . J . R . B u r c h , E M . C l a r k e , a n d D E . L o n g . S y m b o l i c m o d e l c h e c k i n g w i t h p a r t i t i o n e d t r a n s i t i o n r e l a t i o n s . I n I n t e r n a t i o n a l C o n f e r e n c e o n V e r y L a r g e S c a l e I n t e g r a t i o n , p a g e s 4 9 — 5 8 , 1 9 9 1 . J . R . B u r c h , E . M . C l a r k e , K . L . M c M i l l a n , D . L . D i l l , a n d L . J . H w a n g . S y m b o l i c m o d e l c h e c k i n g : 1 0 2 0 s t a t e s a n d b e y o n d . I n f o r m a t i o n a n d C o m p u t a t i o n , 9 8 ( 2 ) : 1 4 2 — 1 7 0 , 1 9 9 2 . P . B o u y e r , D . D ’ S o u z a , P . M a d h u s u d a n , a n d A . P e t i t . T i m e d c o n t r o l w i t h p a r t i a l o b s e r v a b i l i t y . I n C o m p u t e r A i d e d V e r i fi c a t i o n ( C A V ) , p a g e s 1 8 0 — 1 9 2 , 2 0 0 3 . F . B u c c a f u r r i , T . E i t e r , G . G o t t l o b , a n d N . L e o n e . E n h a n c i n g m o d e l c h e c k i n g i n v e r i fi c a t i o n b y a i t e c h n i q u e s . A r t i fi c i a l I n t e l l i g e n c e , 1 1 2 2 5 7 - — 1 0 4 , 1 9 9 9 . B . B o n a k d a r p o u r , A . E b n e n a s i r , a n d S . S . K u l k a r n i . C o m p l e x i t y r e s u l t s i n r e v i s i n g U N I T Y p r o g r a m s . A C M T r a n s a c t i o n s o n A u t o n o m o u s a n d A d a p t i v e S y s t e m s ( T A A S ) , T O a p p e a r . R . B l o e m , H . N . G a b o w , a n d F . S o m e n z i . A n a l g o r i t h m f o r s t r o n g l y c o n n e c t e d c o m p o n e n t a n a l y s i s i n n l o g n s y m b o l i c s t e p s . F o r m a l M e t h o d s i n S y s t e m D e s i g n , 2 8 ( 1 ) : 3 7 ~ 5 6 , 2 0 0 6 . R . B h a r a d w a j a n d C . H e i t m e y e r . D e v e l o p i n g h i g h a s s u r a n c e a v i o n i c s s y s t e m s w i t h t h e S C R r e q u i r e m e n t s m e t h o d . I n D i g i t a l A v i o n i c s S y s t e m s C o n f e r e n c e , 2 0 0 0 . J . B a n g - J e n s e n a n d G . G u t i n . D i g r a p h s : T h e o r y , A l g o r i t h m s a n d A p - p l i c a t i o n s . S p r i n g e r , 2 0 0 2 . B . B o n a k d a r p o u r a n d S . S . K u l k a r n i . A u t o m a t e d i n c r e m e n t a l s y n t h e s i s o f t i m e d a u t o m a t a . I n I n t e r n a t i o n a l W o r k s h o p o n F o r m a l M e t h o d s f o r I n d u s t r i a l C r i t i c a l S y s t e m s ( F M I C S ) , L N C S 4 3 4 6 , p a g e s 2 6 1 - 2 7 6 , 2 0 0 6 . 3 8 8 [ B K 0 6 b ] B . B o n a k d a r p o u r a n d S . S . K u l k a r n i . I n c r e m e n t a l s y n t h e s i s O f f a u l t - t o l e r a n t r e a l - t i m e p r o g r a m s . I n I n t e r n a t i o n a l S y m p o s i u m o n S t a b i l i z a — t i o n , S a f e t y , a n d S e c u r i t y o f D i s t r i b u t e d S y s t e m s ( S S S ) , L N C S 4 2 8 0 , p a g e s 1 2 2 4 3 6 , 2 0 0 6 . [ B K 0 7 a ] B . B o n a k d a r p o u r a n d S . S . K u l k a r n i . D i s t r i b u t e d s y n t h e s i s O f f a u l t - t o l e r a n t p r o g r a m s i n t h e h i g h a t o m i c i t y m o d e l . I n I n t e r n a t i o n a l S y m p o - s i u m o n S t a b i l i z a t i o n , S a f e t y , a n d S e c u r i t y o f D i s t r i b u t e d S y s t e m s ( S S S ) , L N C S 4 8 3 8 , p a g e s 2 1 w 3 6 , 2 0 0 7 . [ B K 0 7 b ] B . B o n a k d a r p o u r a n d S . S . K u l k a r n i . E x p l o i t i n g s y m b o l i c t e c h n i q u e s i n a u t o m a t e d s y n t h e s i s O f d i s t r i b u t e d p r o g r a m s w i t h l a r g e s t a t e s p a c e . I n I E E E I n t e r n a t i o n a l C o n f e r e n c e o n D i s t r i b u t e d C o m p u t i n g S y s t e m s ( I C D C S ) , p a g e s 3 - 1 0 , 2 0 0 7 . [ B K 0 8 a ] B . B o n a k d a r p o u r a n d 8 . S . K u l k a r n i . M a s k i n g f a u l t s w h i l e p r o v i d i n g b o u n d e d - t i m e p h a s e d r e c o v e r y . I n I n t e r n a t i o n a l S y m p o s i u m o n F o r m a l M e t h o d s ( F M ) , p a g e s 3 7 4 — 3 8 9 , 2 0 0 8 . [ B K 0 8 b ] B . B o n a k d a r p o u r a n d S . S . K u l k a r n i . R e v i s i n g d i s t r i b u t e d U N I T Y p r o - g r a m s i s n p - c o m p l e t e . I n P r i n c i p l e s o f D i s t r i b u t e d S y s t e m s ( O P O D I S ) , p a g e T o a p p e a r , 2 0 0 8 . [ B K 0 8 c ] B . B o n a k d a r p o u r a n d S . S . K u l k a r n i . S Y C R A F T : A t o o l f o r s y n t h e s i z - i n g f a u l t - t o l e r a n t d i s t r i b u t e d p r o g r a m s . I n C o n c u r r e n c y T h e o r y ( C O N - C U R ) , p a g e s 1 6 7 — 1 7 1 , 2 0 0 8 . [ B K A 0 8 ] B . B o n a k d a r p o u r , S . 8 . K u l k a r n i , a n d A . A r o r a . D i s a s s e m b l i n g r e a l - t i m e f a u l t - t o l e r a n t p r o g r a m s . I n A C M I n t e r n a t i o n a l C o n f e r e n c e o n E m b e d d e d S o f t w a r e ( E M S O F T ) , p a g e T O a p p e a r , 2 0 0 8 . [ B r y 8 6 ] R . E . B r y a n t . G r a p h - b a s e d a l g o r i t h m s f o r B o o l e a n f u n c t i o n m a n i p u l a - t i o n . I E E E T r a n s a c t i o n s o n C o m p u t e r s , 3 5 ( 8 ) : 6 7 7 - 6 9 1 , 1 9 8 6 . [ C a r 9 4 ] A . C a r r u t h . R e a l - t i m e U N I T Y . T e c h n i c a l R e p o r t C S - T R — 9 4 - 1 0 , U n i v e r - s i t y O f T e x a s a t A u s t i n , J a n u a r y 1 9 9 4 . [ C C 9 2 ] P . C o u s o t a n d R . C o u s o t . A b s t r a c t i n t e r p r e t a t i o n f r a m e w o r k s . J o u r n a l o f L o g i c a n d C o m p u t a t i o n , 2 ( 4 ) : 5 1 1 5 4 7 , A u g u s t 1 9 9 2 . [ C C 0 6 ] M . - Y . C h u n g a n d G . C i a r d o . A d y n a m i c fi r i n g s p e c u l a t i o n t o s p e e d u p d i s t r i b u t e d s y m b o l i c s t a t e ~ s p a c e g e n e r a t i o n . I n I n t e r n a t i o n a l P a r a l l e l a n d D i s t r i b u t e d P r o c e s s i n g S y m p o s i u m ( I P D P S ) , 2 0 0 6 . [ C E S 8 6 ] E . M . C l a r k e , E . A . E m e r s o n , a n d A . P . S i s t l a . A u t o m a t i c v e r i fi - c a t i o n O f fi n i t e - s t a t e c o n c u r r e n t s y s t e m s u s i n g t e m p o r a l l o g i c s p e c i fi - c a t i o n s . A C M D a n s a c t i o n s o n P r o g r a m m i n g L a n g u a g e s a n d S y s t e m s ( T O P L A S ) , 8 ( 2 ) : 2 4 4 - 2 6 3 , 1 9 8 6 . 3 8 9 [ C F J 9 3 ] E . M . C l a r k e , T . F i l k o r n , a n d S . J h a . E x p l o i t i n g s y m m e t r y i n t e m p o r a l l o g i c m o d e l c h e c k i n g . I n C o m p u t e r A i d e d V e r i fi c a t i o n ( C A V ) , p a g e s 4 5 0 — 4 6 2 , 1 9 9 3 . [ C H T 9 6 ] T . C h a n d r a , V . H a d z i l a c o s , a n d S . T o u e g . T h e w e a k e s t f a i l u r e d e t e c t o r f o r s o l v i n g c o n s e n s u s . J o u r n a l o f t h e A C M , 4 3 ( 4 ) : 6 8 5 - - 7 2 2 , 1 9 9 6 . [ C K 8 9 ] B . H . C . C h e n g a n d S . M . K a p l a n . A s e m a n t i c a l l y o r i e n t e d p r o g r a m s y n - t h e s i s s y s t e m . I n A n n u a l H a w a i i I n t e r n a t i o n a l C o n f e r e n c e o n S y s t e m s S c i e n c e s , v o l u m e 2 , p a g e s 8 5 ~ 9 4 , 1 9 8 9 . [ C L S O I ] G . C i a r d o , G . L i i t t g e n , a n d R . S i m i n i c e a n u . S a t u r a t i o n : A n e f fi c i e n t i t e r a t i o n s t r a t e g y f o r s y m b o l i c s t a t e — s p a c e g e n e r a t i o n . I n T o o l s a n d A l - g o r i t h m s f o r t h e C o n s t r u c t i o n a n d A n a l y s i s o f S y s t e m s ( T A C A S ) , p a g e s 3 2 8 7 3 4 2 , 2 0 0 1 . [ C M 8 8 ] K . M . C h a n d y a n d J . M i s r a . P a r a l l e l p r o g r a m d e s i g n : a f o u n d a t i o n . A d d i s o n - W e s l e y L o n g m a n P u b l i s h i n g C O . , I n c . , B o s t o n , M A , U S A , 1 9 8 8 . [ C T 9 6 ] T . C h a n d r a a n d S . T o u e g . U n r e l i a b l e f a i l u r e d e t e c t o r s f o r r e l i a b l e d i s - t r i b u t e d s y s t e m s . J o u r n a l o f t h e A C M , 4 3 ( 2 ) : 2 2 5 ~ 2 6 7 , 1 9 9 6 . [ C Y 9 1 ] C . C o u r c o u b e t i s a n d M . Y a n n a k a k i s . M i n i m u m a n d m a x i m u m d e l a y p r o b l e m s i n r e a l - t i m e s y s t e m s . I n C o m p u t e r - A i d e d V e r i fi c a i o n ( C A V ) , p a g e s 3 9 9 — 4 0 9 , 1 9 9 1 . [ C Y 0 5 ] G . C i a r d o a n d A . J . Y u . S a t u r a t i o n - b a s e d s y m b o l i c r e a c h a b i l i t y a n a l y s i s u s i n g c o n j u n c t i v e a n d d i s j u n c t i v e p a r t i t i o n i n g . I n C o r r e c t H a r d w a r e D e s i g n a n d V e r i fi c a t i o n M e t h o d s ( C H A R M E ) , p a g e s 1 4 6 - 1 6 1 , 2 0 0 5 . [ d A F H + 0 3 ] L . d e A l f a r o , M . F a e l l a , T . A . H e n z i n g e r , R . M a j u m d a r , a n d M . S t o e l i n g a . T h e e l e m e n t O f s u r p r i s e i n t i m e d g a m e s . I n I n t e r n a t i o n a l C o n f e r e n c e o n C o n c u r r e n c y T h e o r y ( C O N C U R ) , 2 0 0 3 . [ d A F L 0 6 ] L . d e A l f a r o , M . F a e l l a , a n d A . L e g a y . A n i n t r o d u c t i o n t o t h e t o o l T i c c . T e c h n i c a l R e p o r t U C S C — C R L — O 6 — 1 4 , S c h o o l O f E n g i n e e r i n g , U n i v e r s i t y o f C a l i f o r n i a , S a n t a C r u z , 2 0 0 6 . [ d A H O l ] L . d e A l f a r o a n d T . A . H e n z i n g e r . I n t e r f a c e a u t o m a t a . I n E u r o p e a n S o f t w a r e E n g i n e e r i n g C o n f e r e n c e , p a g e s 1 0 9 — 1 2 0 , 2 0 0 1 . [ D i j 9 0 ] E . W . D i j k s t r a . A D i s c i p l i n e o f P r o g r a m m i n g . P r e n t i c e - H a l l , E n g l e w o o d C l i f f s , N J . , 1 9 9 0 . [ D M O 2 ] D . D ’ S o u z a a n d P . M a d h u s u d a n . T i m e d c o n t r o l s y n t h e s i s f o r e x t e r n a l s p e c i fi c a t i o n s . I n S y m p o s i u m o n T h e o r e t i c a l A s p e c t s o f C o m p u t e r S c i - e n c e ( S T A C S ) , p a g e s 5 7 1 — 5 8 2 , 2 0 0 2 . 3 9 0 [ d M B 0 8 ] L . M . d e M o u r a a n d N . B j o r n e r . Z 3 : A n e f fi c i e n t S M T s o l v e r . I n T o o l s a n d A l g o r i t h m s f o r t h e C o n s t r u c t i o n a n d A n a l y s i s o f S y s t e m s ( T A C A S ) , p a g e s 3 3 7 r 3 4 0 , 2 0 0 8 . [ E b n 0 7 ] A . E b n e n a s i r . D i C o n i c a d d i t i o n O f f a i l s a f e f a u l t - t o l e r a n c e . I n A u t o m a t e d S o f t w a r e E n g i n e e r i n g ( A S E ) , p a g e s 4 4 — 5 3 , 2 0 0 7 . [ E C 8 2 ] E . A . E m e r s o n a n d E . M . C l a r k e . U s i n g b r a n c h i n g t i m e t e m p o r a l l o g i c t o s y n t h e s i z e s y n c h r o n i z a t i o n s k e l e t o n s . S c i e n c e o f C o m p u t e r P r o g r a m - m i n g , 2 ( 3 ) : 2 4 1 ~ 2 6 6 , 1 9 8 2 . [ E C 0 6 ] A . E b n e n a s i r a n d B . H . C . C h e n g . A p a t t e r n - b a s e d a p p r o a c h f o r m o d - e l i n g a n d a n a l y z i n g e r r o r r e c o v e r y . I n W o r k s h o p s o n S o f t w a r e A r c h i t e c - t u r e s f o r D e p e n d a b l e S y s t e m s ( W A D S ) , p a g e s 1 1 5 — 1 4 1 , 2 0 0 6 . [ E C O 7 ] A . E b n e n a s i r a n d B . H . C C h e n g . A r c h i t e c t i n g D e p e n d a b l e S y s t e m s I V , c h a p t e r A P a t t e r n - B a s e d A p p r o a c h f o r M o d e l i n g a n d A n a l y z i n g E r r o r R e c o v e r y , p a g e s 1 1 5 — 1 4 1 . S p r i n g e r B e r l i n / H e i d e l b e r g , 2 0 0 7 . [ E J 9 1 ] E . A . E m e r s o n a n d C . S . J u t l a . T r e e a u t o m a t a , m u - c a l c u l u s a n d d e - t e r m i n a c y ( e x t e n d e d a b s t r a c t ) . I n F o u n d a t i o n s o f C o m p u t e r S c i e n c e ( F O C S ) , p a g e s 3 6 8 3 7 7 , 1 9 9 1 . [ E K 0 4 ] A . E b n e n a s i r a n d S . 8 . K u l k a r n i . S A T - b a s e d s y n t h e s i s O f f a u l t - t o l e r a n c e . F a s t A b s t r a c t s o f t h e I n t e r n a t i o n a l C o n f e r e n c e o n D e p e n d a b l e S y s t e m s a n d N e t w o r k s ( D S N ) , 2 0 0 4 . [ E K A a r ] A l i E b n e n a s i r , S . S . K u l k a r n i , a n d A . A r o r a . F T S y n : A f r a m e w o r k f o r a u t o m a t i c s y n t h e s i s O f f a u l t - t o l e r a n c e . I n t e r n a t i o n a l J o u r n a l o f S o f t w a r e T o o l s f o r T e c h n o l o g y T r a n s f e r ( S T T T ) , T o a p p e a r . [ E K B 0 5 ] A . E b n e n a s i r , S . S . K u l k a r n i , a n d B . B o n a k d a r p o u r . R e v i s i n g U N I T Y p r o g r a m s : P o s s i b i l i t i e s a n d l i m i t a t i o n s . I n O n P r i n c i p l e s o f D i s t r i b u t e d S y s t e m s ( O P O D I S ) , p a g e s 2 7 5 — 2 9 0 , 2 0 0 5 . [ E L 8 6 ] E . A . E m e r s o n a n d C . L . L e i . E f f i c i e n t m o d e l c h e c k i n g i n f r a g m e n t s O f t h e p r o p o s i t i o n a l m o d e l m u - c a l c u l u s . I n L o g i c i n C o m p u t e r S c i e n c e ( L I C S ) , p a g e s 2 6 7 — 2 7 8 , 1 9 8 6 . [ E L S O 6 ] J . E z e k i e l , G . L i i t t g e n , a n d R . S i m i n i c e a n u . C a n S a t u r a t i o n b e p a r a l - l e l i s e d ? o n t h e p a r a l l e l i s a t i o n o f a s y m b o l i c s t a t e - s p a c e g e n e r a t o r . I n I n t e r n a t i o n a l W o r k s h o p o n P a r a l l e l a n d D i s t r i b u t e d M e t h o d s o f V e r i fi - c a t i o n ( P D M C ) , p a g e s 3 3 1 — 3 4 6 , 2 0 0 6 . [ E m e 9 0 ] E . A E m e r s o n . H a n d b o o k o f T h e o r e t i c a l C o m p u t e r S c i e n c e , v o l u m e B , c h a p t e r 1 6 : T e m p o r a l a n d M o d a l L o g i c s , p a g e s 9 9 5 - 4 0 6 7 . E l s e v i e r S c i - e n c e P u b l i s h e r s B . V . , A m s t e r d a m , 1 9 9 0 . 3 9 1 [ E p p 9 9 ] D . E p p s t e i n . F i n d i n g t h e k s h o r t e s t p a t h s . S I A M J o u r n a l o f C o m p u t i n g , 2 8 ( 2 ) : 6 5 2 — 6 7 3 , 1 9 9 9 . [ E 8 9 6 ] E . A . E m e r s o n a n d A . P . S i s t l a . S y m m e t r y a n d m o d e l c h e c k i n g . F o r m a l M e t h o d s i n S y s t e m D e s i g n : A n I n t e r n a t i o n a l J o u r n a l , 9 ( 1 / 2 ) : 1 0 5 — 1 3 1 , A u g u s t 1 9 9 6 . [ F F K + 0 1 ] K . F i s l e r , R . F r a e r , G . K a m h i , M . Y . V a r d i , a n d Z . Y a n g . I s t h e r e a b e s t s y m b o l i c c y c l e - d e t e c t i o n a l g o r i t h m ? I n I n T o o l s a n d A l g o r i t h m s f o r t h e C o n s t r u c t i o n a n d A n a l y s i s o f S y s t e m s ( T A C A S ) , p a g e s 4 2 0 — 4 3 4 , 2 0 0 1 . [ F H M V 9 5 ] R . F a g i n , J . Y . H a l p e r n , Y . M o s e s , a n d M . Y . V a r d i . K n o w l e d g e - b a s e d p r o g r a m s . I n S y m p o s i u m o n P r i n c i p l e s o f D i s t r i b u t e d C o m p u t i n g ( P O D C ) , p a g e s 1 5 3 — 1 6 3 , 1 9 9 5 . [ F H W 8 0 ] S . F o r t u n e , J . E . H o p c r o f t , a n d J . W y l l i e . T h e d i r e c t e d s u b g r a p h h o m e - o m o r p h i s m p r o b l e m . T h e o r e t i c a l C o m p u t e r S c i e n c e , 1 0 : 1 1 1 — 1 2 1 , 1 9 8 0 . [ F L M O 2 ] M . F a e l l a , S . L a T o r r e , a n d A . M u r a n o . D e n s e r e a l - t i m e g a m e s . I n L o g i c i n C o m p u t e r S c i e n c e ( L I C S ) , p a g e s 1 6 7 — 1 7 6 , 2 0 0 2 . [ F n Y M V 9 5 ] R . F a g i n , J . Y . H a l p e r n n a d Y . M o s e s , a n d M . V a r d i . R e a s o n i n g A b o u t K n o w l e d g e . T h e M I T P r e s s , 1 9 9 5 . [ F 8 0 7 ] B . F i n k b e i n e r a n d S . S c h e w e . S M T - b a s e d s y n t h e s i s o f d i s t r i b u t e d s y s - t e m s . I n A u t o m a t e d F o r m a l M e t h o d s ( A F M ) , 2 0 0 7 . [ F W 0 6 ] L . F e n g a n d W . M . W o n h a m . T C T : A c o m p u t a t i o n t o o l f o r s u p e r v i s o r y c o n t r o l s y n t h e s i s . I n I n t e r n a t i o n a l W o r k s h o p o n D i s c r e t e E v e n t S y s t e m s , p a g e s 3 8 8 — 3 8 9 , 2 0 0 6 . [ G H O O ] S . G h o s h a n d X . H e . F a u l t - c o n t a i n i n g s e l f - s t a b i l i z a t i o n u s i n g p r i o r i t y s c h e d u l i n g . I n f o r m a t i o n P r o c e s s i n g L e t t e r s , 7 3 ( 3 — 4 ) : 1 4 5 — 1 5 1 , 2 0 0 0 . [ G J 7 9 ] M . R . C a r e y a n d D S . J o h n s o n . C o m p u t e r s a n d I n t r a c t a b i l i t y : A G u i d e t o t h e T h e o r y o f N P - C o m p l e t e n e s s . W . H . F r e e m a n , N e w Y o r k , 1 9 7 9 . [ G J 0 4 ] F . C . G a r t n e r a n d A . J h u m k a . A u t o m a t i n g t h e a d d i t i o n o f f a i l - s a f e f a u l t — t o l e r a n c e : B e y o n d f u s i o n - c l o s e d s p e c i fi c a t i o n s . I n F O R M A T S / F T R T F T , p a g e s 1 8 3 — 1 9 8 , 2 0 0 4 . [ G M S O I ] H . G a r a v e l , R . M a t e e s c u , a n d I . S m a r a n d a c h e . P a r a l l e l s t a t e s p a c e c o n - s t r u c t i o n f o r m o d e l - c h e c k i n g . I n 8 t h I n t e r n a t i o n a l S P I N W o r k s h o p o n M o d e l C h e c k i n g o f S o f t w a r e , p a g e s 2 1 7 — 2 3 4 , 2 0 0 1 . [ G P P 0 3 ] R . G e n t i l i n i , C . P i a z z a , a n d A . P o l i c r i t i . C o m p u t i n g s t r o n g l y c o n n e c t e d c o m p o n e n t s i n a l i n e a r n u m b e r o f s y m b o l i c s t e p s . I n A C M - S I A M S y m - p o s i u m o n D i s c r e t e A l g o r i t h m s ( S O D A ) , p a g e s 5 7 3 — 5 8 2 , 2 0 0 3 . 3 9 2 [ G r i 8 1 ] D . G r i e s . T h e S c i e n c e o f P r o g r a m m i n g . S p r i n g e r - V e r l a g , 1 9 8 1 . [ G W O O ] P . G o h a r i a n d W . M . W o n h a m . O n t h e c o m p l e x i t y o f s u p e r v i s o r y c o n t r o l d e s i g n i n t h e R W f r a m e w o r k . I E E E T r a n s a c t i o n s o n S y s t e m s , M a n , a n d C y b e r n e t i c s , 3 0 ( 5 ) : 6 4 3 — 6 5 2 , 2 0 0 0 . [ H e n 9 2 ] T . A . H e n z i n g e r . S o o n e r i s s a f e r t h a n l a t e r . I n f o r m a t i o n P r o c e s s i n g L e t t e r s , 4 3 ( 3 ) : 1 3 5 — 1 4 1 , 1 9 9 2 . [ H e n 9 6 ] T . A . H e n z i n g e r . T h e t h e o r y O f h y b r i d a u t o m a t a . I n I E E E S y m p o s i u m o n L o g i c i n C o m p u t e r S c i e n c e ( L I C S ) , p a g e s 2 7 8 — 2 9 2 , 1 9 9 6 . [ H G G S O O ] T . H e y m a n , D . G e i s t , O . G r u m b e r g , a n d A . S c h u s t e r . A c h i e v i n g s c a l a - b i l i t y i n p a r a l l e l r e a c h a b i l i t y a n a l y s i s O f v e r y l a r g e c i r c u i t s . I n C o m p u t e r - A i d e d V e r i fi c a t i o n ( C A V ) , p a g e s 2 0 — 3 5 , 2 0 0 0 . [ H N S Y 9 4 ] T . A . H e n z i n g e r , X . N i c o l l i n , J . S i f a k i s , a n d 8 . Y o v i n e . S y m b o l i c m o d e l c h e c k i n g f o r r e a l - t i m e s y s t e m s . I n f o r m a t i o n a n d C o m p u t a t i o n , 1 1 1 ( 2 ) : ] 9 3 — 2 4 4 , 1 9 9 4 . [ J B ] B . J o b s t m a n n a n d R . B l o e m . L i l y - A L I n e a r L o g i c S y n t h e s i z e r . h t t p : / / w w w . i s t . t u g r a z . a t / s t a f f / j o b s t m a n n / l i l y / . [ J B 0 6 ] B . J O b s t m a n n a n d R . B l o e m . O p t i m i z a t i o n s f o r L T L s y n t h e s i s . I n F o r m a l M e t h o d s i n C o m p u t e r A i d e d D e s i g n ( F M C A D ) , p a g e s 1 1 7 — 1 2 4 , 2 0 0 6 . [ J G 8 0 5 ] B . J o b s t m a n n , A . G r i e s m a y e r , a n d R . B l o e m . P r o g r a m r e p a i r a s a g a m e . I n C o m p u t e r A i d e d V e r i fi c a t i o n ( C A V ) , p a g e s 2 2 6 — 2 3 8 , 2 0 0 5 . [ J G F 8 0 2 ] A . J h u m k a , F . G a r t n e r , C . F e t z e r , a n d N . S u r i . O n s y s t e m a t i c d e s i g n o f f a s t a n d p e r f e c t d e t e c t o r s . T e c h n i c a l R e p o r t 2 0 0 2 6 3 , S c h o o l O f C o m p u t e r a n d C o m m u n i c a t i o n S c i e n c e s , E P F L , 2 0 0 2 . [ J G W B O 7 ] B . J o b s t m a n n , S . G a l l e r , M . W e i g l h o f e r , a n d R . B l o e m . A n z u : A t o o l f o r p r o p e r t y s y n t h e s i s . I n C o m p u t e r A i d e d V e r i fi c a t i o n ( C A V ) , p a g e s 2 5 8 — 2 6 2 , 2 0 0 7 . [ J H A 0 7 ] R . D . J e f f o r d s , C . L . H e i t m e y e r , a n d M . A r c h e r . A d d i n g f a u l t - t o l e r a n c e t o r e q u i r e m e n t s s p e c i fi c a t i o n s . U n d e r r e v i e w - P e r s o n a l c o m m u n i c a t i o n , 2 0 0 7 . [ J H 8 0 2 ] A . J h u m k a , M . H i l l e r , a n d N . S u r i . C o m p o n e n t - b a s e d s y n t h e s i s o f d e - p e n d a b l e e m b e d d e d s o f t w a r e . I n F o r m a l T e c h n i q u e s i n R e a l — T i m e a n d F a u l t - T o l e r a n t S y s t e m s ( F T R T F T ) , p a g e s 1 1 1 — 1 2 8 , 2 0 0 2 . [ J M 0 6 ] M . U . J a n j u a a n d A . M y c r o f t . A u t o m a t i c c o r r e c t i o n t o s a f e t y v i o l a t i o n s i n p r o g r a m s . I n T h r e a d V e r i fi c a t i o n ( T V ) , p a g e U n p u b l i s h e d , 2 0 0 6 . 3 9 3 [ J u r O O ] M a r c i n J u r d z i n s k i . S m a l l p r o g r e s s m e a s u r e s f o r s o l v i n g p a r i t y g a m e s . I n S y m p o s i u m o n T h e o r e t i c a l A s p e c t s o f C o m p u t e r S c i e n c e ( S T A C S ) , p a g e s 2 9 0 — 3 0 1 , 2 0 0 0 . [ K A O O ] S . S . K u l k a r n i a n d A . A r o r a . A u t o m a t i n g t h e a d d i t i o n O f f a u l t - t o l e r a n c e . I n F o r m a l T e c h n i q u e s i n R e a l — T i m e a n d F a u l t - T o l e r a n t S y s - t e m s ( F T R T F T ) , p a g e s 8 2 — 9 3 , 2 0 0 0 . [ K A 0 6 ] S . S . K u l k a r n i a n d M . A r u m u g a m . I n f u s e : A T D M A b a s e d d a t a d i s s e m i - n a t i o n p r o t o c o l f o r s e n s o r n e t w o r k s . I n t e r n a t i o n a l J o u r n a l o n D i s t r i b u t e d S e n s o r N e t w o r k s ( I J D S N ) , 2 ( 1 ) : 5 5 — 7 8 , 2 0 0 6 . [ K A C O I ] S . S . K u l k a r n i , A . A r o r a , a n d A . C h i p p a d a . P o l y n o m i a l t i m e s y n t h e s i s o f B y z a n t i n e a g r e e m e n t . I n S y m p o s i u m o n R e l i a b l e D i s t r i b u t e d S y s t e m s ( S R D S ) , p a g e s 1 3 0 — 1 4 0 , 2 0 0 1 . [ K A E 0 7 ] S . S . K u l k a r n i , A . A r o r a , a n d A . E b n e n a s i r . S o f t w a r e E n g i n e e r i n g a n d F a u l t — T o l e r a n c e , c h a p t e r A d d i n g F a u l t - T o l e r a n c e t o S t a t e M a c h i n e - B a s e d D e s i g n s . W o r l d S c i e n t i fi c P u b l i s h i n g C O . P t e . L t d , 2 0 0 7 . [ K a r 7 2 ] R . M . K a r p . R e d u c i b i l i t y a m o n g c o m b i n a t o r i a l p r o b l e m s . I n S y m p o s i u m o n C o m p l e x i t y o f C o m p u t e r C o m p u t a t i o n s , p a g e s 8 5 — 1 0 3 , 1 9 7 2 . [ K E O 2 ] S . S . K u l k a r n i a n d A . E b n e n a s i r . T h e c o m p l e x i t y O f a d d i n g f a i l s a f e f a u l t - t o l e r a n c e . I n t e r n a t i o n a l C o n f e r e n c e o n D i s t r i b u t e d C o m p u t i n g S y s t e m s ( I C D C S ) , p a g e s 3 3 7 — 3 4 4 , 2 0 0 2 . [ K E 0 3 ] 8 . S . K u l k a r n i a n d A . E b n e n a s i r . E n h a n c i n g t h e f a u l t - t o l e r a n c e O f n o n - m a s k i n g p r o g r a m s . I n t e r n a t i o n a l C o n f e r e n c e o n D i s t r i b u t e d C o m p u t i n g S y s t e m s , 2 0 0 3 . [ K E O 4 ] S . S . K u l k a r n i a n d A . E b n e n a s i r . A u t o m a t e d s y n t h e s i s o f m u l t i t o l e r - a n c e . I n I n t e r n a t i o n a l C o n f e r e n c e o n D e p e n d a b l e S y s t e m s a n d N e t w o r k s ( D S N ) , p a g e s 2 0 9 2 1 9 , 2 0 0 4 . [ K E O 5 a ] S . S . K u l k a r n i a n d A . E b n e n a s i r . A d d i n g f a u l t - t o l e r a n c e u s i n g p r e — s y n t h e s i z e d c o m p o n e n t s . I n E u r o p e a n D e p e n d a b l e C o m p u t i n g C o n f e r - e n c e ( E D C C ) , p a g e s 7 2 — 9 0 , 2 0 0 5 . [ K E 0 5 b ] S . S . K u l k a r n i a n d A . E b n e n a s i r . C o m p l e x i t y i s s u e s i n a u t o m a t e d s y n - t h e s i s O f f a i l s a f e f a u l t - t o l e r a n c e . I E E E T r a n s a c t i o n o n D e p e n d a b l e a n d S e c u r e C o m p u t i n g ( T D S C ) , 2 ( 3 ) : 2 0 1 — 2 1 5 , 2 0 0 5 . [ K P V 0 6 ] O . K u p f e r m a n , N . P i t e r m a n , a n d M . Y . V a r d i . S a f r a l e s s c o m p o s i t i o n a l s y n t h e s i s . I n I n t e r n a t i o n a l C o n f e r e n c e o n C o m p u t e r A i d e d V e r i fi c a t i o n ( C A V ) , p a g e s 3 1 — 4 4 , 2 0 0 6 . 3 9 4 [ K R S Q Q ] [ K u 1 9 9 ] [ L e e 0 6 ] [ L L 9 2 ] [ L M M O O ] [ L P Y 9 7 ] [ L S P 8 2 ] [ s t o s ] [ L T L 9 0 ] [ L W 9 0 ] [ M a t 8 7 ] [ M C B 8 9 ] [ M c M Q B ] S . S . K u l k a r n i , J . R u s h b y , a n d N . S h a n k a r . A c a s e - s t u d y i n c o m p o n e n t - b a s e d m e c h a n i c a l v e r i fi c a t i o n O f f a u l t - t o l e r a n t p r o g r a m s . I n I n t e r n a t i o n a W o r k s h o p o n S e l f - S t a b i l i z a t i o n ( W S S ) , p a g e s 3 3 — 4 0 , J u n e 1 9 9 9 . S . S . K u l k a r n i . C o m p o n e n t - b a s e d d e s i g n o f f a u l t - t o l e r a n c e . P h D t h e s i s , O h i o S t a t e U n i v e r s i t y , 1 9 9 9 . E . A . L e e . C y b e r - p h y s i c a l s y s t e m s - a r e c o m p u t i n g f o u n d a t i o n s a d e - q u a t e ? I n P o s i t i o n P a p e r f o r N S F W o r k s h o p O n C y b e r - P h y s i c a l S y s - t e m s : R e s e a r c h M o t i v a t i o n , T e c h n i q u e s a n d R o a d m a p , O c t o b e r 2 0 0 6 . S . L a f o r t u n e a n d F . L i n . O n t o l e r a b l e a n d d e s i r a b l e b e h a v i o r s i n s u p e r v i - s o r y c o n t r o l O f d i s c r e t e e v e n t s y s t e m s . D i s c r e t e E v e n t D y n a m i c S y s t e m s : T h e o r y a n d A p p l i c a t i o n s , 1 ( 1 ) : 6 1 — 9 2 , 1 9 9 2 . F . L i b e r a t o , R . G . M e l h e m , a n d D . M o s s é . T o l e r a n c e t o m u l t i p l e t r a n - s i e n t f a u l t s f o r a p e r i o d i c t a s k s i n h a r d r e a l - t i m e s y s t e m s . I E E E T r a n s a - t i o n s o n C o m p u t e r s , 4 9 ( 9 ) : 9 0 6 - 9 1 4 , 2 0 0 0 . K . G . L a r s e n , P . P a t t e r s s o n , a n d W . Y i . U P P A A L i n a n u t s h e l l . I n t e r - n a t i o n a l J o u r n a l o n S o f t w a r e T o o l s f o r T e c h n o l o g y T r a n s f e r , 1 ( 1 - — 2 ) : 1 3 4 — 1 5 2 , 1 9 9 7 . L . L a m p o r t , R . S h o s t a k , a n d M . P e a s e . T h e B y z a n t i n e g e n e r a l s p r o b l e m . A C M T r a n s a c t i o n s o n P r o g r a m m i n g L a n g u a g e s a n d S y s t e m s ( T O P L A S ) , 4 ( 3 ) : 3 8 2 — 4 0 1 , 1 9 8 2 . M . L e u c k e r , R . S o m l a , a n d M . W e b e r . P a r a l l e l m o d e l c h e c k i n g f o r L T L , C T L * , a n d L 5 . I n I n t e r n a t i o n a l W o r k s h o p o n P a r a l l e l a n d D i s t r i b u t e d M o d e l C h e c k i n g ( P D M C ) , 2 0 0 3 . H . - T . L i a w , J . - H . T s i a h , a n d C . - S . L i n . E f fi c i e n t a u t o m a t i c d i a g n o s i s O f d i g i t a l c i r c u i t s . I n C o m p u t e r - A i d e d D e s i g n ( I C C A D ) , p a g e s 4 6 4 — 4 6 7 , 1 9 9 0 . F . L i n a n d W . M . W o n h a m . D e c e n t r a l i z e d c o n t r o l a n d c o o r d i n a t i o n O f d i s c r e t e - e v e n t s y s t e m s w i t h p a r t i a l O b s e r v a t i o n . I E E E T r a n s a c t i o n s O n A u t o m a t i c C o n t r o l , 3 5 ( 1 2 ) , D e c e m b e r 1 9 9 0 . F . M a t t e r n . A l g o r i t h m s f o r d i s t r i b u t e d t e r m i n a t i o n d e t e c t i o n . J o u r n a l o f D i s t r i b u t e d C o m p u t i n g , 2 ( 3 ) : 1 6 1 — 1 7 5 , 1 9 8 7 . J . C . M a d r e , O . C o u d e r t , a n d J . P . B i l l o n . A u t o m a t i n g t h e d i a g n o s i s a n d t h e r e c t i fi c a t i o n O f d e s i g n e r r o r w i t h p r i a m . I n C o m p u t e r — A i d e d D e s i g n ( I C C A D ) , p a g e s 3 0 — 3 3 , 1 9 8 9 . K . L . M c M i l l a n . S y m b o l i c M o d e l C h e c k i n g . K l u w e r A c a d e m i c P u b l i s h e r s , 1 9 9 3 . 3 9 5 [ M M G 0 3 ] D . M o s s é , R . G . M e l h e m , a n d S . G h o s h . A n o n p r e e m p t i v e r e a l - t i m e s c h e d u l e r w i t h r e c o v e r y f r o m t r a n s i e n t f a u l t s a n d i t s i m p l e m e n t a t i o n . I E E E T r a n s a c t i o n s o n S o f t w a r e E n g i n e e r i n g , 2 9 ( 8 ) : 7 5 2 7 6 7 , 2 0 0 3 . [ M N P 0 6 ] O . M a l e r , D . N i c k o v i c , a n d A . P n u e l i . F r o m M I T L t o t i m e d a u t o m a t a . I n F o r m a l M o d e l i n g a n d A n a l y s i s o f T i m e d S y s t e m s ( F O R M A T S ) , p a g e s 2 7 4 — 2 8 9 , 2 0 0 6 . [ M W 8 0 ] Z . M a n n a a n d R . W a l d i n g e r . A d e d u c t i v e a p p r o a c h t o p r o g r a m s y n - t h e s i s . A C M T r a n s a c t i o n s o n P r o g r a m m i n g L a n g u a g e s a n d S y s t e m s ( T O P L A S ) , 2 ( 1 ) : 9 0 — 1 2 1 , 1 9 8 0 . [ M W 8 4 ] Z . M a n n a a n d P . W o l p e r . S y n t h e s i s O f c o m m u n i c a t i n g p r o c e s s e s f r o m t e m p o r a l l o g i c s p e c i fi c a t i o n s . A C M T r a n s a c t i o n s o n P r o g r a m m i n g L a n - g u a g e s a n d S y s t e m s ( T O P L A S ) , 6 ( 1 ) : 6 8 — 9 3 , 1 9 8 4 . [ M W 9 2 ] Z . M a n n a a n d R . W a l d i n g e r . F u n d a m e n t a l s O f d e d u c t i v e p r o g r a m s y n t h e - s i s . I E E E T r a n s a c t i o n s o n S o f t w a r e E n g i n e e r i n g , 1 8 ( 8 ) : 6 7 4 — 7 0 4 , 1 9 9 2 . [ P M 9 8 ] M . P a n d y a a n d M . M a l e k . M i n i m u m a c h i e v a b l e u t i l i z a t i o n f o r f a u l t — t o l e r a n t p r o c e s s i n g O f p e r i o d i c t a s k s . I E E E T r a n s a t i o n s o n C o m p u t e r s , 4 7 ( 1 0 ) : 1 1 0 2 — 1 1 1 2 , 1 9 9 8 . [ P P 8 0 6 ] N . P i t e r m a n , A . P n u e l i , a n d Y . S a ’ a r . S y n t h e s i s O f r e a c t i v e ( 1 ) d e s i g n s . I n V e r i fi c a t i o n , M o d e l C h e c k i n g , a n d A b s t r a c t I n t e r p r e t a t i o n ( V M C A I ) , p a g e s 3 6 4 — 3 8 0 , 2 0 0 6 . [ P R 8 9 a ] A . P n u e l i a n d R . R o s n e r . O n t h e s y n t h e s i s O f a r e a c t i v e m o d u l e . I n P r i n c i p l e s o f P r o g r a m m i n g L a n g u a g e s ( P O P L ) , p a g e s 1 7 9 — 1 9 0 , 1 9 8 9 . [ P R 8 9 b ] A . P n u e l i a n d R . R o s n e r . O n t h e s y n t h e s i s O f a n a s y n c h r o n o u s r e a c - t i v e m o d u l e . I n I n t e r n a t i o n a l C o l l o q i u m o n A u t o m a t a , L a n g u a g e s , a n d P r o g r a m m i n g ( I C A L P ) , p a g e s 6 5 2 — 6 7 1 , 1 9 8 9 . [ P R 8 9 4 ] D . P a i k , S . M . R e d d y , a n d S . S a h n i . D e l e t i n g v e r t i c e s t o b o u n d p a t h l e n g t h . I E E E T r a n s a t i o n s o n C o m p u t e r s , 4 3 ( 9 ) : 1 0 9 1 — 1 0 9 6 , 1 9 9 4 . [ P R 8 9 8 ] D . P a i k , S . M . R e d d y , a n d S . S a h n i . V e r t e x s p l i t t i n g i n d a g s a n d a p p l i - c a t i o n s t o p a r t i a l s c a n d e s i g n s a n d l o s s y c i r c u i t s . I n t e r n a t i o n a l J o u r n a l o f F o u n d a t i o n s o f C o m p u t e r S c i e n c e , 9 ( 4 ) : 3 7 7 — 3 9 8 , 1 9 9 8 . [ P Y C 9 4 ] I . N . H a j j P . - Y . C h u n g , Y . - M . W a n g . L o g i c d e s i g n e r r o r d i a g n o s i s a n d c o r r e c t i o n . I E E E T r a n s a c t i o n s o n V e r y L a r g e S c a l e I n t e g r a t i o n ( V L S I ) S y s t e m s , 2 : 3 2 0 3 3 2 , 1 9 9 4 . [ R A B + 9 5 ] R . R a n j a n , A . A z i z , R . B r a y t o n , B . P l e s s i e r , a n d C . P i x l e y . E f fi c i e n t B D D a l g o r i t h m s f o r F S M s y n t h e s i s a n d v e r i fi c a t i o n . I n I E E E / A C M I n t e r n a t i o n a l W o r k s h o p o n L o g i c S y n t h e s i s , 1 9 9 5 . 3 9 6 [ R L L 0 3 ] K . R u d i e , S . L a f o r t u n e , a n d F . L i n . M i n i m a l c o m m u n i c a t i o n i n a d i s - t r i b u t e d d i s c r e t e — e v e n t s y s t e m s . I E E E T r a n s a c t i o n s O n A u t o m a t i c C o n — t r o l , 4 8 ( 6 ) , J u n e 2 0 0 3 . [ R O h O 4 ] K . R . R o h l o f f . C o m p u t a t i o n s o n d i s t r i b u t e d d i s c r e t e — e v e n t s y s t e m s . P h D t h e s i s , U n i v e r s i t y o f M i c h i g a n , 2 0 0 4 . [ R u s O Z ] J . R u s h b y . A n o v e r v i e w O f f o r m a l v e r i f i c a t i o n f o r t h e t i m e — t r i g g e r e d a r c h i t e c t u r e . I n F o r m a l T e c h n i q u e s i n R e a l - T i m e a n d F a u l t - T o l e r a n t S y s t e m s ( F T R T F T ) , p a g e s 8 3 — 1 0 5 , 2 0 0 2 . [ R W 8 9 ] P . J . R a m a d g e a n d W . M . W o n h a m . T h e c o n t r o l O f d i s c r e t e e v e n t s y s - t e m s . P r o c e e d i n g s o f t h e I E E E , 7 7 ( 1 ) : 8 1 — 9 8 , 1 9 8 9 . [ R W 9 2 ] K . R u d i e a n d W . M . W o n h a m . T h i n k g l o b a l l y , a c t l o c a l l y : D e c e n t r a l - i z e d s u p e r v i s o r y c o n t r o l . I E E E T r a n s a c t i o n s O n A u t o m a t i c C o n t r o l , 3 7 ( 1 1 ) : 1 6 9 2 — 1 7 0 8 , 1 9 9 2 . [ S D 9 7 ] U . S t e r n a n d D . L . D i l l . P a r a l l e l i z i n g t h e m u r c p v e r i fi e r . I n C o m p u t e r A i d e d V e r i fi c a t i o n ( C A V ) , p a g e s 2 5 6 — 2 7 8 , 1 9 9 7 . [ S L M R O 5 ] J . A . S t a n k o v i c , 1 . L e e , A . K . M o k , a n d . R R a j k u m a r . O p p o r t u n i - t i e s a n d O b l i g a t i o n s f o r p h y s i c a l c o m p u t i n g s y s t e m s . I E E E C o m p u t e r s , 3 8 ( 1 1 ) : 2 3 — 3 1 , 2 0 0 5 . [ S L T B + 0 6 ] A . S o l a r - L e z a m a , L . T a n c a u , R . B o d i k , 8 . S e s h i a , a n d V . S a r a s w a t . C o m b i n a t o r i a l s k e t c h i n g f o r fi n i t e p r o g r a m s . A C M S I C P L A N N o t i c e s , 4 1 ( 1 1 ) : 4 0 4 — 4 1 5 , 2 0 0 6 . [ S o m ] F . S o m e n z i . C U D D : C o l o r a d o U n i v e r s i t y D e c i s i o n D i a g r a m P a c k a g e . h t t p : / / v l s i . c o l o r a d o . e d u / ~ f a b i O / C U D D / c u d d I n t r o . h t m l . [ 8 8 8 3 ] R . D . S c h l i c h t i n g a n d F . B . S c h n e i d e r . F a i l - s t o p p r o c e s s o r s : A n a p p r o a c h t o d e s i g n i n g f a u l t — t o l e r a n t c o m p u t i n g s y s t e m s . A C M T r a n s a c t i o n s o n C o m p u t e r s , 1 ( 3 ) : 2 2 2 — 2 3 8 , 1 9 8 3 . [ 8 8 9 9 ] H . S a i d i a n d N . S h a n k a r . A b s t r a c t a n d m o d e l c h e c k w h i l e y o u p r o v e . I n C o m p u t e r - A i d e d V e r i fi c a t i o n ( C A V ) , p a g e s 4 4 3 - 4 5 4 , 1 9 9 9 . [ T G 9 9 ] O T h e e l a n d F . G a r t n e r . A n e x e r c i s e i n p r o v i n g c o n v e r g e n c e t h r o u g h t r a n s f e r f u n c t i o n s . I n W o r k s h o p o n S e l f - S t a b i l i z i n g S y s t e m s ( S S S ) , p a g e s 4 1 — 4 7 , 1 9 9 9 . [ T H B 9 5 ] S . T a s i r a n , R . H o j a t i , a n d R . K . B r a y t o n . L a n g u a g e c o n t a i n m e n t O f n o n - d e t e r m i n i s t i c o m e g a - a u t o m a t a . I n C o r r e c t H a r d w a r e D e s i g n a n d V e r i fi c a t i o n M e t h o d s ( C H A R M E ) , p a g e s 2 6 1 - - 2 7 7 , 1 9 9 5 . [ T l 1 0 9 0 ] W . T h o m a s . H a n d b o o k o f T h e o r e t i c a l C o m p u t e r S c i e n c e , v o l u m e B , c h a p t e r 4 : A u t o m a t a o n I n fi n i t e O b j e c t s , p a g e s 1 3 3 - 1 9 2 . E l s e v i e r S c i — e n c e P u b l i s h e r s B . V . , A m s t e r d a m , 1 9 9 0 . 3 9 7 [ T h 0 9 5 ] W . T h o m a s . O n t h e s y n t h e s i s O f s t r a t e g i e s i n i n fi n i t e g a m e s . I n T h e o - r e t i c a l A s p e c t s o f C o m p u t e r S c i e n c e ( S T A C S ) , p a g e s 1 — 1 3 , 1 9 9 5 . [ T h o O 2 ] W . T h o m a s . I n fi n i t e g a m e s a n d v e r i fi c a t i o n ( e x t e n d e d a b s t r a c t O f a t u t o r i a l ) . I n I n t e r n a t i o n a l C o n f e r e n c e o n C o m p u t e r A i d e d V e r i fi c a t i o n ( C A V ) , p a g e s 5 8 — 6 4 , 2 0 0 2 . [ T r i 0 2 ] S . T r i p a k i s . F a u l t d i a g n o s i s f o r t i m e d a u t o m a t a . I n F o r m a l T e c h n i q u e s i n R e a l — T i m e a n d F a u l t - T o l e r a n t S y s t e m s ( F T R T F T ) , p a g e s 2 0 5 — 2 2 4 , 2 0 0 2 . [ v d M W 0 5 ] R . v a n d e r M e y d e n a n d T . W i l k e . S y n t h e s i s O f d i s t r i b u t e d s y s t e m s f r o m k n o w l e d g e - b a s e d s p e c i fi c a t i o n s . I n C o n c u r r e n c y T h e o r y ( C O N C U R ) , p a g e s 5 6 2 — 5 6 2 , 2 0 0 5 . [ V W 8 6 ] M . Y . V a r d i a n d P . W o l p e r . A u t o m a t a t h e o r e t i c t e c h n i q u e s f o r m o d a l l o g i c o f p r o g r a m s . J o u r n a l o f C o m p u t e r a n d S y s t e m S c i e n c e s , 3 2 : 1 8 3 - - 2 2 1 , 1 9 8 6 . [ W H T O B ] N . W a l l m e i e r , P . H i i t t e n , a n d W . T h o m a s . S y m b o l i c s y n t h e s i s O f fi n i t e - s t a t e c o n t r o l l e r s f o r r e q u e s t - r e s p o n s e s p e c i fi c a t i o n s . I n I m p l e m e n t a t i o n a n d A p p l i c a t i o n o f A u t o m a t a ( C I A A ) , p a g e s 1 1 — 2 2 , 2 0 0 3 . [ y i c ] Y i c e s : A n S M T S o l v e r . h t t p : / / y i c e s . c s l . s r i . c o m . [ Y q u H 8 5 ] 8 . Y o n g - q i a n g , L . R u — z h a n , a n d B . H u a . P r o g r a m s y n t h e s i s b a s e d o n b o y e r - m o o r e t h e o r e m p r o v i n g t e c h n i q u e s . I n A C M a n n u a l c o n f e r e n c e o n C o m p u t e r S c i e n c e , p a g e s 3 4 8 — 3 5 5 , 1 9 8 5 . 3 9 8