Nested Timed Automata Guoqiang Li Shanghai Jiao Tong University Feb. 9, 2014 Guoqiang LI | Feb. 9, 2014 1 / 32
Joint work with Xiaojuan Cai, Mizuhito Ogawa and Shoji Yuen. Guoqiang LI | Feb. 9, 2014 2 / 32
Motivation Hybrid automata extend timed automata with various rates of clocks; We would like to extend timed automata with (time-sensitive) context switches. (Recursive) Procedure calls Multi-level interrupt handlings Need to deal with ’local’ clocks. Guoqiang LI | Feb. 9, 2014 3 / 32
A Usual Automata-Based Program Analysis int lek = 10; Foo() int x , y ; . . . if x > y then Foo() ; . . . Guoqiang LI | Feb. 9, 2014 4 / 32
A Usual Automata-Based Program Analysis int lek = 10; . . . Foo() � pc , lek A � , int x , y ; ⇓ . . . ( Foo , x A , y A ) � pc ′ , lek A � , . if x > y then Foo() ; . . . . . Guoqiang LI | Feb. 9, 2014 4 / 32
Procedure with Local Clocks Tfoo() { clock x , y ; . . . reset( y ) ; . . . if x < 10 && y < = 5 then Tfoo() ; else return ; . . . } Guoqiang LI | Feb. 9, 2014 5 / 32
Multilevel (Nested) Interrupts IRQ1 task 1 task 2 IRQ2 . . . task n IRQ3 Guoqiang LI | Feb. 9, 2014 6 / 32
Multilevel (Nested) Interrupts IRQ1 task 1 task 2 IRQ2 . . . task n IRQ3 Guoqiang LI | Feb. 9, 2014 6 / 32
Multilevel (Nested) Interrupts Interrupt handlers override the behavior by A i . IRQ1 task 1 Handler 1 : A 1 clocks : C 1 task 2 IRQ2 . . . task n IRQ3 Guoqiang LI | Feb. 9, 2014 6 / 32
Multilevel (Nested) Interrupts Interrupt handlers override the behavior by A i . IRQ1 task 1 Handler 1 : A 1 clocks : C 1 Handler 2 : A 2 task 2 Clocks : C 2 IRQ2 . . . task n IRQ3 Guoqiang LI | Feb. 9, 2014 6 / 32
Multilevel (Nested) Interrupts Interrupt handlers override the behavior by A i . IRQ1 task 1 Handler 1 : A 1 clocks : C 1 Handler 2 : A 2 task 2 Clocks : C 2 Handler 3 : A 3 IRQ2 . Clocks : C 3 . . task n IRQ3 Guoqiang LI | Feb. 9, 2014 6 / 32
Multilevel (Nested) Interrupts The behavior is resumed after the handlers terminate. Clock values of C 2 are changed. IRQ1 task 1 Handler 1 : A 1 task 2 clocks : C 1 Handler 2 : T 2 C 2 + T 3 IRQ2 . . . task n IRQ3 Guoqiang LI | Feb. 9, 2014 6 / 32
Multilevel (Nested) Interrupts The behavior is resumed after the handlers terminate. Clock values of C 1 are changed. IRQ1 task 1 Handler 1 : A 1 task 2 C 1 + T 2 + T 3 IRQ2 . . . task n IRQ3 Guoqiang LI | Feb. 9, 2014 6 / 32
Multilevel (Nested) Interrupts The behavior is resumed after the handlers terminate. IRQ1 task 1 task 2 IRQ2 . . . task n IRQ3 Guoqiang LI | Feb. 9, 2014 6 / 32
Behavioral Model A nested timed automaton is a pushdown system whose stack symbols are timed automata . It either behaves as the top TA in the stack, or switches from one TA to another by pushing , popping , and altering the top TA. When time passage happens, all clocks of these TAs in the stack elapse uniformly . Guoqiang LI | Feb. 9, 2014 7 / 32
Contents Timed Automata Nested timed automata (NeTA) State reachability is decidable via translation into DTPDA (dense timed pushdown automata [Abdulla et.al. LICS2012]) Correctness of the translation. Conclusion Guoqiang LI | Feb. 9, 2014 8 / 32
Timed Automata (TA) A = ( Q , q 0 , F , X , ∆) , where Q is a finite set of control locations, with the initial location q 0 ∈ Q , F ⊆ Q is the set of final locations, X is a finite set of clocks, ∆ ⊆ Q × O × Q , where O is a set of operations. A φ − → q 2 , where φ is either of transition q 1 Local ǫ , Test x ∈ I ? , Assignment x ← I . Clock updates, Diagnal-free and convex constraints, No invariants Guoqiang LI | Feb. 9, 2014 9 / 32
Timed Automata (TA) [An Example] x ∈ (8 , + ∞ )? x ← [0 , 4 . 5] x ∈ (0 , 8]? y ← [0 , 0] x ← [0 , 6 . 5] x ← [0 , 0] x ∈ ( 2 0 , + ∞ ) ? y ∈ (0 , 20]? x ∈ (0 , 20]? Guoqiang LI | Feb. 9, 2014 10 / 32
N ESTED T IMED A UTOMATA Guoqiang LI | Feb. 9, 2014 11 / 32
Nested Timed Automata N = ( T , A 0 , ∆) , where T is a finite set of TA, with the initial timed automaton A 0 ∈ T , ∆ ⊆ T × P × ( T ∪ { ε } ), where P = { push , pop , internal } . Φ A rule ( A i , Φ , A j ) ∈ ∆ is written as A i − → A j , where push Push A i − − − → A j , pop Pop A i − − → ε , and internal Internal A i − − − − → A j . Guoqiang LI | Feb. 9, 2014 12 / 32
Semantics of NeTA Given an NeTA ( T , A 0 , ∆) , a configuration is a stack, and the stack alphabet is a tuple �A , q , ν � , The transition of NeTA is represented as follows: t Progress transitions: c − → N c + t . φ → N c ′ Discrete transitions: c − φ Intra-action �A , q , ν � c − → N �A , q ′ , ν ′ � c push Push �A , q , ν � c − − − → N �A ′ , q 0 ( A ′ ) , ν ′ 0 ��A , q , ν � c pop Pop �A , q , ν � c − − → N c if q ∈ F ( A ) . internal Inter-action �A , q , ν � c − − − − → N �A ′ , q 0 ( A ′ ) , ν ′ 0 � c if q ∈ F ( A ) . Guoqiang LI | Feb. 9, 2014 13 / 32
Nested Timed Automata [An Example] A 1 A 2 q 1 idle 0 push x ← [0 , 0] y ← [0 , 2] q 1 idle 1 internal A 0 x ← [0 , 0] x ∈ (0 , 4]? y ← [0 , 2] y ∈ (0 , 5]? q 1 wt r Guoqiang LI | Feb. 9, 2014 14 / 32
Nested Timed Automata [An Example] A 1 A 2 q 0 idle push x ← [0 , 0] y ← [0 , 2] q 1 idle internal A 0 x ← [0 , 0] x ∈ (0 , 4]? y ← [0 , 2] y ∈ (0 , 5]? q r wt x = 0 Guoqiang LI | Feb. 9, 2014 14 / 32
Nested Timed Automata [An Example] A 1 A 2 q 0 idle push x ← [0 , 0] y ← [0 , 2] q 1 idle internal A 0 x ← [0 , 0] x ∈ (0 , 4]? y ← [0 , 2] y ∈ (0 , 5]? q r wt x = 1 . 2 Guoqiang LI | Feb. 9, 2014 14 / 32
Nested Timed Automata [An Example] A 1 A 2 q 0 idle push x ← [0 , 0] y ← [0 , 2] q 1 idle internal A 0 x ← [0 , 0] x ∈ (0 , 4]? y ← [0 , 2] y ∈ (0 , 5]? q r wt x = 0 Guoqiang LI | Feb. 9, 2014 14 / 32
Nested Timed Automata [An Example] A 1 A 2 q 0 idle push x ← [0 , 0] y ← [0 , 2] q 1 idle internal A 0 x ← [0 , 0] x ∈ (0 , 4]? y ← [0 , 2] y ∈ (0 , 5]? q r wt x = 2 . 5 Guoqiang LI | Feb. 9, 2014 14 / 32
Nested Timed Automata [An Example] A 1 A 2 q 0 idle push x ← [0 , 0] y ← [0 , 2] q 1 idle internal A 0 x ← [0 , 0] x ∈ (0 , 4]? y ← [0 , 2] y ∈ (0 , 5]? q r wt y = 0 x = 2 . 5 Guoqiang LI | Feb. 9, 2014 14 / 32
Nested Timed Automata [An Example] A 1 A 2 q 0 idle push x ← [0 , 0] y ← [0 , 2] q 1 idle internal A 0 x ← [0 , 0] x ∈ (0 , 4]? y ← [0 , 2] y ∈ (0 , 5]? q r wt y = 0 x = 2 . 5 Guoqiang LI | Feb. 9, 2014 14 / 32
Nested Timed Automata [An Example] A 1 A 2 q 0 idle push x ← [0 , 0] y ← [0 , 2] q 1 idle internal A 0 x ← [0 , 0] x ∈ (0 , 4]? y ← [0 , 2] y ∈ (0 , 5]? q r wt y = 0 . 3 x = 2 . 8 Guoqiang LI | Feb. 9, 2014 14 / 32
Nested Timed Automata [An Example] A 1 A 2 q 0 idle push x ← [0 , 0] y ← [0 , 2] q 1 idle internal A 0 x ← [0 , 0] x ∈ (0 , 4]? y ← [0 , 2] y ∈ (0 , 5]? q r wt y = 1 x = 3 . 5 Guoqiang LI | Feb. 9, 2014 14 / 32
Nested Timed Automata [An Example] A 1 A 2 q 0 idle push x ← [0 , 0] y ← [0 , 2] q 1 idle internal A 0 x ← [0 , 0] x ∈ (0 , 4]? y ← [0 , 2] y ∈ (0 , 5]? q r wt y = 2 . 3 x = 4 . 8 Guoqiang LI | Feb. 9, 2014 14 / 32
Nested Timed Automata [An Example] A 1 A 2 q 0 idle pop push x ← [0 , 0] y ← [0 , 2] q 1 idle internal A 0 x ← [0 , 0] x ∈ (0 , 4]? y ← [0 , 2] y ∈ (0 , 5]? q r wt x = 4 . 8 Guoqiang LI | Feb. 9, 2014 14 / 32
Nested Timed Automata [An Example] A 1 A 2 q 0 idle push x ← [0 , 0] y ← [0 , 2] q 1 idle internal A 0 x ← [0 , 0] x ∈ (0 , 4]? y ← [0 , 2] y ∈ (0 , 5]? q r wt x = 0 Guoqiang LI | Feb. 9, 2014 14 / 32
T RANSLATION TO DTPDA Guoqiang LI | Feb. 9, 2014 15 / 32
Dense Timed PDA [Abdulla et.al. 2012] State: S = {•} clocks: C = { x 1 , x 2 , x 3 } , Stack symbols: Γ = { a , b , d } ( d , 2 . 5 ) ( d , 5 . 1 ) ( d , 5 . 1 ) ( a , 1 . 9 ) ( a , 1 . 9 ) ( a , 4 . 5 ) ( a , 4 . 5 ) ( a , 4 . 5 ) ( b , 6 . 7 ) ( b , 6 . 7 ) ( b , 9 . 3 ) ( b , 9 . 3 ) ( b , 9 . 3 ) ( a , 3 . 1 ) ( a , 3 . 1 ) ( a , 5 . 7 ) ( a , 5 . 7 ) ( a , 5 . 7 ) ( d , 4 . 2 ) ( d , 4 . 2 ) ( d , 6 . 8 ) ( d , 6 . 8 ) ( d , 6 . 8 ) x 1 ← 0 . 5 x 1 ← 0 . 5 x 1 ← 3 . 1 x 1 ← 3 . 1 x 1 ← 3 . 1 x 2 ← 3 . 9 x 2 ← 3 . 9 x 2 ← 6 . 5 x 2 ← 3 . 8 x 2 ← 3 . 8 x 3 ← 2 . 3 x 3 ← 2 . 3 x 3 ← 4 . 9 x 3 ← 4 . 9 x 3 ← 4 . 9 push ( d , ( 2 , 4 ]) x 2 ← ( 2 , 5 ] pop ( d , [ 4 , 6 )) 2 . 6 κ 1 − − − − − − − − − − → D κ 2 − − − − − − − → D κ 3 − − − − − − − − → D κ 4 − − − − − − − − − → D κ 5 Guoqiang LI | Feb. 9, 2014 16 / 32
Recommend
More recommend