Prof. Diletta Romana Cacciagrano
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
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.
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).
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)....
| || |