1212 Models of Computation: Automata and Processes Jos Baeten
1212 Models of computation Automata theory and formal languages Turing machine Computability Algorithm Complexity
1212 Models of computation Automaton is model of computer input/output function stand alone batch process Add notion of interaction-> concurrency theory, process theory
1212 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
1212 A cook’s tour of automata and processes Some answers, some questions
1212 From automata theory: A regular language: deterministic finite automaton non-deterministic finite automaton right-linear grammar left-linear grammar regular expression
1212 From process theory: A regular process: deterministic finite automaton non-deterministic finite automaton right-linear grammar left-linear grammar regular expression
1212 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
1212 A regular expression Not all regular processes can be described by a regular expression (w.r.t. bisimulation)
1212 X = a.Y + 1 Y = b.X + 1 X = a.Y + 1 = a.(b.X + 1) + 1 = a.b.X + a X = (ab)*(a.1 + 1) Y = b(ab)*(a.1 + 1) + 1 = left distributivity of over + holds in language equivalence Example b a
1212 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.
1212 Consequence Iteration not basic programming construct for parallel programming.
1212 Regular expressions +choice sequential composition 0inaction, 1skip, aaction *iteration So, not recursion
1212 Reg. exp. to finite automata
1212 Algebra for regular expressions
1212 Need conditional rule RSP*:x = yx + z x = y*z guarded, i.e. y does not have the empty word property, y ≠ y + 1
1212 Open question The algebra with RSP* is ground-complete.
1212 Context-free language: Context-free grammar Push-down automaton
1212 What is a context-free process? A guarded recursive specification over TSP: +choice sequential composition 0inaction 1skip aaction (prefix)
1212 Context-free process B, Bergstra, Klop. JACM Restricted Greibach normal form.
1212 A push-down automaton? Theorem: any context-free process is bisimulation equivalent to a regular process communicating with a stack.
1212 Stack
1212 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.
1212 Bag
1212 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.
1212 Turing machine Theorem: any computable process is bisimulation equivalent to a regular process communicating with two stacks. B, Bergstra, Klop, TCS 1987.
1212 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).
1212 Conclusion Interesting research area. Canonizes concurrency theory as a foundation of computer science.