nested timed automata
play

Nested Timed Automata Guoqiang Li Shanghai Jiao Tong University - PowerPoint PPT Presentation

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


  1. Nested Timed Automata Guoqiang Li Shanghai Jiao Tong University Feb. 9, 2014 Guoqiang LI | Feb. 9, 2014 1 / 32

  2. Joint work with Xiaojuan Cai, Mizuhito Ogawa and Shoji Yuen. Guoqiang LI | Feb. 9, 2014 2 / 32

  3. 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

  4. 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

  5. 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

  6. 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

  7. Multilevel (Nested) Interrupts IRQ1 task 1 task 2 IRQ2 . . . task n IRQ3 Guoqiang LI | Feb. 9, 2014 6 / 32

  8. Multilevel (Nested) Interrupts IRQ1 task 1 task 2 IRQ2 . . . task n IRQ3 Guoqiang LI | Feb. 9, 2014 6 / 32

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. N ESTED T IMED A UTOMATA Guoqiang LI | Feb. 9, 2014 11 / 32

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

  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

  33. 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

  34. T RANSLATION TO DTPDA Guoqiang LI | Feb. 9, 2014 15 / 32

  35. 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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend