20060706144515001

Communicating Timed
Automata
Pavel Krčál
Wang Yi
Uppsala University
[CAV’06]
Goal
Precise moves
mission
A
B
Commands
C
D
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
Pavel Krčál, Communicating Timed Automata
2006/07/06
Outline

Communicating Finite State Machines (Channel Systems)


Communicating Timed Automata



Definition, Subclasses
Main results
One Channel



Known results
Reordering technique
How to handle the dense time
Two Channels


Reordering technique
Eager reading – Turing power
Pavel Krčál, Communicating Timed Automata
2006/07/06
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
d?,c1
a?,c1
c1
b?,c2
d!,c1
a?,c1
a!,c1
Pavel Krčál, Communicating Timed Automata
…
c2
2006/07/06
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
d?,c1
a?,c1
c1
b?,c2
d!,c1
a?,c1
a!,c1
…
c2
Asynchronous!
Pavel Krčál, Communicating Timed Automata
2006/07/06
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
d?,c1
a?,c1
c1
b?,c2
d!,c1
a?,c1
a!,c1
Pavel Krčál, Communicating Timed Automata
…
c2
2006/07/06
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
d?,c1
a?,c1
c1
b?,c2
d!,c1
a
a?,c1
a!,c1
Pavel Krčál, Communicating Timed Automata
…
c2
2006/07/06
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
d?,c1
a?,c1
c1
b?,c2
d!,c1
a?,c1
a!,c1
Pavel Krčál, Communicating Timed Automata
…
c2
2006/07/06
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
d?,c1
a?,c1
c1
b?,c2
d!,c1
a?,c1
b
a!,c1
Pavel Krčál, Communicating Timed Automata
…
c2
2006/07/06
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
d?,c1
a?,c1
c1
b?,c2
d!,c1
a?,c1
bb
a!,c1
Pavel Krčál, Communicating Timed Automata
…
c2
2006/07/06
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
d?,c1
a?,c1
c1
b?,c2
d!,c1
a?,c1
a!,c1
Pavel Krčál, Communicating Timed Automata
bbb …
c2
2006/07/06
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
d?,c1
a?,c1
c1
b?,c2
d!,c1
a?,c1
bb
a!,c1
Pavel Krčál, Communicating Timed Automata
…
c2
2006/07/06
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
d?,c1
a?,c1
c1
b?,c2
d!,c1
d
a?,c1
bb
a!,c1
Pavel Krčál, Communicating Timed Automata
…
c2
2006/07/06
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
… ad
b!,c2
d?,c1
a?,c1
c1
b?,c2
d!,c1
a?,c1
bb
a!,c1
Pavel Krčál, Communicating Timed Automata
…
c2
2006/07/06
Some Results (Old)

Turing power
B
A

A
A
B
A
B
Equivalent to finite automata
A
B
C
Half duplex

people: Brand, Zafiropulo, Pachl, Purush Iyer, Finkel,
Abdulla, Jonsson, Schnoebelen, …
Pavel Krčál, Communicating Timed Automata
2006/07/06
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)
Pavel Krčál, Communicating Timed Automata
2006/07/06
Communicating Timed
Automata – Semantics
A

State: (sA, sB, A, B, w)







sA, sB – locations of A,B
A, B – clock valuations
w – channel content (a word from Σ*)
Transitions:


B
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.
Pavel Krčál, Communicating Timed Automata
2006/07/06
Communicating Timed
Automata – Results
A


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
B
C
Non-context free context sensitive languages, e.g., (anbanb)*
Petri nets with two unbounded places (eager reading: Turing
machines)
Pavel Krčál, Communicating Timed Automata
2006/07/06
Untimed 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…
Pavel Krčál, Communicating Timed Automata
2006/07/06
Untimed Case –
Reordering Technique
a!,c1
d?,c1
a?,c1
b!,c1
…
c1

d!,c1
Pavel Krčál, Communicating Timed Automata

a?,c1

b?,c1
2006/07/06
Untimed Case –
Reordering Technique
a!,c1
d?,c1
a?,c1
b!,c1
…
c1

d!,c1
Pavel Krčál, Communicating Timed Automata
a

a?,c1

b?,c1
2006/07/06
Untimed Case –
Reordering Technique
a!,c1
d?,c1
a?,c1
b!,c1
…
c1

d!,c1
Pavel Krčál, Communicating Timed Automata

a?,c1

b?,c1
2006/07/06
Untimed Case –
Reordering Technique
a!,c1
d?,c1
a?,c1
b!,c1
…
c1

d!,c1
Pavel Krčál, Communicating Timed Automata
b

a?,c1

b?,c1
2006/07/06
Untimed Case –
Reordering Technique
a!,c1
d?,c1
a?,c1
b!,c1
…
c1

d!,c1
Pavel Krčál, Communicating Timed Automata
b

a?,c1

b?,c1
2006/07/06
Untimed Case –
Reordering Technique
a!,c1
d?,c1
a?,c1
b!,c1
…
c1

d!,c1
Pavel Krčál, Communicating Timed Automata

a?,c1

b?,c1
2006/07/06
Untimed Case –
Reordering Technique
a!,c1
d?,c1
a?,c1
b!,c1
…
c1

d!,c1
Pavel Krčál, Communicating Timed Automata
d

a?,c1

b?,c1
2006/07/06
Untimed Case –
Reordering Technique
a!,c1
d?,c1
a?,c1
b!,c1
…
c1

d!,c1
Pavel Krčál, Communicating Timed Automata
d

a?,c1

b?,c1
2006/07/06
Untimed Case –
Reordering Technique
a!,c1
d?,c1
a?,c1
b!,c1
…
c1

d!,c1
Pavel Krčál, Communicating Timed Automata

a?,c1

b?,c1
2006/07/06
CTA with One Channel

We try to modify the reordering technique such that it
works also for timed automata
Reordering of the computation
1st
phase: there is at most one letter in the channel
2nd phase: letters are not read


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
Pavel Krčál, Communicating Timed Automata
2006/07/06
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))

Pavel Krčál, Communicating Timed Automata
2006/07/06
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)
finite
Pavel Krčál, Communicating Timed Automata
unbounded
place/counter
2006/07/06
One Counter Machines

Counter – number of a’s in the channel
Control unit – locations of A, B

q1: C++; goto q2

A:

s1
a!
s2

B: s1
q1: if C=0 then goto q2 else C--; goto q3
b!
A: s1

Pavel Krčál, Communicating Timed Automata


s2
B: s1
s3
a?
b?
s2
b?
s2
s3
error
2006/07/06
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
Pavel Krčál, Communicating Timed Automata
2006/07/06
Conclusions


Synchrony makes analysis more difficult
One channel:




Two channels:




Some context free languages (contrast with the asynchronous
case)
Petri Nets with one unbounded place/One-counter machine
Reachability/boundedness questions decidable
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?
Pavel Krčál, Communicating Timed Automata
2006/07/06