1 / 34

Communicating Timed Automata

Communicating Timed Automata. Pavel Krčál Wang Yi Uppsala University [CAV’06]. Goal. Real time tasks A, B, C, D Read inputs from channels and write output to channels Channel under/overflow is an issue Channel machines (Communicating finite state machines)

saterfiel
Download Presentation

Communicating Timed Automata

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Communicating Timed Automata Pavel Krčál Wang Yi Uppsala University [CAV’06]

  2. Goal • Real time tasks A, B, C, D • Read inputs from channels and write output to channels • Channel under/overflow is an issue • Channel machines (Communicating finite state machines) • Computing in the common (real) time • Verification – reachability, boundedness Precise moves mission A B C D Commands High-level inst requests

  3. Outline • Communicating Finite State Machines (Channel Systems) • Known results • Communicating Timed Automata • Definition, Subclasses • Main results • One Channel • Reordering technique • How to handle the dense time • Two Channels • Reordering technique • Eager reading – Turing power

  4. Communicating Finite State Machines • Finite automata connected by unbounded (FIFO) unidirectional channels • Labels on transitions: a letter, read/write, channel • State: (s1, …, sn, w1, …, wm) a!,c1 b!,c2 a?,c1 … c1 b?,c2 d?,c1 … d!,c1 a?,c1 a!,c1 c2

  5. Communicating Finite State Machines • Finite automata connected by unbounded (FIFO) unidirectional channels – a model for protocols • Labels on transitions: a letter, read/write, channel • State: (s1, …, sn, w1, …, wm) a!,c1 b!,c2 a?,c1 … c1 b?,c2 d?,c1 … d!,c1 a?,c1 a!,c1 c2 Asynchronous!

  6. Communicating Finite State Machines • Finite automata connected by unbounded (FIFO) unidirectional channels • Labels on transitions: a letter, read/write, channel • State: (s1, …, sn, w1, …, wm) a!,c1 b!,c2 a?,c1 … c1 b?,c2 d?,c1 … d!,c1 a?,c1 a!,c1 c2

  7. Communicating Finite State Machines • Finite automata connected by unbounded (FIFO) unidirectional channels • Labels on transitions: a letter, read/write, channel • State: (s1, …, sn, w1, …, wm) a!,c1 b!,c2 a?,c1 a … c1 b?,c2 d?,c1 d!,c1 … a?,c1 a!,c1 c2

  8. Communicating Finite State Machines • Finite automata connected by unbounded (FIFO) unidirectional channels • Labels on transitions: a letter, read/write, channel • State: (s1, …, sn, w1, …, wm) a!,c1 b!,c2 a?,c1 … c1 b?,c2 d?,c1 … d!,c1 a?,c1 a!,c1 c2

  9. Communicating Finite State Machines • Finite automata connected by unbounded (FIFO) unidirectional channels • Labels on transitions: a letter, read/write, channel • State: (s1, …, sn, w1, …, wm) a!,c1 b!,c2 a?,c1 … c1 b?,c2 b d?,c1 … d!,c1 a?,c1 a!,c1 c2

  10. Communicating Finite State Machines • Finite automata connected by unbounded (FIFO) unidirectional channels • Labels on transitions: a letter, read/write, channel • State: (s1, …, sn, w1, …, wm) a!,c1 b!,c2 a?,c1 … c1 b?,c2 b b d?,c1 … d!,c1 a?,c1 a!,c1 c2

  11. Communicating Finite State Machines • Finite automata connected by unbounded (FIFO) unidirectional channels • Labels on transitions: a letter, read/write, channel • State: (s1, …, sn, w1, …, wm) a!,c1 b!,c2 a?,c1 … c1 b?,c2 b b b d?,c1 … d!,c1 a?,c1 a!,c1 c2

  12. Communicating Finite State Machines • Finite automata connected by unbounded (FIFO) unidirectional channels • Labels on transitions: a letter, read/write, channel • State: (s1, …, sn, w1, …, wm) a!,c1 b!,c2 a?,c1 … c1 b?,c2 b b d?,c1 … d!,c1 a?,c1 a!,c1 c2

  13. Communicating Finite State Machines • Finite automata connected by unbounded (FIFO) unidirectional channels • Labels on transitions: a letter, read/write, channel • State: (s1, …, sn, w1, …, wm) a!,c1 b!,c2 a?,c1 d … c1 b?,c2 b b d?,c1 … d!,c1 a?,c1 a!,c1 c2

  14. Communicating Finite State Machines • Finite automata connected by unbounded (FIFO) unidirectional channels • Labels on transitions: a letter, read/write, channel • State: (s1, …, sn, w1, …, wm) a!,c1 b!,c2 a?,c1 a d … c1 b?,c2 b b d?,c1 … d!,c1 a?,c1 a!,c1 c2

  15. Some Results (Old) • Turing power • Equivalent to finite automata • people: Brand, Zafiropulo, Pachl, Purush Iyer, Finkel, Abdulla, Jonsson, Schnoebelen, … A B A B A A B A B C Half duplex

  16. Communicating Timed Automata (CTA) • Replace Finite Automata by Timed Automata • Communication via unbounded FIFO channels • Time is global (time passes globally and for all automata in the same pace) • A, B, C – Timed Automata A B C • Negative results carry over • Positive results – do not carry over (previous proofs do not work in the timed setting)

  17. Communicating Timed Automata – Semantics • State: (sA, sB, A, B, w) • sA, sB – locations of A,B • A, B – clock valuations • w – channel content (a word from Σ*) • Transitions: • Time pass: A+t, B+t • Discrete transition: s s’, A produces (w a∙w), B consumes (w∙a w); timed automata guards • Lazy vs. eager reading • Language: accepting states, words produced by A • We show that both dense & discrete time give the same expressivity. A B

  18. Communicating Timed Automata – Results • Accepts non-regular context free languages, e.g., anban • Only regular languages in the untimed case! • Equivalent to Petri nets with one unbounded place (eager reading: One-counter machines) A B A B C • Non-context free context sensitive languages, e.g., (anbanb)* • Petri nets with two unbounded places (eager reading: Turing machines)

  19. Untimed Case – Reordering Technique • Equivalent to finite automata A B … • Reordering of the computation • 1st phase: there is at most one letter in each channel • 2nd phase: letters are not read • When A produces a letter then it stops. B runs until it reads the letter from the channel. Then A continues again…

  20. Reordering Technique Untimed Case – Reordering Technique a!,c1 d?,c1 a?,c1 b!,c1 … c1   a?,c1  d!,c1 b?,c1

  21. Reordering Technique Untimed Case – Reordering Technique a!,c1 d?,c1 a?,c1 b!,c1 a … c1   a?,c1  d!,c1 b?,c1

  22. Reordering Technique Untimed Case – Reordering Technique a!,c1 d?,c1 a?,c1 b!,c1 … c1   a?,c1  d!,c1 b?,c1

  23. Reordering Technique Untimed Case – Reordering Technique a!,c1 d?,c1 a?,c1 b!,c1 b … c1   a?,c1  d!,c1 b?,c1

  24. Reordering Technique Untimed Case – Reordering Technique a!,c1 d?,c1 a?,c1 b!,c1 b … c1   a?,c1  d!,c1 b?,c1

  25. Reordering Technique Untimed Case – Reordering Technique a!,c1 d?,c1 a?,c1 b!,c1 … c1   a?,c1  d!,c1 b?,c1

  26. Reordering Technique Untimed Case – Reordering Technique a!,c1 d?,c1 a?,c1 b!,c1 d … c1   a?,c1  d!,c1 b?,c1

  27. Reordering Technique Untimed Case – Reordering Technique a!,c1 d?,c1 a?,c1 b!,c1 d … c1   a?,c1  d!,c1 b?,c1

  28. Reordering Technique Untimed Case – Reordering Technique a!,c1 d?,c1 a?,c1 b!,c1 … c1   a?,c1  d!,c1 b?,c1

  29. CTA with One Channel • We try to modify the reordering technique such that it works also for timed automata • But for this we need to desynchronize timed automata - desynchronized semantics[CONCUR’98, BJLY] • A desired semantics: • language equivalent to the original one • a state with finite control and a counter Reordering of the computation • 1st phase: there is at most one letter in the channel • 2nd phase: letters are not read

  30. CTA with One Channel • We are able to desynchronize timed automata and resynchronize them correctly later! • We need to limit all possible resynchronizations (only some are correct) • Clock Difference Relations [FSTTCS’05, PK] • tA – x ◊ tB – y • tA – x ◊ 1 – (tB – y) • x – tA ◊ tB – y • … • x – a clock of A, y – a clock of B, ◊  {<,>,=} Semantics: (A, B) satisfies tA – x ◊ tB – y  fr(A(tA))-fr(A(x)) ◊ fr(B(tB))-fr(B(y))

  31. CTA with One Channel • Desynchronization + CDR • Now we can encode the state of a CTA (with desynchronized semantics) by finite state control and a counter state: (sA, sB, DA, DB, tA◊tB , CDR, w, N) unbounded place/counter finite

  32. One Counter Machines • Counter – number of a’s in the channel • Control unit – locations of A, B • q1: C++; goto q2 A: s1 s2 B:s1 s2 • q1: if C=0 then goto q2 else C--; goto q3  a! b? s2   s2 b! a? s3 A: s1 B: s1  s3 b? error

  33. CTA with Two Channels • Similar desynchronization, needs two unbounded places • Eager reading: can simulate Two-Counter Machines • Two channels can check whether the input word is anbanbanbanb… • Each pair anban is context free (one channel is enough to check this), overlap is checked using ‘alternation’ • Counters C,D (valued c,d) are encoded by number of a’s: n = 2c∙3d • C: doubling/halving of the number of a’s (anba2n is context free), D: multiplication/division by three • Test for zero: modulo two/three

  34. Conclusions • Synchrony makes analysis more difficult • One channel: • Some context free languages (contrast with the asynchronous case) • Petri Nets with one unbounded place/One-counter machine • Reachability/boundedness questions decidable • Two channels: • Some context sensitive languages • Petri Nets with two unbounded places/Turing Machine • Eager reading – most questions undecidable • Further questions? • Abstraction of the channels? • Controllers for CTA?

More Related