CS 367: Model-Based ReasoningLecture 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
b Parallel Composition: Example 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 G1G2 is the concurrent behavior of G1 and G2 – called the shuffle of G1 and G2 G1G2 = G2G1 (G1G2 )G3=G1(G2 G3)
Example of Parallel CompositionDining Philosophers (Multiple users sharing common resources) Philosophers: (i) think, (ii) eat Forks: (i) available, (ii) used Incomplete model Contains two deadlock states -- controller added to disallow deadlock
What is control? • Control – selecting right input to system to achieve desired behavior: 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: • Partition the set of events: • Observer contains no unobservable events
Observer -- Example Note:Gobs is deterministic
How to make this comparison computationally efficient? State Space Refinement • Task: Comparison of two languages • Refinement by Product:
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: Accessible, Coaccessible algorithms are linear in size of automaton • Blocking Properties:
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:
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 edthen create two entries in the initial state set of Gdiag: zN and zY.