230 likes | 509 Views
CS 367: Model-Based Reasoning Lecture 4 (01/24/2002). Gautam Biswas. Today’s Lecture. Last Lecture: Deterministic Languages and Automata Concept of Blocking Today’s Lecture: Concept of Blocking Non deterministic Automata Operations on Automata. Automata.
E N D
CS 367: Model-Based ReasoningLecture 4 (01/24/2002) Gautam Biswas
Today’s Lecture • Last Lecture: • Deterministic Languages and Automata • Concept of Blocking • Today’s Lecture: • Concept of Blocking • Non deterministic Automata • Operations on Automata
Automata • Device for representing language as a set of well-defined rules • Represented as directed graph: nodes are states and labeled arcs represent transitions
Deterministic Automata -- Which states to mark: modeling issue • Deterministic versus non deterministic • Note: f is a partially defined function • is derived from f
Language generated by Automata Automata G1 and G2 are equivalent if
Blocking Automata • Automata G can reach state x, but (x) = and x xm This is called deadlock because no further events can be executed System blocks when it enters deadlock state • When we have set of unmarked states that form strongly connected component – Livelock States are reachable from one another but there is no transition out of them
Blocking Prefix-closed by defn. prefix closure Deadlock (x) = and x xm then Livelock (can execute event, but not complete task)
Blocking Automata G is blocking if Automata G is non blocking if
Example: Machine Status Check : livelock occurs at state 5
Nondeterministic Automaton Languages generated are similar to that of deterministic languages Extend the domain of fndto traces of events:
Nondeterministic Automata: Example Do nondeterministic automata have more expressive power than deterministic automata? No: Any nondeterministic automaton can be transformed into an equivalent deterministic automaton.
Operations on Automata • Every automata models two languages: • Notion of Accessibility and Co-accessibility • Accessible Part: notion of deleting states that are not reachable or accessible from x0 Ac has no effect on Therefore, always assume G = Ac(G)
Operations on Automata • Coaccessible Part • A state is coaccessible if it can reach a marked state • Taking the coaccssible part, means building CoAc operation shrinks L(G) but not Lm(G)
Operations on Automaton • An automaton that is accessible and coaccessible is said to be trim • Coaccessibility linked to concept of blocking Nonblocking coaccessible
Complement of Trim Automaton • 1. Complete the transition function f of G and make it a total • function -- done by adding dead or dump state • Change the marking status of all states.
Composition of Automata • Two kinds • Product: completely synchronous • Parallel: synchronous