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

Slides:



Advertisements
Similar presentations
Recognising Languages We will tackle the problem of defining languages by considering how we could recognise them. Problem: Is there a method of recognising.
Advertisements

CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università.
Connectors and Concurrency joint work with Ugo Montanari Roberto Bruni Dipartimento di Informatica Università di Pisa Dagstuhl Seminar #04241, September.
Theory Of Automata By Dr. MM Alam
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.
Event structures Mauro Piccolo. Interleaving Models Trace Languages:  computation described through a non-deterministic choice between all sequential.
Programming Paradigms for Concurrency Lecture 11 Part III – Message Passing Concurrency TexPoint fonts used in EMF. Read the TexPoint manual before you.
Deterministic Negotiations: Concurrency for Free Javier Esparza Technische Universität München Joint work with Jörg Desel and Philipp Hoffmann.
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.
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.
1 Formal Models for Distributed Negotiations Description Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela de Ciencias Informaticas.
Lecture 3: Closure Properties & Regular Expressions Jim Hook Tim Sheard Portland State University.
Catriel Beeri Pls/Winter 2004/5 type reconstruction 1 Type Reconstruction & Parametric Polymorphism  Introduction  Unification and type reconstruction.
1 Ivan Lanese Computer Science Department University of Pisa (moved to Bologna) Synchronization strategies for global computing models Ph.D. thesis discussion.
Validating Streaming XML Documents Luc Segoufin & Victor Vianu Presented by Harel Paz.
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.
Containment and Equivalence for an XPath Fragment By Gerom e Mikla Dan Suciu Presented By Roy Ionas.
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 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.
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.
Finite-State Machines with No Output
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,
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,
An Algebra for Composing Access Control Policies (2002) Author: PIERO BONATTI, SABRINA DE CAPITANI DI, PIERANGELA SAMARATI Presenter: Siqing Du Date:
SDS Foil no 1 Process Algebra Process Algebra – calculating with behaviours.
Advanced Topics in SE Spring Process Algebra Hossein Hojjat Formal Methods Lab University of Tehran.
Introduction to Graph Grammars Fulvio D’Antonio LEKS, IASI-CNR Rome,
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Submodule construction in logics 1 Gregor v. Bochmann, University of Ottawa Using First-Order Logic to Reason about Submodule Construction Gregor v. Bochmann.
Regular Expressions Chapter 6 1. Regular Languages Regular Language Regular Expression Finite State Machine L Accepts 2.
11/19/20151 Metodi formali nello sviluppo software a.a.2013/2014 Prof.Anna Labella.
A Logic of Partially Satisfied Constraints Nic Wilson Cork Constraint Computation Centre Computer Science, UCC.
Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari.
Regular Expressions Chapter 6. Regular Languages Regular Language Regular Expression Finite State Machine L Accepts.
2/1/20161 Computer Security Foundational Results.
Operational Semantics Mooly Sagiv Tel Aviv University Textbook: Semantics with Applications Chapter.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Pushdown.
Operational Semantics Mooly Sagiv Tel Aviv University Sunday Scrieber 8 Monday Schrieber.
Architectural Design Rewriting as Architectural Description Language R. Bruni A. LLuch-Lafuente U. Montanari E. Tuosto.
Operational Semantics Mooly Sagiv Reference: Semantics with Applications Chapter 2 H. Nielson and F. Nielson
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,
Introduction to Formal Methods
Validating Reconfigurations of Reo Circuits
Presentation transcript:

Synchronization Algebras with Mobility for Graph Transformations joint work with Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan Lanese Dipartimento di Informatica Università di Pisa FGUC 2004, London, 3-4 September 2004

Synchronization Algebras with Mobility for Graph Transformations Roadmap Introduction Background: Synchronized Hyperedge Replacement Synchronization algebras with mobility Parametric inference rules Examples An application to Fusion Calculus Conclusion and future work

Synchronization Algebras with Mobility for Graph Transformations Roadmap Introduction Background: Synchronized Hyperedge Replacement Synchronization algebras with mobility Parametric inference rules Examples An application to Fusion Calculus Conclusion and future work

Synchronization Algebras with Mobility for Graph Transformations How to model systems (I) Systems are not built directly over the assembler language and the hardware functionalities infrastructure makes some primitives available TCP/IP, RPC, Bluetooth… systems are built on top of these primitives To model systems we need to model the primitives of the infrastructure to model systems using these primitives

Synchronization Algebras with Mobility for Graph Transformations How to model systems (II) To model infrastructure synchronization algebras extended with mobility and local resources To model systems graph transformations we use the Synchronized Hyperedge Replacement (SHR) approach

Synchronization Algebras with Mobility for Graph Transformations Why graphs? Are a natural model for distributed systems Represent the spatial structure Suggestive visual representation Sound mathematical foundations Are a concurrent model Graph transformations model system computation and reconfiguration

Synchronization Algebras with Mobility for Graph Transformations Which graphs? We use hypergraphs with labeled (hyper)edges Subset of nodes (free nodes) as interface important for compositionality Computational interpretation: edges are processes or systems nodes are links or ports synchronization is performed via shared nodes

Synchronization Algebras with Mobility for Graph Transformations Roadmap Introduction Background: Synchronized Hyperedge Replacement Synchronization algebras with mobility Parametric inference rules Examples An application to Fusion Calculus Conclusion and future work

Synchronization Algebras with Mobility for Graph Transformations The Synchronized Hyperedge Replacement approach An approach to graph transformation aimed at modeling distributed systems productions with local effects composition via synchronization with mobility Implementable in a distributed setting since applying a production is a local operation synchronization can be performed using a distributed algorithm

Synchronization Algebras with Mobility for Graph Transformations SHR: a 2 step approach Productions to describe the behaviour of single hyperedges 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

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

Synchronization Algebras 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

Synchronization Algebras 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,...)

Synchronization Algebras with Mobility for Graph Transformations An example: Hoare synchronization All the edges attached to a node must do the same action A1A1 A2A2   a A1A1 A1A1 a=a A2A2 A2A2

Synchronization Algebras with Mobility for Graph Transformations SHR with mobility A1A1 A2A2   a A1A1 A1A1 a =a A2A2 A2A2 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 x x 1 =x 2

Synchronization Algebras with Mobility for Graph Transformations The replicating net Requires the same action on all external nodes Creates a copy of itself for each parameter of the action R  a RR x y z Just the case of one action a of arity 1

Synchronization Algebras with Mobility for Graph Transformations The replicating net in action R R R a R R R x1x1 x2x2

Synchronization Algebras with Mobility for Graph Transformations The replicating net in action R R R R R R a R R R R R R

Synchronization Algebras with Mobility for Graph Transformations An algebraic presentation 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) 

Synchronization Algebras with Mobility for Graph Transformations Example: ring C C C C x y wz

Synchronization Algebras 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   ,,

Synchronization Algebras 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  ,, 

Synchronization Algebras with Mobility for Graph Transformations Roadmap Introduction Background: Synchronized Hyperedge Replacement Synchronization algebras with mobility Parametric inference rules Examples An application to Fusion Calculus Conclusion and future work

Synchronization Algebras with Mobility for Graph Transformations Synchronization Algebra with Mobility A tuple Act: ranked set of actions : partial function Act x Act->Act ε: element of Act Init: subset of Act Fin: subset of Act Mob: set of mobility patterns

Synchronization Algebras with Mobility for Graph Transformations Synchronization Algebra with Mobility A tuple 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 ε: element of Act Init: subset of Act Fin: subset of Act Mob: set of mobility patterns

Synchronization Algebras with Mobility for Graph Transformations Synchronization Algebra with Mobility A tuple Act: ranked set of actions : partial function Act x Act->Act ε: element of Act corresponds to “no synchronization” Init: subset of Act Fin: subset of Act Mob: set of mobility patterns

Synchronization Algebras with Mobility for Graph Transformations Synchronization Algebra with Mobility A tuple Act: ranked set of actions : partial function Act x Act->Act ε: element of Act Init: subset of Act contains trivial actions that can be produced on isolated nodes Fin: subset of Act Mob: set of mobility patterns

Synchronization Algebras with Mobility for Graph Transformations Synchronization Algebra with Mobility A tuple Act: ranked set of actions : partial function Act x Act->Act ε: element of Act Init: subset of Act Fin: subset of Act contains actions that correspond to completed synchronizations (only actions in Fin are allowed on hidden nodes) Mob: set of mobility patterns

Synchronization Algebras with Mobility for Graph Transformations What is a mobility pattern a b= c

Synchronization Algebras with Mobility for Graph Transformations Example: Hoare synchronization

Synchronization Algebras with Mobility for Graph Transformations Roadmap Introduction Background: Synchronized Hyperedge Replacement Synchronization algebras with mobility Parametric inference rules Examples An application to Fusion Calculus Conclusion and future work

Synchronization Algebras with Mobility for Graph Transformations Parametric inference rules Set of rules for composing productions Rules that allow to derive transitions for each graph starting from productions disjoint union merging of nodes  synchronization adding a new node hiding a node

Synchronization Algebras with Mobility for Graph Transformations The rule for synchronization

Synchronization Algebras with Mobility for Graph Transformations What we have obtained? Make the dimensions of infrastructure modelling and system modelling orthogonal Unify different existing models from SHR literature Hoare and Milner synchronizations Allow to model more complex primitives as required in global computing systems

Synchronization Algebras with Mobility for Graph Transformations Roadmap Introduction Background: Synchronized Hyperedge Replacement Synchronization algebras with mobility Parametric inference rules Examples An application to Fusion Calculus Conclusion and future work

Synchronization Algebras with Mobility for Graph Transformations Priority communication

Synchronization Algebras with Mobility for Graph Transformations Priority communication: mobility Synchronizing input and output: merge of parameters Synchronizing two outputs: the one with lowest priority is discarded n < m

Synchronization Algebras with Mobility for Graph Transformations The Game of Life A cellular automata: a grid of interconnected cells that can be alive or not (empty) A living cell stays alive if it has 2 or 3 alive neighbours, dies otherwise A dead cell becomes alive if it has 3 alive neighbours

Synchronization Algebras with Mobility for Graph Transformations Modelling the Game of Life Edges with labels A (alive) and E (empty) Edges share an hidden node with each neighbour At each step a node must communicate its state and get the state of the neighbours Action (a,e): “I’m alive, I argue you are empty” Sinchronizations such as (a,e)(e,a)=ok ok is the only non trivial final action No mobility

Synchronization Algebras with Mobility for Graph Transformations Life productions (w,b) (w,w) (w,b)  A production for each guess on the states of neighbours

Synchronization Algebras with Mobility for Graph Transformations Life (w,b) (w,w) (w,b) (w,w) (b,w)

Synchronization Algebras with Mobility for Graph Transformations Life ok (b,w) (b,b) ok

Synchronization Algebras with Mobility for Graph Transformations Life

Synchronization Algebras with Mobility for Graph Transformations Roadmap Introduction Background: Synchronized Hyperedge Replacement Synchronization algebras with mobility Parametric inference rules Examples An application to Fusion Calculus Conclusion and future work

Synchronization Algebras with Mobility for Graph Transformations Mapping Fusion Calculus into SHR SHR is expressive enough to model Fusion Calculus processes Fusion Calculus can be (easily) mapped into SHR with Milner synchronization We will not present the mapping in detail The induced semantics is correct: transitions are preserved concurrent: SHR transitions correspond to sets of indipendent Fusion transitions

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

Synchronization Algebras with Mobility for Graph Transformations Milner synchronization model

Synchronization Algebras with Mobility for Graph Transformations Example z x 1 x 2.R y 1 x 1 x 2.Q x x 1 x 2.P w 1 2 in 1 w out 1 z R y x 1 x 2.Q x 1 2 P w=z

Synchronization Algebras with Mobility for Graph Transformations Changing the synchronization model Let’s choose the broadcast synchronization model  create a broadcast Fusion calculus

Synchronization Algebras with Mobility for Graph Transformations Example z x 1 x 2.R y 1 x 1 x 2.Q x x 1 x 2.P w 1 2 R y QP w=z=x in 1 w out 1 z in 1 x

Synchronization Algebras with Mobility for Graph Transformations Roadmap Introduction Background: Synchronized Hyperedge Replacement Synchronization algebras with mobility Parametric inference rules Examples An application to Fusion Calculus Conclusion and future work

Synchronization Algebras 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 presented some possible applications We have mapped Fusion Calculus into SHR We have derived for free a broadcast Fusion calculus

Synchronization Algebras with Mobility for Graph Transformations Future work Define and study an abstract semantics Which equivalence is induced on Fusion processes? Consider nodes with different synchronization models in the same graph Apply synchronization algebras with mobility to other formalisms Apply SHR to bigraphs? Implementation

Synchronization Algebras 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 synchronization algebras G. Winskel. Event structures. LNCS 255, 1986 For Fusion Calculus vs SHR I. Lanese and U. Montanari. A graphical Fusion Calculus. Proc. of CoMeta final workshop, ENTCS, to appear