Topics in Timed Automata B. Srivathsan RWTH-Aachen Software modeling and Verification group 1/34
System Specification L ( A ) ⊆ L ( B ) L ( A ) ∩ L ( B ) empty? Is 2/34
System Specification L ( A ) ⊆ L ( B ) L ( A ) ∩ L ( B ) empty? Is first determinize B 2/34
Lecture 2: Determinizing timed automata 3/34
a a q q a 4/34
a a q q a 4/34
a a q q a a , g 1 R 1 q a , g 2 R 2 4/34
a a q q a a , g 1 R 1 g 1 and g 2 should be q mutually exclusive a , g 2 R 2 For every ( q , v ) there is only one choice 4/34
Deterministic Timed Automata . . . g i ∧ g j is a , g 1 R 1 unsatisfiable a , g 2 . . . R 2 . q . . . . . a , g k complete if R k g 1 ∨ g 2 ∨ . . . g k = ⊤ . . . A theory of timed automata R. Alur and D. Dill, TCS’90 5/34
Deterministic Timed Automata . . . g i ∧ g j is a , g 1 R 1 unsatisfiable a , g 2 . . . R 2 . q . . . . . a , g k complete if R k g 1 ∨ g 2 ∨ . . . g k = ⊤ . . . + single initial state A theory of timed automata R. Alur and D. Dill, TCS’90 5/34
Deterministic Timed Automata . . . g i ∧ g j is a , g 1 R 1 unsatisfiable a , g 2 . . . R 2 . q . . . . . a , g k complete if R k g 1 ∨ g 2 ∨ . . . g k = ⊤ . . . + single initial state Unique run A DTA has a unique run on every timed word A theory of timed automata R. Alur and D. Dill, TCS’90 5/34
x = 1 , a x = 1 , a q 0 q 1 a DTA { x } { x } a a a a x = 1 , a q 0 q 1 q 2 not a DTA { x } 6/34
q q ′ a , g 1 a , g 2 a , g ′ a , g ′ 1 2 R ′ R ′ R 1 R 2 1 2 s t s ′ t ′ q , q ′ g 1 ∧ g ′ g 2 ∧ g ′ 1 2 g 1 ∧ g ′ g 2 ∧ g ′ R 1 ∪ R ′ R 2 ∪ R ′ 1 2 1 2 R 1 ∪ R ′ R 2 ∪ R ′ 2 1 s , s ′ s , t ′ t , s ′ t , t ′ ( q F , ⋆ ) and ( ⋆, q ′ Accepting states: F ) for union ( q F , q ′ F ) for intersection 7/34
q q ′ unique choice unique choice a , g 1 a , g 2 a , g ′ a , g ′ 1 2 R ′ R ′ R 1 R 2 1 2 s t s ′ t ′ q , q ′ ⇒ unique choice g 1 ∧ g ′ g 2 ∧ g ′ 1 2 g 1 ∧ g ′ g 2 ∧ g ′ R 1 ∪ R ′ R 2 ∪ R ′ 1 2 1 2 R 1 ∪ R ′ R 2 ∪ R ′ 2 1 s , s ′ s , t ′ t , s ′ t , t ′ ( q F , ⋆ ) and ( ⋆, q ′ Accepting states: F ) for union ( q F , q ′ F ) for intersection 7/34
Theorem DTA are closed under union and intersection 8/34
Complementation Unique run A DTA has a unique run on every timed word ⇒ DTA are closed under complement (interchange accepting and non-accepting states) 9/34
Every DTA is a TA: L ( DTA ) ⊆ L ( TA ) But there is a TA that cannot be complemented ( Lecture 1 ) L ( DTA ) ⊂ L ( TA ) ∴ 10/34
DTA Unique run Closed under ∪ , ∩ , comp. L ( DTA ) ⊂ L ( TA ) 11/34
Given a TA, when do we know if we can determinize it? 12/34
Given a TA, when do we know if we can determinize it? Theorem [Finkel’06] Given a TA, checking if it can be determinized is undecidable 12/34
Given a TA, when do we know if we can determinize it? Theorem [Finkel’06] Given a TA, checking if it can be determinized is undecidable Following next: some sufficient conditions for determinizing 12/34
q q a a a s t { s , t } 13/34
q q a a a s t { s , t } q a , g 1 a , g 2 s t 13/34
q q a a a s t { s , t } q q a a g 1 ∧ g 2 ¬ g 1 ∧ ¬ g 2 a a a , g 1 a , g 2 g 1 ∧ ¬ g 2 ¬ g 1 ∧ g 2 s t { s , t } { s } { t } {} 13/34
q q a a a s t { s , t } q q a a g 1 ∧ g 2 ¬ g 1 ∧ ¬ g 2 a a a , g 1 a , g 2 g 1 ∧ ¬ g 2 ¬ g 1 ∧ g 2 { x } s t { s , t } { s } { t } {} 13/34
q q a a a s t { s , t } q q a a g 1 ∧ g 2 ¬ g 1 ∧ ¬ g 2 a a a , g 1 a , g 2 g 1 ∧ ¬ g 2 ¬ g 1 ∧ g 2 { x } s t { s , t } { s } { t } {} To reset or not to reset ? 13/34
q q a a a s t { s , t } q q a a g 1 ∧ g 2 ¬ g 1 ∧ ¬ g 2 a a a , g 1 a , g 2 g 1 ∧ ¬ g 2 ¬ g 1 ∧ g 2 { x } s t { s , t } { s } { t } {} First solution: To reset or not to reset ? Whenever a , reset x a 13/34
Event-recording clocks: time since last occurence of event a �→ x a a a a b b b 0 0.5 1 2 2.8 4 5 6 6.5 7 x a 0 1.5: 0 0.8 2: 0 1 2.5 ⊥ x b 0 1.2 2.2: 0 1.5: 0 ⊥ ⊥ ⊥ Event-clock automata: a determinizable subclass of timed automata Alur, Henzinger, Fix. TCS’99 14/34
Event-recording automata { ( ( abcd ) k , τ ) | a − c distance is < 1 and b − d distance is > 2 } a q 0 q 1 x b > 2 d b c q 3 q 2 x a < 1 { ( ab ∗ b , τ ) | distance between first and last letters is 1 } b a b q 0 q 1 q 2 x a = 1 15/34
Event-recording automata { ( ( abcd ) k , τ ) | a − c distance is < 1 and b − d distance is > 2 } a q 0 q 1 x b > 2 d b c q 3 q 2 x a < 1 { ( ab ∗ b , τ ) | distance between first and last letters is 1 } b non-deterministic a b q 0 q 1 q 2 x a = 1 15/34
Determinizing ERA: modified subset construction q q a a g 1 ∧ g 2 ¬ g 1 ∧ ¬ g 2 a a a , g 1 a , g 2 g 1 ∧ ¬ g 2 ¬ g 1 ∧ g 2 s t { s , t } { s } { t } {} exponential in the number of states 16/34
Determinizable DTA subclasses Unique run ERA Closed under ∪ , ∩ , comp. L ( DTA ) ⊂ L ( TA ) 17/34
q q a a g 1 ∧ g 2 a a ¬ g 1 ∧ ¬ g 2 a , g 1 a , g 2 g 1 ∧ ¬ g 2 ¬ g 1 ∧ g 2 { x } s { s , t } { s } { t } t {} To reset or not to reset ? 18/34
q q a a g 1 ∧ g 2 a a ¬ g 1 ∧ ¬ g 2 a , g 1 a , g 2 g 1 ∧ ¬ g 2 ¬ g 1 ∧ g 2 { x } s { s , t } { s } { t } t {} To reset or not to reset ? Coming next: slightly modified version of BBBB-09 When are timed automata determinizable? Baier, Bertrand, Bouyer, Brihaye. ICALP’09 18/34
q a , g 1 a , g 2 { x } s t q a a g 1 ∧ g 2 ¬ g 1 ∧ ¬ g 2 a a g 1 ∧ ¬ g 2 ¬ g 1 ∧ g 2 { ( s , ) , ( t , ) } { ( s , ) } { ( t , ) } {} 19/34
q a , g 1 a , g 2 { x } s t q a a g 1 ∧ g 2 ¬ g 1 ∧ ¬ g 2 a a g 1 ∧ ¬ g 2 ¬ g 1 ∧ g 2 { z } { z } { z } { z } { ( s , ) , ( t , ) } { ( s , ) } { ( t , ) } {} 19/34
q a , g 1 a , g 2 { x } s t q a a g 1 ∧ g 2 ¬ g 1 ∧ ¬ g 2 a a g 1 ∧ ¬ g 2 ¬ g 1 ∧ g 2 { z } { z } { z } { z } { ( s , x : z ) , ( t , x : x ) } { ( s , x : z ) } { ( t , x : x ) } {} 19/34
q a , g 1 a , g 2 { x } s t q a , x ≤ 5 a , x > 2 a a g 1 ∧ g 2 ¬ g 1 ∧ ¬ g 2 a a g 1 ∧ ¬ g 2 ¬ g 1 ∧ g 2 { z } { z } { z } { z } { ( s , x : z ) , ( t , x : x ) } { ( s , x : z ) } { ( t , x : x ) } {} 19/34
q a , g 1 a , g 2 { x } s t q a , x ≤ 5 a , x > 2 a a g 1 ∧ g 2 ¬ g 1 ∧ ¬ g 2 a a g 1 ∧ ¬ g 2 ¬ g 1 ∧ g 2 { z } { z } { z } { z } { ( s , x : z ) , ( t , x : x ) } { ( s , x : z ) } { ( t , x : x ) } {} z ≤ 5 ∧ z > 5 ∧ x > 2 x ≤ 2 z ≤ 5 ∧ z > 5 ∧ x ≤ 2 x > 2 19/34
z 0 z 1 z 2 . . . z i . . . Reset a new clock z i at level i 20/34
z 0 z 1 { ( q 1 , σ 1 ) , ( q 2 , σ 2 ) , . . . , ( q k , σ k ) } z 2 . σ j : X �→ { z 0 , . . . , z i } . . z i . . . Reset a new clock z i at level i 20/34
z 0 z 1 { ( q 1 , σ 1 ) , ( q 2 , σ 2 ) , . . . , ( q k , σ k ) } z 2 . σ j : X �→ { z 0 , . . . , z i } . . When do finitely many clocks suffice ? z i . . . Reset a new clock z i at level i 20/34
Integer reset timed automata a , g q 1 q 2 R Conditions: ◮ g has integer constants ◮ R is non-empty iff g has some constraint x = c Implication: ◮ Along a timed word, a reset of an IRTA happens only at integer timestamps Timed automata with integer resets: Language inclusion and expressiveness Suman, Pandya, Krishna, Manasa. FORMATS’08 21/34
x = 1 , a x = 1 , a q 0 q 1 an IRTA { x } { x } a a a a x = 1 , a q 0 q 1 q 2 not an IRTA { x } 22/34
x = 1 , a x = 1 , a q 0 q 1 an IRTA { x } { x } a a a a x = 1 , a q 0 q 1 q 2 not an IRTA { x } Next: determinizing IRTA using the subset construction 22/34
M: max constant from among guards z i 1 . . . z i 2 . . . . . . z i k . . . z i 1 z i 2 . . . z i k active clocks assume the semantics of timed word ( w , τ ) such that τ 1 < τ 2 < · · · < τ k ◮ If k ≥ M + 1 , then z i 1 > M (as reset is only in integers) ◮ Replace z i 1 with ⊥ and reuse z i 1 further 23/34
Determinizable DTA subclasses Unique run ERA Closed under ∪ , ∩ , comp. IRTA L ( DTA ) ⊂ L ( TA ) 24/34
z 0 z 1 { ( q 1 , σ 1 ) , ( q 2 , σ 2 ) , . . . , ( q k , σ k ) } z 2 . σ j : X �→ { z 0 , . . . , z i } . . When do finitely many clocks suffice ? z i . . . Reset a new clock z i at level i 25/34
Strongly non-Zeno automata A TA is strongly non-Zeno if there is K ∈ N : every sequence of greater than K transitions elapses at least 1 time unit x < 1 , a x = 1 , a x = 1 , a x = 1 , a q 0 q 1 q 0 q 1 { x } { x } not SNZ SNZ 26/34
Theorem Finitely many clocks suffice in the subset construction for strongly non-Zeno automata (The number of clocks depends on size of region automaton...) When are timed automata determinizable? Baier, Bertrand, Bouyer, Brihaye. ICALP’09 27/34
Complexity of subset construction { ( q 1 , σ 1 ) , ( q 2 , σ 2 ) . . . ( q k , σ k ) } σ j : X �→ { z 0 , . . . , z p − 1 } 28/34
Recommend
More recommend