280 likes | 286 Views
Explore the PRISMA calculus, a mobile calculus that allows for freely chosen, combined, and compared synchronization primitives. Learn about synchronization algebras with mobility, syntax and semantics, properties, and applications.
E N D
PRISMA A mobile calculus with parametric synchronization Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa
Roadmap • Why PRISMA calculus? • Synchronization Algebras with Mobility • Syntax and semantics • Properties and applications • Conclusions and future work
Roadmap • Why PRISMA calculus? • Synchronization Algebras with Mobility • Syntax and semantics • Properties and applications • Conclusions and future work
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
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
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
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
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)
Roadmap • Why PRISMA calculus? • Synchronization Algebras with Mobility • Syntax and semantics • Properties and applications • Conclusions and future work
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
Mob and a b c Mob
in out τ a ε a 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 out in in in 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
Roadmap • Why PRISMA calculus? • Synchronization Algebras with Mobility • Syntax and semantics • Properties and applications • Conclusions and future work
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
( ) h i f b l h f P i i i t n o p u s o u n o = 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:
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 π
j j j ( ( ( ) ) ) h h i i ( h [ i ] h i j 0 [ ] ) ! f b l b h l h f P S S C P C C U S i i i i i i t t x y n p o n u e p w u s s n s n y o x u n s n e e w o y s o u x x = = = b b i i 1 2 : : h i b l h d i i p u s ¿ j ( ) ( h i j 0 [ ] ) j j ; f f f S S C C i i i t ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ n o n e w s o u n o n o ! b 1 2 ( ) h i f f d i i i t n o n e w s o u n o b j 0 [ ] j [ ] j [ ] ; f f f S S U U i i i ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ n o s e n o s e n o ! 1 2 Implementing the news scenario News server: Provider: Clients:
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
Roadmap • Why PRISMA calculus? • Synchronization Algebras with Mobility • Syntax and semantics • Properties and applications • Conclusions and future work
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
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
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
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
Roadmap • Why PRISMA calculus? • Synchronization Algebras with Mobility • Syntax and semantics • Properties and applications • Conclusions and future work
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
Future work • Put PRISMA at work on more challenging case studies • Exploit PRISMA to compare different synchronization models • Analyze the relationships with existing calculi
End of talk Thanks Questions?