![Page 1: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/1.jpg)
1
Ivan LaneseComputer Science Department
University of Bologna
Roberto BruniComputer Science Department
University of Pisa
A mobile calculus with
parametric synchronization
![Page 2: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/2.jpg)
2
Roadmap
Why PRISMA calculus?
Synchronization Algebras with Mobility
Syntax and semantics
Properties and applications
Conclusions and future work
![Page 3: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/3.jpg)
3
Roadmap
Why PRISMA calculus?
Synchronization Algebras with Mobility
Syntax and semantics
Properties and applications
Conclusions and future work
![Page 4: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/4.jpg)
4
Process calculi and synchronization
Process calculi are used to model a wide range
of systems
– Computer networks, biological systems, service
oriented architectures, workflow patterns
Different systems communicate according to
different synchronization policies
Each calculus has its own primitive(s)
– Binary synchronization, broadcast, service
invocation
![Page 5: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/5.jpg)
5
Modelling troubles
Sometimes the desired primitives are not (all)
available in the used calculus
Either they should be implemented…
– Difficult task, produces unclear models
…or a new ad hoc model is proposed
– Theory and tools have to be redeveloped from
scratch
![Page 6: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/6.jpg)
6
Our idea
Define a (mobile) calculus where the synchronization
primitives can be freely chosen, combined and
compared
We build on
– Winskel’s work on synchronization algebras» Do not consider mobility
– Our previous work on synchronization algebras with mobility
in the Synchronized Hyperedge Replacement framework» Belongs to the graph transformation approach
We apply the idea in the field of calculi for mobility
![Page 7: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/7.jpg)
7
What we are claiming and NOT claiming
Our calculus is NOT able to easily and faithfully simulate each
possible calculus– Synchronization is not the only feature that characterize a calculus
But
Real systems can be more easily modelled since the desired
primitives can be defined and exploited
Shows how to use the parametric approach for mobile calculi
Is a first step towards the understanding of the commonalities /
differences between different calculi
![Page 8: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/8.jpg)
8
A sample scenario
A news server takes news from providers and
broadcasts them to clients
Two kinds of primitives
– Binary communication between providers and the server
– Broadcast between server and clients
Challenging scenario for previous calculi (e.g., π
calculus)
![Page 9: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/9.jpg)
9
Roadmap
Why PRISMA calculus?
Synchronization Algebras with Mobility
Syntax and semantics
Properties and applications
Conclusions and future work
![Page 10: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/10.jpg)
10
Synchronization Algebras with Mobility
Abstract formalization of a synchronization policy
A SAM contains– A set of ranked actions Act
– An element ε standing for “not taking part to the synchronization”
– A set of action synchronizations of the form (a, b, (c, Mob, ))
» Actions a and b can interact, producing action c
» The parameters of a and b are merged according to
» The parameters of c are computed as described by Mob
– A subset Fin of Act containing the complete actions
» Allowed on restricted channels
SAMs must satisfy some coherence conditions
![Page 11: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/11.jpg)
11
Mob and
a b c
Mob
![Page 12: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/12.jpg)
12
Milner synchronization as a SAM
Actions: inputs (e.g., in), outputs (e.g., out), τ, ε
No other synchronization is allowed
Only τ and ε are in Fin
in out τ a ε a
![Page 13: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/13.jpg)
13
Broadcast synchronization as a SAM
Actions: inputs, outputs, ε
ε can synchronize only with itself
Only out and ε are in Fin
As a result a complete synchronization involves one out and
one in from each other partner
in out out in in in
![Page 14: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/14.jpg)
14
Roadmap
Why PRISMA calculus?
Synchronization Algebras with Mobility
Syntax and semantics
Properties and applications
Conclusions and future work
![Page 15: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/15.jpg)
15
PRISMA Calculus syntax
Standard process calculi operators
– Parallel composition, restriction, choice, …
– Prefixes x a y allowing to perform action a on
channel x with parameters in y
![Page 16: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/16.jpg)
16
PRISMA Calculus syntax
Standard process calculi operators
– Parallel composition, restriction, choice, …
– Prefixes x a y allowing to perform action a on
channel x with parameters in y
Example: P = (info)publish outhinfoi
![Page 17: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/17.jpg)
17
PRISMA semantics
Given by an LTS– Reduction semantics not suitable for multi-party synchronization
The behavior of a PRISMA process depends on the chosen
SAM S
Inference rules parametric on S to derive labelled transitions– label (Y) x a y, π executes x a y extruding names in Y and applying
fusion π
– label √, π executes an action on a restricted channel applying fusion π
![Page 18: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/18.jpg)
18
Implementing the news scenario
News server:
Provider:
Clients:
P = (info)publish outhinfoi
S =!(x)publish inhxi :(news outbhxi jS0[x])
Ci = (y)news inbhyi:Usei [y]
P jSjC1jC2publish ¿ hi ; id¡¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡! Sj(info)(news outbhinfoi jS0[info])jC1jC2(info)news outb hinfoi ; id¡¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡! SjS0[info]jUse1[info]jUse2[info]
![Page 19: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/19.jpg)
19
Abstract semantics
Bisimilarity can be defined in a standard way
Basic axioms (e.g., commutativity and
associativity of parallel composition) bisimulate
for any SAM
Theorem
Hyperbisimilarity (substitution closed
bisimilarity) is a congruence for any SAM
![Page 20: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/20.jpg)
20
Roadmap
Why PRISMA calculus?
Synchronization Algebras with Mobility
Syntax and semantics
Properties and applications
Conclusions and future work
![Page 21: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/21.jpg)
21
PRISMA vs Fusion
Fusion calculus can be easily translated into
Milner PRISMA
– Homomorphic extension of the translation of Fusion
inputs and outputs into PRISMA ones
The obtained semantics is more detailed than
standard Fusion one
– Shows on which (free) channel a fusion is
generated
The induced bisimilarity is more detailed too
![Page 22: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/22.jpg)
22
Composing SAMs
SAMs can be given a categorical structure
Categorical constructions allow to combine
SAMs
– Coproduct makes the union of the primitives
– Product creates compound primitives
The SAM used in the sample application is a
coproduct of a Milner SAM and a broadcast SAM
![Page 23: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/23.jpg)
23
Translating processes
A process on S1 can be translated along a
morphism H:S1→S2 to a process on S2
Allows to execute a process in a different
framework
Properties of the morphism ensure
preservation of part of the behaviour
– Translations along isomorphisms preserve
bisimilarity
![Page 24: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/24.jpg)
24
A sample application
Priority SAM: many outputs synchronize with one
input, the one with the highest priority is received
Suppose we want to execute a Fusion process PF in
this framework
We can translate it into a Milner PRISMA process PM
There is a morphism Hn from Milner to Priority
assigning priority n to each output
Hn(PM) is a priority process
![Page 25: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/25.jpg)
25
Roadmap
Why PRISMA calculus?
Synchronization Algebras with Mobility
Syntax and semantics
Properties and applications
Conclusions and future work
![Page 26: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/26.jpg)
26
Conclusions
PRISMA is a mobile calculus suitable to model
different kinds of systems
– Heterogeneous systems
Suitable for interoperability analysis
Allows to reuse theory and tools for different
applications
![Page 27: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/27.jpg)
27
Future work
Put PRISMA at work on more challenging case
studies
Exploit PRISMA to compare different
synchronization models
Analyze the relationships with existing calculi
![Page 28: 1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric](https://reader035.vdocuments.net/reader035/viewer/2022062714/56649d435503460f94a1ed00/html5/thumbnails/28.jpg)
28
End of talk