340 likes | 356 Views
Explore communicating finite state machines for real-time tasks with unique reordering techniques to handle time efficiently. Learn about communication via channels and verification methods for reachability and boundedness. Witness the power of Turing machines in asynchronous systems.
E N D
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) • Computing in the common (real) time • Verification – reachability, boundedness Precise moves mission A B C D Commands High-level inst requests
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
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
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!
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
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
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
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
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
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
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
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
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
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
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)
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
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)
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…
Reordering Technique Untimed Case – Reordering Technique a!,c1 d?,c1 a?,c1 b!,c1 … c1 a?,c1 d!,c1 b?,c1
Reordering Technique Untimed Case – Reordering Technique a!,c1 d?,c1 a?,c1 b!,c1 a … c1 a?,c1 d!,c1 b?,c1
Reordering Technique Untimed Case – Reordering Technique a!,c1 d?,c1 a?,c1 b!,c1 … c1 a?,c1 d!,c1 b?,c1
Reordering Technique Untimed Case – Reordering Technique a!,c1 d?,c1 a?,c1 b!,c1 b … c1 a?,c1 d!,c1 b?,c1
Reordering Technique Untimed Case – Reordering Technique a!,c1 d?,c1 a?,c1 b!,c1 b … c1 a?,c1 d!,c1 b?,c1
Reordering Technique Untimed Case – Reordering Technique a!,c1 d?,c1 a?,c1 b!,c1 … c1 a?,c1 d!,c1 b?,c1
Reordering Technique Untimed Case – Reordering Technique a!,c1 d?,c1 a?,c1 b!,c1 d … c1 a?,c1 d!,c1 b?,c1
Reordering Technique Untimed Case – Reordering Technique a!,c1 d?,c1 a?,c1 b!,c1 d … c1 a?,c1 d!,c1 b?,c1
Reordering Technique Untimed Case – Reordering Technique a!,c1 d?,c1 a?,c1 b!,c1 … c1 a?,c1 d!,c1 b?,c1
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
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))
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
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
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
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?