1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric.

Slides:



Advertisements
Similar presentations
CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università.
Advertisements

Connectors and Concurrency joint work with Ugo Montanari Roberto Bruni Dipartimento di Informatica Università di Pisa Dagstuhl Seminar #04241, September.
1 Ivan Lanese Computer Science Department University of Bologna Italy Managing faults and compensations in SOCK Joint work with Claudio Guidi, Fabrizio.
Programming Paradigms for Concurrency Lecture 11 Part III – Message Passing Concurrency TexPoint fonts used in EMF. Read the TexPoint manual before you.
1 Reversibility for Recoverability Ivan Lanese Computer Science Department FOCUS research group University of Bologna/INRIA Bologna, Italy.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
Anna Philippou Department of Computer Science University of Cyprus Joint work with Mauricio Toro Department of Comp. Sc. EAFIT University Christina Kassara.
Course on Probabilistic Methods in Concurrency (Concurrent Languages for Probabilistic Asynchronous Communication) Lecture 1 The pi-calculus and the asynchronous.
Roberto Pisa, Italy 13 June 2008 WADT Tiles for Reo Roberto Bruni Dipartimento di Informatica Università di Pisa WADT th International.
SHReQ: Coordinating Application Level QoS Speaker: Ivan Lanese Dipartimento di Informatica Università di Pisa Authors: Dan Hirsch & Emilio Tuosto Dipartimento.
SSP Re-hosting System Development: CLBM Overview and Module Recognition SSP Team Department of ECE Stevens Institute of Technology Presented by Hongbing.
1 Ivan Lanese Computer Science Department University of Bologna Italy Towards a Unifying Theory for Web Services Composition Manuel Mazzara Faculty of.
1 Ivan Lanese Computer Science Department University of Bologna Italy Exploiting user-definable synchronizations in graph transformation.
1 The SOCK SAGA Ivan Lanese Computer Science Department University of Bologna Italy Joint work with Gianluigi Zavattaro.
1 Ivan Lanese Computer Science Department University of Pisa (moved to Bologna) Synchronization strategies for global computing models Ph.D. thesis discussion.
1 Synchronization strategies for global computing models Ivan Lanese Computer Science Department University of Bologna.
Synchronization Algebras with Mobility for Graph Transformations joint work with Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan Lanese.
1 SOCK and JOLIE from the formal basis to a service oriented programming language Ivan Lanese Computer Science Department University of Bologna Italy Joint.
1 Ivan Lanese Computer Science Department University of Pisa (moved to Bologna) Synchronization strategies for global computing models Ph.D. thesis discussion.
1 Ivan Lanese Computer Science Department University of Bologna Italy Behavioural Theory for SSCC Joint work with Luis Cruz-Filipe, Francisco Martins,
1 Formal Models for Distributed Negotiations Concurrent Languages Translation Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela.
1 Ivan Lanese Computer Science Department University of Bologna Italy Evolvable systems: some ideas for modelling With input from Davide Sangiorgi, Fabrizio.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio Montesi and Gianluigi.
New insights on architectural connectors joint work with Roberto Bruni University of Pisa, Italy Ugo Montanari University of Pisa, Italy José Luiz Fiadeiro.
1 GT-VC 2005, San Francisco, August 22, 2005 Ugo Montanari Università di Pisa Ivan Lanese Università di Pisa Hoare vs. Milner: Comparing Synchronizations.
1 Ivan Lanese Dipartimento di Informatica Università di Pisa Ugo Montanari From Graph Rewriting to Logic Programming joint work with.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio.
1 Mapping Fusion and Synchronized Hyperedge Replacement into Logic Programming joint work with Ugo Montanari Ivan Lanese Dipartimento di Informatica Università.
Synchronized Hyperedge Replacement for Heterogeneous Systems joint work with Emilio Tuosto Dipartimento di Informatica Università di Pisa Ivan Lanese Dipartimento.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio Montesi and Gianluigi.
1 Static vs dynamic SAGAs Ivan Lanese Computer Science Department University of Bologna/INRIA Italy.
1 Joint work with Claudio Antares Mezzina (INRIA), Jean-Bernard Stefani (INRIA) and Alan Schmitt (INRIA) Controlling Reversibility in Rhopi Ivan Lanese.
1 Ivan Lanese Computer Science Department University of Pisa Prof. Ugo Montanari Synchronization strategies for global computing Relator: Thesis Progress.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
1 CoMeta, final workshop, /12/2003 Ivan Lanese Dipartimento di Informatica Università di Pisa Ugo Montanari A graphical Fusion Calculus Joint work.
Modeling a Service and Session Calculus with Hierarchical Graph Transformation Roberto Bruni, Andrea Corradini, Ugo Montanari (based on joint work with.
Real-Time Systems Group University of Pennsylvania 5/24/2001 Resource-bound family of real-time process algebras Oleg Sokolsky, Insup Lee Real-Time Systems.
1 Ivan Lanese Computer Science Department University of Bologna Italy On the expressive power of primitives for compensation handling Joint work with Catia.
1 Ivan Lanese Computer Science Department University of Bologna Italy Behavioural Theory at Work: Program Transformations in a Service-centred Calculus.
Describing Syntax and Semantics
An algebra of Connectors for modeling CommUnity with Tiles joint work with Roberto Bruni Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan.
1 Ivan Lanese Computer Science Department University of Bologna Italy Streaming Services in SSCC Joint work with Francisco Martins, Vasco Vasconcelos and.
1 Ivan Lanese Computer Science Department University of Bologna Italy Towards a Unifying Theory for Web Services Composition Manuel Mazzara Faculty of.
1 Ivan Lanese Computer Science Department University of Bologna Synchronization strategies for global computing models.
Complete Axioms for Stateless Connectors joint work with Roberto Bruni and Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan Lanese Dipartimento.
Synchronizations with Mobility for Graph Transformations joint work with Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan Lanese Dipartimento.
1 Joint work with Antonio Bucchiarone (Fondazione Bruno Kessler - IRST, Trento) and Fabrizio Montesi (University of Bologna/INRIA, Bologna) A Framework.
Dynamic Choreographies Safe Runtime Updates of Distributed Applications Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Joint.
An Algebra for Composing Access Control Policies (2002) Author: PIERO BONATTI, SABRINA DE CAPITANI DI, PIERANGELA SAMARATI Presenter: Siqing Du Date:
Scientific Workflow Interchanging Through Patterns: Reversals and Lessons Learned Bruno Fernandes Bastos Regina Maria Maciel Braga Antônio Tadeu Azevedo.
Towards Global and Local Types for Adaptation Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Joint work with Mario Bravetti,
Advanced Topics in SE Spring Process Algebra Hossein Hojjat Formal Methods Lab University of Tehran.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Reactive systems – general
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Amending Choreographies Joint work with Fabrizio Montesi and Gianluigi Zavattaro.
SUPERCOMPUTING CHALLENGE KICKOFF 2015 A Model for Computational Science Investigations Oct 2015 © challenge.org Supercomputing Around.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
11/19/20151 Metodi formali nello sviluppo software a.a.2013/2014 Prof.Anna Labella.
Formal Specification and Analysis of Software Architectures Using the Chemical Abstract Machine Model CS 5381 Juan C. González Authors: Paola Inverardi.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Decidability Results for Dynamic Installation of Compensation Handlers Joint.
Towards Interoperability Test Generation of Time Dependent Protocols: a Case Study Zhiliang Wang, Jianping Wu, Xia Yin Department of Computer Science Tsinghua.
CS223: Software Engineering
Process Algebra (2IF45) Basic Process Algebra Dr. Suzana Andova.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Adaptive Choreographies Joint work with Mila Dalla Preda, Jacopo Mauro and Maurizio.
Rewriting Nested Graphs, through Term Graphs Roberto Bruni, Andrea Corradini, Fabio Gadducci Alberto Lluch Lafuente and Ugo Montanari Dipartimento di Informatica,
Chapter 11 Object-Oriented Design
Deadlock Freedom by Construction
Model-Driven Analysis Frameworks for Embedded Systems
Internet of Things A Process Calculus Approach
Presentation transcript:

1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric synchronization

2 Roadmap Why PRISMA calculus? Synchronization Algebras with Mobility Syntax and semantics Properties and applications Conclusions and future work

3 Roadmap Why PRISMA calculus? Synchronization Algebras with Mobility Syntax and semantics Properties and applications Conclusions and future work

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

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

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

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 l Real systems can be more easily modelled since the desired primitives can be defined and exploited l Shows how to use the parametric approach for mobile calculi l Is a first step towards the understanding of the commonalities / differences between different calculi

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 l Challenging scenario for previous calculi (e.g., π calculus)

9 Roadmap Why PRISMA calculus? Synchronization Algebras with Mobility Syntax and semantics Properties and applications Conclusions and future work

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

11 Mob and  abc  Mob

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 inoutτaεa

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 inout in

14 Roadmap Why PRISMA calculus? Synchronization Algebras with Mobility Syntax and semantics Properties and applications Conclusions and future work

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

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 = ( i n f o ) pu bl i s h ou t h i n f o i

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 π

18 Implementing the news scenario News server: Provider: Clients: P = ( i n f o ) pu bl i s h ou t h i n f o i S = ! ( x ) pu bl i s h i n h x i : ( newsou t b h x ij S 0 [ x ]) C i = ( y ) news i n b h y i : U se i [ y ]

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

20 Roadmap Why PRISMA calculus? Synchronization Algebras with Mobility Syntax and semantics Properties and applications Conclusions and future work

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

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 l The SAM used in the sample application is a coproduct of a Milner SAM and a broadcast SAM

23 Translating processes A process on S 1 can be translated along a morphism H:S 1 →S 2 to a process on S 2 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

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 P F in this framework We can translate it into a Milner PRISMA process P M There is a morphism H n from Milner to Priority assigning priority n to each output H n (P M ) is a priority process

25 Roadmap Why PRISMA calculus? Synchronization Algebras with Mobility Syntax and semantics Properties and applications Conclusions and future work

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

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

28 End of talk