Synchronizations with Mobility for Graph Transformations joint work with Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan Lanese Dipartimento.

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 1 Regression Verification for Multi-Threaded Programs Sagar Chaki, SEI-Pittsburgh Arie Gurfinkel, SEI-Pittsburgh Ofer Strichman, Technion-Haifa Originally.
Hoare’s Correctness Triplets Dijkstra’s Predicate Transformers
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.
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.
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.
A Semantic Characterization of Unbounded-Nondeterministic Abstract State Machines Andreas Glausch and Wolfgang Reisig 1.
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.
1 Ivan Lanese Computer Science Department University of Bologna Italy Behavioural Theory for SSCC Joint work with Luis Cruz-Filipe, Francisco Martins,
1 Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni, GianLuigi Ferrari, Hernan Melgratti, Emilio Tuosto (Pisa) Cosimo Laneve (Bologna)
1 Formal Models for Distributed Negotiations Concurrent Languages Translation Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela.
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 Formal Models for Transactions: Zero Safe Nets Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and.
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.
1 Formal Models for Distributed Negotiations From Petri Nets to Join Calculus Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela.
Modeling a Service and Session Calculus with Hierarchical Graph Transformation Roberto Bruni, Andrea Corradini, Ugo Montanari (based on joint work with.
Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica.
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 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.
Mathematical Operational Semantics and Finitary System Behaviour Stefan Milius, Marcello Bonsangue, Robert Myers, Jurriaan Rot.
Coalgebraic Symbolic Semantics Filippo Bonchi Ugo Montanari.
Introduction to Formal Methods Based on Jeannette M. Wing. A Specifier's Introduction to Formal Methods. IEEE Computer, 23(9):8-24, September,
SDS Foil no 1 Process Algebra Process Algebra – calculating with behaviours.
Mathematical Operational Semantics and Finitary System Behaviour Stefan Milius, Marcello Bonsangue, Robert Myers, Jurriaan Rot.
Advanced Topics in SE Spring Process Algebra Hossein Hojjat Formal Methods Lab University of Tehran.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 3 (26/01/2006) Instructor: Haifeng YU.
Introduction to Graph Grammars Fulvio D’Antonio LEKS, IASI-CNR Rome,
A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Dynamic Software Architectures Verification using DynAlloy Antonio Bucchiarone IMT Graduate School of Lucca,
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
A Graph Transformation System Model of Reliable Dynamic Communication Networks for Location Transparent Mobile Agents M. Kurihara (Hokkaido Univ., Japan)
Rewriting Logic Model of Compositional Abstraction of Aspect-Oriented Software FOAL '10Mar. 15, 2010 Yasuyuki Tahara, Akihiko Ohsuga The University of.
Submodule construction in logics 1 Gregor v. Bochmann, University of Ottawa Using First-Order Logic to Reason about Submodule Construction Gregor v. Bochmann.
Categorical Categorical theory of state-based systems in Sets : bisimilarity in Kleisli: trace semantics [Hasuo,Jacobs,Sokolova LMCS´07] in Sets : bisimilarity.
A Logic of Partially Satisfied Constraints Nic Wilson Cork Constraint Computation Centre Computer Science, UCC.
Weak Bisimilarity Coalgebraically Andrei Popescu Department of Computer Science University of Illinois.
MPRI – Course on Concurrency Lectures 11 and 12 The pi-calculus expressiveness hierarchy Catuscia Palamidessi INRIA Futurs and LIX
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
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.
Towards a Semantic Model for Java Wildcards Sophia Drossopoulou Mariangiola Dezani-Ciancaglini Imperial College London Università di Torino Italy Nicholas.
COMP 412, FALL Type Systems C OMP 412 Rice University Houston, Texas Fall 2000 Copyright 2000, Robert Cartwright, all rights reserved. Students.
Rewriting Nested Graphs, through Term Graphs Roberto Bruni, Andrea Corradini, Fabio Gadducci Alberto Lluch Lafuente and Ugo Montanari Dipartimento di Informatica,
Binary Relation: A binary relation between sets A and B is a subset of the Cartesian Product A x B. If A = B we say that the relation is a relation on.
Introduction to Formal Methods
Validating Reconfigurations of Reo Circuits
Logical architecture refinement
Internet of Things A Process Calculus Approach
Abstraction.
A MODULAR LTS FOR OPEN REACTIVE SYSTEMS
Presentation transcript:

Synchronizations with Mobility for Graph Transformations joint work with Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan Lanese Dipartimento di Informatica Università di Pisa Dagstuhl seminar, Germany, 7-11 June 2004

Synchronizations with Mobility for Graph Transformations Roadmap Aims of the work Background: Synchronized Hyperedge Replacement Parametric inference rules Abstract semantics Expressiveness Conclusions and future work

Synchronizations with Mobility for Graph Transformations Roadmap Aims of the work Background: Synchronized Hyperedge Replacement Parametric inference rules Abstract semantics Expressiveness Conclusions and future work

Synchronizations with Mobility for Graph Transformations Aims of the work (1) To develop an expressive framework for graph transformation We base on Synchronized Hyperedge Replacement Rules with local effects Composition via synchronization with mobility Different synchronizations mechanisms for different applications Different applicative scenarios Modeling network reconfigurations Modeling software architectures Giving a graphical semantics to calculi for mobility

Synchronizations with Mobility for Graph Transformations Aims of the work (2) To define an abstract semantics For reasoning on behavioural properties The abstract semantics must be compositional

Synchronizations with Mobility for Graph Transformations Roadmap Aims of the work Background: Synchronized Hyperedge Replacement Parametric inference rules Abstract semantics Expressiveness Conclusions and future work

Synchronizations with Mobility for Graph Transformations Why graphs? Are a natural model for distributed systems Represent the spatial structure Are a concurrent model Give a more suggestive representation for process calculi Easy to understand Semantically sound

Synchronizations with Mobility for Graph Transformations Which graphs? We use hypergraphs with labeled (hyper)edges Subset of nodes (free nodes) as interface Important for the abstract semantics Computational interpretation: Edges are processes or systems Nodes are links or ports Synchronization is performed via shared nodes

Synchronizations with Mobility for Graph Transformations Judgements We use judgements to represent graphs To simplify the definition of the semantics Γ G where Γ is a finite set of nodes and G is a term generated by G ::= nil | s(x 1,…,x n ) | G|G | ν x G s is an edge label, x and x 1,…,x n are nodes ν is a binder for x We require that Γ contains at least names in fn(G) 

Synchronizations with Mobility for Graph Transformations x,y z, w. C(x,w) | C(w,y) | C (y,z) | C(z,x)  Example: ring w z In this case arrows identify the second attachment node

Synchronizations with Mobility for Graph Transformations SHR: a 3 step approach Productions to describe the behaviour of single hyperedges: Local effects (easier to implement) Hyperedges rewritten into generic graphs Constraints on surrounding nodes Global constraint-solving algorithm to derive transitions: To select which productions can be applied Allows to define complex transformations Finally transitions are applied

Synchronizations with Mobility for Graph Transformations Edge Replacement Systems R L H A production describes how the hyperedge L is transformed into the graph R

Synchronizations with Mobility for Graph Transformations Edge Replacement Systems A production describes how the hyperedge L is transformed into the graph R Many productions can be applied concurrently R R’ L L’ H

Synchronizations with Mobility for Graph Transformations Synchronized Hyperedge Replacement We associate actions to nodes attached to edges to be rewritten A transition is allowed iff the synchronization constraints associated to nodes are satisfied Many synchronization models are possible (Milner, Hoare,...)

Synchronizations with Mobility for Graph Transformations An example: Milner synchronization Pairs of edges can synchronize by doing complementary actions a a a 3 3 B1A1 B2A2

Synchronizations with Mobility for Graph Transformations SHR with mobility We introduce 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) (y) B1A1 a ~ a B2A2 a a x= y

Synchronizations with Mobility for Graph Transformations Example b) x C Brother C C C C C C CCC (4)(3)(2)(1) Star Rec. S S SS (5) x Initial Graph C Brother: C C C CS Star Reconfiguration: (w) r(w)

Synchronizations with Mobility for Graph Transformations Transitions as syntactic judgements Transitions:  :   (Act x N*) Associates to each external node its action and its tuple of references to nodes  :  is an idempotent substitution (forces merges on nodes)  G 1   G 2   ,,

Synchronizations with Mobility for Graph Transformations Deriving transitions Productions Transitions are generated from productions by applying a suitable set of inference rules Inference rules are parametric w.r.t. the synchronization model, which is expressed by an algebra x 1,…,x n L(x 1,…,x n )   G  ,, 

Synchronizations with Mobility for Graph Transformations Roadmap Aims of the work Background: Synchronized Hyperedge Replacement Parametric inference rules Abstract semantics Expressiveness Conclusions and future work

Synchronizations with Mobility for Graph Transformations Synchronization Algebra with Mobility A quintuple Act: ranked set of actions : partial function Act x Act->Act Defines action composition Undefined if the actions can not synchronize Returns the composed action otherwise

Synchronizations with Mobility for Graph Transformations Synchronization Algebra with Mobility (2) Init, Fin: subsets of Act Init contains trivial actions that can be produced on isolated nodes Fin contains actions that correspond to completed synchronizations (only actions in Fin are allowed on hidden nodes) ε: element of Act ε corresponds to “no synchronization”

Synchronizations with Mobility for Graph Transformations Example: Milner synchronization

Synchronizations with Mobility for Graph Transformations The rule for synchronization

Synchronizations with Mobility for Graph Transformations Roadmap Aims of the work Background: Synchronized Hyperedge Replacement Parametric inference rules Abstract semantics Expressiveness Conclusions and future work

Synchronizations with Mobility for Graph Transformations Abstract semantics We use the standard concept of bisimulation

Synchronizations with Mobility for Graph Transformations Properties of abstract semantics Two bisimilar graphs have the same interface We can add isolated nodes to the interface to compare graphs with different interfaces The abstract semantics is compositional We build a suitable algebra for judgements We prove that bisimilarity is a congruence w.r.t. the operators of the algebra

Synchronizations with Mobility for Graph Transformations Algebra We use an algebra in the style of Bauderon & Courcelle Algebra generated by the operators (modulo axioms) We consider graphs typed by their interfaces We have classes of typed operators

Synchronizations with Mobility for Graph Transformations Algebra for judgements Nil : empty graph s x1,x2,...,xn : edge s with n attachment nodes - || - : union of graphs with disjoint interfaces  x,y - : merge of x and y (x representative) ! x - : creation of isolated node x ? x - : hiding of node x

Synchronizations with Mobility for Graph Transformations The idea of the proof Inference rules can be written in De Simone format using the algebraic operators All the axioms bisimulate Bisimulation is a congruence thanks to standard results on bialgebras Turi-Plotkin and Buscemi-Montanari

Synchronizations with Mobility for Graph Transformations Roadmap Aims of the work Background: Synchronized Hyperedge Replacement Parametric inference rules Abstract semantics Expressiveness Conclusions and future work

Synchronizations with Mobility for Graph Transformations Example: routing We want to use graphs to model dynamically evolving routers We use two kinds of edges R (router) and L (link) of arity 3 and 2 Edges can execute complementary actions on two of their attachment nodes and create links among nodes whose names are matched

Synchronizations with Mobility for Graph Transformations A sample production

Synchronizations with Mobility for Graph Transformations Bisimilar routers A router is characterized by its interface S and its connection relation Conn is the set of pairs of nodes that are connected by disjoint paths Bisimilarity captures exactly this notion of equivalence

Synchronizations with Mobility for Graph Transformations Changing the synchronization model We can use for routers the broadcast synchronization model

Synchronizations with Mobility for Graph Transformations Routers with broadcast synchronization Multicast is now allowed Different equivalence on graphs The left one can send messages from any node to any other The right one broadcasts messages from any node to the other two If names are transmitted new broadcast groups are created

Synchronizations with Mobility for Graph Transformations Mapping Fusion Calculus into SHR SHR is expressive enough to model Fusion Calculus processes Fusion Calculus can be mapped into Milner SHR We will not present the mapping in detail The induced semantics is concurrent Many actions at the same time on different channels

Synchronizations with Mobility for Graph Transformations Fusion Calculus vs Milner SHR FusionMilner SHR ProcessesGraphs Sequential processesHyperedges NamesNodesParallel comp. ScopeRestriction Sets of conc. transit.Transitions

Synchronizations with Mobility for Graph Transformations Example We can also execute both the steps at the same time

Synchronizations with Mobility for Graph Transformations An apparent mismatch Bisimulation is a congruence in SHR but not in Fusion Calculus The reason: SHR semantics is concurrent In Fusion ux.vy+vy.ux≈ux|vy but the bisimulation relation is not preserved by a context that merges u and v In SHR the two terms are not bisimilar since the second one can execute both the prefixes at the same time

Synchronizations with Mobility for Graph Transformations Roadmap Aims of the work Background: Synchronized Hyperedge Replacement Parametric inference rules Abstract semantics Expressiveness Conclusions and future work

Synchronizations with Mobility for Graph Transformations Conclusions We have extended a known approach to graph transformations by making it parametric w.r.t. the synchronization model We have defined a suitable abstract semantics through bisimilarity We have proven that bisimilarity is a congruence We have presented some possible applications

Synchronizations with Mobility for Graph Transformations Future work Study the properties of our bisimilarity Which equivalence is induced on Fusion processes? Allow different kinds of mobility (until now essentially Fusion style moblity) Consider nodes with different synchronization models in the same graph Apply synchronization algebras with mobility to other formalisms

Synchronizations with Mobility for Graph Transformations Bibliography (1) For Synchronized Hyperedge Replacement P. Degano and U. Montanari. A model for distributed systems based on graph rewriting. Journal of ACM 34(2), 1987 D. Hirsch and U. Montanari. Synchronized hyperedge replacement with name mobility. Proc. of CONCUR 2001, LNCS, 2001 G. Ferrari, U. Montanari and E. Tuosto. A lts semantics of ambients via graph synchronization with mobility. Proc. of ICTCS’01, LNCS 2202, 2001 For abstract semantics for SHR B. König and U. Montanari. Observational equivalence for synchronized graph rewriting. Proc. of TACS’01, LNCS 2215, 2001

Synchronizations with Mobility for Graph Transformations Bibliography (2) For synchronization algebras G. Winskel. Event structures. LNCS 255, 1986 For algebras for graphs M. Bauderon and B. Courcelle. Graph expressions and graph rewriting. Math. Systems Theory 20, 1987 For results on bialgebras D. Turi and G. Plotkin. Towards a mathematical operational semantics. Proc. of LICS’97, 1997 M. Buscemi and U. Montanari. A first order coalgebraic model of pi-calculus early observational equivalence. Proc. of CONCUR’02, LNCS 2421, 2002 For Fusion Calculus vs SHR I. Lanese and U. Montanari. A graphical Fusion Calculus. Proc. of CoMeta final workshop, ENTCS, to appear

Synchronizations with Mobility for Graph Transformations

Conditions on synchronization algebras