javier esparza - tumesparza/talks/lmpstrueconc.pdfabstract models of computation in the early 60s...

71
A False History of True Concurrency Javier Esparza Sofware Reliability and Security Group Institute for Formal Methods in Computer Science University of Stuttgart . 1

Upload: others

Post on 26-Apr-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

A False History of True Concurrency

Javier Esparza

Sofware Reliability and Security Group

Institute for Formal Methods in Computer ScienceUniversity of Stuttgart

. 1

Page 2: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

The early 60s

. 2

Page 3: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Abstract Models of Computation in the early 60s

Lambda calculus (Church 35)

Turing machines (Turing 36)

Finite automata (Kleene 56, Moore 56, Mealy 56, Scott and Rabin 59)

Pushdown automata (Oettinger 61, Chomsky 62, Evey 63, Schutzenberger 63)

. 3

Page 4: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Semantics: executions

States: current configurations of the machine

One or more initial states

Possibly some distinguished final states

Transitions: moves between configurations

Lambda calculus (λx .xx)(λy .y) −−→ (λy .y)(λz.z)

Turing machine 0010q1011 −−→ 001q201011

Finite automaton q1a

−−−→ q2

Pushdown automaton (q1,XYYZ )a

−−−→ (q2,XYXYYZ )

Executions: alternating sequences of states and transitions

. 4

Page 5: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Physics and Computation

Abstract machinesare implemented as

can simulate

physical systems

SIMULA project (Nygaard and Dahl) started in 1962

A plane (physical system)

can be simulated by a plane simulator (abstract machine)

which can be implemented in a video console (physical system)

which can be simulated by a hardware simulator (abstract machine)

which is implemented in a PC (physical system) . . .

. 5

Page 6: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Physics and Computation

Abstract machinesare implemented as

can simulatephysical systems

SIMULA project (Nygaard and Dahl) started in 1962

A plane (physical system)

can be simulated by a plane simulator (abstract machine)

which can be implemented in a video console (physical system)

which can be simulated by a hardware simulator (abstract machine)

which is implemented in a PC (physical system) . . .

. 5

Page 7: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Physics and Computation

Abstract machinesare implemented as

can simulatephysical systems

SIMULA project (Nygaard and Dahl) started in 1962

A plane (physical system)

can be simulated by a plane simulator (abstract machine)

which can be implemented in a video console (physical system)

which can be simulated by a hardware simulator (abstract machine)

which is implemented in a PC (physical system) . . .

. 5

Page 8: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Physics and Computation

Abstract machinesare implemented as

can simulatephysical systems

SIMULA project (Nygaard and Dahl) started in 1962

A plane (physical system)

can be simulated by a plane simulator (abstract machine)

which can be implemented in a video console (physical system)

which can be simulated by a hardware simulator (abstract machine)

which is implemented in a PC (physical system) . . .

. 5

Page 9: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Physics and Computation

Abstract machinesare implemented as

can simulatephysical systems

SIMULA project (Nygaard and Dahl) started in 1962

A plane (physical system)

can be simulated by a plane simulator (abstract machine)

which can be implemented in a video console (physical system)

which can be simulated by a hardware simulator (abstract machine)

which is implemented in a PC (physical system) . . .

. 5

Page 10: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Physics and Computation

Abstract machinesare implemented as

can simulatephysical systems

SIMULA project (Nygaard and Dahl) started in 1962

A plane (physical system)

can be simulated by a plane simulator (abstract machine)

which can be implemented in a video console (physical system)

which can be simulated by a hardware simulator (abstract machine)

which is implemented in a PC (physical system) . . .

. 5

Page 11: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Physics and Computation

Abstract machinesare implemented as

can simulatephysical systems

SIMULA project (Nygaard and Dahl) started in 1962

A plane (physical system)

can be simulated by a plane simulator (abstract machine)

which can be implemented in a video console (physical system)

which can be simulated by a hardware simulator (abstract machine)

which is implemented in a PC (physical system) . . .

. 5

Page 12: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Petri’s question

C.A. Petri points out a discrepancy between

how Theoretical Physics and Theoretical Computer Science

described systems in 1962:

Theoretical Physics describes systems as a collection of interacting particles(subsystems), without a notion of global clock or simultaneity

Theoretical Computer Science describes systems as sequential virtualmachines going through a temporally ordered sequence of global states

Petri’s question:

Which kind of abstract machine should be used to describethe physical implementation of a Turing machine?

. 6

Page 13: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Petri Nets

A graphical representation of interacting finite automata:

s0 r0 q0

s1 r1 q1

a b b c d d e

b bb bb d dd dda c eaa cc e e

s0 r0 q0

s1 r1 q1

s0 r0 q0

s1 r1 q1

. 7

Page 14: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Petri Nets

A graphical representation of interacting finite automata:

s0 r0 q0

s1 r1 q1

a b b c d d eb b

b bb d dd dda c eaa cc e e

s0 r0 q0

s1 r1 q1

s0 r0 q0

s1 r1 q1

. 7

Page 15: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Petri Nets

A graphical representation of interacting finite automata:

s0 r0 q0

s1 r1 q1

a b b c d d eb bb bb

d dd dda c eaa cc e e

s0 r0 q0

s1 r1 q1

s0 r0 q0

s1 r1 q1

. 7

Page 16: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Petri Nets

A graphical representation of interacting finite automata:

s0 r0 q0

s1 r1 q1

a b b c d d eb bb bb d d

d dda c eaa cc e e

s0 r0 q0

s1 r1 q1

s0 r0 q0

s1 r1 q1

. 7

Page 17: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Petri Nets

A graphical representation of interacting finite automata:

s0 r0 q0

s1 r1 q1

a b b c d d eb bb bb d dd dd

a c eaa cc e e

s0 r0 q0

s1 r1 q1

s0 r0 q0

s1 r1 q1

. 7

Page 18: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Petri Nets

A graphical representation of interacting finite automata:

s0 r0 q0

s1 r1 q1

a b b c d d eb bb bb d dd dda c e

aa cc e e

s0 r0 q0

s1 r1 q1

s0 r0 q0

s1 r1 q1

. 7

Page 19: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Petri Nets

A graphical representation of interacting finite automata:

s0 r0 q0

s1 r1 q1

a b b c d d eb bb bb d dd dda c eaa cc e e

s0 r0 q0

s1 r1 q1

s0 r0 q0

s1 r1 q1

. 7

Page 20: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Petri Nets

A graphical representation of interacting finite automata:

s0 r0 q0

s1 r1 q1

a b b c d d eb bb bb d dd dda c eaa cc e e

s0 r0 q0

s1 r1 q1

s0 r0 q0

s1 r1 q1

. 7

Page 21: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

The interleaving semantics of Petri nets

An execution semantics

State: marking (distribution of tokens)

Transitions: M a−−−→M ′

Executions: M0a0−−−−→M1

a1−−−−→M2 . . .

. 8

Page 22: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

s0 r0 q0

s1 r1 q1

a b c d e

c cb b e ed d e ea a b b

srq

0

0

0

c−→

0

1

0

b−→

1

0

0

e−→

1

0

1

d−→

1

1

0

e−→

1

1

1

a−→

0

1

1

b−→

1

0

1

. 9

Page 23: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

s0 r0 q0

s1 r1 q1

a b c d e

c cb b e ed d e ea a b b

srq

0

0

0

c−→

0

1

0

b−→

1

0

0

e−→

1

0

1

d−→

1

1

0

e−→

1

1

1

a−→

0

1

1

b−→

1

0

1

. 9

Page 24: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

s0 r0 q0

s1 r1 q1

a b c d ec

cb b e ed d e ea a b b

srq

0

0

0

c−→

0

1

0

b−→

1

0

0

e−→

1

0

1

d−→

1

1

0

e−→

1

1

1

a−→

0

1

1

b−→

1

0

1

. 9

Page 25: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

s0 r0 q0

s1 r1 q1

a b c d ecc

b b e ed d e ea a b b

srq

0

0

0

c−→

0

1

0

b−→

1

0

0

e−→

1

0

1

d−→

1

1

0

e−→

1

1

1

a−→

0

1

1

b−→

1

0

1

. 9

Page 26: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

s0 r0 q0

s1 r1 q1

a b c d eccb

b e ed d e ea a b b

srq

0

0

0

c−→

0

1

0

b−→

1

0

0

e−→

1

0

1

d−→

1

1

0

e−→

1

1

1

a−→

0

1

1

b−→

1

0

1

. 9

Page 27: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

s0 r0 q0

s1 r1 q1

a b c d eccbb

e ed d e ea a b b

srq

0

0

0

c−→

0

1

0

b−→

1

0

0

e−→

1

0

1

d−→

1

1

0

e−→

1

1

1

a−→

0

1

1

b−→

1

0

1

. 9

Page 28: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

s0 r0 q0

s1 r1 q1

a b c d eccbb e

ed d e ea a b b

srq

0

0

0

c−→

0

1

0

b−→

1

0

0

e−→

1

0

1

d−→

1

1

0

e−→

1

1

1

a−→

0

1

1

b−→

1

0

1

. 9

Page 29: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

s0 r0 q0

s1 r1 q1

a b c d eccbb ee

d d e ea a b b

srq

0

0

0

c−→

0

1

0

b−→

1

0

0

e−→

1

0

1

d−→

1

1

0

e−→

1

1

1

a−→

0

1

1

b−→

1

0

1

. 9

Page 30: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

s0 r0 q0

s1 r1 q1

a b c d eccbb eed

d e ea a b b

srq

0

0

0

c−→

0

1

0

b−→

1

0

0

e−→

1

0

1

d−→

1

1

0

e−→

1

1

1

a−→

0

1

1

b−→

1

0

1

. 9

Page 31: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

s0 r0 q0

s1 r1 q1

a b c d eccbb eedd

e ea a b b

srq

0

0

0

c−→

0

1

0

b−→

1

0

0

e−→

1

0

1

d−→

1

1

0

e−→

1

1

1

a−→

0

1

1

b−→

1

0

1

. 9

Page 32: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

s0 r0 q0

s1 r1 q1

a b c d eccbb eedd e

ea a b b

srq

0

0

0

c−→

0

1

0

b−→

1

0

0

e−→

1

0

1

d−→

1

1

0

e−→

1

1

1

a−→

0

1

1

b−→

1

0

1

. 9

Page 33: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

s0 r0 q0

s1 r1 q1

a b c d eccbb eedd ee

a a b b

srq

0

0

0

c−→

0

1

0

b−→

1

0

0

e−→

1

0

1

d−→

1

1

0

e−→

1

1

1

a−→

0

1

1

b−→

1

0

1

. 9

Page 34: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

s0 r0 q0

s1 r1 q1

a b c d eccbb eedd eea

a b b

srq

0

0

0

c−→

0

1

0

b−→

1

0

0

e−→

1

0

1

d−→

1

1

0

e−→

1

1

1

a−→

0

1

1

b−→

1

0

1

. 9

Page 35: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

s0 r0 q0

s1 r1 q1

a b c d eccbb eedd eeaa

b b

srq

0

0

0

c−→

0

1

0

b−→

1

0

0

e−→

1

0

1

d−→

1

1

0

e−→

1

1

1

a−→

0

1

1

b−→

1

0

1

. 9

Page 36: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

s0 r0 q0

s1 r1 q1

a b c d eccbb eedd eeaa b

b

srq

0

0

0

c−→

0

1

0

b−→

1

0

0

e−→

1

0

1

d−→

1

1

0

e−→

1

1

1

a−→

0

1

1

b−→

1

0

1

. 9

Page 37: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

s0 r0 q0

s1 r1 q1

a b c d eccbb eedd eeaa bb

srq

0

0

0

c−→

0

1

0

b−→

1

0

0

e−→

1

0

1

d−→

1

1

0

e−→

1

1

1

a−→

0

1

1

b−→

1

0

1

. 9

Page 38: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

The true concurrency semantics of Petri nets

s0 r0 q0

s1 r1 q1

a b c d e

c cb b e ed d e ea a b b

s0

r0

q0

cr1 b

s1

r0

e

q1 d

r1

q0

e

q1

as0

b

s1

r0

. 10

Page 39: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

The true concurrency semantics of Petri nets

s0 r0 q0

s1 r1 q1

a b c d e

c cb b e ed d e ea a b b

s0

r0

q0

cr1 b

s1

r0

e

q1 d

r1

q0

e

q1

as0

b

s1

r0

. 10

Page 40: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

The true concurrency semantics of Petri nets

s0 r0 q0

s1 r1 q1

a b c d ec

cb b e ed d e ea a b b

s0

r0

q0

cr1 b

s1

r0

e

q1 d

r1

q0

e

q1

as0

b

s1

r0

. 10

Page 41: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

The true concurrency semantics of Petri nets

s0 r0 q0

s1 r1 q1

a b c d ecc

b b e ed d e ea a b b

s0

r0

q0

cr1

b

s1

r0

e

q1 d

r1

q0

e

q1

as0

b

s1

r0

. 10

Page 42: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

The true concurrency semantics of Petri nets

s0 r0 q0

s1 r1 q1

a b c d eccb

b e ed d e ea a b b

s0

r0

q0

cr1

b

s1

r0

e

q1 d

r1

q0

e

q1

as0

b

s1

r0

. 10

Page 43: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

The true concurrency semantics of Petri nets

s0 r0 q0

s1 r1 q1

a b c d eccbb

e ed d e ea a b b

s0

r0

q0

cr1 b

s1

r0

e

q1 d

r1

q0

e

q1

as0

b

s1

r0

. 10

Page 44: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

The true concurrency semantics of Petri nets

s0 r0 q0

s1 r1 q1

a b c d eccbb e

ed d e ea a b b

s0

r0

q0

cr1 b

s1

r0

e

q1 d

r1

q0

e

q1

as0

b

s1

r0

. 10

Page 45: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

The true concurrency semantics of Petri nets

s0 r0 q0

s1 r1 q1

a b c d eccbb ee

d d e ea a b b

s0

r0

q0

cr1 b

s1

r0

e

q1

d

r1

q0

e

q1

as0

b

s1

r0

. 10

Page 46: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

The true concurrency semantics of Petri nets

s0 r0 q0

s1 r1 q1

a b c d eccbb eed

d e ea a b b

s0

r0

q0

cr1 b

s1

r0

e

q1

d

r1

q0

e

q1

as0

b

s1

r0

. 10

Page 47: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

The true concurrency semantics of Petri nets

s0 r0 q0

s1 r1 q1

a b c d eccbb eedd

e ea a b b

s0

r0

q0

cr1 b

s1

r0

e

q1 d

r1

q0

e

q1

as0

b

s1

r0

. 10

Page 48: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

The true concurrency semantics of Petri nets

s0 r0 q0

s1 r1 q1

a b c d eccbb eedd e

ea a b b

s0

r0

q0

cr1 b

s1

r0

e

q1 d

r1

q0

e

q1

as0

b

s1

r0

. 10

Page 49: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

The true concurrency semantics of Petri nets

s0 r0 q0

s1 r1 q1

a b c d eccbb eedd ee

a a b b

s0

r0

q0

cr1 b

s1

r0

e

q1 d

r1

q0

e

q1

as0

b

s1

r0

. 10

Page 50: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

The true concurrency semantics of Petri nets

s0 r0 q0

s1 r1 q1

a b c d eccbb eedd eea

a b b

s0

r0

q0

cr1 b

s1

r0

e

q1 d

r1

q0

e

q1

as0

b

s1

r0

. 10

Page 51: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

The true concurrency semantics of Petri nets

s0 r0 q0

s1 r1 q1

a b c d eccbb eedd eeaa

b b

s0

r0

q0

cr1 b

s1

r0

e

q1 d

r1

q0

e

q1

as0

b

s1

r0

. 10

Page 52: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

The true concurrency semantics of Petri nets

s0 r0 q0

s1 r1 q1

a b c d eccbb eedd eeaa b

b

s0

r0

q0

cr1 b

s1

r0

e

q1 d

r1

q0

e

q1

as0

b

s1

r0

. 10

Page 53: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

The true concurrency semantics of Petri nets

s0 r0 q0

s1 r1 q1

a b c d eccbb eedd eeaa bb

s0

r0

q0

cr1 b

s1

r0

e

q1 d

r1

q0

e

q1

as0

b

s1

r0

. 10

Page 54: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Interleaving vs. true concurrency

The interleaving thesis:

The total order assumption is a reasonable abstraction, adequate forpractical purposes, and leading to nice mathematics

The true concurrency thesis:

The total order assumption does not correspond to physical reality andleads to awkward representations of simple phenomena

. 11

Page 55: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

The standard example

In interleaving semantics, a system composed of n independent components

a1

���

an

has n! different executions

The automaton accepting them has 2n states

In true concurrency semantics, it has only one nonsequential execution

. 12

Page 56: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

30 years of concurrency theory in one slide

Interleaving semantics

Petri nets/vector addition systems (Hack, Kosaraju, Mayr, . . . 70s–80s)Process algebras (Milner 80)Temporal logic (Pnueli 77)Model checking (Clarke, Emerson, Queille, Sifakis 81)

True concurrency

Axiomatic concurrency theory (Best, Fernandez, Petri . . . 70s–80s)Trace theory (formal languages, Mazurkiewicz 77)Event structures (domain theory, Winskel 80)True concurrency semantics of process algebras (Montanari, Winskel . . . 80s)Partial order model checking (E., Godefroid, Peled, Wolper 90s)Temporal logics for true concurrency (90s–00s)

. 13

Page 57: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Temporal Logics for True Concurrency

. 14

Page 58: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

LTL: a temporal logic for sequential runs

Syntax: ϕ ::= true | ¬ϕ | ϕ ∨ ψ | 〈a〉ϕ | Fϕ | Gϕ | ϕ | ϕ U ψ

where a belongs to a finite set Act of actions

Formulas interpreted on runs over Act : elements of Actω

Semantics: ρ |= 〈a〉ϕ if ρ = aρ′ and ρ′ |= ϕ

ρ |= Fϕ if ρ′ |= ϕ for some suffix ρ′ of ρ

ρ |= Gϕ if ρ′ |= ϕ for all suffixes ρ′ of ρ

ρ |= ϕ U ψ if ρ′ |= ψ for some suffix ρ′ of ρ and

ρ′′ |= φ for all suffixes ρ′′ between ρ and ρ′

. 15

Page 59: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Examples

Invariants: Gϕ

G(〈a1〉true ∨ . . . ∨ 〈an〉true) deadlock freedom

Response, recurrence: G(ϕ⇒ Fψ)

G(〈request〉true⇒ F〈taken〉true) eventual access to a resource

GF〈active〉true process remains active

Reactivity: GFϕ⇒ GFψ

GF(〈request1〉true ∧ ¬〈taken2〉true) ⇒

GF〈taken1〉true

strong fairness

. 16

Page 60: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Model checking

Fix a system S with action alphabet Act

We use LTL over Act to specify properties of S

S satisfies a formula ϕ, denoted S |=LTL ϕ , if all its executions satisfy ϕ

The model checking problem: given S and ϕ, decide if T |=LTL ϕ

. 17

Page 61: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Results on LTL

Kamp’s theorem: LTL has the same expressivity as the first-order theory of runs

FO(Act) ::= Ra(x) | x ≤ y | ¬ϕ | φ ∨ ψ | ∃x .ϕ

The satisfiability and model-checking problems are PSPACE-complete

Construct a Buchi automaton of size 2O(|ϕ|) accepting the runs satisfying ϕ

(Intersect it with an automaton accepting all executions of S)

Check for emptiness

. 18

Page 62: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

LTrL: Interpreting LTL on nonsequential runs

Fix a distributed alphabet Act = (Act1, . . . ,Actn) of actions

a ∈ Acti ∩ Actj means that a is a joint action of the i-th and the j-th agents

Denote by NS(Act) the set of nonsequential runs over Act

– The line of the i-th component only contains actions of Acti

– Joint actions ‘synchronize’ the lines of its agents

Example: Act1 = {a, b}, Act2 = {a, d}, Act3 = {c, d}

1

2

3

a

b

c

d

. 19

Page 63: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

LTL now interpreted on NS(Act)

Same semantics as LTL, but with a new notion of suffix

Prefixes of a nonsequential run:

All minimal places belong to the prefix

If a transition belongs to the prefix, so do its output places

Suffixes: ‘complements’ of prefixes

a

b

c

d

a

b

c

d

. 20

Page 64: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Semantics: ν |= 〈a〉ϕ if ν can be extended by an a-labelled event esuch that ν ∪ {e} |= ϕ

ν |= Fϕ if ν |= ϕ for some suffix ν ′ of ν

ν |= Gϕ if ν |= ϕ for all suffixes ν ′ of ν

ν |= ϕ U ψ if ν ′ |= ψ for some suffix ν ′ of ρ and

ν′′ |= φ for all suffixes ν ′′ between ν and ν ′

. 21

Page 65: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Where is the difference?

〈a〉true ∧ 〈b〉true unsatisfiable in LTL, satisfiable in LTrL

Example satisfies GF(〈a〉〈e〉true) as a formula of LTrL, but not as a formulaof LTL

s0 r0 q0

s1 r1 q1

a b c d e

Better specification of ‘reset states’

. 22

Page 66: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Model checking

Fix a system S = (S1, . . . ,Sn) with distributed alphabet Act,

We use LTL over Act to specify properties of S

S satisfies a formula ϕ if all its nonsequential executions satisfy ϕ

The model checking problem: given S and ϕ, decide if T |=LTrL ϕ

. 23

Page 67: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Results on LTrL

Expressively complete for the first order theory of nonsequential runs

FO(Act) ::= Ra(x) | x ≤ y | ¬ϕ | φ ∨ ψ ∃x .ϕ

≤ interpreted on partial orders over Act that respect the distribution

Thiagarajan and Walukiewicz, LICS ’97: LTrL + Pa modalities

Diekert and Gastin, CSL ’99: LTrL + X ∗A modalities

Diekert and Gastin, ICALP ’00

Non-elementary satisfiability and model checking problems (WalukiewiczICALP’98)

LTL allows to specify 2n-counters with formulas of length O(n)

LTrL allows to specify Tower(2, n)-counters with formulas of length O(n)

. 24

Page 68: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Local LTL: interpreting LTL on local states

Local state of a component: ‘a position in its time line’

Identify a local state (place) with the prefix determined by all its predecessors

A component always has complete information about its causal past

Components exchange full information when they synchronize

Example: Act1 = {a, b}, Act2 = {a, d}, Act3 = {c, d}

1

2

3

a

b

c

d

. 25

Page 69: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Syntax: ϕ ::= true | ¬ϕ | ϕ ∨ ψ | 〈a〉iϕ | Fiϕ | Gi

ϕ | ϕ Ui ψ

where a is an action and 1 ≤ i ≤ n

Semantics: 〈a〉iϕ means ϕ holds at i ’s next local stateF

iϕ means ϕ holds eventually at i ’s timeline

Giϕ means ϕ holds always along i ’s timeline

ϕ Ui ψ means ϕ holds until ψ holds along i ’s timeline

Gets interesting when formulas use several indices: F1G

2〈a〉1true

. 26

Page 70: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Results on Local LTL

PSPACE-complete satisfiability and model checking problems(Thiagarajan, LICS ’94)

Generalization of the Buchi automaton construction

Technical problem: to keep track of the latest gossip

Expresiveness still unclear

Completeness results for logics with similar flavours(Gastin, Mukund, Kumar MFCS ’03)

Difficult to specify with

. 27

Page 71: Javier Esparza - TUMesparza/Talks/lmpstrueconc.pdfAbstract Models of Computation in the early 60s Lambdacalculus(Church35) Turingmachines(Turing36) Finiteautomata(Kleene56,Moore56,Mealy56,ScottandRabin59)

Outlook

Interleaving semantics ‘default’ semantics in practice

True concurrency brought in when interleaving ‘fails’

Challenge: automatic synthesis of distributed systems

Interleaving logics insensitive to distribution requirements

Maybe the ‘killer application’ for true concurrency?

. 28