Transcript Document

CS 367: Model-Based Reasoning
Lecture 5 (01/29/2002)
Gautam Biswas
Today’s Lecture
Last Lecture:
Concept of Blocking
 Non deterministic Automata
 Operations on Automata


Accessible, Coaccessible parts, Composition
Operators (Product, Parallel)
Today’s Lecture:





Parallel Composition
Observer Automata
State Space Refinement
Automata with Input and Output
Analysis of Discrete Event Systems
Composition of Automata
Two kinds
Product:   completely synchronous
 Parallel:   synchronous

Product Composition
Example: Product Composition
b
Parallel Composition
Parallel Composition: Example
b
Two automata are synchronized
on common events, E1  E2
One automaton can execute a
private event without participation
of other automata (E1 \ E2)  (E2 \ E1)
If E1 = E2 then parallel composition
reduces to product
If E1  E2 =  then G1 G2 is the
concurrent behavior of G1 and G2 –
called the shuffle of G1 and G2
G1 G2 = G2G1
(G1 G2 ) G3= G1 (G2 G3)
Example of Parallel Composition
Dining Philosophers (Multiple users sharing common
resources)
Philosophers: (i) think, (ii) eat
Forks: (i) available, (ii) used
P1 P2 is a shuffle 
Incomplete model
PF  P1 P2 F 1 F2 
Contains two
deadlock states
PF C  CoAc( PF )
-- controller
added to disallow deadlock
What is control?
Control – selecting right input to system to
achieve desired behavior: u(t )   (r (t ),t )
r(t) – reference signal – describes desired behavior
Complexity of Parallel Composition
k component system, each component model has
m states. If the event sets of each automata are
distinct, then model of complete system has mk
states (exponential growth) – curse of
dimensionality
How do we handle complexity?


Incremental analysis
Symbolic representations (“Symbolic Model Checking: 1020
States and Beyond,” Burch, et al., Information and Computation, vol. 98,
pp. 142-170, 1998.
Observer Automata
Conversion of non deterministic FSA to
deterministic FSA : language preserving
transformation
Converted deterministic automaton is called
the observer: Gobs
Partition the set of events: E  Eo  Euo
 Observer contains no unobservable events

Observer -- Example
Note: Gobs is deterministic
L(Gobs )  L(Gnd )
Lm (Gobs )  Lm (Gnd )
Observer: Algorithm
State Space Refinement
Task: Comparison of two languages
L1  L2 : Com pareautom ataG1 and G2
What eventsif any possiblein L2 but not in L1 after t  L1  L2
How to make this comparison computationally efficient?
Refinement by Product: G1,new  G1  G2
Moore and Mealy Automata
Moore automata: automata with state
outputs
Mealy: input/output automata
FSA  Regular Languages
Analysis of Discrete Event Systems
Safety and Blocking Properties
Safety: avoiding undesirable states, or undesirable
sequence of events for a composed automaton – “legal”
or “admissible” language
 Determine if state y is reached from state x : perform
accessible operation on automaton with x as initial
state, look for y in result
 Determine if substring possible in automaton:
“execute” substring for all accessible states
Parallel composition complexity: O(n1n2 )
Accessible, Coaccessible algorithms are linear in size of
automaton
 Blocking Properties: Lm (G)  L(G) or Lm (G)  L(G)

State Estimation
Unobserved events:


 events can be attributed to: (i) absence of sensors, (ii) event
occurred remotely, not communicated, (iii) fault events
Genuine unobservable events: Euo  {ed , u, v}
Daignostics
Determine whether certain events with certainty:
fault events
Build new automata like observer, but attach
“labels” to the states of Gdiag
To build



Attach N label to states that can be reached from x0 by
unobservable strings
Attach Y label to states that can be reached from x0 by
unobservable strings that contain at least one
occurrence of ed
If state z can be reached both with and without
executing ed then create two entries in the initial state
set of Gdiag: zN and zY.
Diagnoser Automata