A Brief History of Process Algebra J.C.M. Baeten Technische - - PowerPoint PPT Presentation

a brief history of process algebra
SMART_READER_LITE
LIVE PREVIEW

A Brief History of Process Algebra J.C.M. Baeten Technische - - PowerPoint PPT Presentation

A Brief History of Process Algebra J.C.M. Baeten Technische Universiteit Eindhoven The Netherlands presented by Robert Staudinger University of Salzburg Austria p. 1 Introduction What is Process Algebra? History, most important


slide-1
SLIDE 1

A Brief History of Process Algebra

J.C.M. Baeten Technische Universiteit Eindhoven The Netherlands — presented by Robert Staudinger University of Salzburg Austria

– p. 1

slide-2
SLIDE 2

Introduction

What is Process Algebra? History, most important algebras Recent developments

– p. 2

slide-3
SLIDE 3

What is Process Algebra? (1)

Roots in automata theory (states, transitions) Equivalence: language equivalence Algebra: regular expressions ∗ Lacking in concurrency and interaction Process: behaviour of a system P . algebra: axiomatic approach to describe processes ∗ Axioms allow for calculations Equivalence: bisimilarity

– p. 3

slide-4
SLIDE 4

What is Process Algebra? (2)

Basic operators

+ alternative composition (weakest binding) || parallel composition ; sequential composition (strongest binding)

Operator syntax differs among algebras

– p. 4

slide-5
SLIDE 5

What is Process Algebra? (3)

Basic laws

x + y = y + x (commutativity) x + (y + z) = (x + y) + z (associativity: alternative) x + x = x (idempotency) (x + y); z = x; z + y; z (right distributivity of + over ;) (x; y); z = x; (y; z) (associativity: sequential) xy = yx (commutativity of parallel composition) (xy)z = x(yz) (associativity: parallel)

Interleaving vs. true concurrency systems (expansion theorem)

– p. 5

slide-6
SLIDE 6

History

  • 1. Operational semantics (McCarthy)

Computer: abstract machine State: variables Transition: elementary program instruction

  • 2. Denotational semantics (Scott, Strachey)

More abstract Program model is function turning input into output

  • 3. Axiomatic semantics (Floyd, Hoare)

Emphasis on proving programs correct Proof triple: precondition, statement, postcondition ∗

– p. 6

slide-7
SLIDE 7

History: Bekiˇ c

First to address semantics of quasi-parallel execution

(A//B)ξ = (cases Aξ : null − → Bξ (f, A′) − → f, (A′//B)) ⊔ (cases Bξ : null − → Aξ (g, B′) − → g, (A//B′))

– p. 7

slide-8
SLIDE 8

History: CCS

Calculus of Communicating Systems Robin Milner, central person on PA Uses * for sequential, ? for alternative, || for parallel composition Fomulates basic CCS with Henessy Observational- and strong equivalence defined inductively Henessy-Milner logic: logical characterisation of process equivalence

– p. 8

slide-9
SLIDE 9

History: CSP

Communicating Sequential Processes Tony Hoare, now at MSR First to introduce message passing instead of global variables * Prevents deadlocks, influenced Milner/CCS

– p. 9

slide-10
SLIDE 10

? History: ACP

Algebra of Communicating Processes Bergstra, Klop, 1982 First to use term process algebra Axioms (+ union, · composition, left merge)

x + y = y + x x + (y + z) = (x + y) + z x + x = x (xy)z = x(yz) (x + y)z = xz + yz (x + y)z = xz + yz axy = a(xy + yx) ay = ay

– p. 10

slide-11
SLIDE 11

Developments: Theory

Bisimulation is central notion of equivalence in PA. Def: (Strong Bisimulation) A binary relation R over the set of states si ∈ S of an LTS is a bisimulation iff whenever s1Rs2 and α is an action: If s1

α

→ s′

1, then ∃ a transition s2 α

→ s′

2 such that s′ 1Rs′ 2

If s2

α

→ s′

2, then ∃ a transition s1 α

→ s′

1 such that s′ 1Rs′ 2

Two bisimilar states are written s1 ∼ s2 Operational semantics of CCS given in terms of LTS whose states are process expression: definition applies.

– p. 11

slide-12
SLIDE 12

Developments: Time

Variants of CCS, CSP , ACP with quantitative notion of time Formulations of bisimulation taking time into account Used e.g. in protocol verification Very strict, notion of approximation desireable

– p. 12

slide-13
SLIDE 13

Developments: Mobility

Networks of mobile processes are being researched Examples: π calculus, ambient calculus Interesting area to watch, e.g. recent submission of save boxed ambient calculus implementation to DATE Is a VM for executing processes on networks, according to a behavioural spec in highlevel syntax

– p. 13

slide-14
SLIDE 14

Conclusion

Early work focused on programming languages, parallel constructs Breakthrough 1: from process as function to provision for intermediate states Breakthrough 2: replacement of global state with message passing PAs extended with data, time, mobility, probability, stochastics over time Yet challenges exist, would lead too far, get in touch with Ana

– p. 14