Title: Communicating Timed Automata
1Communicating Timed Automata
- Pavel Krcál
- Wang Yi
- Uppsala University
- CAV06
2Goal
Precise moves
mission
A
B
C
D
Commands
High-level inst
requests
- 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
3Outline
- 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
4Communicating 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
5Communicating 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!
6Communicating 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
7Communicating 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
8Communicating 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
9Communicating 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
b
d!,c1
a?,c1
a!,c1
c2
10Communicating 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
b
b
d!,c1
a?,c1
a!,c1
c2
11Communicating 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
b
b
b
d!,c1
a?,c1
a!,c1
c2
12Communicating 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
b
b
d!,c1
a?,c1
a!,c1
c2
13Communicating 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
d?,c1
b
b
d!,c1
a?,c1
a!,c1
c2
14Communicating 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
a
c1
b?,c2
d?,c1
b
b
d!,c1
a?,c1
a!,c1
c2
15Some 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
16Communicating 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
C
B
- Negative results carry over
- Positive results do not carry over (previous
proofs do not work in the timed setting)
17Communicating Timed Automata Semantics
A
B
- State (sA, sB, ?A, ?B, w)
- sA, sB locations of A,B
- ?A, ?B clock valuations
- w channel content (a word from S)
- Transitions
- Time pass ?At, ?Bt
- Discrete transition s s, A produces (w
aw), - B consumes (wa 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.
18Communicating Timed Automata Results
A
B
- 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
C
B
- Non-context free context sensitive languages,
e.g., (anbanb) - Petri nets with two unbounded places (eager
reading Turing machines)
19Main Proof Ingredients
- One channel
- Desynchronization of timed automata (we are able
to desynchronize two timed automata and
resynchronize them correctly later) - We need to remember clock difference relations
and a counter - Two channels
- The same desynchronization of timed automata
- Ability to check some context sensitive
properties (two channels check context free
properties in an alternating manner) - With the eager reading, we can check that the
word encodes a computation of a two counter
machine
20Untimed Case Reordering Technique
A
B
- Equivalent to finite automata
- 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
21Reordering Technique
Untimed Case Reordering Technique
a!,c1
d?,c1
a?,c1
b!,c1
c1
?
?
a?,c1
?
d!,c1
b?,c1
22Reordering Technique
Untimed Case Reordering Technique
a!,c1
d?,c1
a?,c1
b!,c1
a
c1
?
?
a?,c1
?
d!,c1
b?,c1
23Reordering Technique
Untimed Case Reordering Technique
a!,c1
d?,c1
a?,c1
b!,c1
c1
?
?
a?,c1
?
d!,c1
b?,c1
24Reordering Technique
Untimed Case Reordering Technique
a!,c1
d?,c1
a?,c1
b!,c1
b
c1
?
?
a?,c1
?
d!,c1
b?,c1
25Reordering Technique
Untimed Case Reordering Technique
a!,c1
d?,c1
a?,c1
b!,c1
b
c1
?
?
a?,c1
?
d!,c1
b?,c1
26Reordering Technique
Untimed Case Reordering Technique
a!,c1
d?,c1
a?,c1
b!,c1
c1
?
?
a?,c1
?
d!,c1
b?,c1
27Reordering Technique
Untimed Case Reordering Technique
a!,c1
d?,c1
a?,c1
b!,c1
d
c1
?
?
a?,c1
?
d!,c1
b?,c1
28Reordering Technique
Untimed Case Reordering Technique
a!,c1
d?,c1
a?,c1
b!,c1
d
c1
?
?
a?,c1
?
d!,c1
b?,c1
29Reordering Technique
Untimed Case Reordering Technique
a!,c1
d?,c1
a?,c1
b!,c1
c1
?
?
a?,c1
?
d!,c1
b?,c1
30CTA 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
CONCUR98, 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
31CTA 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 FSTTCS05, PK
- tA x ? tB y
- tA x ? 1 (tB y)
- x tA ? tB y
-
- x a clock of A, y a clock of B, ? ? lt,gt,
Semantics (?A, ?B) satisfies tA x ? tB y
? fr(?A(tA))-fr(?A(x)) ? fr(?B(tB))-fr(?B(y))
32CTA 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
33One Counter Machines
- Counter number of as in the channel
- Control unit locations of A, B
- q1 C goto q2
- A s1
s2 B s1
s2 - q1 if C0 then goto q2 else C-- goto q3
?
a!
b?
s2
?
?
s2
b!
a?
s3
A s1
B s1
?
b?
s3
error
34CTA 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 as n 2c3d - C doubling/halving of the number of as (anba2n
is context free), D multiplication/division by
three - Test for zero modulo two/three
35Conclusions
- 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?