Title: Probabilistic Methods in Concurrency Lecture 7 The probabilistic asynchronous p-calculus
1Probabilistic Methods in ConcurrencyLecture 7
The probabilistic asynchronous p-calculus
- Catuscia Palamidessi
- catuscia_at_lix.polytechnique.fr
- www.lix.polytechnique.fr/catuscia
- Page of the course
- www.lix.polytechnique.fr/catuscia/teaching/Pisa/
2The probabilistic asynchronous p-calculus
- Originally developed as an intermediate language
for the fully distributed implementation of the
p-calculus (Herescu and Palamidessi) - The results of Lecture 4 show that a fully
distributed implementation of p must necessarily
be randomized - A two-steps approach
p
Advantages the correctness proof is easier
since (which is the difficult part of the
implementation) is between two similar languages
probabilistic asynchronous p
ltlt gtgt
distributed machine
3ppa the Probabilistic Asynchonous p
- Syntax based on the asynchronous p of Amadio,
Castellani, Sangiorgi - g x(y) t prefixes
- P Si pi gi . Pi pr. inp. guard. choice
Si pi 1 - xy output action
- P P parallel
- (x) P new name
- recA P recursion
- A procedure name
4The operational semantics of ppa
- Based on the Probabilistic Automata of Segala and
Lynch - Distinction between
- nondeterministic behavior (choice of the
scheduler) and - probabilistic behavior (choice of the process)
Scheduling Policy The scheduler chooses the
group of transitions
Execution The process chooses probabilistically
the transition within the group
5The operational semantics of ppa
- Representation of a group of transition
- P --gi-gt pi Pi i
- Rules
- Choice Si pi gi . Pi --gi-gt pi Pi i
- P --gi-gt piPi i
- Par ____________________
- Q P --gi-gt piQ Pi i
6The operational semantics of ppa
- Rules (continued)
- P --xi(yi)-gt piPi i Q --xz-gt 1 Q
i - Com ____________________________________
- P Q --t-gt piPiz/yi Q xix U
--xi(yi)-gt pi Pi Q xi/x - P --xi(yi)-gt piPi i
- Res ___________________ qi renormalized
- (x) P --xi(yi)-gt qi (x) Pi xi / x
-
7The expressive power of p
- Example of distributed agreement
- the leader election problem
8Implementation of ppa
- Compilation in Java ltlt gtgt ppa ? Java
- Distributed
- ltlt P Q gtgt ltlt P gtgt.start() ltlt Q gtgt.start()
- Compositional
- ltlt P op Q gtgt ltlt P gtgt jop ltlt Q gtgt for all
op - Channels are one-position buffers with
test-and-set (synchronized) methods for input and
output - The probabilistic input guarded construct is
implemented as a while loop in which channels to
be tried are selected according to their
probability. The loop repeats until an input is
successful