Topics in Timed Automata
- B. Srivathsan
RWTH-Aachen
Software modeling and Verification group
1/34
Topics in Timed Automata B. Srivathsan RWTH-Aachen Software - - PowerPoint PPT Presentation
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 )
RWTH-Aachen
Software modeling and Verification group
1/34
2/34
2/34
3/34
q
a a
q
a
4/34
q
a a
q
a
4/34
q
a a
q
a
q R1 R2
a, g1 a, g2
4/34
q
a a
q
a
q R1 R2
a, g1 a, g2 g1 and g2 should be mutually exclusive
4/34
q
a, g1
R1
a, g2
R2
a, gk
Rk
A theory of timed automata
5/34
q
a, g1
R1
a, g2
R2
a, gk
Rk
A theory of timed automata
5/34
q
a, g1
R1
a, g2
R2
a, gk
Rk
A theory of timed automata
5/34
q0 q1 x = 1, a {x} x = 1, a {x}
q0 q1 q2 a {x} x = 1, a a a a
6/34
q s t
a, g1
R1
a, g2
R2
q′ s′ t′
a, g′
1
R′
1
a, g′
2
R′
2
q, q′ s, s′ s, t′ t, s′ t, t′ g1 ∧ g′
1 R1 ∪ R′
1
g1 ∧ g′
2 R1 ∪ R′
2
g2 ∧ g′
1 R2 ∪ R′
1
g2 ∧ g′
2 R2 ∪ R′
2
F) for union
F) for intersection
7/34
q s t
a, g1
R1
a, g2
R2
q′ s′ t′
a, g′
1
R′
1
a, g′
2
R′
2
q, q′ s, s′ s, t′ t, s′ t, t′ g1 ∧ g′
1 R1 ∪ R′
1
g1 ∧ g′
2 R1 ∪ R′
2
g2 ∧ g′
1 R2 ∪ R′
1
g2 ∧ g′
2 R2 ∪ R′
2
F) for union
F) for intersection
unique choice unique choice ⇒ unique choice
7/34
8/34
(interchange accepting and non-accepting states)
9/34
10/34
11/34
12/34
12/34
12/34
q s t
a a
q {s, t}
a
13/34
q s t
a a
q {s, t}
a
q s t
a, g1 a, g2
13/34
q s t
a a
q {s, t}
a
q s t
a, g1 a, g2
q {s, t} {s} {t} {} g1 ∧ g2 g1 ∧ ¬g2 ¬g1 ∧ g2 ¬g1 ∧ ¬g2 a a a a
13/34
q s t
a a
q {s, t}
a
q s t
a, g1 a, g2
q {s, t} {s} {t} {} g1 ∧ g2 g1 ∧ ¬g2 ¬g1 ∧ g2 ¬g1 ∧ ¬g2 a a a a
{x}
13/34
q s t
a a
q {s, t}
a
q s t
a, g1 a, g2
q {s, t} {s} {t} {} g1 ∧ g2 g1 ∧ ¬g2 ¬g1 ∧ g2 ¬g1 ∧ ¬g2 a a a a
{x}
13/34
q s t
a a
q {s, t}
a
q s t
a, g1 a, g2
q {s, t} {s} {t} {} g1 ∧ g2 g1 ∧ ¬g2 ¬g1 ∧ g2 ¬g1 ∧ ¬g2 a a a a
{x}
13/34
1 2 4 5 6 7 0.5 2.8 6.5
a a a b b b
1.5: 2: 0.8 1 2.5 ⊥ ⊥ ⊥ ⊥ 1.2 2.2: 1.5:
Event-clock automata: a determinizable subclass of timed automata Alur, Henzinger, Fix. TCS’99
14/34
q0 q1 q2 q3
a b c d xa < 1 xb > 2
{ ( (abcd)k, τ ) | a − c distance is < 1 and b − d distance is > 2} q0 q1 q2
a b b xa = 1
{ (ab∗b, τ) | distance between first and last letters is 1}
15/34
q0 q1 q2 q3
a b c d xa < 1 xb > 2
{ ( (abcd)k, τ ) | a − c distance is < 1 and b − d distance is > 2} q0 q1 q2
a b b xa = 1
{ (ab∗b, τ) | distance between first and last letters is 1}
15/34
q s t
a, g1 a, g2
q {s, t} {s} {t} {} g1 ∧ g2 g1 ∧ ¬g2 ¬g1 ∧ g2 ¬g1 ∧ ¬g2 a a a a
16/34
17/34
q s t
a, g1 a, g2
q {s, t} {s} {t} {} g1 ∧ g2 g1 ∧ ¬g2 ¬g1 ∧ g2 ¬g1 ∧ ¬g2 a a a a
{x}
18/34
q s t
a, g1 a, g2
q {s, t} {s} {t} {} g1 ∧ g2 g1 ∧ ¬g2 ¬g1 ∧ g2 ¬g1 ∧ ¬g2 a a a a
{x}
When are timed automata determinizable?
Baier, Bertrand, Bouyer, Brihaye. ICALP’09 18/34
q s t
{x} a, g1 a, g2
q {(s, ), (t, )} {(s, )} {(t, )} {} g1 ∧ g2 g1 ∧ ¬g2 ¬g1 ∧ g2 ¬g1 ∧ ¬g2 a a a a
19/34
q s t
{x} a, g1 a, g2
q {(s, ), (t, )} {(s, )} {(t, )} {} g1 ∧ g2 g1 ∧ ¬g2 ¬g1 ∧ g2 ¬g1 ∧ ¬g2 a a a a {z} {z} {z} {z}
19/34
q s t
{x} a, g1 a, g2
q {(s, x : z), (t, x : x)} {(s, x : z)} {(t, x : x)} {} g1 ∧ g2 g1 ∧ ¬g2 ¬g1 ∧ g2 ¬g1 ∧ ¬g2 a a a a {z} {z} {z} {z}
19/34
q s t
{x} a, g1 a, g2 a, x ≤ 5 a, x > 2
q {(s, x : z), (t, x : x)} {(s, x : z)} {(t, x : x)} {} g1 ∧ g2 g1 ∧ ¬g2 ¬g1 ∧ g2 ¬g1 ∧ ¬g2 a a a a {z} {z} {z} {z}
19/34
q s t
{x} a, g1 a, g2 a, x ≤ 5 a, x > 2
q {(s, x : z), (t, x : x)} {(s, x : z)} {(t, x : x)} {} z ≤ 5 ∧ x > 2 z ≤ 5 ∧ x ≤ 2 z > 5 ∧ x > 2 z > 5 ∧ x ≤ 2 g1 ∧ g2 g1 ∧ ¬g2 ¬g1 ∧ g2 ¬g1 ∧ ¬g2 a a a a {z} {z} {z} {z}
19/34
z0 z1 z2 zi
20/34
z0 z1 z2 zi
20/34
z0 z1 z2 zi
20/34
q1 q2
a, g R
◮ g has integer constants ◮ R is non-empty iff g has some constraint x = c
◮ Along a timed word, a reset of an IRTA happens only at
Timed automata with integer resets: Language inclusion and expressiveness
Suman, Pandya, Krishna, Manasa. FORMATS’08 21/34
q0 q1 x = 1, a {x} x = 1, a {x}
q0 q1 q2 a {x} x = 1, a a a a
22/34
q0 q1 x = 1, a {x} x = 1, a {x}
q0 q1 q2 a {x} x = 1, a a a a
22/34
zi1 zi2 zik
zi1 zi2 . . . zik active clocks
assume the semantics of timed word (w, τ) such that τ1 < τ2 < · · · < τk ◮ If k ≥ M + 1, then zi1 > M (as reset is only in integers) ◮ Replace zi1 with ⊥ and reuse zi1 further
23/34
24/34
z0 z1 z2 zi
25/34
q0 q1 x < 1, a x = 1, a
q0 q1 x = 1, a {x} x = 1, a {x}
26/34
(The number of clocks depends on size of region automaton...)
When are timed automata determinizable?
Baier, Bertrand, Bouyer, Brihaye. ICALP’09 27/34
28/34
|X| places p choices
28/34
|X| places p choices
28/34
|X| places p choices
→ doubly exponential in the size of initial automaton
28/34
29/34
q0 q1 q2 a {x} b x = 1, a ERA IRTA SNZ q0 q1 q2 {x} a x = 2, a x = 1, a ERA IRTA SNZ q0 q1 q2 q2 a {x} a x = 1, a ERA IRTA SNZ
30/34
ERA IRTA SNZ DTA TA
31/34
◮ Union: disjoint union √ ◮ Intersection: product construction √ ◮ Complement: determinize & interchange acc. states √
32/34
33/34
◮ Event-predicting clocks (Alur, Henzinger, Fix’99) ◮ Bounded two-way timed automata (Alur, Henzinger’92)
◮ Infinite timed words: Safra? ◮ Efficient algorithms
34/34