1212 Models of Computation: Automata and Processes Jos Baeten.

28
12 Models of Computation: Automata and Processes Jos Baeten
  • date post

    20-Dec-2015
  • Category

    Documents

  • view

    225
  • download

    1

Transcript of 1212 Models of Computation: Automata and Processes Jos Baeten.

12

Models of Computation: Automata and Processes

Jos Baeten

12Models of computation

Automata theory and formal languagesTuring machine

Computability

Algorithm

Complexity

12Models of computation

Automaton is model of computerinput/output functionstand alonebatch process

Add notion of interaction ->concurrency theory, process theory

12Thesis

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

12A cook’s tour of automata and processes

Some answers, some questions

12From automata theory:A regular language:

deterministic finite automatonnon-deterministic finite automatonright-linear grammarleft-linear grammarregular expression

12From process theory:A regular process:

deterministic finite automatonnon-deterministic finite automatonright-linear grammarleft-linear grammarregular expression

12A regular process

A finite transition system modulo bisimulationedge-labeled, initial state, set of final

statesA finite guarded linear recursive specification:

action prefix+recursion01

12A regular expression

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

12

X = a.Y + 1Y = b.X + 1

X = a.Y + 1 = a.(b.X + 1) + 1 = a.b.X + a.1 + 1X = (ab)*(a.1 + 1)Y = b(ab)*(a.1 + 1) + 1= left distributivity of • over + holds in language equivalence

Exampleb

a

12Milner 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.

12Consequence

Iteration not basic programming construct for parallel programming.

12Regular expressions

+ choice

• sequential composition

0 inaction, 1 skip, a action

* iteration

So, not recursion

12Reg. exp. to finite automata

12Algebra for regular expressions

12Need conditional rule

RSP*: x = y•x + z x = y*z

guarded, i.e.

y does not have the empty word property,

y ≠ y + 1

12Open question

The algebra with RSP* is ground-complete.

12Context-free language:

Context-free grammarPush-down automaton

12What is a context-free process?

A guarded recursive specification over TSP:

+ choice

• sequential composition

0 inaction

1 skip

a action (prefix)

12Context-free process

B, Bergstra, Klop. JACM 1993.Restricted Greibach normal form.

12A push-down automaton?

Theorem: any context-free process is bisimulation equivalent to a regular process communicating with a stack.

12Stack

12Different classes of processes

Regular: action, +, 0, 1

Context-free: add seq. comp.Basic parallel: add ||, no communicationBasic communicating: add || with comm.Parallel: add seq.comp. to basic parallelCommunicating: add seq.comp. to basic

comm.

12Bag

12A 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.

12Turing machine

Theorem: any computable process is bisimulation equivalent to a regular process communicating with two stacks.

B, Bergstra, Klop, TCS 1987.

12Another 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).

12Conclusion

Interesting research area.Canonizes concurrency theory as a

foundation of computer science.