1 Ivan Lanese Computer Science Department University of Bologna Italy Exploiting user-definable synchronizations in graph transformation.

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

1 Ivan Lanese Computer Science Department University of Bologna Italy Types for deadlock avoidance in SSCC.
1 Ivan Lanese Computer Science Department University of Bologna Italy Managing faults and compensations in SOCK Joint work with Claudio Guidi, Fabrizio.
1 PROPERTIES OF A TYPE ABSTRACT INTERPRETATER. 2 MOTIVATION OF THE EXPERIMENT § a well understood case l type inference in functional programming à la.
1 1 Regression Verification for Multi-Threaded Programs Sagar Chaki, SEI-Pittsburgh Arie Gurfinkel, SEI-Pittsburgh Ofer Strichman, Technion-Haifa Originally.
Towards a Practical Composition Language Oscar Nierstrasz Software Composition Group University of Bern.
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.
1 Towards formal manipulations of scenarios represented by High-level Message Sequence Charts Loïc Hélouet Claude Jard Benoît Caillaud IRISA/PAMPA (INRIA/CNRS/Univ.
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 / Dagstuhl/ 2007 APL Antonio Bucchiarone PhD Student – IMT Graduate School Piazza S. Ponziano, Lucca (Italy)
SHReQ: Coordinating Application Level QoS Speaker: Ivan Lanese Dipartimento di Informatica Università di Pisa Authors: Dan Hirsch & Emilio Tuosto Dipartimento.
1 Basic abstract interpretation theory. 2 The general idea §a semantics l any definition style, from a denotational definition to a detailed interpreter.
Jiannong IMC Lab - Department of Computing, Hong Kong Polytechnic Univ. Slide 1 Architecture Description of Distributed Systems using UML and XML.
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 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.
Chair of Software Engineering 1 Concurrent Object-Oriented Programming Arnaud Bailly, Bertrand Meyer and Volkan Arslan.
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.
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.
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.
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.
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.
Behaviour-Preserving Model Transformation Arend Rensink, University of Twente IPA Spring Days, 18 April 2012.
AToM 3 : A Tool for Multi- Formalism and Meta-Modelling Juan de Lara (1,2) Hans Vangheluwe (2) (1) ETS Informática Universidad Autónoma de Madrid Madrid,
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
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:
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Amending Choreographies Joint work with Fabrizio Montesi and Gianluigi Zavattaro.
Next-generation databases Active databases: when a particular event occurs and given conditions are satisfied then some actions are executed. An active.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Causal-Consistent Reversibility in a Tuple-Based Language Joint work with Elena.
University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Towards Verified Model Transformations Holger Giese 1, Sabine Glesner 2, Johannes.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
School of Computer Science, The University of Adelaide© The University of Adelaide, Australian Computer Science Week 2005 Selected papers from: ACSC.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
Towards Interoperability Test Generation of Time Dependent Protocols: a Case Study Zhiliang Wang, Jianping Wu, Xia Yin Department of Computer Science Tsinghua.
1 Joint work with Claudio Antares Mezzina and Jean-Bernard Stefani Controlled Reversibility and Compensations Ivan Lanese Focus research group Computer.
Reasoning about the Behavior of Semantic Web Services with Concurrent Transaction Logic Presented By Dumitru Roman, Michael Kifer University of Innsbruk,
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Francesco Tiezzi IMT Advanced Studies Lucca Causal-Consistent Reversibility in a Tuple-Based Distributed Language Joint work with Elena Giachino, Ivan.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Adaptive Choreographies Joint work with Mila Dalla Preda, Jacopo Mauro and Maurizio.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Causal-Consistent Reversibility in a Tuple-Based Distributed Language Joint work.
Rewriting Nested Graphs, through Term Graphs Roberto Bruni, Andrea Corradini, Fabio Gadducci Alberto Lluch Lafuente and Ugo Montanari Dipartimento di Informatica,
Analysis Classes Unit 5.
Validating Reconfigurations of Reo Circuits
Internet of Things A Process Calculus Approach
A Framework for Testing Query Transformation Rules
Presentation transcript:

1 Ivan Lanese Computer Science Department University of Bologna Italy Exploiting user-definable synchronizations in graph transformation

Roadmap Synchronized Hyperedge Replacement The airport case study Parametric SHR Computing a transition step-by-step Conclusions

Roadmap Synchronized Hyperedge Replacement The airport case study Parametric SHR Computing a transition step-by-step Conclusions

Graph transformation Graphs used to model system structure –(Hyper)edges are components –Nodes are communication channels Graph transformation model system evolution –Rules replace parts of the graph with new parts –Captures in an intuitive way reconfiguration

The SHR approach Traditional graph transformation (e.g., DPO) requires to match large subgraphs –Difficult to implement in a distributed setting The SHR approach –Rules (productions) describe the behaviour of single edges –Productions applied locally –Synchronization to coordinate different productions

Standard SHR presentation Algebra to represent graphs LTS-based semantics Inference rules to derive transitions from productions Apt for developing theory –Induction on the derivation, coinduction Difficult to understand –A transition is a result of many steps of derivation –Heavy technicalities

Our SHR presentation Set-theoretical presentation of graphs LTS-based semantics Algorithm to derive the allowed transitions Each step corresponds to an intuitive check –Choice of the productions, verification of the synchronization constraints, … More easy to guess the resulting transitions More easy to program

More on productions Rewrite an edge into a graph preserving the interface Many productions can be applied concurrently Synchronization constraints must be satisfied Mobility can change the interface at chk L at chk RS

Basics of synchronization & mobility Productions can execute actions on attached nodes Actions executed on each node at each step must be compatible Actions can carry nodes as parameters Parameters of synchronizing actions may be merged Synchronization Mobility

Roadmap Synchronized Hyperedge Replacement The airport case study Parametric SHR Computing a transition step-by-step Conclusions

The airport case study Taken from AGILE project on architectures for mobility Models airplanes taking off and landing at airports and persons traveling using them Modeled inside AGILE using –UML extended with mobility primitives –Synchronized variant of DPO We concentrate on a small part of the case study

Our aim univ inBo chk inPl

Programming using productions (1) at: > in: > chk: > newat in chk at at: > in: > at in

Programming using productions (2) at: > chk: > newat chkat Idle productions always available

Roadmap Synchronized Hyperedge Replacement The airport case study Parametric SHR Computing a transition step-by-step Conclusions

Parametric SHR A member of SHR family Synchronization and mobility patterns not fixed but user-definable –Specified using Synchronization Algebras with Mobility Allows to use each time the most suitable synchronization primitives

Synchronization Algebras with Mobility Specify how actions synchronize –Two at the time, associativity and commutativity required From Winskel’s synchronization algebras –Partial operator ● for action synchronization –Action ε for “not taking part to the synchronization” Added –Arities of actions –Function from parameters of the synchronizing actions to parameters of the result –Set of final actions

Milner SAM Normal actions, coactions, τ, ε l in ● out = τ l a ● ε = a l Final actions: τ, ε inout τ aε a

Broadcast SAM Normal actions, coactions, ε l in ● out = out l in ● in = in l ε ● ε = ε l Final actions: out, ε inout in

And many more SAMs can be defined for many synchronization policies –Mutual exclusion –Priority synchronization –…–… SAMs can be combined –In the example: req and acq interacting using Milner synchronization and breq and brd interacting using broadcast

Applying a SAM SAMs used to synchronize tuples of actions a i carrying parameters p i If synchronization is allowed we can compute –A resulting action c –A substitution σ –A tuple of parameters p

Applying broadcast Broadcast synchronization is allowed if –at most one action is “out” –if there is an ε, then all the actions are ε The result is –ε if all actions are ε –“in” if all the actions are “in” (not allowed on bound nodes) –“out” otherwise Substitution σ computed as mgu of equalities p i =p j for all i, j Parameters p computed as p i σ (any i can be chosen)

Roadmap Synchronized Hyperedge Replacement The airport case study Parametric SHR Computing a transition step-by-step Conclusions

The algorithm (1) One production is chosen for each edge –Idle production for passenger not checked in –Productions shown before for other edges –New nodes are local to productions The actions executed on each node x are synchronized –Action c x, parameters p x and substitution σ x as results If x is bound then c x must be final

Synchronization in the example univ inBo chk inPl ε,<> ack, ε,<> req, ε,<> breq, brd,

Synchronization in the example univ inBo chk inPl ε τ ε breq, brd, univ/newat

Synchronization in the example univ inBo chk inPl ε τ ε breq, univ/newat inPl/new1,inPl/new2

The algorithm (2) Global substitution σ computed by –Merging the substitutions σ x from single nodes Final label contain –The triple for each free x in the LHS Final graph computed by –Merging the RHSs of the productions –Applying the global substitution σ –Hiding nodes unless free in the LHSs or occurring in the label –Deleting isolated nodes

Result of the transition univ inBo newat inPl chk new1 new2 univ/newat, inPl/new1, inPl/new2

Result of the transition univ inBo inPl chk univ/newat, inPl/new1, inPl/new2

Result of the transition univ inBo inPl chk The label is >

Result of the transition univ inBo inPl chk All nodes but univ are hidden

Roadmap Synchronized Hyperedge Replacement The airport case study Parametric SHR Computing a transition step-by-step Conclusions

About SHR –Powerful graph transformation framework –Allows to relate local and global views of the system About PSHR –Allows to simplify the specification of complex transformations About this presentation of PSHR –Less suitable for developing theory –Hopefully more apt for designers/developers –The two views are (nearly) equivalent: the most suitable can be chosen at each time

Future work I have moved, so I’m not sure I will continue working on this Some interesting things on SHR under development –Category of SAMs to compose and compare them –Applying SHR to QoS –Abstract semantics for SHR One thing that is surely missing –Implementation of SHR

End of talk