1 Ivan Lanese Computer Science Department University of Pisa Prof. Ugo Montanari Synchronization strategies for global computing Relator: Thesis Progress.

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.
Architecture-based Evolution of Software Systems José Luiz Fiadeiro Architecture-based Evolution of Software Systems Luís Andrade João Gouveia Georgios.
Comparison of Several Meta-modeling Tools 2 Yi Lu Computer Science Department McGill University
Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours P.Kefalas Dept. of Computer Science 13 Tsimiski Str Thessaloniki Greece.
An Associative Broadcast Based Coordination Model for Distributed Processes James C. Browne Kevin Kane Hongxia Tian Department of Computer Sciences The.
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.
Jiannong IMC Lab - Department of Computing, Hong Kong Polytechnic Univ. Slide 1 Architecture Description of Distributed Systems using UML and XML.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
1 Ivan Lanese Computer Science Department University of Bologna Italy Exploiting user-definable synchronizations in graph transformation.
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 Ivan Lanese Computer Science Department University of Pisa (moved to Bologna) Synchronization strategies for global computing models Ph.D. thesis discussion.
Unified Modeling (Part I) Overview of UML & Modeling
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.
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 Static vs dynamic SAGAs Ivan Lanese Computer Science Department University of Bologna/INRIA Italy.
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.
© Copyright Eliyahu Brutman Programming Techniques Course.
Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica.
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 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.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Behaviour-Preserving Model Transformation Arend Rensink, University of Twente IPA Spring Days, 18 April 2012.
UML - Development Process 1 Software Development Process Using UML (2)
An Introduction to Software Architecture
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
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.
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
Advanced Topics in SE Spring Process Algebra Hossein Hojjat Formal Methods Lab University of Tehran.
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.
Unifying Dynamical Systems and Complex Networks Theories ~ A Proposal of “Generative Network Automata (GNA)” ~ Unifying Dynamical Systems and Complex Networks.
Formal Specification of Intrusion Signatures and Detection Rules By Jean-Philippe Pouzol and Mireille Ducassé 15 th IEEE Computer Security Foundations.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
A Component Platform for Experimenting with Autonomic Composition A component framework for supporting composition of autonomic services and bio-inspired.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
28/Dec/2005 Linking the -calculus and B-Method Damien Karkinsky PhD Symposium IFM 2005 ¼.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Design-Directed Programming Martin Rinard Daniel Jackson MIT Laboratory for Computer Science.
Architectural Design Rewriting as Architectural Description Language R. Bruni A. LLuch-Lafuente U. Montanari E. Tuosto.
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,
Validating Reconfigurations of Reo Circuits
Model-Driven Analysis Frameworks for Embedded Systems
Scenario Integration via Higher-Order Graphs *)
Internet of Things A Process Calculus Approach
Event-Based Architecture Definition Language
An Introduction to Software Architecture
Automated Analysis and Code Generation for Domain-Specific Models
Software Development Process Using UML Recap
Presentation transcript:

1 Ivan Lanese Computer Science Department University of Pisa Prof. Ugo Montanari Synchronization strategies for global computing Relator: Thesis Progress Report

2 Roadmap Global computing SHR and other formal tools What we did in the first year What we planned after the first year What we have done What is still to be done

3 Roadmap Global computing SHR and other formal tools What we did in the first year What we planned after the first year What we have done What is still to be done

4 What is global computing? Essentially networks deployed on huge areas It is becoming the most widespread computing paradigm –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 Eterogeneity –Interoperability, coordination Openness Reconfigurability

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 high level of abstraction –Models of coordination among subsystems –For making the model of the whole system treatable 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 SHR and other formal tools What we did in the first year What we planned after the first year What we have done What is still to be done

9 Synchronized Hyperedge Replacement Follows the traditional approach of graph transformation –Deals well 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 –Global constraint solving algorithm to find allowed transitions –Productions applied indipendently –Allows to define complex transformations –Allows multiple synchronization –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 Synchronized transitions: we associate actions to 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 doing complementary actions a 3 3 B1A1 B2A2 a a a

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 B1A1 B2A2 a (x)(y) x=y

15 Other formal tools: CommUnity in one slide Architectural model of concurrent systems Based on communication via channels and synchronization of actions Separation between computation and coordination concerns –Computation inside programs –Coordination explicitly represented via morphisms and special programs (cables) –Composition via colimits

16 Other formal tools: Tile Model in one slide Extension of SOS systems and rewriting logic that allows synchronization –Rules have trigger and effect Operators of horizontal, vertical and monoidal composition Useful for studying observational properties of open systems

17 Roadmap Global computing SHR and other formal tools What we did in the first year What we planned after the first year What we have done What is still to be done old

18 Comparing models for GC Comparing synchronization strategies, mobility strategies and binding operators in different models Comparative analysis of the following paradigms –Fusion Calculus: calculus for mobility, allows fusions –SHR: already presented in detail –Logic programming: developed programming paradigm, we use it as goal rewriting mechanism, to be extended to deal with GC systems Mapping of Fusion Calculus into SHR and of SHR into logic programming –Fusion Calculus is a subset of Milner SHR –Logic programming (with transactions) related to Hoare SHR old

19 Comparing strategies for compositionality Two approaches to compositionality –Categorical approach: via universal constructions (colimits) –Algebraic approach: via operators for building systems Our case study: CommUnity vs Tile Model old

20 Results from CommUnity vs tiles Semantics for CommUnity Decomposition of CommUnity programs New algebra of connectors (in the Tile Model) that simulates CommUnity synchronization Correlation between colimit and algebraic aspects (bisimulation, axiomatization) old

21 Roadmap Global computing SHR and other formal tools What we did in the first year What we planned after the first year What we have done What is still to be done plan

22 A physical analogy Physical systems –Many interacting components –Partial derivative equations for parts of the space –Components of the system gives boundary conditions –The solutions of the system of equations are the allowed behaviors Global computing systems –Equations associated to the interfaces –Equations are a declarative way of specifying coordination –Only simple equations used in past works »Hoare and Milner synchronization in SHR Developing new models using this analogy plan

23 Different items Extending synchronization algebras with mobility –Standard synchronization algebras allow to categorize synchronization models –Need extensions to be applied to GC models –SHR well-suited for these analysis Analyzing observational semantics of GC models –Allows to analyze incomplete systems (compositionality) –Tile Logic well-suited for such analysis Hybrid models –For taking the best features of different models –Suggested by the comparisons done plan

24 General aim Double aim: –Analyzing existing models and their relationships –Looking for new models for GC systems plan

25 Roadmap Global computing SHR and other formal tools What we did in the first year What we planned after the first year What we have done What is still to be done ok

26 SAMs (1) Synchronization algebras with mobility –Extend synchronization algebras to deal with name mobility and local resources –Different synchronization policies allowed »Simple ones: Milner, Hoare, broadcast »More complex ones: with priority, treshold synchronization –Like differential equations for physics ok

27 SAMs (2) SAs specify composition of actions SAMs also gives: –Mapping from parameters of synchronizing actions and parameters of the result –Fusions among parameters –Final actions (performed on local channels) –Some more technical stuff ok

28 An example: SAM for Milner synchronization Actions: normal actions, coactions, tau, epsilon Normal actions synchronize with corresponding coactions giving tau, corresponding parameters are fused, no parameters are propagated Anything synchronize with epsilon, action and parameters are propagated, no fusions No other synchronization is allowed Only tau and epsilon can be done on local channels ok

29 Applying SAMs Applied in the context of SHR Parametric SHR –The SAM is a parameter of the model –Different models obtained via instantiation –Properties can be proved in general Heterogeneous SHR –Each node is labelled by a SAM –SAMs are required to form a commutative monoid –Node fusions cause SAMs composition Broadcast fusion calculus –Via the mapping discovered in the first year ok

30 Abstract semantics for SHR Bisimulation for (parametric) SHR Congruence results w.r.t. a suitable algebra of graphs Found using the Tile Model as framework, but then provable indipendently ok

31 Extending CommUnity vs Tile Model (1) Analysis of the class of connectors for CommUnity –3 different semantics for connectors »observational »axiomatic »denotational –The 3 semantics are equivalent –Study of the expressivity of different classes of connectors –The larger class allows to produce a connector for each denotation ∆01 00tickuntick 01untick 10untick 11unticktick ok

32 Extending CommUnity vs Tile Model (2) Double correspondance between categorical and algebraic approach –Starting diagram and colimit equals up to bisimulation –Axiomatization of bisimulation and reduction to normal form allow to compute colimit algebraically ok

33 Roadmap Global computing SHR and other formal tools What we did in the first year What we planned after the first year What we have done What is still to be done todo

34 From planned work More refined abstract semantics –Abstract semantics for SHR is very (too) distinguishing Hybrid models –Models with different synchronization policies have been derived but their properties have to be analyzed in more depth –What about other hybrid models? SAMs –SAMs have been applied to SHR –Can them be applied to other formalisms (process-calculi)? todo

35 New ideas Refining –To bridge the gap between high level models and implementation –Must preserve behavioral properties Combining SHR and bigraphs –Bigraphs and SHR have the same field of application but different aim (double structure vs compositionality) todo

36 Bibliography (old) “Software Architecture, Global Computing and Graph Transformation via Horn Clauses”, I. Lanese and U. Montanari, Proceedings 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, under review for publication in a special issue of TPLP

37 Bibliography (new) “Synchronization algebras with mobility for graph transformations”, I. Lanese and U. Montanari, Proceedings FGUC 2004, ENTCS, to appear “Synchronized Hyperedge Replacement for heterogeneus systems”, I. Lanese and E. Tuosto, submitted to COORDINATION 2005 “New insights on architectural connectors”, R. Bruni, J.L. Fiadeiro, I. Lanese, A. Lopes and U. Montanari, Proceedings IFIP TCS 2004, Kluwer Academics “Normal forms for stateless connectors”, R. Bruni, I. Lanese and U. Montanari, submitted to CALCO 2005

38 End of talk

39 Observational and abstract semantics Analyzing observational and abstract semantics of models –Useful for abstracting details –Important to analyze relationships with compositionality Tile Model is well suited for this kind of analysis –Existing criteria for compositionality too restrictive for GC applications

40 Hybrid models Plugging features from a model into another one Expressiveness and properties of new models must be analyzed Ongoing work: –Logic programming with restriction –Concurrent Fusion Calculus New ideas: –Non Milner Fusion Calculus –Non Hoare logic programming

41 Algebra of synchronization strategies Synchronization algebras –Categorize synchronization strategies Extending with mobility, name-handling,… Apply to existing models to make them parametric w.r.t. synchronization strategies Studying models where different synchronization strategies coexist –SHR good for first analysis