24
Mobile Calculi Prof. Diletta Romana Cacciagrano

Prof. Diletta Romana Cacciagrano. From sequential over concurrent to mobile systems Introduction to the Pi-Calculus Operational Equivalences based

Embed Size (px)

Citation preview

Page 1: Prof. Diletta Romana Cacciagrano.  From sequential over concurrent to mobile systems  Introduction to the Pi-Calculus  Operational Equivalences based

Mobile Calculi

Prof. Diletta Romana Cacciagrano

Page 2: Prof. Diletta Romana Cacciagrano.  From sequential over concurrent to mobile systems  Introduction to the Pi-Calculus  Operational Equivalences based

Contents From sequential over concurrent to mobile

systems Introduction to the Pi-Calculus Operational Equivalences based on labels Operational Equivalences based on

reduction Testing preorders Some expressiveness results

Page 3: Prof. Diletta Romana Cacciagrano.  From sequential over concurrent to mobile systems  Introduction to the Pi-Calculus  Operational Equivalences based

A Shift in Theoretical Foundation

Page 4: Prof. Diletta Romana Cacciagrano.  From sequential over concurrent to mobile systems  Introduction to the Pi-Calculus  Operational Equivalences based

The Lambda-Calculus

Page 5: Prof. Diletta Romana Cacciagrano.  From sequential over concurrent to mobile systems  Introduction to the Pi-Calculus  Operational Equivalences based

The Lambda-Calculus

Page 6: Prof. Diletta Romana Cacciagrano.  From sequential over concurrent to mobile systems  Introduction to the Pi-Calculus  Operational Equivalences based

Petri Nets

Page 7: Prof. Diletta Romana Cacciagrano.  From sequential over concurrent to mobile systems  Introduction to the Pi-Calculus  Operational Equivalences based

Petri Nets

Page 8: Prof. Diletta Romana Cacciagrano.  From sequential over concurrent to mobile systems  Introduction to the Pi-Calculus  Operational Equivalences based

Petri Nets Drawbacks

Page 9: Prof. Diletta Romana Cacciagrano.  From sequential over concurrent to mobile systems  Introduction to the Pi-Calculus  Operational Equivalences based

The Pi-Calculus

Page 10: Prof. Diletta Romana Cacciagrano.  From sequential over concurrent to mobile systems  Introduction to the Pi-Calculus  Operational Equivalences based

The Pi-Calculus

Page 11: Prof. Diletta Romana Cacciagrano.  From sequential over concurrent to mobile systems  Introduction to the Pi-Calculus  Operational Equivalences based

Link Passing Mobility

Page 12: Prof. Diletta Romana Cacciagrano.  From sequential over concurrent to mobile systems  Introduction to the Pi-Calculus  Operational Equivalences based

Dynamic Topology

Page 13: Prof. Diletta Romana Cacciagrano.  From sequential over concurrent to mobile systems  Introduction to the Pi-Calculus  Operational Equivalences based

Mobility in the Pi-Calculus

Name mobility (pi-calculus): Processes communicate via names (channel/links) and names may move (cf. hypertext links, mobile phones, object references,..)

Process mobility: Processes communicate via names and processes may move (cf. mobile code, Jini, higher-order languages, load balancing,..)

The choice of the pure name mobility for the Pi-calculus: furthermore, there is no explicit notion of location and distribution.

• mathematically simpler;• other forms of mobility may (sometimes) be reduced to it;• basis for more complex formalisms.

Page 14: Prof. Diletta Romana Cacciagrano.  From sequential over concurrent to mobile systems  Introduction to the Pi-Calculus  Operational Equivalences based

The Pi-Calculus Advantage

Page 15: Prof. Diletta Romana Cacciagrano.  From sequential over concurrent to mobile systems  Introduction to the Pi-Calculus  Operational Equivalences based

Introduction to the Pi-Calculus

Page 16: Prof. Diletta Romana Cacciagrano.  From sequential over concurrent to mobile systems  Introduction to the Pi-Calculus  Operational Equivalences based

A calculus of processes whose linkage structure may change (name mobility or dynamic topology)

• rich and well-developed theory• small, yet a high expressive power• a metalanguage for concurrent languages (OO, higher-

order…)• basis for new programming languages• useful type system

But also:

A basic model of computation, where computing is interaction (cf. lambda-calculus, Turing Machines).

Informal Introduction to the Calculus

Page 17: Prof. Diletta Romana Cacciagrano.  From sequential over concurrent to mobile systems  Introduction to the Pi-Calculus  Operational Equivalences based

A small calculus (and the semantics only involves name-for name substitution) but very expressive

• encoding data structures• encoding functions as processes (Milner, Sangiorgi)• encoding synchronous communication with asynchronous

(Honda-Tokoro, Boudol)• encoding polyadic communication with monadic (Quaglia,

Walker)• encoding choice (or not) (Nestmann, Palamidessi)• ....

Informal Introduction to the Calculus

Page 18: Prof. Diletta Romana Cacciagrano.  From sequential over concurrent to mobile systems  Introduction to the Pi-Calculus  Operational Equivalences based

|

|| |

Informal Introduction to the Calculus

Page 19: Prof. Diletta Romana Cacciagrano.  From sequential over concurrent to mobile systems  Introduction to the Pi-Calculus  Operational Equivalences based

Informal Introduction to the Calculus

Page 20: Prof. Diletta Romana Cacciagrano.  From sequential over concurrent to mobile systems  Introduction to the Pi-Calculus  Operational Equivalences based

Informal Introduction to the Calculus

Page 21: Prof. Diletta Romana Cacciagrano.  From sequential over concurrent to mobile systems  Introduction to the Pi-Calculus  Operational Equivalences based

Informal Introduction to the Calculus

Page 22: Prof. Diletta Romana Cacciagrano.  From sequential over concurrent to mobile systems  Introduction to the Pi-Calculus  Operational Equivalences based

Informal Introduction to the Calculus

Page 23: Prof. Diletta Romana Cacciagrano.  From sequential over concurrent to mobile systems  Introduction to the Pi-Calculus  Operational Equivalences based

Informal Introduction to the Calculus

Page 24: Prof. Diletta Romana Cacciagrano.  From sequential over concurrent to mobile systems  Introduction to the Pi-Calculus  Operational Equivalences based

Informal Introduction to the Calculus