automatic symbolic verification of embedded systems

Upload: monisiva

Post on 14-Apr-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 Automatic Symbolic Verification of Embedded Systems

    1/37

    A u t o m a t i c S y m b o l i c V e r i c a t i o n o f E m b e d d e d S y s t e m s

    R a j e e v A l u r

    y

    T h o m a s A . H e n z i n g e r

    z

    P e i - H s i n H o

    x

    A b s t r a c t . W e p r e s e n t a m o d e l - c h e c k i n g p r o c e d u r e a n d i t s i m p l e m e n t a t i o n f o r t h e a u -

    t o m a t i c v e r i c a t i o n o f e m b e d d e d s y s t e m s . T h e s y s t e m c o m p o n e n t s a r e d e s c r i b e d a s H y -

    b r i d A u t o m a t a | c o m m u n i c a t i n g m a c h i n e s w i t h n i t e c o n t r o l a n d r e a l - v a l u e d v a r i a b l e s

    t h a t r e p r e s e n t c o n t i n u o u s e n v i r o n m e n t p a r a m e t e r s s u c h a s t i m e , p r e s s u r e , a n d t e m p e r a -

    t u r e . T h e s y s t e m r e q u i r e m e n t s a r e s p e c i e d i n a t e m p o r a l l o g i c w i t h s t o p w a t c h e s , a n d

    v e r i e d b y s y m b o l i c x p o i n t c o m p u t a t i o n . T h e v e r i c a t i o n p r o c e d u r e | i m p l e m e n t e d

    i n t h e C o r n e l l H y b r i d T e c h n o l o g y T o o l , H y T e c h | a p p l i e s t o h y b r i d a u t o m a t a w h o s e

    c o n t i n u o u s d y n a m i c s i s g o v e r n e d b y l i n e a r c o n s t r a i n t s o n t h e v a r i a b l e s a n d t h e i r d e r i v a -

    t i v e s . W e i l l u s t r a t e t h e m e t h o d a n d t h e t o o l b y c h e c k i n g s a f e t y , l i v e n e s s , t i m e - b o u n d e d ,

    a n d d u r a t i o n r e q u i r e m e n t s o f d i g i t a l c o n t r o l l e r s , s c h e d u l e r s , a n d d i s t r i b u t e d a l g o r i t h m s .

    1 I n t r o d u c t i o n

    H y b r i d s y s t e m s a r e d i g i t a l r e a l - t i m e s y s t e m s t h a t a r e e m b e d d e d i n a n a l o g e n v i r o n m e n t s . D u e

    t o t h e r a p i d d e v e l o p m e n t o f d i g i t a l - p r o c e s s o r t e c h n o l o g y , h y b r i d s y s t e m s d i r e c t l y c o n t r o l m u c h

    o f w h a t w e d e p e n d o n i n o u r d a i l y l i v e s . M a n y h y b r i d s y s t e m s , r a n g i n g f r o m a u t o m o b i l e s t o

    a i r c r a f t , o p e r a t e i n s a f e t y - c r i t i c a l s i t u a t i o n s a n d t h e r e f o r e c a l l f o r r i g o r o u s a n a l y s i s t e c h n i q u e s . Y e t

    t r a d i t i o n a l p r o g r a m v e r i c a t i o n m e t h o d s a l l o w u s , a t b e s t , t o a p p r o x i m a t e c o n t i n u o u s l y c h a n g i n g

    e n v i r o n m e n t s b y d i s c r e t e s a m p l i n g . O n l y r e c e n t l y h a v e t h e r e b e e n s o m e a t t e m p t s a t d e v e l o p i n g a

    v e r i c a t i o n m e t h o d o l o g y f o r h y b r i d s y s t e m s G N R R 9 3 , A N K S 9 5 , A H S 9 6 ] .

    I n t h i s p a p e r , w e p u r s u e t h e a p p r o a c h s u g g e s t e d i n A C H H 9 3 , A C H

    +

    9 5 ] f o r s o l v i n g r e a c h a b i l i t y

    p r o b l e m s o f c o n s t a n t - s l o p e h y b r i d s y s t e m s , w h o s e v a r i a b l e s f o l l o w p i e c e w i s e - l i n e a r t r a j e c t o r i e s . W e

    p r e s e n t p r o g r e s s i n t h r e e d i r e c t i o n s . F i r s t , w e g e n e r a l i z e t h e s y s t e m m o d e l t o a c c o m m o d a t e , i n

    a d d i t i o n t o v a r i a b l e s w i t h p i e c e w i s e - l i n e a r t r a j e c t o r i e s , a l s o v a r i a b l e s w h o s e t r a j e c t o r i e s a r e c h a r -

    a c t e r i z e d b y l i n e a r c o n s t r a i n t s o n t h e s l o p e s . T h i s e x t e n s i o n a l l o w s t h e a p p r o x i m a t i o n o f n o n l i n e a r

    b e h a v i o r b y p i e c e w i s e - l i n e a r e n v e l o p e s . S e c o n d , w e g e n e r a l i z e t h e m e t h o d t o v e r i f y , i n a d d i t i o n

    t o r e a c h a b i l i t y p r o p e r t i e s , a l s o t e m p o r a l f o r m u l a s w i t h c l o c k s a n d s t o p w a t c h e s . T h i s e x t e n s i o n

    a l l o w s t h e a n a l y s i s o f l i v e n e s s , t i m e - b o u n d e d , a n d d u r a t i o n r e q u i r e m e n t s o f h y b r i d s y s t e m s . T h e

    A p r e l i m i n a r y v e r s i o n o f t h i s p a p e r a p p e a r e d i n t h e P r o c e e d i n g s o f t h e 1 4 t h A n n u a l I E E E R e a l - t i m e S y s t e m s S y m -

    p o s i u m ( R T S S 1 9 9 3 ) , p p . 2 { 1 1 , a n d a n e x t e n d e d v e r s i o n a p p e a r e d i n t h e 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 2 , 1 9 9 6 , p p . 1 8 1 { 2 0 1 .

    y

    B e l l L a b s , L u c e n t T e c h n o l o g i e s ( a l u r @ b e l l - l a b s . c o m ) .

    z

    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 , C o r n e l l U n i v e r s i t y , a n d D e p a r t m e n t o f E l e c t r i c a l E n g i n e e r i n g a n d C o m p u t e r

    S c i e n c e s , U n i v e r s i t y o f C a l i f o r n i a a t B e r k e l e y ( t a h @ e e c s . b e r k e l e y . e d u ) . S u p p o r t e d i n p a r t b y t h e O c e o f N a v a l

    R e s e a r c h Y o u n g I n v e s t i g a t o r a w a r d N 0 0 0 1 4 - 9 5 - 1 - 0 5 2 0 , b y t h e N a t i o n a l S c i e n c e F o u n d a t i o n C A R E E R a w a r d C C R -

    9 5 0 1 7 0 8 , b y t h e N a t i o n a l S c i e n c e F o u n d a t i o n g r a n t s C C R - 9 2 0 0 7 9 4 a n d C C R - 9 5 0 4 4 6 9 , b y t h e A i r F o r c e O c e o f

    S c i e n t i c R e s e a r c h c o n t r a c t F 4 9 6 2 0 - 9 3 - 1 - 0 0 5 6 , a n d b y t h e A d v a n c e d R e s e a r c h P r o j e c t s A g e n c y g r a n t N A G 2 - 8 9 2 .

    x

    I n t e l D e v e l o p m e n t L a b s , I n t e l C o r p o r a t i o n ( p h o @ i c h i p s . i n t e l . c o m ) .

    1

  • 7/30/2019 Automatic Symbolic Verification of Embedded Systems

    2/37

    p r o c e d u r e c a n a l s o b e u s e d t o s y n t h e s i z e r e q u i r e m e n t s o n t h e p a r a m e t e r v a l u e s f o r a h y b r i d s y s t e m

    t o s a t i s f y i t s s p e c i c a t i o n . T h i r d , w e r e p o r t o n a n i m p l e m e n t a t i o n o f t h e v e r i c a t i o n p r o c e d u r e .

    H y b r i d a u t o m a t a . W e m o d e l t h e c o m p o n e n t s o f a h y b r i d s y s t e m a s H y b r i d A u t o m a t a A C H H 9 3 ] .

    A h y b r i d a u t o m a t o n i s a g e n e r a l i z e d n i t e - s t a t e m a c h i n e t h a t i s e q u i p p e d w i t h c o n t i n u o u s v a r i a b l e s .

    T h e d i s c r e t e a c t i o n s o f a p r o g r a m a r e m o d e l e d b y a p r o g r a m c o u n t e r w h o s e v a l u e c h a n g e s i n s t a n t a -

    n e o u s l y a t v a r i o u s p o i n t s i n t i m e b y m o v i n g t h r o u g h a n i t e s e t o f c o n t r o l l o c a t i o n s . T h e c o n t i n u o u s

    a c t i v i t i e s a r e m o d e l e d b y r e a l - v a l u e d v a r i a b l e s w h o s e v a l u e s c h a n g e c o n t i n u o u s l y o v e r t i m e a c c o r d -

    i n g t o t h e l a w s o f p h y s i c s : f o r e a c h c o n t r o l l o c a t i o n , t h e c o n t i n u o u s a c t i v i t i e s a r e g o v e r n e d b y

    d i e r e n t i a l e q u a t i o n s . T h i s m o d e l f o r h y b r i d s y s t e m s i s i n s p i r e d b y t h e P h a s e T r a n s i t i o n S y s t e m s

    o f M M P 9 2 ] a n d N S Y 9 3 ] , a n d c a n b e v i e w e d a s a g e n e r a l i z a t i o n o f T i m e d A u t o m a t a A D 9 4 ] a

    s i m i l a r m o d e l h a s b e e n p r o p o s e d a n d s t u d i e d i n d e p e n d e n t l y i n N O S Y 9 3 ] .

    F o r v e r i c a t i o n p u r p o s e s , w e r e s t r i c t o u r s e l v e s t o L i n e a r H y b r i d A u t o m a t a , w h i c h a r e i n t r o d u c e d

    i n S e c t i o n 2 . I n e a c h l o c a t i o n o f a l i n e a r h y b r i d a u t o m a t o n , t h e b e h a v i o r o f a l l v a r i a b l e s a r e g o v e r n e d

    b y l i n e a r c o n s t r a i n t s o n t h e r s t d e r i v a t i v e s . C o m m o n e x a m p l e s o f l i n e a r c o n s t r a i n t s a r e c o n s t a n t

    d i e r e n t i a l e q u a t i o n s , r e c t a n g u l a r d i e r e n t i a l i n c l u s i o n s , a n d r a t e c o m p a r i s o n s . F o r i n s t a n c e , t h e

    c o n s t a n t d i e r e n t i a l e q u a t i o n _x = 2 r e s t r i c t s t h e v a r i a b l e x t o a l i n e a r t r a j e c t o r y w i t h s l o p e 2 . T h e

    r e c t a n g u l a r d i e r e n t i a l i n c l u s i o n 1 _x 3 r e s t r i c t s x t o a n y t r a j e c t o r y w h o s e s l o p e s t a y s w i t h i n

    t h e i n t e r v a l 1 3 ] . T h e r a t e c o m p a r i s o n _x _y e n s u r e s t h a t x a l w a y s g r o w s f a s t e r t h a n y . U s i n g

    r e c t a n g u l a r d i e r e n t i a l i n c l u s i o n s w e c a n m o d e l d i s t a n c e x a s s u m i n g b o u n d e d s p e e d _x 2 l u ] , o r

    t i m e y a s s u m i n g a c l o c k w i t h b o u n d e d d r i f t r a t e _y 2 l u ] . R e c t a n g u l a r d i e r e n t i a l i n c l u s i o n s a r e

    a l s o u s e f u l t o a p p r o x i m a t e n o n l i n e a r t r a j e c t o r i e s b y p i e c e w i s e - l i n e a r e n v e l o p e s H H 9 5 a ] .

    I n t e g r a t o r l o g i c . R e a l - t i m e r e q u i r e m e n t s o f s y s t e m s c a n b e s p e c i e d i n T c t l A C D 9 3 ] , a

    b r a n c h i n g - t i m e l o g i c t h a t e x t e n d s C t l C E S 8 6 ] w i t h c l o c k v a r i a b l e s . I n S e c t i o n 3 , w e i n t r o d u c e

    I n t e g r a t o r C o m p u t a t i o n T r e e L o g i c , I c t l , w h i c h s t r e n g t h e n s T c t l i n t h e s t y l e o f B E S 9 3 ] b y

    a d m i t t i n g i n t e g r a t o r v a r i a b l e s . A n i n t e g r a t o r ( o r s t o p w a t c h ) i s a c l o c k t h a t c a n b e s t o p p e d a n d

    r e s t a r t e d . W h i l e c l o c k s s u c e f o r t h e s p e c i c a t i o n o f t i m e - b o u n d e d r e q u i r e m e n t s | s u c h a s \ A

    r e s p o n s e i s o b t a i n e d i f a r i n g e r h a s b e e n p r e s s e d c o n t i n u o u s l y f o r a t l e a s t d s e c o n d s " | i n t e g r a t o r s

    a r e n e c e s s a r y t o a c c u m u l a t e d e l a y s , a n d a r e u s e f u l f o r s p e c i f y i n g d u r a t i o n r e q u i r e m e n t s | s u c h a s \ A

    r e s p o n s e i s o b t a i n e d i f a r i n g e r h a s b e e n p r e s s e d , p o s s i b l y i n t e r m i t t e n t l y , f o r a t l e a s t d s e c o n d s . " W e

    u s e I c t l t o s p e c i f y s a f e t y , l i v e n e s s , t i m e - b o u n d e d , a n d d u r a t i o n r e q u i r e m e n t s o f h y b r i d a u t o m a t a .

    M o d e l c h e c k i n g . M o d e l c h e c k i n g i s a p o w e r f u l t e c h n i q u e f o r t h e a u t o m a t i c v e r i c a t i o n o f

    s y s t e m s : a m o d e l - c h e c k i n g a l g o r i t h m d e t e r m i n e s w h e t h e r a m a t h e m a t i c a l m o d e l o f a s y s t e m m e e t s

    a r e q u i r e m e n t s p e c i c a t i o n t h a t i s g i v e n a s a t e m p o r a l - l o g i c f o r m u l a . F o r d i s c r e t e n i t e - s t a t e

    s y s t e m s , m o d e l c h e c k i n g h a s a l o n g h i s t o r y s p a n n i n g m o r e t h a n a d e c a d e , a n d h a s b e e n s u c c e s s f u l

    i n v a l i d a t i n g c o m m u n i c a t i o n p r o t o c o l s a n d h a r d w a r e c i r c u i t s C E 8 1 , Q S 8 1 , L P 8 5 , M c M 9 3 ] . I n

    r e c e n t y e a r s , m o d e l - c h e c k i n g a l g o r i t h m s h a v e b e e n d e v e l o p e d a l s o f o r r e a l - t i m e s y s t e m s t h a t a r e

    d e s c r i b e d b y d i s c r e t e p r o g r a m s w i t h r e a l - v a l u e d c l o c k s A F H 9 1 , A C D 9 3 ] .

    A s t h e v a r i a b l e s o f a h y b r i d s y s t e m r a n g e o v e r t h e r e a l n u m b e r s , t h e s t a t e s p a c e i s i n n i t e ,

    a n d s t a t e s e t s | s o - c a l l e d r e g i o n s | m u s t b e r e p r e s e n t e d s y m b o l i c a l l y r a t h e r t h a n e n u m e r a t i v e l y . A

    s y m b o l i c m o d e l - c h e c k i n g a l g o r i t h m f o r v e r i f y i n g T c t l - r e q u i r e m e n t s o f r e a l - t i m e s y s t e m s i s p r e -

    s e n t e d i n H N S Y 9 4 ] . I t h a s b e e n o b s e r v e d i n A C H H 9 3 ] a n d i n N O S Y 9 3 ] t h a t t h e p r i m i t i v e s o f

    t h a t a l g o r i t h m c a n b e r e d e n e d f o r t h e r e a c h a b i l i t y a n a l y s i s o f c o n s t a n t - s l o p e h y b r i d a u t o m a t a ,

    w h o s e v a r i a b l e s a r e g o v e r n e d b y c o n s t a n t d i e r e n t i a l e q u a t i o n s . W e e x t e n d t h i s r e s u l t a n d p r e s e n t

    a s y m b o l i c m o d e l - c h e c k i n g p r o c e d u r e f o r v e r i f y i n g I c t l - r e q u i r e m e n t s o f l i n e a r h y b r i d a u t o m a t a .

    G i v e n a n I c t l - f o r m u l a a n d a h y b r i d a u t o m a t o n , w e c o m p u t e t h e t a r g e t r e g i o n o f s t a t e s t h a t

    s a t i s f y t h e f o r m u l a b y s u c c e s s i v e a p p r o x i m a t i o n , a s t h e l i m i t o f a n i n n i t e s e q u e n c e o f r e g i o n s .

    2

  • 7/30/2019 Automatic Symbolic Verification of Embedded Systems

    3/37

    T h e a p p r o x i m a t i o n s e q u e n c e i s g e n e r a t e d b y i t e r a t i n g b o o l e a n o p e r a t o r s a n d w e a k e s t - p r e c o n d i t i o n

    o p e r a t o r s o n r e g i o n s . F o r l i n e a r h y b r i d a u t o m a t a , a l l r e g i o n s o f t h e a p p r o x i m a t i o n s e q u e n c e a r e

    l i n e a r i n t h e s e n s e t h a t t h e y c a n b e d e n e d i n t h e t h e o r y ( R + ) o f t h e r e a l s w i t h a d d i t i o n ,

    w h o s e q u a n t i e r - f r e e f o r m u l a s a r e b o o l e a n c o m b i n a t i o n s o f l i n e a r i n e q u a l i t i e s ( t h e t h e o r y a d m i t s

    q u a n t i e r e l i m i n a t i o n ) . I n S e c t i o n 4 , w e c o m p u t e t h e w e a k e s t p r e c o n d i t i o n o f ( R + ) - f o r m u l a s

    w i t h r e s p e c t t o l i n e a r h y b r i d a u t o m a t a . T h e p r e c o n d i t i o n c o m p u t a t i o n , t h e n , i s i t e r a t e d i n S e c t i o n 5

    t o c o n s t r u c t a ( R + ) - f o r m u l a t h a t d e n e s t h e t a r g e t r e g i o n .

    S y m b o l i c c o m p u t a t i o n . T h e m o d e l - c h e c k i n g p r o c e d u r e h a s b e e n i m p l e m e n t e d a s p a r t o f t h e

    C o r n e l l H Y b r i d T E C H n o l o g y T o o l , H y T e c h , u s i n g t h e s y m b o l i c c o m p u t a t i o n s y s t e m M a t h e m a t -

    i c a W o l 8 8 ] f o r m a n i p u l a t i n g a n d s i m p l i f y i n g ( R + ) - f o r m u l a s . I n p a r t i c u l a r , t h e c o m p u t a t i o n

    o f w e a k e s t p r e c o n d i t i o n s o f l i n e a r r e g i o n s r e q u i r e s q u a n t i e r e l i m i n a t i o n i n t h e t h e o r y ( R + )

    I n S e c t i o n 6 , w e p r e s e n t s o m e d e t a i l s o f t h e i m p l e m e n t a t i o n a n d , i n S e c t i o n 7 , w e i l l u s t r a t e t h e

    m e t h o d a n d t h e t o o l b y s p e c i f y i n g a n d v e r i f y i n g v e e x a m p l e s . W e c h e c k ( 1 ) a g a t e 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 , ( 2 ) a t i m i n g - b a s e d m u t u a l - e x c l u s i o n p r o t o c o l w i t h d i s t r i b u t e d , a s y n c h r o n o u s l y

    d r i f t i n g l o c a l c l o c k s , ( 3 ) a p r e e m p t i v e s c h e d u l e r w i t h p r i o r i t i z e d t a s k s , ( 4 ) t h e t e m p e r a t u r e c o n t r o l

    o f a n u c l e a r r e a c t o r , a p p r o x i m a t i n g e x p o n e n t i a l t e m p e r a t u r e c h a n g e s u s i n g r e c t a n g u l a r d i e r e n t i a l

    i n c l u s i o n s , a n d ( 5 ) a d i s t r i b u t e d c o n t r o l s y s t e m c o n s i s t i n g o f t w o s e n s o r s a n d a c o n t r o l l e r t h a t

    c o m m a n d s a r o b o t b a s e d o n t h e s e n s o r r e a d i n g s .

    T h e s e e x a m p l e s d e m o n s t r a t e a n i m p o r t a n t a d v a n t a g e o f t h e s y m b o l i c a p p r o a c h t o v e r i c a t i o n .

    A l t h o u g h , i n t h e o r y , t h e c o m p u t a t i o n a l c o m p l e x i t y o f t h e v e r i c a t i o n p r o b l e m i s p r o p o r t i o n a l t o

    t h e m a g n i t u d e s o f t h e s y s t e m d e l a y s , i n p r a c t i c 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 p r o c e d u r e i s q u i t e

    i n s e n s i t i v e t o t h e s i z e o f d e l a y s . I n d e e d , i n p l a c e o f c o n c r e t e v a l u e s f o r s y s t e m d e l a y s , w e c a n u s e

    s y m b o l i c p a r a m e t e r s a n d o u r p r o c e d u r e w i l l o u t p u t n e c e s s a r y a n d s u c i e n t c o n s t r a i n t s o n t h e s e

    p a r a m e t e r s f o r t h e s y s t e m t o s a t i s f y t h e d e s i r e d p r o p e r t y A H V 9 3 ] . A s i s i l l u s t r a t e d i n e x a m p l e s

    ( 2 ) a n d ( 4 ) , s u c h a s y m b o l i c d e l a y a n a l y s i s c a n h e l p t h e s y s t e m d e s i g n e r t o c h o o s e c r i t i c a l s y s t e m

    p a r a m e t e r s .

    T h e c o n v e r g e n c e o f a l l a p p r o x i m a t i o n s e q u e n c e s , a n d t h u s t h e t e r m i n a t i o n o f t h e m o d e l - c h e c k i n g

    p r o c e d u r e , i s g u a r a n t e e d o n l y f o r r e s t r i c t e d c l a s s e s o f l i n e a r h y b r i d s y s t e m s , a s a l r e a d y t h e r e a c h a b i l -

    i t y p r o b l e m f o r c o n s t a n t - s l o p e h y b r i d s y s t e m s i s u n d e c i d a b l e A C H H 9 3 , K P S Y 9 3 ] . N o t w i t h s t a n d -

    i n g , w e h a v e f o u n d t h a t t h e m e t h o d i s o f p r a c t i c a l i n t e r e s t . F i r s t , t h e s u c c e s s i v e - a p p r o x i m a t i o n

    p r o c e s s c o n v e r g e s o n s e v e r a l n o n t r i v i a l a p p l i c a t i o n s w e h a v e b e e n a b l e t o v e r i f y u s i n g H y T e c h

    H H 9 5 b , H H W 9 5 a , H W 9 5 ] . S e c o n d , t h e r e i s l i t t l e d i e r e n c e f o r t h e p r a c t i t i o n e r b e t w e e n a d i v e r g -

    i n g ( i . e . , n o n t e r m i n a t i n g ) p r o c e s s a n d a p r o c e s s t h a t r u n s o u t o f t i m e o r s p a c e r e s o u r c e s . T h u s w e

    s u b m i t t h a t i t i s i m p o r t a n t n o t o n l y t o i d e n t i f y d e c i d a b l e v e r i c a t i o n p r o b l e m s , b u t a l s o t o i m p r o v e

    t h e a p p l i c a b i l i t y o f s e m i d e c i s i o n p r o c e d u r e s f o r v e r i c a t i o n . T h e b o u n d a r y b e t w e e n d e c i d a b l e a n d

    u n d e c i d a b l e q u e s t i o n s a b o u t h y b r i d a u t o m a t a i s i d e n t i e d i n H K P V 9 5 , H e n 9 5 ] .

    2 S y s t e m D e s c r i p t i o n L a n g u a g e : H y b r i d A u t o m a t a

    I n f o r m a l l y , a h y b r i d a u t o m a t o n A C H H 9 3 ] c o n s i s t s o f a n i t e v e c t o r ~x o f r e a l - v a l u e d v a r i a b l e s a n d

    a l a b e l e d m u l t i g r a p h ( V E ) . B y

    ~

    _x w e d e n o t e t h e v e c t o r o f r s t d e r i v a t i v e s o f t h e v a r i a b l e s i n ~x

    T h e e d g e s E r e p r e s e n t d i s c r e t e s y s t e m a c t i o n s a n d a r e l a b e l e d w i t h c o n s t r a i n t s o n t h e v a l u e s o f

    ~x b e f o r e a n d a f t e r a c t i o n s . T h e v e r t i c e s V r e p r e s e n t c o n t i n u o u s e n v i r o n m e n t a c t i v i t i e s a n d a r e

    l a b e l e d w i t h c o n s t r a i n t s o n t h e v a l u e s o f ~x a n d

    ~

    _x d u r i n g a c t i v i t i e s . T h e s t a t e o f t h e a u t o m a t o n

    c h a n g e s e i t h e r t h r o u g h i n s t a n t a n e o u s s y s t e m a c t i o n s o r , w h i l e t i m e e l a p s e s , t h r o u g h d i e r e n t i a b l e

    e n v i r o n m e n t a c t i v i t i e s . I n t h i s p a p e r , w e r e s t r i c t o u r s e l v e s t o e d g e a n d v e r t e x c o n s t r a i n t s t h a t

    3

  • 7/30/2019 Automatic Symbolic Verification of Embedded Systems

    4/37

    a r e l i n e a r e x p r e s s i o n s . A h y b r i d s y s t e m i s d e s c r i b e d a s a c o l l e c t i o n o f h y b r i d a u t o m a t a , o n e p e r

    c o m p o n e n t , t h a t o p e r a t e c o n c u r r e n t l y a n d c o o r d i n a t e w i t h e a c h o t h e r . T h e c o m m u n i c a t i o n i s

    a c h i e v e d v i a s h a r e d v a r i a b l e s a s w e l l a s s y n c h r o n i z a t i o n l a b e l s .

    2 . 1 S y n t a x

    L e t ~u b e a v e c t o r o f r e a l - v a l u e d v a r i a b l e s . A l i n e a r t e r m o v e r ~u i s a l i n e a r c o m b i n a t i o n o f v a r i -

    a b l e s f r o m ~u w i t h i n t e g e r c o e c i e n t s . A l i n e a r i n e q u a l i t y o v e r ~u i s a n i n e q u a l i t y b e t w e e n l i n e a r

    t e r m s o v e r ~u A ( c l o s e d ) c o n v e x l i n e a r f o r m u l a o v e r ~u i s a n i t e c o n j u n c t i o n o f ( n o n s t r i c t ) l i n e a r

    i n e q u a l i t i e s o v e r ~u A l i n e a r f o r m u l a o v e r ~u i s a n i t e b o o l e a n c o m b i n a t i o n o f l i n e a r i n e q u a l i t i e s

    o v e r ~u . E v e r y l i n e a r f o r m u l a c a n b e t r a n s f o r m e d i n t o d i s j u n c t i v e n o r m a l f o r m , t h a t i s , i n t o a n i t e

    d i s j u n c t i o n o f c o n v e x l i n e a r f o r m u l a s .

    A l i n e a r h y b r i d a u t o m a t o n A = ( ~ x V i n v d i f E a c t L s y n ) c o n s i s t s o f t h e f o l l o w i n g c o m p o -

    n e n t s :

    D a t a v a r i a b l e s A n i t e v e c t o r ~x = ( x

    1

    : : : x

    n

    ) o f r e a l - v a l u e d d a t a v a r i a b l e s . T h e s i z e n o f ~x i s

    c a l l e d t h e d i m e n s i o n o f A

    A d a t a s t a t e i s a p o i n t ~s = ( s

    1

    : : : s

    n

    ) i n n - d i m e n s i o n a l r e a l s p a c e R

    n

    o r , e q u i v a l e n t l y , a

    f u n c t i o n t h a t a s s i g n s t o e a c h d a t a v a r i a b l e x

    i

    a r e a l v a l u e s

    i

    2 R A c o n v e x d a t a r e g i o n i s

    a c o n v e x p o l y h e d r o n i n R

    n

    A d a t a r e g i o n i s a n i t e u n i o n o f c o n v e x d a t a r e g i o n s . A d a t a

    r e g i o n i s a l m o s t c o n v e x i f i t i s c o n n e c t e d a n d h a s a c o n v e x c l o s u r e . A ( c o n v e x ) d a t a p r e d i c a t e

    i s a ( c o n v e x ) l i n e a r f o r m u l a o v e r ~x . T h e ( c o n v e x ) d a t a p r e d i c a t e p d e n e s t h e ( c o n v e x ) d a t a

    r e g i o n p R

    n

    , w h e r e ~s 2 p ] ] i p ~x : = ~s ] i s t r u e .

    F o r e a c h d a t a v a r i a b l e x

    i

    , w e u s e t h e d o t t e d v a r i a b l e _x

    i

    t o d e n o t e t h e r s t d e r i v a t i v e o f x

    i

    A d i e r e n t i a l i n c l u s i o n i s a c o n v e x p o l y h e d r o n i n R

    n

    A r a t e p r e d i c a t e i s a c o n v e x l i n e a r

    f o r m u l a o v e r t h e v e c t o r

    ~

    _x = ( _x

    1

    : : : _x

    n

    ) o f d o t t e d v a r i a b l e s . T h e r a t e p r e d i c a t e r d e n e s t h e

    d i e r e n t i a l i n c l u s i o n r R

    n

    , w h e r e

    ~

    _s 2 r ] ] i r

    ~

    _x : =

    ~

    _s ] i s t r u e .

    F o r e a c h d a t a v a r i a b l e x

    i

    , w e u s e t h e p r i m e d v a r i a b l e x

    0

    i

    t o d e n o t e t h e n e w v a l u e o f x

    i

    a f t e r

    a t r a n s i t i o n . A n a c t i o n p r e d i c a t e q = ( ~y q

    0

    ) c o n s i s t s o f a s e t ~y ~x o f u p d a t e d v a r i a b l e s a n d

    a c o n v e x l i n e a r f o r m u l a q

    0

    o v e r t h e s e t ~x ] ~y

    0

    o f d a t a v a r i a b l e s a n d p r i m e d u p d a t e d v a r i a b l e s .

    T h e c l o s u r e f q g o f t h e a c t i o n p r e d i c a t e q i s t h e c o n v e x l i n e a r f o r m u l a q

    0

    V

    x 2 ~x n ~y

    ( x

    0

    = x )

    t h a t i s , a l l d a t a v a r i a b l e s t h a t a r e n o t u p d a t e d r e m a i n u n c h a n g e d . T h e a c t i o n p r e d i c a t e q

    d e n e s a f u n c t i o n q ] ] f r o m d a t a s t a t e s t o c o n v e x d a t a r e g i o n s : f o r a l l d a t a s t a t e s ~ s ~ s

    0

    2 R

    n

    ,

    l e t ~s

    0

    2 q ( ~s ) i f q g ~ x ~ x

    0

    : = ~ s ~ s

    0

    ] i s t r u e . T h e a c t i o n p r e d i c a t e q i s e n a b l e d i n t h e d a t a s t a t e

    ~s i f t h e d a t a r e g i o n q ( ~s ) i s n o n e m p t y .

    C o n t r o l l o c a t i o n s A n i t e s e t V o f v e r t i c e s c a l l e d c o n t r o l l o c a t i o n s

    A s t a t e ( v ~ s ) o f t h e a u t o m a t o n A c o n s i s t s o f a c o n t r o l l o c a t i o n v 2 V a n d a d a t a s t a t e ~s 2 R

    n

    A r e g i o n R =

    S

    v 2 V

    ( v S

    v

    ) i s a c o l l e c t i o n o f d a t a r e g i o n s S

    v

    R

    n

    , o n e f o r e a c h c o n t r o l

    l o c a t i o n v 2 V A s t a t e p r e d i c a t e =

    S

    v 2 V

    ( v p

    v

    ) i s a c o l l e c t i o n o f d a t a p r e d i c a t e s p

    v

    , o n e

    f o r e a c h c o n t r o l l o c a t i o n v 2 V . T h e s t a t e p r e d i c a t e d e n e s t h e r e g i o n =

    S

    v 2 V

    ( v p

    v

    ] ] ) .

    T h e r e g i o n R i s l i n e a r i f t h e r e i s a s t a t e p r e d i c a t e t h a t d e n e s R

    W e w r i t e ( v S ) f o r t h e r e g i o n ( v S )

    S

    v 6= v

    ( v

    0

    ) , a n d ( v p ) f o r t h e s t a t e p r e d i c a t e ( v p )

    S

    v 6= v

    ( v

    0

    f a l s e ) . W h e n w r i t i n g s t a t e p r e d i c a t e s , w e u s e t h e l o c a t i o n c o u n t e r ` , w h i c h r a n g e s

    o v e r t h e s e t V o f c o n t r o l l o c a t i o n s . T h e l o c a t i o n c o n s t r a i n t ` = v d e n o t e s t h e s t a t e p r e d -

    i c a t e ( v t r u e ) . T h e d a t a p r e d i c a t e p , w h e n u s e d a s a s t a t e p r e d i c a t e , d e n o t e s t h e c o l l e c -

    4

  • 7/30/2019 Automatic Symbolic Verification of Embedded Systems

    5/37

    t i o n

    S

    v 2 V

    ( v p ) . F o r t w o s t a t e p r e d i c a t e s =

    S

    v 2 V

    ( v p

    v

    ) a n d

    0

    =

    S

    v 2 V

    ( v p

    0

    v

    ) , w e d e n e

    : =

    S

    v 2 V

    ( v : p

    v

    ) , ( _

    0

    ) =

    S

    v 2 V

    ( v p

    v

    _ p

    0

    v

    ) , a n d (

    0

    ) =

    S

    v 2 V

    ( v p

    v

    p

    0

    v

    )

    L o c a t i o n i n v a r i a n t s A l a b e l i n g f u n c t i o n i n v t h a t a s s i g n s t o e a c h c o n t r o l l o c a t i o n v 2 V a c o n v e x

    d a t a p r e d i c a t e i n v ( v ) , t h e i n v a r i a n t o f v . T h e i n v a r i a n t s a r e u s e d t o e n f o r c e t h e p r o g r e s s

    o f a s y s t e m f r o m o n e c o n t r o l l o c a t i o n t o a n o t h e r , b e c a u s e t h e c o n t r o l o f t h e a u t o m a t o n A

    m a y r e s i d e i n t h e l o c a t i o n v o n l y a s l o n g a s t h e i n v a r i a n t i n v ( v ) i s t r u e . T h e s t a t e ( v ~ s ) i s

    a d m i s s i b l e i f ~s 2 i n v ( v ) ] ] . W e w r i t e

    A

    f o r t h e s e t o f a d m i s s i b l e s t a t e s o f A , a n d

    A

    f o r t h e

    s t a t e p r e d i c a t e

    S

    v 2 V

    ( v i n v ( v ) ) t h a t d e n e s t h e s e t o f a d m i s s i b l e s t a t e s .

    C o n t i n u o u s a c t i v i t i e s A l a b e l i n g f u n c t i o n d i f t h a t a s s i g n s t o e a c h c o n t r o l l o c a t i o n v 2 V a r a t e

    p r e d i c a t e d i f ( v ) , t h e a c t i v i t y o f v . T h e a c t i v i t i e s c o n s t r a i n t h e r a t e s a t w h i c h t h e v a l u e s

    o f d a t a v a r i a b l e s c h a n g e : w h i l e t h e a u t o m a t o n c o n t r o l r e s i d e s i n t h e l o c a t i o n v , t h e r s t

    d e r i v a t i v e s o f a l l d a t a v a r i a b l e s s t a y w i t h i n t h e d i e r e n t i a l i n c l u s i o n d i f ( v ) ] ] .

    T r a n s i t i o n s A n i t e m u l t i s e t E o f e d g e s c a l l e d t r a n s i t i o n s . E a c h t r a n s i t i o n ( v v

    0

    ) i d e n t i e s a

    s o u r c e l o c a t i o n v 2 V a n d a t a r g e t l o c a t i o n v

    0

    2 V . F o r e a c h l o c a t i o n v 2 V , t h e r e i s a s t u t t e r

    t r a n s i t i o n e

    v

    = ( v v )

    D i s c r e t e a c t i o n s A l a b e l i n g f u n c t i o n a c t t h a t a s s i g n s t o e a c h t r a n s i t i o n e 2 E a n a c t i o n p r e d i c a t e

    a c t ( e ) , t h e a c t i o n o f e . T h e a u t o m a t o n c o n t r o l c a n p r o c e e d f r o m t h e l o c a t i o n v t o t h e l o c a t i o n

    v

    0

    v i a t h e t r a n s i t i o n e = ( v v

    0

    ) o n l y w h e n t h e a c t i o n a c t ( e ) i s e n a b l e d . I f a c t ( e ) i s e n a b l e d i n

    t h e d a t a s t a t e ~s , t h e n t h e v a l u e s o f a l l d a t a v a r i a b l e s c h a n g e n o n d e t e r m i n i s t i c a l l y f r o m ~s t o

    s o m e p o i n t i n t h e d a t a r e g i o n a c t ( e ) ] ] ( ~s ) . F o r e x a m p l e , i f n = 4 , a t r a n s i t i o n w i t h t h e a c t i o n

    l a b e l

    ( f x

    1

    x

    2

    x

    3

    g x

    1

    3 3 x

    0

    1

    5 x

    0

    2

    = x

    1

    + 1 )

    c a n b e t r a v e r s e d o n l y w h e n t h e v a l u e o f x

    1

    i s a t m o s t 3 . T h e t r a n s i t i o n u p d a t e s t h e v a l u e o f

    x

    1

    t o a r e a l n u m b e r i n t h e i n t e r v a l 3 5 ] , t h e n e w v a l u e o f x

    2

    i s 1 g r e a t e r t h a n t h e o l d v a l u e

    o f x

    1

    , t h e n e w v a l u e o f x

    3

    i s a n y r e a l n u m b e r , a n d t h e v a l u e o f x

    4

    r e m a i n s u n c h a n g e d ( b e c a u s e

    x

    4

    i s n o t u p d a t e d ) . T h e a c t i o n p r e d i c a t e s c a n b e u s e d f o r s y n c h r o n i z i n g h y b r i d a u t o m a t a

    v i a s h a r e d v a r i a b l e s , w h i c h i s i l l u s t r a t e d i n t h e m u t u a l - e x c l u s i o n p r o t o c o l o f S e c t i o n 7 . 2 . A l l

    s t u t t e r t r a n s i t i o n s a r e l a b e l e d w i t h t h e a c t i o n ( ~ x ~ x

    0

    = ~x ) , a n d t h u s , l e a v e a l l d a t a v a r i a b l e s

    u n c h a n g e d .

    S y n c h r o n i z a t i o n l a b e l s A n i t e s e t L o f s y n c h r o n i z a t i o n l a b e l s a n d a l a b e l i n g f u n c t i o n s y n t h a t

    a s s i g n s t o e a c h t r a n s i t i o n e 2 E a s e t o f s y n c h r o n i z a t i o n l a b e l s f r o m L . T h e s e t L i s c a l l e d t h e

    a l p h a b e t o f A . T h e s y n c h r o n i z a t i o n l a b e l s a r e u s e d t o d e n e t h e p a r a l l e l c o m p o s i t i o n o f t w o

    a u t o m a t a : i f b o t h a u t o m a t a s h a r e a s y n c h r o n i z a t i o n l a b e l a , t h e n e a c h a - t r a n s i t i o n ( t h a t i s ,

    a t r a n s i t i o n w h o s e s y n c h r o n i z a t i o n l a b e l c o n t a i n s a ) o f o n e a u t o m a t o n m u s t b e a c c o m p a n i e d

    b y a n a - t r a n s i t i o n o f t h e o t h e r a u t o m a t o n . T h e u s e o f s y n c h r o n i z a t i o n l a b e l s i n c o m p o s i t i o n

    i s i l l u s t r a t e d i n t h e r a i l r o a d g a t e c o n t r o l l e r o f S e c t i o n 2 . 4 . A l l s t u t t e r t r a n s i t i o n s a r e l a b e l e d

    w i t h t h e e m p t y s e t o f s y n c h r o n i z a t i o n l a b e l s .

    T h e r e s t r i c t i o n t o c o n v e x i n v a r i a n t s , a c t i v i t i e s , a n d a c t i o n s d o e s n o t l i m i t t h e e x p r e s s i v e n e s s o f

    l i n e a r h y b r i d a u t o m a t a , b e c a u s e n o n c o n v e x i n v a r i a n t s a n d a c t i v i t i e s c a n b e m o d e l e d b y s p l i t t i n g

    l o c a t i o n s ( s e e S e c t i o n 4 ) , a n d n o n c o n v e x a c t i o n s c a n b e m o d e l e d b y s p l i t t i n g t r a n s i t i o n s .

    A s p e c i a l c a s e o f a l i n e a r h y b r i d a u t o m a t o n i s a t i m e d a u t o m a t o n A D 9 4 ] . T h e d a t a v a r i a b l e x

    i

    o f A i s a c l o c k i f f o r a l l c o n t r o l l o c a t i o n s v 2 V , d i f ( v ) i m p l i e s _x

    i

    = 1 , a n d f o r a l l t r a n s i t i o n s e 2 E ,

    t h e c l o s u r e f a c t ( e ) g i m p l i e s x

    0

    i

    = 0 o r x

    0

    i

    = x

    i

    t h a t i s , e a c h c l o c k a l w a y s i n c r e a s e s w i t h t h e r a t e a t

    5

  • 7/30/2019 Automatic Symbolic Verification of Embedded Systems

    6/37

    w h i c h t i m e a d v a n c e s , a n d a l l t r a n s i t i o n s e i t h e r r e s e t a c l o c k t o 0 o r l e a v e i t s v a l u e u n c h a n g e d . A

    l i n e a r i n e q u a l i t y i s s i m p l e i f i t h a s t h e f o r m x + c y , x c , o r x c , f o r s o m e i n t e g e r c o n s t a n t c

    T h e l i n e a r h y b r i d a u t o m a t o n A i s a t i m e d a u t o m a t o n i f a l l d a t a v a r i a b l e s i n ~x a r e c l o c k s , a n d a l l

    i n v a r i a n t s a n d a c t i o n s a r e b o o l e a n c o m b i n a t i o n s o f s i m p l e l i n e a r i n e q u a l i t i e s .

    2 . 2 S e m a n t i c s

    A t a n y t i m e i n s t a n t , t h e s t a t e o f a h y b r i d a u t o m a t o n s p e c i e s a c o n t r o l l o c a t i o n a n d v a l u e s f o r a l l

    d a t a v a r i a b l e s . T h e s t a t e c a n c h a n g e i n t w o w a y s : ( 1 ) b y a n i n s t a n t a n e o u s t r a n s i t i o n t h a t c h a n g e s

    b o t h t h e c o n t r o l l o c a t i o n a n d t h e v a l u e s o f d a t a v a r i a b l e s , o r ( 2 ) b y a t i m e d e l a y t h a t c h a n g e s o n l y

    t h e v a l u e s o f d a t a v a r i a b l e s i n a c o n t i n u o u s m a n n e r a c c o r d i n g t o t h e r a t e p r e d i c a t e o f t h e c u r r e n t

    c o n t r o l l o c a t i o n .

    A d a t a t r a j e c t o r y ( ) o f t h e l i n e a r h y b r i d a u t o m a t o n A c o n s i s t s o f a n o n n e g a t i v e d u r a t i o n

    2 R

    0

    a n d a d i e r e n t i a b l e f u n c t i o n : 0 ! R

    n

    w i t h t h e d e r i v a t i v e

    d ( t )

    d t

    f o r a l l t 2 ( 0 )

    T h e d a t a t r a j e c t o r y ( ) m a p s e v e r y r e a l t 2 0 ] t o a d a t a s t a t e ( t ) . C o n s i d e r t w o r e a l s t

    1

    a n d

    t

    2

    w i t h 0 t

    1

    t

    2

    . W e w r i t e t

    1

    t

    2

    ] f o r t h e d a t a t r a j e c t o r y (

    0

    0

    ) w i t h

    0

    = t

    2

    ; t

    1

    , a n d

    0

    ( t ) = ( t + t

    1

    ) f o r a l l t 2 0

    0

    ] . T h e d a t a t r a j e c t o r y ( ) i s l i n e a r i f t h e r e i s a c o n s t a n t r a t e

    v e c t o r

    ~

    _s 2 R

    n

    s u c h t h a t

    d ( t )

    d t

    =

    ~

    _s f o r a l l t 2 ( 0 ) . T h e d a t a t r a j e c t o r y ( ) i s p i e c e w i s e l i n e a r i f

    t h e r e a r e n i t e l y m a n y r e a l s t

    1

    : : : t

    k

    w i t h 0 < t

    1

  • 7/30/2019 Automatic Symbolic Verification of Embedded Systems

    7/37

    s t u t t e r i n g : i f 2 A ] ] a n d i s a p o s i t i o n o f , t h e n ( ( 0 0 ) 1 ) 2 A

    f u s i o n : i f

    0

    2 A , i s a p o s i t i o n o f ,

    0

    i s a p o s i t i o n o f

    0

    , a n d ( ) =

    0

    (

    0

    ) , t h e n

    ( ( 0 0 )

    0

    0

    1 ) 2 A ] ] a n d

    l i m i t s : i f f o r a l l p o s i t i o n s o f t h e r e i s a t r a j e c t o r y

    0

    2 A ] ] a n d a p o s i t i o n

    0

    o f

    0

    s u c h t h a t

    ( 0 0 ) =

    0

    ( 0 0 )

    0

    ] , t h e n 2 A

    N o t i c e t h a t f u s i o n c l o s u r e a s s e r t s t h a t t h e f u t u r e e v o l u t i o n o f a h y b r i d a u t o m a t o n i s c o m p l e t e l y

    d e t e r m i n e d b y t h e p r e s e n t s t a t e o f t h e a u t o m a t o n . A l s o n o t i c e t h a t t h e s u x , s t u t t e r , a n d f u s i o n

    c l o s u r e s o f a t r a j e c t o r y s e t T a r e i n h e r i t e d b y t h e s u b s e t s T

    d i v

    a n d T

    l i n

    I f T i s c l o s e d u n d e r l i m i t s ,

    t h e n s o i s T

    l i n

    , a n d T

    d i v

    i s c l o s e d u n d e r d i v e r g e n t l i m i t s ( \ d i v e r g e n c e - s a f e " ) H N S Y 9 4 ] .

    T h e l i n e a r h y b r i d a u t o m a t o n A i s n o n z e n o i f f o r e v e r y a d m i s s i b l e s t a t e o f A t h e r e i s a d i v e r g e n t

    t r a j e c t o r y o f A s u c h t h a t ( 0 0 ) = . I n o t h e r w o r d s , A i s n o n z e n o i e v e r y n i t e p r e x o f a

    t r a j e c t o r y i s a p r e x o f a d i v e r g e n t t r a j e c t o r y . N o t i c e t h a t i f A i s n o n z e n o , t h e n t h e s t a t e s t h a t

    o c c u r o n d i v e r g e n t t r a j e c t o r i e s o f A a r e p r e c i s e l y t h e a d m i s s i b l e s t a t e s

    A

    . W e r e s t r i c t o u r a t t e n t i o n

    t o n o n z e n o h y b r i d a u t o m a t a . I n H N S Y 9 4 ] i t i s s h o w n h o w a t i m e d a u t o m a t o n m a y b e t u r n e d i n t o

    a n o n z e n o t i m e d a u t o m a t o n w i t h t h e s a m e d i v e r g e n t t r a j e c t o r i e s t h i s t r a n s f o r m a t i o n i s d o n e b y

    s t r e n g t h e n i n g t h e l o c a t i o n i n v a r i a n t s , a n d a p p l i e s t o m a n y h y b r i d a u t o m a t a a l s o .

    2 . 3 C o m p o s i t i o n

    A h y b r i d s y s t e m t y p i c a l l y c o n s i s t s o f s e v e r a l c o m p o n e n t s t h a t o p e r a t e c o n c u r r e n t l y a n d c o m m u n i -

    c a t e w i t h e a c h o t h e r . W e d e s c r i b e e a c h c o m p o n e n t a s a l i n e a r h y b r i d a u t o m a t o n . T h e c o m p o n e n t

    a u t o m a t a c o o r d i n a t e t h r o u g h s h a r e d d a t a v a r i a b l e s a n d s y n c h r o n i z a t i o n l a b e l s . T h e l i n e a r h y b r i d

    a u t o m a t o n t h a t m o d e l s t h e e n t i r e s y s t e m i s t h e n 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 a u t o m a t a u s i n g

    a p r o d u c t o p e r a t i o n .

    L e t A

    1

    = ( ~x

    1

    V

    1

    i n v

    1

    d i f

    1

    E

    1

    a c t

    1

    L

    1

    s y n

    1

    ) a n d A

    2

    = ( ~x

    2

    V

    2

    i n v

    2

    d i f

    2

    E

    2

    a c t

    2

    L

    2

    s y n

    2

    )

    b e t w o l i n e a r h y b r i d a u t o m a t a o f d i m e n s i o n s n

    1

    a n d n

    2

    , r e s p e c t i v e l y . T h e p r o d u c t A

    1

    A

    2

    o f A

    1

    a n d A

    2

    i s t h e l i n e a r h y b r i d a u t o m a t o n A = ( ~x

    1

    ~x

    2

    V

    1

    V

    2

    i n v d i f E a c t L

    1

    L

    2

    s y n ) :

    E a c h l o c a t i o n ( v v

    0

    ) i n V

    1

    V

    2

    h a s t h e i n v a r i a n t i n v ( v v

    0

    ) = i n v

    1

    ( v ) i n v

    2

    ( v

    0

    ) a n d t h e a c t i v i t y

    d i f ( v v

    0

    ) = d i f

    1

    ( v ) d i f

    2

    ( v

    0

    ) . T h u s , a n a d m i s s i b l e s t a t e o f A c o n s i s t s o f a n a d m i s s i b l e s t a t e

    o f A

    1

    a n d a n a d m i s s i b l e s t a t e o f A

    2

    , w h o s e s h a r e d p a r t s c o i n c i d e , a n d w h o s e r a t e v e c t o r s

    o b e y t h e d i e r e n t i a l i n c l u s i o n s t h a t a r e a s s o c i a t e d w i t h b o t h c o m p o n e n t s l o c a t i o n s .

    E c o n t a i n s t h e t r a n s i t i o n e = ( ( v

    1

    v

    0

    1

    ) ( v

    2

    v

    0

    2

    ) ) i

    ( 1 ) v

    1

    = v

    0

    1

    a n d t h e r e i s a t r a n s i t i o n e

    2

    = ( v

    2

    v

    0

    2

    ) 2 E

    2

    w i t h L

    1

    \ s y n

    2

    ( e

    2

    ) = o r

    ( 2 ) t h e r e i s a t r a n s i t i o n e

    1

    = ( v

    1

    v

    0

    1

    ) 2 E

    1

    w i t h s y n

    1

    ( e

    1

    ) \ L

    2

    = , a n d v

    2

    = v

    0

    2

    o r

    ( 3 ) t h e r e i s a t r a n s i t i o n e

    1

    = ( v

    1

    v

    0

    1

    ) 2 E

    1

    a n d a t r a n s i t i o n e

    2

    = ( v

    2

    v

    0

    2

    ) 2 E

    2

    s u c h

    t h a t s y n

    1

    ( e

    1

    ) \ L

    2

    = s y n

    2

    ( e

    2

    ) \ L

    1

    I n c a s e ( 1 ) , a c t ( e ) = a c t

    2

    ( e

    2

    ) a n d s y n ( e ) = s y n

    2

    ( e

    2

    ) . I n c a s e ( 2 ) , a c t ( e ) = a c t

    1

    ( e

    1

    ) a n d

    s y n ( e ) = s y n

    1

    ( e

    1

    ) . I n c a s e ( 3 ) , i f a c t

    1

    ( e

    1

    ) = ( ~y

    1

    q

    0

    1

    ) a n d a c t

    2

    ( e

    2

    ) = ( ~y

    2

    q

    0

    2

    ) , t h e n a c t ( e ) =

    ( ~y

    1

    ~y

    2

    q

    0

    1

    q

    0

    2

    ) , a n d s y n ( e ) = s y n

    1

    ( e

    1

    ) s y n

    2

    ( e

    2

    )

    S i n c e t h e t w o c o m p o n e n t a u t o m a t a A

    1

    a n d A

    2

    m a y s h a r e d a t a v a r i a b l e s , t h e d i m e n s i o n o f A l i e s

    b e t w e e n m a x ( n

    1

    n

    2

    ) a n d n

    1

    + n

    2

    . A c c o r d i n g t o t h e d e n i t i o n o f E , t h e t r a n s i t i o n s o f t h e t w o

    c o m p o n e n t a u t o m a t a a r e i n t e r l e a v e d , p r o v i d e d t h e y h a v e n o l a b e l s i n L

    1

    \ L

    2

    . L a b e l s i n L

    1

    \ L

    2

    7

  • 7/30/2019 Automatic Symbolic Verification of Embedded Systems

    8/37

    m u s t b e s y n c h r o n i z e d , a n d c a u s e t h e s i m u l t a n e o u s t r a v e r s a l o f c o m p o n e n t t r a n s i t i o n s . W h e n t w o

    t r a n s i t i o n s a r e s y n c h r o n i z e d , t h e s e t o f u p d a t e d v a r i a b l e s i s t h e u n i o n o f t h e u p d a t e d v a r i a b l e s o f

    t h e c o m p o n e n t t r a n s i t i o n s , a n d t h e c o n s t r a i n t s o n t h e u p d a t e d v a l u e s a r e o b t a i n e d b y t a k i n g t h e

    c o n j u n c t i o n o f c o n s t r a i n t s i m p o s e d b y t h e c o m p o n e n t t r a n s i t i o n s . T h i s e x p l a i n s t h e r o l e o f t h e

    u p d a t e d v a r i a b l e s i n t h e a c t i o n p r e d i c a t e s . F o r i n s t a n c e , t h e a c t i o n p r e d i c a t e q

    1

    = ( f x g x

    0

    = x )

    i s d i e r e n t f r o m t h e a c t i o n p r e d i c a t e q

    2

    = ( t r u e ) e v e n t h o u g h t h e i r c l o s u r e s f q

    1

    g a n d f q

    2

    g a r e

    i d e n t i c a l : w h e n c o m p o s e d w i t h a t r a n s i t i o n w i t h t h e a c t i o n p r e d i c a t e ( f x g x

    0

    = 2 ) , t h e r s t o n e

    g i v e s ( f x g x = 2 x

    0

    = 2 ) , w h i l e t h e s e c o n d o n e g i v e s ( f x g x

    0

    = 2 ) .

    N o t i c e t h a t , i n c a s e ( 3 ) , t h e s t u t t e r t r a n s i t i o n s o f t h e c o m p o n e n t a u t o m a t a r e s u l t i n s t u t t e r

    t r a n s i t i o n s o f t h e p r o d u c t a u t o m a t o n .

    2 . 4 E x a m p l e : R a i l r o a d g a t e c o n t r o l l e r

    W e m o d e l a c o n t r o l s y s t e m f o r a r a i l r o a d c r o s s i n g u s i n g l i n e a r h y b r i d a u t o m a t a . T h e s y s t e m c o n s i s t s

    o f t h r e e p r o c e s s e s | a t r a i n , a g a t e , a n d a g a t e c o n t r o l l e r .

    T h e v a r i a b l e x r e p r e s e n t s t h e d i s t a n c e o f t h e t r a i n f r o m t h e g a t e . S i n c e t h e d o t t e d v a r i a b l e _x

    i s t h e r s t d e r i v a t i v e o f x w i t h r e s p e c t t o t i m e , _x r e p r e s e n t s t h e v e l o c i t y o f t h e t r a i n . I n i t i a l l y , t h e

    t r a i n i s f a r f r o m t h e g a t e a n d a l w a y s m o v e s a t a s p e e d t h a t v a r i e s b e t w e e n 4 8 a n d 5 2 m e t e r s p e r

    s e c o n d . W h e n t h e t r a i n a p p r o a c h e s t h e g a t e , a s e n s o r t h a t i s p l a c e d a t a d i s t a n c e o f 1 0 0 0 m e t e r s

    f r o m t h e c r o s s i n g d e t e c t s t h e t r a i n a n d s e n d s t h e s i g n a l a p p t o t h e c o n t r o l l e r . T h e t r a i n t h e n m a y

    s l o w d o w n t o a s p e e d b e t w e e n 4 0 a n d 5 2 m e t e r s p e r s e c o n d . I f t h e c o n t r o l l e r i s i d l e u p o n r e c e i p t

    o f t h e a p p r o a c h s i g n a l a p p , i t r e q u i r e s u p t o 5 s e c o n d s t o s e n d t h e c o m m a n d l o w e r t o t h e g a t e

    t h e d e l a y o f t h e c o n t r o l l e r i s m o d e l e d b y t h e c l o c k z . I f t h e g a t e i s o p e n , i t i s l o w e r e d f r o m 9 0

    r a d i u s d e g r e e s t o 0 d e g r e e s a t t h e c o n s t a n t r a t e o f 2 0 d e g r e e s p e r s e c o n d t h e p o s i t i o n o f t h e g a t e

    i n d e g r e e s i s r e p r e s e n t e d b y t h e v a r i a b l e y . A s e c o n d s e n s o r p l a c e d a t 1 0 0 m e t e r s p a s t t h e c r o s s i n g

    d e t e c t s t h e l e a v i n g t r a i n a n d s i g n a l s e x i t t o t h e c o n t r o l l e r , w h i c h , a f t e r a n o t h e r d e l a y o f u p t o 5

    s e c o n d s , s e n d s t h e c o m m a n d r a i s e t o t h e g a t e . W e a s s u m e t h a t t h e d i s t a n c e b e t w e e n c o n s e c u t i v e

    t r a i n s i s a t l e a s t 1 5 0 0 m e t e r s , s o w h e n t h e s e n s o r d e t e c t s a l e a v i n g t r a i n , t h e n e x t ( o r r e t u r n i n g )

    t r a i n i s a t l e a s t 1 5 0 0 m e t e r s f r o m t h e c r o s s i n g .

    T h e c o n t r o l l e r m u s t a c c e p t a r r i v i n g a p p a n d e x i t s i g n a l s a t a n y t i m e , a n d t h e g a t e m u s t a l w a y s

    a c c e p t c o n t r o l l e r c o m m a n d s . F o r f a u l t t o l e r a n c e c o n s i d e r a t i o n s , w e d e s i g n t h e c o n t r o l l e r s o t h a t a n

    e x i t s i g n a l i s i g n o r e d i f t h e g a t e i s a b o u t t o b e l o w e r e d , w h i l e a n a p p s i g n a l a l w a y s c a u s e s t h e g a t e

    t o b e l o w e r e d .

    T h e t h r e e h y b r i d a u t o m a t a t h a t m o d e l t h e t r a i n , t h e g a t e , a n d t h e c o n t r o l l e r a r e s h o w n i n

    F i g u r e 1 . I n t h e g r a p h i c a l r e p r e s e n t a t i o n o f t h e a u t o m a t a w e u s e \ s u p e r l o c a t i o n s " t o s a v e o n

    e d g e s . I n p a r t i c u l a r , t h e g a t e a u t o m a t o n h a s f o u r l o c a t i o n s | u p ( \ b e i n g r a i s e d " ) , o p e n , d o w n

    ( \ b e i n g l o w e r e d " ) , a n d c l o s e d . W e s u p p r e s s i n v a r i a n t s a n d a c t i v i t i e s o f t h e f o r m t r u e , a c t i o n s

    o f t h e f o r m ( t r u e ) , a n d s t u t t e r t r a n s i t i o n s . A c t i o n s a r e w r i t t e n a s n o n d e t e r m i n i s t i c g u a r d e d

    c o m m a n d s . F o r e x a m p l e , t h e n o n d e t e r m i n i s t i c g u a r d e d c o m m a n d x = 1 0 0 ! x : = 1 5 0 0 1 )

    d e n o t e s t h e a c t i o n ( f x g x = 1 0 0 x

    0

    1 5 0 0 ) . T h e l o c a t i o n u p o f t h e g a t e a u t o m a t o n h a s t h e

    i n v a r i a n t 0 y 9 0 , t h e a c t i v i t y _y = 2 0 , a n d t w o o u t g o i n g t r a n s i t i o n s t h e t r a n s i t i o n t o t h e

    l o c a t i o n o p e n h a s t h e a c t i o n ( y = 9 0 ) , a n d n o s y n c h r o n i z a t i o n l a b e l s t h e t r a n s i t i o n t o d o w n

    h a s t h e a c t i o n ( t r u e ) a n d t h e s y n c h r o n i z a t i o n l a b e l l o w e r . T h e s y n c h r o n i z a t i o n l a b e l s m o d e l

    s i g n a l s ( f r o m t h e t r a i n t o t h e c o n t r o l l e r ) a n d c o m m a n d s ( f r o m t h e c o n t r o l l e r t o t h e g a t e ) . F o r

    i n s t a n c e , w h e n t h e t r a i n a u t o m a t o n c h a n g e s l o c a t i o n u s i n g a n e d g e l a b e l e d w i t h a p p , t h e c o n t r o l l e r

    a u t o m a t o n i s r e q u i r e d t o t r a v e r s e a n e d g e w i t h t h e s a m e l a b e l .

    8

  • 7/30/2019 Automatic Symbolic Verification of Embedded Systems

    9/37

    y = 2 0 _y = 0

    y = 0

    y = 0

    y = ; 2 0

    z = 0

    z = 0z = 0

    x = 1 0 0 0

    y = 9 0

    e x i t

    r a i s e

    l o w e r

    c l o s e d

    l o w e r

    y = 9 0

    C o n t r o l l e r

    r a i s e

    e x i t

    a p p

    a p p

    i d l e

    z = 1

    0 z 5 0 z 5

    z = 0

    x = 1 0 0 !

    x : = 1 5 0 0 1 )

    4 0 x 5 2

    0 x 1 0 0

    z = 1

    x = 0

    e x i t

    r a i s e

    l o w e r

    4 8 x 5 2

    0 y 9 0

    0 y 9 0

    0 x 1 0 0 0

    1 0 0 0 x

    4 0 x 5 2

    u p

    e x i t

    a p p

    y = 0

    o p e n

    f a r

    d o w n

    a p p

    p a s t

    n e a r

    G a t e T r a i n

    F i g u r e 1 : R a i l r o a d g a t e c o n t r o l l e r

    3 P r o p e r t y D e s c r i p t i o n L a n g u a g e : I n t e g r a t o r L o g i c

    T h e f o r m u l a s o f t h e I n t e g r a t o r C o m p u t a t i o n T r e e L o g i c I c t l f o r a g i v e n l i n e a r h y b r i d a u t o m a t o n

    A c o n t a i n t w o k i n d s o f v a r i a b l e s | d a t a v a r i a b l e s o f A , a n d i n t e g r a t o r s . A n i n t e g r a t o r ( o r s t o p

    w a t c h ) i s a c l o c k t h a t c a n b e s t o p p e d a n d r e s t a r t e d , a n d i s i n s p i r e d b y t h e c o n c e p t o f a d u r a t i o n

    i n D u r a t i o n C a l c u l u s C H R 9 1 ] . W e a d o p t t h e n o t a t i o n o f B E S 9 3 ] t o g e n e r a l i z e t h e c l o c k r e s e t

    ( \ f r e e z e " ) q u a n t i e r o f T p t l A H 9 4 ] t o a r e s e t q u a n t i e r f o r i n t e g r a t o r s . W h i l e t h e c l o c k r e s e t

    q u a n t i e r z ' i n t r o d u c e s ( b i n d s ) t h e c l o c k z a n d s e t s i t s v a l u e a t 0 , t h e i n t e g r a t o r r e s e t q u a n t i e r

    ( z : U ) ' i n t r o d u c e s ( b i n d s ) t h e i n t e g r a t o r z , d e c l a r e s i t s t y p e t o b e U , a n d s e t s i t s v a l u e t o 0 . T h e

    t y p e U V o f z i s a s e t o f l o c a t i o n s o f A . T h e v a l u e o f a n i n t e g r a t o r o f t y p e U i n c r e a s e s w i t h t h e

    r a t e a t w h i c h t i m e a d v a n c e s w h e n e v e r t h e a u t o m a t o n c o n t r o l i s i n a l o c a t i o n i n U , a n d i t s v a l u e

    s t a y s u n c h a n g e d w h e n e v e r t h e a u t o m a t o n c o n t r o l i s i n a l o c a t i o n i n V n U . I n p a r t i c u l a r , a c l o c k i s

    a n i n t e g r a t o r o f t y p e V

    3 . 1 S y n t a x

    T h e f o r m u l a s o f I c t l a r e b u i l t f r o m s t a t e p r e d i c a t e s u s i n g b o o l e a n o p e r a t o r s , t h e t w o t e m p o r a l o p -

    e r a t o r s 9 U ( \ p o s s i b l y " ) a n d 8 U ( \ i n e v i t a b l y " ) , a n d t h e r e s e t q u a n t i e r f o r i n t e g r a t o r s . I n t u i t i v e l y ,

    t h e f o r m u l a '

    1

    9 U '

    2

    h o l d s i n t h e a u t o m a t o n s t a t e i f a l o n g s o m e a u t o m a t o n t r a j e c t o r y t h a t s t a r t s

    f r o m , t h e s e c o n d a r g u m e n t '

    2

    h o l d s i n s o m e s t a t e o f t h e t r a j e c t o r y , a n d t h e r s t a r g u m e n t '

    1

    h o l d s i n a l l i n t e r m e d i a t e s t a t e s . T h e f o r m u l a '

    1

    8 U '

    2

    a s s e r t s t h a t a l o n g e v e r y t r a j e c t o r y t h a t s t a r t s

    f r o m , t h e r s t a r g u m e n t '

    1

    i s t r u e u n t i l t h e s e c o n d a r g u m e n t '

    2

    b e c o m e s t r u e .

    L e t A b e a l i n e a r h y b r i d a u t o m a t o n w i t h t h e d a t a v a r i a b l e s ~x a n d t h e c o n t r o l l o c a t i o n s V ,

    a n d l e t ~z b e a v e c t o r o f r e a l - v a l u e d v a r i a b l e s c a l l e d i n t e g r a t o r s ( d i s j o i n t f r o m ~x ) A ~z - e x t e n d e d

    9

  • 7/30/2019 Automatic Symbolic Verification of Embedded Systems

    10/37

    d a t a p r e d i c a t e o f A i s a l i n e a r f o r m u l a o v e r ~x ] ~z A ~z - e x t e n d e d s t a t e p r e d i c a t e o f A i s a c o l l e c t i o n

    o f ~z - e x t e n d e d d a t a p r e d i c a t e s , o n e f o r e a c h l o c a t i o n i n V . T h e A - f o r m u l a s o f I c t l a r e d e n e d

    i n d u c t i v e l y b y t h e g r a m m a r

    ' : : = : ' '

    1

    _ '

    2

    '

    1

    9 U '

    2

    '

    1

    8 U '

    2

    ( z : U ) '

    w h e r e i s a ~z - e x t e n d e d s t a t e p r e d i c a t e o f A , U V i s a s e t o f l o c a t i o n s , a n d z i s a n i n t e g r a t o r

    f r o m ~z . T h e I c t l - f o r m u l a ' i s c l o s e d i f e v e r y o c c u r r e n c e o f a n i n t e g r a t o r i n ' i s b o u n d b y a r e s e t

    q u a n t i e r . W e r e s t r i c t o u r s e l v e s t o c l o s e d f o r m u l a s o f I c t l . W e a l s o a s s u m e t h a t d i e r e n t r e s e t

    q u a n t i e r s i n ' b i n d d i e r e n t i n t e g r a t o r s , w h i c h c a n b e a c h i e v e d b y r e n a m i n g b o u n d v a r i a b l e s .

    I f a l l i n t e g r a t o r s i n ' h a v e t h e t y p e V , t h e n ' i s a f o r m u l a o f T c t l A C D 9 3 ] . W h e n w r i t i n g

    I c t l - f o r m u l a s , w e s u p p r e s s t h e i n t e g r a t o r t y p e V , a n d w e u s e b o o l e a n c o m b i n a t i o n s o f l o c a t i o n

    c o n s t r a i n t s f o r d e n i n g i n t e g r a t o r t y p e s . T y p i c a l a b b r e v i a t i o n s f o r I c t l - f o r m u l a s i n c l u d e t h e s t a n -

    d a r d t e m p o r a l o p e r a t o r s 8 3 ' , 9 3 ' , a n d 8 2 ' , f o r t r u e 8 U ' , t r u e 9 U ' , a n d : 9 3 : ' , r e s p e c t i v e l y .

    W e a l s o u s e t i m e - b o u n d e d t e m p o r a l o p e r a t o r s s u c h a s 8 3

    5

    ' , w h i c h s t a n d s f o r t h e I c t l - f o r m u l a

    z 8 3 ( z 5 ' ) t h a t i s , ( z : t r u e ) ( t r u e 8 U ( z 5 ' ) )

    3 . 2 S e m a n t i c s

    E v e r y c l o s e d A - f o r m u l a o f I c t l d e n e s a r e g i o n

    A

    o f t h e h y b r i d a u t o m a t o n A . T h e r e g i o n

    A

    i s c a l l e d t h e c h a r a c t e r i s t i c A - r e g i o n o f , a n d i s d e n e d i n t h r e e s t e p s . F i r s t , w e e x t e n d A t o

    a n a u t o m a t o n A

    ~z

    w h o s e d a t a v a r i a b l e s i n c l u d e t h e i n t e g r a t o r s f r o m ~z . S e c o n d , w e i n t e r p r e t o v e r

    t h e s t a t e s o f t h e e x t e n d e d a u t o m a t o n A

    ~z

    . T h i r d , w e r e l a t e t h e s t a t e s o f A

    ~z

    t o t h e s t a t e s o f A

    L e t ~z = ( z

    1

    : : : z

    m

    ) b e t h e v e c t o r o f i n t e g r a t o r s t h a t o c c u r i n t h e f o r m u l a , a n d l e t U

    1

    : : : U

    m

    b e t h e c o r r e s p o n d i n g t y p e s ( a s s p e c i e d b y ) . F r o m t h e n - d i m e n s i o n a l l i n e a r h y b r i d a u t o m a t o n

    A = ( ~ x V i n v d i f E a c t L s y n ) w e c o n s t r u c t t h e ( n + m ) - d i m e n s i o n a l ~z - e x t e n s i o n o f A a s t h e

    l i n e a r h y b r i d a u t o m a t o n A

    ~z

    = ( ~x ] ~ z V i n v d i f

    0

    E a c t L s y n ) s u c h t h a t f o r e a c h l o c a t i o n v 2 V ,

    d i f

    0

    ( v ) = d i f ( v )

    1 i m

    v 2 U

    i

    ( _z

    i

    = 1 )

    1 i m

    v 62 U

    i

    ( _z

    i

    = 0 )

    T h u s , i n e a c h l o c a t i o n v , t h e i n t e g r a t o r z

    i

    i n c r e a s e s w i t h t i m e i f v 2 U

    i

    , a n d s t a y s u n c h a n g e d i f

    v 62 U

    i

    t h e t r a n s i t i o n s o f t h e a u t o m a t o n A

    ~z

    l e a v e a l l i n t e g r a t o r v a r i a b l e s u n c h a n g e d . E a c h d a t a

    s t a t e ~s 2 R

    n + m

    o f A

    ~z

    c o n s i s t s o f a n ~x - p r o j e c t i o n ~s

    ~x

    2 R

    n

    , w h i c h i s a d a t a s t a t e o f A , a n d a ~z -

    p r o j e c t i o n ~s

    ~z

    2 R

    m

    , w h i c h a s s i g n s t o e a c h i n t e g r a t o r i n ~z a r e a l v a l u e . E a c h s t a t e = ( v ~ s ) o f A

    ~z

    ,

    t h e n , c o n s i s t s o f a s t a t e

    ~x

    = ( v ~ s

    ~x

    ) o f A , a n d a n i n t e g r a t o r v a l u a t i o n

    ~z

    = ~s

    ~z

    . I n p a r t i c u l a r ,

    A

    ~z

    =

    A

    R

    m

    T h e p r o j e c t i o n o p e r a t i o n

    ~x

    i s e x t e n d e d t o r e g i o n s a n d t r a j e c t o r i e s i n t h e n a t u r a l w a y : t h e

    ~x - p r o j e c t i o n o f t h e A

    ~z

    - r e g i o n R i s t h e A - r e g i o n t h a t c o n t a i n s t h e ~x - p r o j e c t i o n s o f a l l s t a t e s i n R

    t h e ~x - p r o j e c t i o n o f t h e d a t a t r a j e c t o r y ( ) o f A

    ~z

    i s t h e d a t a t r a j e c t o r y o f A t h a t m a p s e v e r y

    r e a l t 2 0 ] t o t h e d a t a s t a t e ( t )

    ~x

    t h e ~x - p r o j e c t i o n o f t h e A

    ~z

    - t r a j e c t o r y i s t h e A - t r a j e c t o r y

    t h a t r e s u l t s f r o m b y r e p l a c i n g a l l d a t a t r a j e c t o r i e s w i t h t h e i r ~x - p r o j e c t i o n s . N o t i c e t h a t e a c h

    t r a j e c t o r y o f A

    ~z

    i s c o m p l e t e l y d e t e r m i n e d b y t h e t r a j e c t o r y

    ~x

    o f A , a n d t h e i n i t i a l i n t e g r a t o r

    v a l u a t i o n ( 0 0 )

    ~z

    2 R

    m

    G i v e n a s e t T o f A - t r a j e c t o r i e s , t h e ~z - e x t e n s i o n T

    ~z

    c o n s i s t s o f a l l A

    ~z

    - t r a j e c t o r i e s w h o s e ~x -

    p r o j e c t i o n s a r e i n T . F o r a s t a t e o f A

    ~z

    , t h e s a t i s f a c t i o n r e l a t i o n =

    T

    i s d e n e d i n d u c t i v e l y

    o n t h e s u b f o r m u l a s o f :

    1 0

  • 7/30/2019 Automatic Symbolic Verification of Embedded Systems

    11/37

    =

    T

    i 2 ] ] , f o r a s t a t e p r e d i c a t e

    =

    T

    : ' i 6 =

    T

    '

    =

    T

    '

    1

    _ '

    2

    i =

    T

    '

    1

    o r =

    T

    '

    2

    =

    T

    '

    1

    9 U '

    2

    i f o r s o m e t r a j e c t o r y 2 T

    ~z

    w i t h ( 0 0 ) = , t h e r e i s a p o s i t i o n o f s u c h

    t h a t ( ) =

    T

    '

    2

    , a n d f o r a l l p o s i t i o n s

    0

    o f , i f

    0

    , t h e n (

    0

    ) =

    T

    '

    1

    _ '

    2

    =

    T

    '

    1

    8 U '

    2

    i f o r a l l t r a j e c t o r i e s 2 T

    ~z

    w i t h ( 0 0 ) = , t h e r e i s a p o s i t i o n o f s u c h

    t h a t ( ) =

    T

    '

    2

    , a n d f o r a l l p o s i t i o n s

    0

    o f , i f

    0

    , t h e n (

    0

    ) =

    T

    '

    1

    _ '

    2

    =

    T

    ( z : U ) ' i z : = 0 ] =

    T

    ' , w h e r e z : = 0 ] i s t h e s t a t e t h a t d i e r s f r o m a t m o s t i n

    t h e v a l u e o f z , w h i c h i s 0 .

    T h e d i s j u n c t i o n s i n t h e d e n i t i o n s o f t h e t e m p o r a l o p e r a t o r s 9 U a n d 8 U a c c o u n t f o r t h e p o s s i b i l i t y

    t h a t t h e s e c o n d a r g u m e n t '

    2

    m a y h o l d t h r o u g h o u t a l e f t - o p e n i n t e r v a l o f a t r a j e c t o r y H N S Y 9 4 ] .

    W e w r i t e

    T

    f o r t h e A

    ~z

    - r e g i o n o f a l l s t a t e s s u c h t h a t =

    T

    . S i n c e i s c l o s e d , i f =

    T

    a n d

    ~x

    =

    0

    ~x

    , t h e n

    0

    =

    T

    t h a t i s ,

    T

    = (

    T

    )

    ~x

    R

    m

    . T h e c h a r a c t e r i s t i c A - r e g i o n

    A

    i s

    d e n e d t o b e t h e ~x - p r o j e c t i o n o f t h e A

    ~z

    - r e g i o n

    A

    d i v

    ( r e c a l l t h a t A

    d i v

    i s t h e s e t o f d i v e r g e n t

    t r a j e c t o r i e s o f A ) . T h e s t a t e o f t h e a u t o m a t o n A s a t i s e s t h e f o r m u l a i f 2

    A

    3 . 3 E x a m p l e : R a i l r o a d g a t e c o n t r o l l e r

    T h e l i n e a r h y b r i d a u t o m a t o n A m e e t s t h e r e q u i r e m e n t s p e c i e d b y t h e A - f o r m u l a o f I c t l i f a l l

    a d m i s s i b l e s t a t e s o f A s a t i s f y t h a t i s ,

    A

    =

    A

    T o i l l u s t r a t e t h e u s e o f I c t l a s a s p e c i c a t i o n l a n g u a g e , r e c a l l t h e r a i l r o a d g a t e c o n t r o l l e r f r o m

    S e c t i o n 2 . 4 . T h e i n i t i a l c o n d i t i o n o f t h e s y s t e m i s g i v e n b y t h e s t a t e p r e d i c a t e

    0

    : ` = ( f a r o p e n i d l e )

    w h i c h a s s e r t s t h a t t h e t r a i n i s f a r f r o m t h e g a t e , w h i c h i s o p e n , a n d t h e c o n t r o l l e r i s i d l e . W e

    r e q u i r e t h e f o l l o w i n g p r o p e r t i e s o f t h e c o n t r o l l e r . T h e s a f e t y p r o p e r t y

    0

    ! 8 2 ( x 1 0 ! ` 2 ] = c l o s e d )

    a s s e r t s t h a t w h e n e v e r a t r a i n i s w i t h i n 1 0 m e t e r s o f t h e g a t e , t h e g a t e m u s t b e c l o s e d ( w e w r i t e

    ` i ] f o r t h e i - t h c o m p o n e n t o f t h e p r o g r a m c o u n t e r ` , s o ` 1 ] r a n g e s o v e r t h e l o c a t i o n s o f t h e t r a i n

    a u t o m a t o n , e t c . ) . S i n c e t h e s a f e t y r e q u i r e m e n t i s m e t b y a c o n t r o l l e r t h a t k e e p s t h e g a t e c l o s e d

    f o r e v e r , w e a d d t h e l i v e n e s s ( r e s p o n s e ) p r o p e r t y

    0

    ! 8 2 8 3 ( ` 2 ] = o p e n )

    t h a t t h e g a t e w i l l a l w a y s o p e n a g a i n . I n d e e d , t h i s e v e n t u a l l i v e n e s s r e q u i r e m e n t m a y n o t b e

    s a t i s f a c t o r y ( i m a g i n e y o u a r e i n a c a r w a i t i n g t o c r o s s a t a c l o s e d g a t e ! ) , s o w e m a y w i s h t o r e q u i r e

    i n s t e a d t h e s t r o n g e r t i m e - b o u n d e d r e s p o n s e p r o p e r t y

    0

    ! 8 2 8 3

    3 7

    ( ` 2 ] = o p e n )

    t h a t t h e g a t e w i l l a l w a y s o p e n w i t h i n 3 7 s e c o n d s .

    1 1

  • 7/30/2019 Automatic Symbolic Verification of Embedded Systems

    12/37

    T o d e m o n s t r a t e t h e u s e o f i n t e g r a t o r s , w e c o n s i d e r t h e a d d i t i o n a l r e q u i r e m e n t t h a t w i t h i n a n y

    t i m e i n t e r v a l l o n g e r t h a n a n h o u r , t h e g a t e m u s t b e o p e n a t l e a s t 8 0 % o f t h e t i m e . T h i s d u r a t i o n

    ( u t i l i t y ) p r o p e r t y c a n b e e x p r e s s e d i n I c t l b y t h e f o r m u l a

    0

    ! 8 2 z

    1

    ( z

    2

    : ` 2 ] = o p e n ) 8 2 ( z

    1

    3 6 0 0 ! 1 0 z

    2

    8 z

    1

    )

    H e r e z

    1

    i s a c l o c k t h a t m e a s u r e s t h e l e n g t h o f a t i m e i n t e r v a l , a n d z

    2

    i s a n i n t e g r a t o r t h a t m e a s u r e s

    t h e a c c u m u l a t e d t i m e t h a t t h e g a t e i s o p e n d u r i n g t h e i n t e r v a l m e a s u r e d b y z

    1

    4 H y b r i d A u t o m a t a a s I n n i t e - s t a t e T r a n s i t i o n S y s t e m s

    W e a n a l y z e h y b r i d a u t o m a t a b y b u i l d i n g o n t e c h n i q u e s f o r t h e a n a l y s i s o f d i s c r e t e t r a n s i t i o n s y s -

    t e m s , w h i c h m o v e i n d i s c r e t e s t e p s t h r o u g h a s t a t e s p a c e . S u p p o s e w e a r e g i v e n a l i n e a r h y b r i d

    a u t o m a t o n A . S i n c e t h e t r a j e c t o r i e s o f A m o v e c o n t i n u o u s l y t h r o u g h t h e i n n i t e s t a t e s p a c e

    A

    ,

    w e d e c o m p o s e e a c h t r a j e c t o r y i n t o a c o u n t a b l e n u m b e r o f s t e p s . E a c h s t e p r e c o r d s a t i m e d e l a y ( o f

    a r b i t r a r y n i t e d u r a t i o n ) , o r a t r a n s i t i o n o f A ( i n s t a n t a n e o u s ) .

    4 . 1 S t e p r e l a t i o n s

    S i n c e a t i m e d e l a y , o n i t s w a y f r o m a n i n i t i a l s t a t e t o a t a r g e t s t a t e , p a s s e s t h r o u g h a n i n n i t e

    n u m b e r o f i n t e r m e d i a t e s t a t e s , w e n e e d t o r e c o r d t h e r e g i o n t h a t i s v i s i t e d d u r i n g t h e d e l a y . T h i s

    l e a d s t o t h e f o l l o w i n g d e n i t i o n s o f t h e t i m e - s t e p a n d t r a n s i t i o n - s t e p r e l a t i o n s . L e t Q =

    S

    v

    ( v Q

    v

    )

    b e a r e g i o n o f A

    T i m e s t e p F o r a l l s t a t e s

    1

    = ( v

    1

    ~s

    1

    ) a n d

    2

    = ( v

    2

    ~s

    2

    ) o f A , d e n e

    1

    Q

    !

    2

    i f v

    1

    = v

    2

    , a n d t h e r e

    e x i s t s a v

    1

    - t r a j e c t o r y ( ) s u c h t h a t ( 1 ) ( 0 ) = ~s

    1

    , ( 2 ) ( ) = ~s

    2

    , a n d ( 3 ) f o r a l l r e a l s t 2 0 ,

    ( t ) 2 Q

    v

    . I n o t h e r w o r d s , ( v ~ s

    1

    )

    Q

    ! ( v ~ s

    2

    ) i i n l o c a t i o n v , s t a r t i n g f r o m t h e d a t a s t a t e ~s

    1

    ,

    i t i s p o s s i b l e t o r e a c h t h e d a t a s t a t e ~s

    2

    b y l e t t i n g t i m e p a s s , w i t h o u t l e a v i n g t h e r e g i o n Q

    I n t h i s c a s e , w e c a l l ( ) a w i t n e s s f o r t h e t i m e s t e p ( v ~ s

    1

    )

    Q

    ! ( v ~ s

    2

    ) . W e d e n e

    1

    Q

    !

    l i n

    2

    i f t h e r e i s a p i e c e w i s e - l i n e a r w i t n e s s f o r

    1

    Q

    !

    2

    a n d

    1

    Q

    !

    1

    2

    , i f t h e r e i s a l i n e a r w i t n e s s

    f o r

    1

    Q

    !

    2

    a n d

    Q

    !

    2

    =

    Q

    !

    1

    Q

    !

    1

    . C l e a r l y ,

    Q

    !

    1

    Q

    !

    2

    Q

    !

    l i n

    Q

    ! . F o r s i m p l i c i t y , w e

    w r i t e ! f o r

    A

    !

    T r a n s i t i o n s t e p F o r a l l s t a t e s

    1

    a n d

    2

    o f A , d e n e

    1

    Q

    !

    2

    i f

    1

    2

    2

    A

    \ Q , a n d t h e r e e x i s t s

    a t r a n s i t i o n e 2 E s u c h t h a t

    2

    2 a c t ( e ) ] ] (

    1

    )

    A b i n a r y r e l a t i o n

    Q

    ) o n t h e s t a t e s o f A i s Q - r e e x i v e i f ( 1 )

    1

    Q

    )

    2

    i m p l i e s

    1

    2

    2

    A

    \ Q , a n d

    ( 2 ) f o r a l l 2

    A

    \ Q , w e h a v e

    Q

    ) . T h e t i m e - s t e p r e l a t i o n

    Q

    ! i s Q - r e e x i v e b e c a u s e o f w i t n e s s

    t r a j e c t o r i e s w i t h d u r a t i o n 0 , a n d t h e t r a n s i t i o n - s t e p r e l a t i o n

    Q

    ! i s Q - r e e x i v e b e c a u s e o f s t u t t e r

    t r a n s i t i o n s .

    W e s h o w t h a t f o r l i n e a r r e g i o n s Q t h e t i m e - s t e p r e l a t i o n

    Q

    ! a n d t h e p i e c e w i s e - l i n e a r t i m e - s t e p

    r e l a t i o n

    Q

    !

    l i n

    c o i n c i d e . W e b e g i n w i t h t h e c a s e o f a c o n v e x d a t a r e g i o n Q

    L e m m a 4 . 1 L e t A b e a l i n e a r h y b r i d a u t o m a t o n , l e t v b e a l o c a t i o n o f A , a n d l e t S b e a n ( a l m o s t )

    c o n v e x d a t a r e g i o n c o n t a i n e d i n i n v ( v ) . I f t h e r e i s a v - t r a j e c t o r y ( ) s u c h t h a t ( 0 ) = ~s

    1

    2 S a n d

    ( ) = ~s

    2

    2 S , t h e n t h e r e i s a ( t w o - p i e c e ) l i n e a r v - t r a j e c t o r y (

    0

    ) s u c h t h a t

    0

    ( 0 ) = ~s

    1

    ,

    0

    ( ) = ~s

    2

    ,

    a n d

    0

    ( t ) 2 S f o r a l l t 2 0

    1 2

  • 7/30/2019 Automatic Symbolic Verification of Embedded Systems

    13/37

    P r o o f . F i r s t , c o n s i d e r t h e c a s e t h a t S i s c o n v e x . S u p p o s e t h a t ( 0 ) = ~s

    1

    a n d ( ) = ~s

    2

    . W e d e n e

    a c o n t i n u o u s f u n c t i o n

    0

    : 0 ! R

    n

    s u c h t h a t

    0

    ( t ) = ~s

    1

    + t (

    ~s

    2

    ; ~s

    1

    ) . S i n c e S i s c o n v e x a n d

    0

    i s

    l i n e a r w i t h b o t h e n d p o i n t s i n S , w e h a v e

    0

    ( t ) 2 S f o r a l l t 2 0 ] . S u p p o s e t h a t t h e r a t e p r e d i c a t e

    d i f ( v ) i s a c o n j u n c t i o n o f l i n e a r i n e q u a l i t i e s o v e r

    ~

    _x , a n d l e t ( c

    0

    ~c

    ~

    _x ) b e o n e o f i t s c o n j u n c t s , w h e r e

    2 f < g a n d ~c

    ~

    _x i s t h e i n n e r p r o d u c t o f a c o n s t a n t v e c t o r ~c a n d v e c t o r

    ~

    _x . F o r a l l t 2 t

    i

    t

    i + 1

    ,

    c

    0

    ~c

    d ( ~x ) ( t )

    d t

    . I n t e g r a t i n g b o t h s i d e s o f t h e a b o v e i n e q u a l i t y f r o m 0 t o , w e g e t c

    0

    ~c ( ~s

    2

    ; ~s

    1

    )

    T h i s g i v e s c

    0

    ~c

    d ( ~x ) ( t )

    d t

    f o r a l l t 2 ( 0 ) , a n d h e n c e ,

    d ( ~x ) ( t )

    d t

    2 d i f ( v ) ] ] f o r a l l t 2 ( 0 ) . T h u s ,

    0

    i s t h e d e s i r e d l i n e a r v - t r a j e c t o r y .

    I f S i s n o t c o n v e x , b u t a l m o s t c o n v e x , t h e n t h e r e i s a l i n e a r v - t r a j e c t o r y f r o m ~s

    1

    t o s o m e d a t a

    s t a t e ~s

    3

    i n t h e i n t e r i o r o f S , a n d a l i n e a r v - t r a j e c t o r y f r o m ~s

    3

    t o ~s

    1

    W e n o w p r o c e e d t o t h e g e n e r a l c a s e . L e t p b e a d a t a p r e d i c a t e i n t h e d i s j u n c t i v e n o r m a l f o r m

    p = p

    1

    _ _ p

    k

    , w i t h e a c h d i s j u n c t p

    i

    o f t h e f o r m

    V

    j

    ( a

    j

    0 ) f o r l i n e a r t e r m s a

    j

    . F o r e a c h i , l e t p

    0

    i

    b e t h e d a t a p r e d i c a t e r e s u l t i n g f r o m t h e d a t a p r e d i c a t e p

    i

    b y r e p l a c i n g e a c h s t r i c t i n e q u a l i t y a

    j

    > 0

    o r a

    j

    0 . W i t h o u t

    l o s s o f g e n e r a l i t y a s s u m e t h a t Q

    v

    i n v ( v ) ] ] , a n d Q

    v

    i s r e p r e s e n t e d b y a l i n e a r d a t a p r e d i c a t e p

    i n d i s j u n c t i v e n o r m a l f o r m .

    L e t 0 = t

    0

    < t

    1

    < t

    2

  • 7/30/2019 Automatic Symbolic Verification of Embedded Systems

    14/37

    t h e n d e n e t h e A - p r e c o n d i t i o n p r e

    Q

    A

    ( R ) t o b e t h e u n i o n p r e

    Q

    !

    ( R ) p r e

    Q

    !

    ( R ) . I f d e n e s Q , a n d

    d e n e s R , t h e n p r e

    Q

    A

    ( R ) i s d e n e d b y t h e s t a t e p r e d i c a t e

    p r e

    A

    ( ) = p r e

    !

    ( ) _ p r e

    !

    ( )

    I n t h e f o l l o w i n g , s u p p o s e t h a t Q =

    S

    v

    ( v Q

    v

    ) a n d R =

    S

    v

    ( v R

    v

    ) . L e t =

    S

    v

    ( v q

    v

    ) b e a s t a t e

    p r e d i c a t e s u c h t h a t f o r e a c h l o c a t i o n v o f A , q

    v

    = Q

    v

    , a n d l e t =

    S

    v

    ( v r

    v

    ) b e a s t a t e p r e d i c a t e

    s u c h t h a t f o r e a c h l o c a t i o n v o f A , r

    v

    = R

    v

    T i m e p r e c o n d i t i o n

    W e w r i t e p r e

    Q

    v

    !

    ( v R

    v

    ) f o r t h e d a t a r e g i o n s u c h t h a t f r o m a n y s t a t e i n t h e r e g i o n ( v p r e

    Q

    v

    !

    ( v R

    v

    ) )

    a s t a t e i n t h e r e g i o n ( v R

    v

    ) c a n b e r e a c h e d i n a s i n g l e

    Q

    ! - s t e p . W e s h o w t h a t t h e d a t a r e g i o n

    p r e

    Q

    v

    !

    ( v R

    v

    ) i s l i n e a r b y c o n s t r u c t i n g f r o m q

    v

    a n d r

    v

    a d a t a p r e d i c a t e p r e

    q

    v

    !

    ( v r

    v

    ) t h a t d e n e s t h e

    d a t a r e g i o n p r e

    Q

    v

    !

    ( v R

    v

    ) . T h e n

    p r e

    !

    ( ) =

    v 2 V

    ( v p r e

    q

    v

    !

    ( v r

    v

    ) )

    T h e c o n s t r u c t i o n o f p r e

    q

    v

    !

    ( v r

    v

    ) p r o c e e d s i n t w o s t e p s . F i r s t w e c o n s t r u c t a d a t a p r e d i c a t e p r e

    t r u e

    !

    ( v r

    v

    ) ,

    a n d t h e n w e a p p l y t h e p r e c o n d i t i o n o p e r a t o r p r e

    t r u e

    !

    r e p e a t e d l y t o c o n s t r u c t t h e d a t a p r e d i c a t e

    p r e

    q

    v

    !

    ( v r

    v

    )

    L e m m a 4 . 2 L e t A b e a l i n e a r h y b r i d a u t o m a t o n , l e t v b e a l o c a t i o n o f A , a n d l e t r

    v

    b e a d a t a

    p r e d i c a t e o f A . D e n e

    p r e

    t r u e

    !

    ( v r

    v

    ) = i n v ( v ) ( 9 0 9

    ~

    d d i f ( v )

    ~

    _x : =

    ~

    d ( r

    v

    i n v ( v ) ) ~x : = ~x +

    ~

    d )

    T h e n p r e

    t r u e

    !

    ( v r

    v

    ) ] ] = p r e

    i n v ( v )

    !

    ( v r

    v

    ) . T h i s h o l d s e v e n i f t h e i n v a r i a n t o f v d e n e s a n a l m o s t

    c o n v e x ( r a t h e r t h a n c o n v e x ) l i n e a r r e g i o n .

    P r o o f . A d a t a s t a t e ~s s a t i s e s p r e

    t r u e

    !

    ( v r

    v

    ) i ~s i s i n i n v ( v ) ] ] a n d t h e r e i s a v - t r a j e c t o r y ( )

    s u c h t h a t ( 0 ) = ~s a n d ( ) 2 R

    v

    . B y L e m m a 1 , w e c a n a s s u m e t h a t ( ) i s t w o - p i e c e l i n e a r .

    S i n c e i n v ( v ) ] ] i s a l m o s t c o n v e x , w e c a n a s s u m e t h a t ( ) i s l i n e a r . H e n c e , i t s u c e s t o c h e c k t h a t

    t h e r e e x i s t a d u r a t i o n a n d a s l o p e v e c t o r

    ~

    d s u c h t h a t

    ~

    d s a t i s e s t h e r a t e p r e d i c a t e d i f ( v ) , t h e

    i n i t i a l v a l u e s ~s s a t i s f y t h e i n v a r i a n t i n v ( v ) , a n d t h e n a l v a l u e s ~s +

    ~

    d s a t i s f y t h e c o n j u n c t i o n

    i n v ( v ) r

    v

    T h e f o r m u l a p r e

    t r u e

    !

    ( v r

    v

    ) o f L e m m a 4 . 2 c o n t a i n s t h e v e c t o r

    ~

    d o f v a r i a b l e p r o d u c t s , w h i c h g i v e s

    r i s e t o n o n l i n e a r t e r m s . W e t h e r e f o r e r e p l a c e t h e v e c t o r

    ~

    d o f v a r i a b l e p r o d u c t s b y a v e c t o r ~ c o f

    v a r i a b l e s . L e t d i f ( v ) b e t h e r a t e p r e d i c a t e t h a t r e s u l t s f r o m m u l t i p l y i n g e a c h c o n s t a n t o f t h e r a t e

    p r e d i c a t e d i f ( v ) b y t h e v a r i a b l e . F o r e x a m p l e , i f r i s t h e r a t e p r e d i c a t e _x

    1

    3 _x

    2

    + 6 _x

    3

    = 1 ,

    t h e n r i s t h e r a t e p r e d i c a t e _x

    1

    3 _x

    2

    + 6 _x

    3

    = . T h e n t h e f o r m u l a

    i n v ( v ) ( 9 0 9

    ~

    d d i f ( v )

    ~

    _x : =

    ~

    d ( r

    v

    i n v ( v ) ) ~x : = ~x +

    ~

    d )

    i s e q u i v a l e n t t o t h e f o r m u l a

    i n v ( v ) ( 9 0 9 ~c ( d i f ( v ) )

    ~

    _x : = ~c ( r

    v

    i n v ( v ) ) ~x : = ~x + ~c )

    T h e n e x t p r o p o s i t i o n f o l l o w s .

    1 4

  • 7/30/2019 Automatic Symbolic Verification of Embedded Systems

    15/37

    xx x

    yy

    f o r 1 x 2 1 y 2f o r _x = 1 y = 2

    r

    v

    r

    v

    r

    v

    p r e

    t r u e

    !

    ( v r

    v

    )

    r

    v

    y

    p r e

    t r u e

    !

    ( v r

    v

    )

    F i g u r e 2 : T h e t i m e - p r e c o n d i t i o n o p e r a t o r p r e

    t r u e

    !

    P r o p o s i t i o n 4 . 1 L e t A b e a l i n e a r h y b r i d a u t o m a t o n , l e t v b e a l o c a t i o n o f A , a n d l e t r

    v

    b e a d a t a

    p r e d i c a t e o f A . D e n e

    p r e

    t r u e

    !

    ( v r

    v

    ) = i n v ( v ) ( 9 0 9 ~c ( d i f ( v ) )

    ~

    _x : = ~c ( r

    v

    i n v ( v ) ) ~x : = ~x + ~c )

    T h e n p r e

    t r u e

    !

    ( v r

    v

    ) ] ] = p r e

    i n v ( v )

    !

    ( v r

    v

    )

    T h e f o r m u l a p r e

    t r u e

    !

    ( v r

    v

    ) i s a f o r m u l a o f t h e r s t - o r d e r t h e o r y ( R + ) o f t h e r e a l s w i t h a d d i t i o n .

    S i n c e t h i s t h e o r y a d m i t s q u a n t i e r e l i m i n a t i o n , t h e f o r m u l a p r e

    t r u e

    !

    ( v r

    v

    ) i s e q u i v a l e n t t o a d a t a

    p r e d i c a t e . T h e q u a n t i e r - e l i m i n a t i o n p r o c e d u r e u s e d b y H y T e c h i s d i s c u s s e d i n S e c t i o n 6 . 1 .

    E x a m p l e . L e t u s c o n s i d e r t w o e x a m p l e s o f c o m p u t i n g t h e d a t a p r e d i c a t e p r e

    t r u e

    !

    ( v r

    v

    ) u s i n g

    P r o p o s i t i o n 4 . 1 . F i r s t , s u p p o s e t h a t t h e l i n e a r h y b r i d a u t o m a t o n A h a s t w o d a t a v a r i a b l e s , x

    a n d y , t h e i n v a r i a n t i n v ( v ) = ( y 0 ) , a n d t h e a c t i v i t y d i f ( v ) = ( _x = 1 _y = 2 ) f o r t h e l o c a t i o n v

    C o n s i d e r t h e d a t a p r e d i c a t e r

    v

    = ( 1 x 2 2 y 3 ) ( s e e t h e l e f t o f F i g u r e 2 ) . T h e n ,

    a c c o r d i n g t o P r o p o s i t i o n 4 . 1 ,

    p r e

    t r u e

    !

    ( v r

    v

    ) = ( y 0 ( 9 0 9 c

    1

    c

    2

    c

    1

    = c

    2

    = 2 1 x + c

    1

    2 2 y + c

    2

    3 ) )

    E l i m i n a t i n g t h e e x i s t e n t i a l q u a n t i e r s i n s i d e o u t , w e o b t a i n

    p r e

    t r u e

    !

    ( v r

    v

    ) = ( y 0 ( 9 0 1 x + 2 2 y + 2 3 ) )

    a n d , n a l l y , t h e d a t a p r e d i c a t e

    p r e

    t r u e

    !

    ( v r

    v

    ) = ( x 2 0 y 3 ^ ; 2 y ; 2 x 1 )

    ( s e e F i g u r e 2 ) . S e c o n d , s u p p o s e t h a t t h e a c t i v i t y d i f ( v ) o f t h e l o c a t i o n v i s 1 _x 2 1 _y 2

    T h e n , a c c o r d i n g t o P r o p o s i t i o n 4 . 1 ,

    p r e

    t r u e

    !

    ( v r

    v

    ) = ( y 0 ( 9 0 9 c

    1

    c

    2

    c

    1

    2 c

    2

    2 1 x + c

    1

    2 2 y + c

    2

    3 ) )

    E l i m i n a t i n g t h e e x i s t e n t i a l q u a n t i e r s , w e o b t a i n

    p r e

    t r u e

    !

    ( v r

    v

    ) = ( y 0 ( 9 0 1 ; x 2 2 ; y 2 2 ; x 3 ; y ) )

    a n d t h e e q u i v a l e n t d a t a p r e d i c a t e

    p r e

    t r u e

    !

    ( v r

    v

    ) = ( x 2 0 y 3 2 x ; y 2 2 y ; x 5 )

    1 5

  • 7/30/2019 Automatic Symbolic Verification of Embedded Systems

    16/37

    r

    v

    p

    2

    p

    1

    s

    0

    s

    1

    s

    2

    F i g u r e 3 : T h e t i m e - p r e c o n d i t i o n o p e r a t o r p r e

    q

    v

    !

    ( s e e F i g u r e 2 ) .

    W e n o w r e d u c e t h e c o n s t r u c t i o n o f t h e d a t a p r e d i c a t e p r e

    q

    v

    !

    ( v r

    v

    ) t o a s e q u e n c e o f a p p l i c a t i o n s o f

    t h e p r e c o n d i t i o n o p e r a t o r p r e

    t r u e

    !

    d e n e d i n P r o p o s i t i o n 4 . 1 . W e p r o c e e d i n t h r e e s t e p s . F i r s t , l e t

    v

    0

    b e a n e w , c t i t i o u s l o c a t i o n w i t h t h e i n v a r i a n t i n v ( v

    0

    ) = ( i n v ( v ) q

    v

    ) a n d t h e a c t i v i t y d i f ( v )

    T h e n

    p r e

    Q

    v

    !

    ( v R

    v

    ) = p r e

    i n v ( v )

    !

    ( v

    0

    R

    v

    )

    T h e i n v a r i a n t i n v ( v

    0

    ) , h o w e v e r , m a y n o t b e ( a l m o s t ) c o n v e x , i n w h i c h c a s e w e c a n n o t c o m p u t e t h e

    d a t a p r e d i c a t e p r e

    t r u e

    !

    ( v

    0

    r

    v

    ) u s i n g P r o p o s i t i o n 4 . 1 .

    S o , s e c o n d , w e s p l i t t h e l o c a t i o n v

    0

    i n t o s e v e r a l l o c a t i o n s w i t h a l m o s t c o n v e x i n v a r i a n t s . L e t

    p

    1

    : : : p

    k

    b e t h e p r e d i c a t e s t h a t d e n e t h e p a t c h e s o f t h e d a t a p r e d i c a t e i n v ( v

    0

    ) t h a t i s , i n v ( v

    0

    ) =

    p

    1

    _ _ p

    k

    . W e s p l i t v

    0

    i n t o t h e s e t V

    0

    = f v

    0

    1

    : : : v

    0

    k

    g o f n e w , c t i t i o u s l o c a t i o n s v

    0

    i

    s u c h t h a t f o r

    a l l 1 i k , t h e i n v a r i a n t i n v ( v

    0

    i

    ) i s p

    i

    , a n d t h e a c t i v i t y d i f ( v

    0

    i

    ) i s d i f ( v ) . L e t

    p r e

    !

    ( V

    0

    R

    v

    ) =

    v 2 V

    p r e

    i n v ( v )

    !

    ( v

    0

    i

    R

    v

    )

    T h e n t h e d a t a p r e d i c a t e p r e

    !

    ( V

    0

    r

    v

    ) t h a t d e n e s t h e d a t a r e g i o n p r e

    !

    ( V

    0

    R

    v

    ) c a n b e c o n s t r u c t e d

    u s i n g P r o p o s i t i o n 4 . 1 a n d d i s j u n c t i o n .

    A s i n g l e

    Q

    ! - s t e p , h o w e v e r , m a y p r o c e e d f r o m t h e d a t a r e g i o n p r e

    Q

    v

    !

    ( v R

    v

    ) t o t h e d a t a r e g i o n

    R

    v

    t h r o u g h m o r e t h a n o n e o f t h e p a t c h e s o f i n v ( v

    0

    ) . S i n c e t h e r e a r e k d i e r e n t p a t c h e s , i t w i l l

    s u c e t o i t e r a t e t h e p r e c o n d i t i o n p r e

    !

    ( V

    0

    R

    v

    ) k t i m e s . S o , t h i r d , w e d e n e a s e q u e n c e o f k d a t a

    r e g i o n s , R

    0

    t o R

    k

    , s u c h t h a t R

    0

    = R

    v

    a n d f o r a l l 1 j k , R

    j

    = p r e

    !

    ( V

    0

    R

    j ; 1

    ) . L e t q

    0

    : : : q

    k

    b e t h e s e q u e n c e o f c o r r e s p o n d i n g d a t a p r e d i c a t e s t h a t i s , f o r a l l 0 j k , q

    j

    = R

    j

    . T h e n e x t

    p r o p o s i t i o n s h o w s t h a t R

    k

    = p r e

    i n v ( v )

    !

    ( v

    0

    R

    v

    ) . T h u s t h e d a t a p r e d i c a t e p r e

    q

    v

    !

    ( v r

    v

    ) = q

    k

    d e n e s

    t h e d a t a r e g i o n p r e

    Q

    v

    !

    ( v R

    v

    )

    P r o p o s i t i o n 4 . 2 L e t A b e a l i n e a r h y b r i d a u t o m a t o n , l e t v b e a l o c a t i o n o f A , a n d l e t q

    v

    a n d r

    v

    b e

    t w o d a t a p r e d i c a t e s o f A . L e t f p

    1

    : : : p

    k

    g b e t h e d a t a p r e d i c a t e s d e n i n g t h e p a t c h e s o f i n v ( v ) q

    v

    L e t V

    0

    = f v