1 / 28

Models of Computation: Automata and Processes

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

flo
Download Presentation

Models of Computation: Automata and Processes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Models of Computation: Automata and Processes Jos Baeten

  2. Models of computation • Automata theory and formal languages • Turing machine • Computability • Algorithm • Complexity

  3. Models of computation • Automaton is model of computer • input/output function • stand alone • batch process • Add notion of interaction -> • concurrency theory, process theory

  4. 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

  5. A cook’s tour of automata and processes • Some answers, some questions

  6. From automata theory: • A regular language: • deterministic finite automaton • non-deterministic finite automaton • right-linear grammar • left-linear grammar • regular expression

  7. From process theory: • A regular process: • deterministic finite automaton • non-deterministic finite automaton • right-linear grammar • left-linear grammar • regular expression

  8. 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

  9. A regular expression • Not all regular processes can be described by a regular expression (w.r.t. bisimulation)

  10. 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

  11. 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.

  12. Consequence • Iteration not basic programming construct for parallel programming.

  13. Regular expressions • + choice • • sequential composition • 0 inaction, d 1 skip, e a action * iteration So, not recursion

  14. Reg. exp. to finite automata

  15. Algebra for regular expressions

  16. 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

  17. Open question • The algebra with RSP* is ground-complete.

  18. Context-free language: • Context-free grammar • Push-down automaton

  19. What is a context-free process? • A guarded recursive specification over TSP: • + choice • • sequential composition • 0 inaction 1 skip a action (prefix)

  20. Context-free process • B, Bergstra, Klop. JACM 1993. • Restricted Greibach normal form.

  21. A push-down automaton? • Theorem: any context-free process is bisimulation equivalent to a regular process communicating with a stack.

  22. Stack

  23. 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.

  24. Bag

  25. 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.

  26. Turing machine • Theorem: any computable process is bisimulation equivalent to a regular process communicating with two stacks. • B, Bergstra, Klop, TCS 1987.

  27. 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).

  28. Conclusion • Interesting research area. • Canonizes concurrency theory as a foundation of computer science.

More Related