280 likes | 438 Views
Models of Computation: Automata and Processes. Jos Baeten. Models of computation. Automata theory and formal languages Turing machine Computability Algorithm Complexity. Models of computation. Automaton is model of computer input/output function stand alone batch process
E N D
Models of computation • Automata theory and formal languages • Turing machine • Computability • Algorithm • Complexity
Models of computation • Automaton is model of computer • input/output function • stand alone • batch process • Add notion of interaction -> • concurrency theory, process theory
Thesis • Process theory is just as important to every computer science student as automata theory • Can be taught together in every undergraduate curriculum • Analogies help, standardization can ensue
A cook’s tour of automata and processes • Some answers, some questions
From automata theory: • A regular language: • deterministic finite automaton • non-deterministic finite automaton • right-linear grammar • left-linear grammar • regular expression
From process theory: • A regular process: • deterministic finite automaton • non-deterministic finite automaton • right-linear grammar • left-linear grammar • regular expression
A regular process • A finite transition system modulo bisimulation • edge-labeled, initial state, set of final states • A finite guarded linear recursive specification: • action prefix • + • recursion • 0 • 1
A regular expression • Not all regular processes can be described by a regular expression (w.r.t. bisimulation)
Example a b • X = a.Y + 1 • Y = b.X + 1 • X = a.Y + 1 = a.(b.X + 1) + 1 = a.b.X + a.1 + 1 • X = (ab)*(a.1 + 1) • Y = b(ab)*(a.1 + 1) + 1 • = left distributivity of • over + holds • in language equivalence
Milner 1984 • Not for bisimulation equivalence. • Question: which finite behaviours are bisimulation equivalent to a regular expression? • Answer: well-behaved ones • B, Corradini, Grabmayer. JACM 2007.
Consequence • Iteration not basic programming construct for parallel programming.
Regular expressions • + choice • • sequential composition • 0 inaction, d 1 skip, e a action * iteration So, not recursion
Need conditional rule • RSP*: x = y•x + z x = y*z • guarded, i.e. • y does not have the empty word property, • y ≠ y + 1
Open question • The algebra with RSP* is ground-complete.
Context-free language: • Context-free grammar • Push-down automaton
What is a context-free process? • A guarded recursive specification over TSP: • + choice • • sequential composition • 0 inaction 1 skip a action (prefix)
Context-free process • B, Bergstra, Klop. JACM 1993. • Restricted Greibach normal form.
A push-down automaton? • Theorem: any context-free process is bisimulation equivalent to a regular process communicating with a stack.
Different classes of processes • Regular: action, +, 0, 1 • Context-free: add seq. comp. • Basic parallel: add ||, no communication • Basic communicating: add || with comm. • Parallel: add seq.comp. to basic parallel • Communicating: add seq.comp. to basic comm.
A non-theorem • Theorem: any basic parallel process is bisimulation equivalent to a regular process communicating with a bag. • Problem: need to detect termination. • Bag with termination is not basic parallel.
Turing machine • Theorem: any computable process is bisimulation equivalent to a regular process communicating with two stacks. • B, Bergstra, Klop, TCS 1987.
Another question • What set of processes do you get as a regular process communicating with a queue (with termination)? • A queue is a communicating process, only if arbitrary communication is allowed (or binary communication plus renaming).
Conclusion • Interesting research area. • Canonizes concurrency theory as a foundation of computer science.