eecs 20 lecture 15 (february 21, 2001) tom henzinger
DESCRIPTION
Simulation. EECS 20 Lecture 15 (February 21, 2001) Tom Henzinger. Deterministic Reactive System: for every input signal, there is exactly one output signal. Function:. DetSys : [ Time Inputs ] [ Time Outputs ]. Nondeterministic Reactive System: - PowerPoint PPT PresentationTRANSCRIPT
EECS 20
Lecture 15 (February 21, 2001)
Tom Henzinger
Simulation
Deterministic Reactive System:
for every input signal, there is exactly one output signal.
DetSys : [ Time Inputs ] [ Time Outputs ]
Function:
Nondeterministic Reactive System:
for every input signal, there is one or more output signals.
NondetSys [ Time Inputs ] [ Time Outputs ]such that x [ Time Inputs ],
y [ Time Outputs ], (x,y) NondetSys
Binary relation:
Every pair (x,y) NondetSys is called a behavior.
System S1 refines system S2
iff
1. Time [S1] = Time [S2] ,
2. Inputs [S1] = Inputs [S2] ,
3. Outputs [S1] = Outputs [S2] ,
4. Behaviors [S1] Behaviors [S2] .
S1 is a more detailed description of S2;
S2 is an abstraction or property of S1.
Systems S1 and S2 are equivalent
iff
1. Time [S1] = Time [S2] ,
2. Inputs [S1] = Inputs [S2] ,
3. Outputs [S1] = Outputs [S2] ,
4. Behaviors [S1] = Behaviors [S2] .
Nondeterministic causal discrete-time reactive systems
can be implemented by
nondeterministic state machines.
Nondeterministic State Machine
Inputs
Outputs
States
possibleInitialStates States
possibleUpdates : States Inputs P( States Outputs ) \
Ø
receptiveness (i.e., machine must be prepared to accept every input)
Lossy Channel without Delay
LCwDNats0 BinsNats0 Bins
0 1 1 0 0 0 1 1 …
0 1 0 1 1 …
0 / 0 0 / 1 / 1 1 /
Channel that never drops two in a row
NotTwiceNats0 BinsNats0 Bins
0 1 1 0 0 0 1 1 …
0 1 0 0 1 …
a b 0 / 01 / 1
0 / 0
1 / 0 /
1 / 1
Typical Exam Questions
A. Convert between three (possibly nondeterministic) system representations:
1. Input-output definition
Deterministic case: define S: [Nats0Inputs] [Nats0Outputs] such that for all x [Nats0Inputs] and all y Nats0, (S(x))(y) = …
Nondeterministic case: define S [Nats0Inputs] [Nats0Outputs] such that for all x [Nats0Inputs] and all y [Nats0Outputs], (x,y) S iff …
2. Transition diagram
3. Block diagram
B. Equivalence, bisimulation, minimization of deterministic state machines
Refinement, simulation, and minimization of nondeterministic state
machines
Theorem :
The nondeterministic state machines M1 refines the nondeterministic state machine M2
if
there exists a simulation of M1 by M2 .
condition on behaviors
relation between states
Theorem :
The nondeterministic state machines M1 refines the nondeterministic state machine M2
if
there exists a simulation of M1 by M2 .
Not “if-and-only-if” ! Not symmetric !
(We say that “M2 simulates M1”.)
In the following, assume
Inputs [M1] = Inputs [M2]
Outputs [M1] = Outputs [M2]
A binary relation S States [M1] States [M2] is a simulation of M1 by M2
iff
1. p possibleInitialStates [M1] ,
q possibleInitialStates [M2], ( p, q ) S and
2. p States [M1] , q States [M2] ,
if ( p, q ) S ,
then x Inputs , y Outputs , p’ States [M1] ,
if ( p’, y ) possibleUpdates [M1] ( p, x )
then q’ States [M2] ,
( q’, y ) possibleUpdates [M2] ( q, x ) and
( p’, q’ ) S .
p
q
p’
x / y
S
p
q
p’
x / y
q’
x / y
S
p
q
p’
x / y
q’
x / y
S
NotTwice refines Lossy Channel without Delay
0 / 0 0 / 1 / 1 1 /
q
a b 0 / 01 / 1
0 / 0
1 / 0 /
1 / 1
NotTwice is simulated by Lossy Channel without Delay
0 / 0 0 / 1 / 1 1 /
q
a b 0 / 01 / 1
0 / 0
1 / 0 /
1 / 1
Simulation
S = { (a, q), (b, q) }
Lossy Channel without Delay is not simulated by NotTwice
0 / 0 0 / 1 / 1 1 /
q
a b 0 / 01 / 1
0 / 0
1 / 0 /
1 / 1
Not a simulation
S’ = { (q, b) }
Lossy Channel without Delay is not simulated by NotTwice
0 / 0 0 / 1 / 1 1 /
q
a b 0 / 01 / 1
0 / 0
1 / 0 /
1 / 1
Not a simulation
S” = { (q, a), (q, b) }
Channel that drops every third zero
Nats0 BinsNats0 Bins
0 1 1 0 0 0 1 1 …
0 1 1 0 0 1 1 …
ThirdZero
Channel that drops every third zero
Nats0 BinsNats0 Bins
0 1 1 0 0 0 1 1 …
0 1 1 0 0 1 1 …
ThirdZero
State between time t-1 and time t:
3 third zero from now will be dropped
2 second zero from now will be dropped
1 next zero will be dropped
Channel that drops every third zero
1 32
0 /
0 / 00 / 0
1 / 1 1 / 11 / 1
ThirdZero refines NotTwice
a b 0 / 01 / 1
0 / 0
1 / 0 /
1 / 1
1 32
0 /
0 / 00 / 0
1 / 1 1 / 11 / 1
ThirdZero is simulated by NotTwice
a b 0 / 01 / 1
0 / 0
1 / 0 /
1 / 1
1 32
0 /
0 / 00 / 0
1 / 1 1 / 11 / 1
Simulation
S = { (3,b),
ThirdZero is simulated by NotTwice
a b 0 / 01 / 1
0 / 0
1 / 0 /
1 / 1
1 32
0 /
0 / 00 / 0
1 / 1 1 / 11 / 1
Simulation
S = { (3,b),
(2,b),
ThirdZero is simulated by NotTwice
a b 0 / 01 / 1
0 / 0
1 / 0 /
1 / 1
1 32
0 /
0 / 00 / 0
1 / 1 1 / 11 / 1
Simulation
S = { (3,b),
(2,b),(1,b),
ThirdZero is simulated by NotTwice
a b 0 / 01 / 1
0 / 0
1 / 0 /
1 / 1
1 32
0 /
0 / 00 / 0
1 / 1 1 / 11 / 1
Simulation
S = { (3,b),
(2,b),(1,b),
(3,a) }
NotTwice is not simulated by ThirdZero
a b 0 / 01 / 1
0 / 0
1 / 0 /
1 / 1
1 32
0 /
0 / 00 / 0
1 / 1 1 / 11 / 1
NotTwice is not simulated by ThirdZero
a b 0 / 01 / 1
0 / 0
1 / 0 /
1 / 1
1 32
0 /
0 / 00 / 0
1 / 1 1 / 11 / 1
X 0 /
Special cases of nondeterministic state machines
1. Deterministic
2. Output-deterministic (“almost deterministic”)
For these machines, simulations can be found easily (provided they exist).
A state machine is output-deterministic
iff
1. there is only one initial state, and
2. for every state and every input-output pair, there is only one successor state.
For example, LCwD and NotTwice are output-deterministic; ThirdZero is deterministic.
Deterministic implies output-deterministic, but not vice versa.
Deterministic: for every input signal x, there is exactly one run of the state machine.
Output-deterministic: for every behavior (x,y), there is exactly one run.
If M2 is an output-deterministic state machine, then a simulation S of M1 by M2 can be found as follows:
1. If p possibleInitialStates [M1] and
possibleInitialStates [M2] = { q } ,
then (p,q) S.
2. If (p,q) S and
(p’,y) possibleUpdates [M1] (p,x) and
possibleUpdates [M2] (q,x) = { q’ } ,
then (p’,q’) S.
If M2 is a deterministic state machine, then
M1 is simulated by M2
iff
M1 is equivalent to M2.
If M2 is a deterministic state machine, then
M1 is simulated by M2
iff
M1 is equivalent to M2.
“if and only if”
M1 refines M2, and M2 refines M1
If M2 is a nondeterministic state machine, then
M1 is simulated by M2
implies
M1 refines M2,
but M2 may not refine M1.
( Recall M1 = ThirdZero and M2 = NotTwice .)
If M2 is a nondeterministic state machine, then
M1 is simulated by M2
implies
M1 refines M2,
but M1 refine M2 even if M1 is not simulated by M2.
a
u
z
yx
e
d
c
b
M1
M2
/ 0
/ 0 / 1 / 0
/ 0 / 0
/ 0 / 0
/ 0
/ 0
/ 1
a
u
z
yx
e
d
c
b
M1
M2
/ 0
/ 0 / 1 / 0
/ 0 / 0
/ 0 / 0
/ 0
/ 0
/ 1
is equivalent to
Two behaviors: 00000…, 01000…
Same two behaviors: 00000…, 01000…
a
u
z
yx
e
d
c
b
M1
M2
/ 0
/ 0 / 1 / 0
/ 0 / 0
/ 0 / 0
/ 0
/ 0
/ 1
is simulated by
Simulation S = { (a, x),
a
u
z
yx
e
d
c
b
M1
M2
/ 0
/ 0 / 1 / 0
/ 0 / 0
/ 0 / 0
/ 0
/ 0
/ 1
is simulated by
Simulation S = { (a, x), (b, y), (c, y),
a
u
z
yx
e
d
c
b
M1
M2
/ 0
/ 0 / 1 / 0
/ 0 / 0
/ 0 / 0
/ 0
/ 0
/ 1
is simulated by
Simulation S = { (a, x), (b, y), (c, y), (d, z), (e, u) }
a
u
z
yx
e
d
c
b
M1
M2
/ 0
/ 0 / 1 / 0
/ 0 / 0
/ 0 / 0
/ 0
/ 0
/ 1
does not simulate
a
u
z
yx
e
d
c
b
M1
M2
/ 0
/ 0 / 1 / 0
/ 0 / 0
/ 0 / 0
/ 0
/ 0
/ 1
does not simulate
a
u
z
yx
e
d
c
b
M1
M2
/ 0
/ 0 / 1 / 0
/ 0 / 0
/ 0 / 0
/ 0
/ 0
/ 1
does not simulate
/ 1X
a
u
z
yx
e
d
c
b
M1
M2
/ 0
/ 0 / 1 / 0
/ 0 / 0
/ 0 / 0
/ 0
/ 0
/ 1
does not simulate
/ 0 X