1 Ivan Lanese Computer Science Department University of Bologna Synchronization strategies for global computing models.

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.
1 Toward a Modeling Theory for Predictable Complex Software Designs by Levent Yilmaz Auburn Modeling and Simulation Laboratory Department of Computer Science.
Architecture Representation
1 Reversibility for Recoverability Ivan Lanese Computer Science Department FOCUS research group University of Bologna/INRIA Bologna, Italy.
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.
A. Bucchiarone / Pisa/ 30 Jan 2007 Dynamic Software Architectures for Global Computing Antonio Bucchiarone PhD Student – IMT Graduate School Piazza S.
SHReQ: Coordinating Application Level QoS Speaker: Ivan Lanese Dipartimento di Informatica Università di Pisa Authors: Dan Hirsch & Emilio Tuosto Dipartimento.
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.
1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric.
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 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.
Programming Language Semantics Mooly SagivEran Yahav Schrirber 317Open space html://
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.
1 Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Error Handling: From Theory to Practice Joint work with Fabrizio Montesi italianaSoftware.
1 Static vs dynamic SAGAs Ivan Lanese Computer Science Department University of Bologna/INRIA Italy.
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.
Semantics with Applications Mooly Sagiv Schrirber html:// Textbooks:Winskel The.
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.
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.
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.
Propositional Calculus Math Foundations of Computer Science.
1 Joint work with Antonio Bucchiarone (Fondazione Bruno Kessler - IRST, Trento) and Fabrizio Montesi (University of Bologna/INRIA, Bologna) A Framework.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Behaviour-Preserving Model Transformation Arend Rensink, University of Twente IPA Spring Days, 18 April 2012.
Systems Architecture I1 Propositional Calculus Objective: To provide students with the concepts and techniques from propositional calculus so that they.
An Introduction to Software Architecture
Dynamic Choreographies Safe Runtime Updates of Distributed Applications Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Joint.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Formalizing the Asynchronous Evolution of Architecture Patterns Workshop on Self-Organizing Software Architectures (SOAR’09) September 14 th 2009 – Cambrige.
An Algebra for Composing Access Control Policies (2002) Author: PIERO BONATTI, SABRINA DE CAPITANI DI, PIERANGELA SAMARATI Presenter: Siqing Du Date:
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Amending Choreographies Joint work with Fabrizio Montesi and Gianluigi Zavattaro.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Causal-Consistent Reversibility in a Tuple-Based Language Joint work with Elena.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Natallia Kokash (Accepted for PACO’2011) ACG, 31/05/ Input-output conformance testing for channel-based connectors 1.
Propositional Calculus CS 270: Mathematical Foundations of Computer Science Jeremy Johnson.
11/19/20151 Metodi formali nello sviluppo software a.a.2013/2014 Prof.Anna Labella.
“Dynamic fault handling mechanisms for service-oriented applications” Fabrizio Montesi, Claudio Guidi, Ivan Lanese and Gianluigi Zavattaro Department of.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Decidability Results for Dynamic Installation of Compensation Handlers Joint.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Process Algebra (2IF45) Basic Process Algebra Dr. Suzana Andova.
Architectural Design Rewriting as Architectural Description Language R. Bruni A. LLuch-Lafuente U. Montanari E. Tuosto.
Certifying and Synthesizing Membership Equational Proofs Patrick Lincoln (SRI) joint work with Steven Eker (SRI), Jose Meseguer (Urbana) and Grigore Rosu.
Rewriting Nested Graphs, through Term Graphs Roberto Bruni, Andrea Corradini, Fabio Gadducci Alberto Lluch Lafuente and Ugo Montanari Dipartimento di Informatica,
Model-Driven Analysis Frameworks for Embedded Systems
Internet of Things A Process Calculus Approach
An Introduction to Software Architecture
Presentation transcript:

1 Ivan Lanese Computer Science Department University of Bologna Synchronization strategies for global computing models

2 Roadmap Global computing Synchronized Hyperedge Replacement SHR vs Fusion Calculus Synchronization Algebras with Mobility Congruence results Future work

3 Roadmap Global computing Synchronized Hyperedge Replacement SHR vs Fusion Calculus Synchronization Algebras with Mobility Congruence results Future work

4 What is global computing? Essentially networks deployed on huge areas Global computing systems quite common nowadays –Internet, wireless communication networks, overlay networks …

5 Features of global computing systems Distribution –Huge areas: localities can not always be hidden Mobility –Both physical and code mobility Heterogeneity –Interoperability, coordination Openness Reconfigurability Non-functional requirements

6 Formal methods for GC Building models of the system –To concentrate on a particular aspect –To abstract from details –To analyze the properties of the system before building it Traditional formal methods are not enough for GC –Mobility must be modeled explicitly –Need for compositionality –Need for more abstraction

7 High level models We look for models at the high level of abstraction –Models of coordination among subsystems We need powerful primitives –Multiple synchronizations –Abstractions of full protocols Declarative specification of constraints –Possible evolutions derived as solution of system of constraints

8 Roadmap Global computing Synchronized Hyperedge Replacement SHR vs Fusion Calculus Synchronization Algebras with Mobility Congruence results Future work

9 Synchronized Hyperedge Replacement A graph transformation approach –Suitable to deal with distribution, mobility, compositionality (Hyper)edges are systems connected through common nodes Productions describe the evolution of single edges –Local effect, easy to implement Synchronization via constraints on nodes –Determines which productions can be applied concurrently –Productions applied indipendently –Allows to define complex transformations –Multiple synchronization is allowed Declarative approach

10 Hyperedge Replacement Systems A production describes how the hyperedge L is rewritten into the graph R R L H

11 Hyperedge Replacement Systems A production describes how the hyperedge L is transformed into the graph R R R’ Many concurrent rewritings are allowed L L’ H

12 Synchronizing productions Synchronization: productions execute actions on nodes. A transition is allowed iff the synchronization constraints imposed on actions are satisfied Many synchronization models are possible (Hoare, Milner,...)

13 An example: Milner SHR Milner synchronization: pair of edges can synchronize by performing complementary actions a A1 a B1 a A2 a B1B2 A2B2

14 SHR with mobility – Actions carry tuples of references to nodes (new or already existent) – References associated to synchronized actions are matched and corresponding nodes are merged We use name mobility a A1 a A1B1 a A2 a B1B2 A2B2 xy x=y

15 Example x Initial Graph C Brother: C C C C S Star Reconfiguration: w r x C Brother C C C C C C CCC (4)(3)(2)(1) Star Rec. S S SS (5)

16 Algebraic presentation of SHR Graphs represented as terms –Edges (applied to nodes) are basic constants –Operators for parallel composition and hiding of nodes Transitions described by a LTS Inference rules to derive transitions from productions Allows proofs by induction

17 Roadmap Global computing Synchronized Hyperedge Replacement SHR vs Fusion Calculus Synchronization Algebras with Mobility Congruence results Future work

18 Fusion Calculus Calculus for mobility inspired by π-calculus Input prefix is not a binder –Symmetric input/output –Names are merged –Input of π-calculus obtained as input+restriction on the objects of the input

19 SHR vs Fusion Calculus Many common features –LTS semantics –Synchronization in Milner style –Mobility using fusions Straightforward mapping of Fusion into SHR SHR adds: –Graphical presentation –Multiple synchronizations –Concurrent semantics

20 Fusion Calculus vs SHR FusionMilner SHR ProcessesGraphs Sequential processesHyperedges NamesNodesParallel comp. ScopeRestriction PrefixesProductions TransitionsInterleaving tr.

21 Example We can also execute both the steps at the same time

22 Roadmap Global computing Synchronized Hyperedge Replacement SHR vs Fusion Calculus Synchronization Algebras with Mobility Congruence results Future work

23 Synchronization Algebras with Mobility (1) Extend Winskel’s synchronization algebras to deal with name mobility and local resources Allow to have synchronization models as first-class citizens –Can be used to have models with parametric synchronization policies –Many synchronization policies in the same model –Different policies can be compared and combined Common policies can be expressed as SAMs –Simple ones: Milner, Hoare, broadcast –More complex ones: with priority, treshold synchronization

24 Synchronization Algebras with Mobility (2)

25 Synchronization Algebras with Mobility (2) SAs specify composition of actions –(a,a, τ ) a synchronizes with a producing τ SAMs also provide: –Mapping from parameters of synchronizing actions to parameters of the result –Fusions among parameters –Final actions (performed on local channels) –Some more technical stuff

26 Milner synchronization as a SAM Actions: normal actions, coactions, τ, ε ε stands for “not taking part to the synchronization” Normal actions synchronize with corresponding coactions giving τ, corresponding parameters are fused, no parameters are propagated Anything can synchronize with ε, action and parameters are propagated, no fusions No other synchronization is allowed Only τ and ε can be performed on local channels

27 Sample synchronization abc

28 Parametric SHR The SAM is a parameter of the model Different models obtained via instantiation –Allows to recover Hoare and Milner SHR… –…and to easily define new models Properties can be proved in general –Allows to highlight relations between properties of SAMs and properties of the model

29 Heterogeneous SHR Allows to model heterogeneous systems –Different primitives in different parts of the system –Example: wireless connections with broadcast and wired connections with Milner Each node is labeled by a SAM SAMs must be managed dynamically –SAMs are required to form a commutative monoid –Node fusions cause SAMs composition

30 PRISMA Calculus Generalization of Fusion based on SAMs –Prefixes of the form x a y. P –Synchronization ruled by the SAM Standard Fusion is (more or less) Milner PRISMA Calculus The same approach can be applied to other calculi (with some more technical difficulties)

31 Roadmap Global computing Synchronized Hyperedge Replacement SHR vs Fusion Calculus Synchronization Algebras with Mobility Congruence results Future work

32 Abstract semantics for parametric SHR Bisimulation can be defined in a standard way for SHR Under reasonable conditions on the SAM bisimilarity is a congruence for parametric SHR –Milner, Hoare and many others satisfy the conditions

33 Congruence results for Fusion Calculus Bisimilarity is not a congruence for Fusion Calculus (not closed under substitutions) The mapping from Fusion into SHR allows to derive a semantics whose bisimilarity is a congruence The result can be extended also to π-calculus

34 The idea of the semantics

35 The idea of the semantics Allowing many actions in the same transition but on different channels –Process a|b can execute a and b concurrently going to 0 (but can also execute either a or b) –Process a|a is bisimilar to a.a –Process a|a|b can perform τ and b concurrently going to 0 Allows to observe the degree of parallelism of a process

36 Congruence properties

37 Congruence properties no more a counterexample since the two terms are not bisimilar

38 Congruence properties no more a counterexample since the two terms are not bisimilar Observing where a synchronization is performed becomes important –Otherwise congruence non preserved by context a|[-] –Actions a τ in addition to normal τ The resulting bisimilarity is a congruence

39 Roadmap Global computing Synchronized Hyperedge Replacement SHR vs Fusion Calculus Synchronization Algebras with Mobility Congruence results Future work

40 Future work I have moved, so my work has changed a bit –Core calculus for service oriented computing –Techniques for proving bisimilarity properties of mobile calculi Some follow-up of the previous work that I would like to analyze –Congruence results for concurrent semantics of π -calculus –Applying SAMs to π -calculus –Exploiting SAMs for quality of service (see Tuosto & Hirsch work)

41 General bibliography “A Model of Distributed Systems based on Graph Rewriting”, P. Degano and U. Montanari, Journal of the ACM, 34 l “Synchronized Hyperedge Replacement with Name Mobility”, D. Hirsch and U. Montanari, Proceedings of CONCUR 2001, LNCS 2154 “The Fusion Calculus: Expressiveness and Symmetry in Mobile Processes”, B. Victor, Ph.D. Thesis, Department of Computer Systems, Uppsala University, Uppsala, Sweden “Synchronization trees”, G. Winskel, TCS, 34 l “SHReQ: Coordinating Application Level QoS”, D. Hirsch and E. Tuosto, Proceedings of SEFM 2005, IEEE

42 My bibliography “Software Architecture, Global Computing and Graph Transformation via Horn Clauses”, I. Lanese and U. Montanari, Proceedings of SBES 2002 – 16th Brazilian Symposium on Software Engineering “A Graphical Fusion Calculus”, I. Lanese and U. Montanari, Proceedings of CoMeta: Computational Metamodels Final Workshop, ENTCS 104 “Mapping Fusion and Synchronized Hyperedge Replacement into Logic Programming”, I. Lanese and U. Montanari, to appear in a special issue of TPLP “Synchronization Algebras with Mobility for Graph Transformations”, I. Lanese and U. Montanari, Proceedings of FGUC 2004 – Workshop on Foundations of Global Ubiquitous Computing, ENTCS 138

43 My bibliography “Synchronized Hyperedge Replacement for Heterogeneus Systems”, I. Lanese and E. Tuosto, Proceedings of COORDINATION 2005, LNCS 3454 "Hoare vs Milner: Comparing Synchronizations in a Graphical Framework with Mobility", I. Lanese and U. Montanari, Proceedings of GT-VC‘05, ENTCS, to appear "Exploiting User-Definable Synchronizations in Graph Transformation", I. Lanese, Proceedings of GT-VMT'06, ENTCS, to appear "Synchronization Strategies for Global Computing Models", Ivan Lanese, Ph.D. Thesis, Computer Science Department, University of Pisa, to appear

44 End of talk