440 likes | 524 Views
Synchronization strategies for global computing models. Ivan Lanese Computer Science Department Univers ity of Bologna. Roadmap. Global computing Synchronized Hyperedge Replacement SHR vs Fusion Calculus Synchronization Algebras with Mobility Congruence results Future work. Roadmap.
E N D
Synchronization strategiesfor global computing models Ivan Lanese Computer Science Department University of Bologna
Roadmap • Global computing • Synchronized Hyperedge Replacement • SHR vs Fusion Calculus • Synchronization Algebras with Mobility • Congruence results • Future work
Roadmap • Global computing • Synchronized Hyperedge Replacement • SHR vs Fusion Calculus • Synchronization Algebras with Mobility • Congruence results • Future work
What is global computing? • Essentially networks deployed on huge areas • Global computing systems quite common nowadays • Internet, wireless communication networks, overlay networks …
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
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
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
Roadmap • Global computing • Synchronized Hyperedge Replacement • SHR vs Fusion Calculus • Synchronization Algebras with Mobility • Congruence results • Future work
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 constraintson nodes • Determines which productions can be applied concurrently • Productions applied indipendently • Allows to define complex transformations • Multiple synchronization is allowed • Declarative approach
Hyperedge Replacement Systems • A production describes how the hyperedge L is rewritten into the graph R L R H 3 3 4 4 2 2 1 1
L R H 3 3 4 4 2 2 1 1 1 1 2 2 3 3 R’ L’ Hyperedge Replacement Systems • A production describes how the hyperedge L is transformed into the graph R Many concurrent rewritings are allowed
Synchronizing productions • Synchronization: productions execute actions on nodes. A transition is allowed iff thesynchronization constraints imposed on actions are satisfied • Many synchronization models are possible (Hoare, Milner, ...)
a a a a A1 B1 A1 A2 B1 B2 A2 B2 An example: Milner SHR • Milner synchronization: pair of edges can synchronize by performing complementary actions
We use name mobility • Actions carry tuples of references to nodes (new or already existent) • References associated to synchronized actions are matched and corresponding nodes are merged a<x> a<y> a<x> A1 B1 a<y> x y A1 A2 B1 B2 x=y A2 B2 SHR with mobility
Brother: Initial Graph Star Reconfiguration: r<w> C C x C C w S r<w> C S C C C Star Rec. Brother Brother Brother x C S C C C S S C C C (5) (1) (2) (3) (4) Example
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
Roadmap • Global computing • Synchronized Hyperedge Replacement • SHR vs Fusion Calculus • Synchronization Algebras with Mobility • Congruence results • Future work
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
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
Fusion Calculus vs SHR Fusion Milner SHR Processes Graphs Sequential processes Hyperedges Names Nodes Parallel comp. Parallel comp. Scope Restriction Prefixes Productions Transitions Interleaving tr.
Example We can also execute both the steps at the same time
Roadmap • Global computing • Synchronized Hyperedge Replacement • SHR vs Fusion Calculus • Synchronization Algebras with Mobility • Congruence results • Future work
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
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
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
Sample synchronization a b c
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
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
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)
Roadmap • Global computing • Synchronized Hyperedge Replacement • SHR vs Fusion Calculus • Synchronization Algebras with Mobility • Congruence results • Future work
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
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
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
Congruence properties • no more a counterexample since the two terms are not bisimilar
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
Roadmap • Global computing • Synchronized Hyperedge Replacement • SHR vs Fusion Calculus • Synchronization Algebras with Mobility • Congruence results • Future work
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)
General bibliography • “A Model of Distributed Systems based on Graph Rewriting”, P. Degano and U. Montanari, Journal of the ACM, 34 • “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 • “SHReQ: Coordinating Application Level QoS”, D. Hirsch and E. Tuosto, Proceedings of SEFM 2005, IEEE
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
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
End of talk Thanks Questions?