An algebra of Connectors for modeling CommUnity with Tiles joint work with Roberto Bruni Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan.

Slides:



Advertisements
Similar presentations
Tintu David Joy. Agenda Motivation Better Verification Through Symmetry-basic idea Structural Symmetry and Multiprocessor Systems Mur ϕ verification system.
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.
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Models of Concurrency Manna, Pnueli.
Linked List Implementation class List { private List next; private Object data; private static List root; private static int size; public static void addNew(Object.
Event structures Mauro Piccolo. Interleaving Models Trace Languages:  computation described through a non-deterministic choice between all sequential.
CS 290C: Formal Models for Web Software Lecture 4: Implementing and Verifying Statecharts Specifications Using the Spin Model Checker Instructor: Tevfik.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
ISBN Chapter 3 Describing Syntax and Semantics.
Roberto Pisa, Italy 13 June 2008 WADT Tiles for Reo Roberto Bruni Dipartimento di Informatica Università di Pisa WADT th International.
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.
1 Formal Models for Distributed Negotiations Zero-Safe Nets Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela de Ciencias Informaticas.
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 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 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 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.
ESE601: Hybrid Systems Introduction to verification Spring 2006.
Logic Gate Level Combinational Circuits, Part 1. Circuits Circuit: collection of devices physically connected by wires to form a network Net can be: –
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.
Describing Syntax and Semantics
Copyright © Cengage Learning. All rights reserved. CHAPTER 2 THE LOGIC OF COMPOUND STATEMENTS THE LOGIC OF COMPOUND STATEMENTS.
ECE 331 – Digital Systems Design Introduction to Sequential Logic Circuits (aka. Finite State Machines) and FSM Analysis (Lecture #19)
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.
Logic Gates Circuits to manipulate 0’s and 1’s. 0’s and 1’s used for numbers Also to make decisions within the computer. In that context, 1 corresponds.
Process Algebra (2IF45) Basic Process Algebra (Soundness proof) Dr. Suzana Andova.
Circuit, State Diagram, State Table
1 CHAPTER 4: PART I ARITHMETIC FOR COMPUTERS. 2 The MIPS ALU We’ll be working with the MIPS instruction set architecture –similar to other architectures.
Reactive systems – general
Advanced Topics in Software Engineering Marjan Sirjani Tehran University Faculty of Engineering ECE Department Tehran,
Linear Algebra. Circuits The circuits in computers and other input devices have inputs, each of which is either a 0 or 1, the output is also 0s and 1s.
Roles and Coordination in powerJava M. Baldoni, G. Boella Dipartimento di Informatica, Università degli Studi di Torino (Italy) and L. van der Torre SEN3.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Mathematical Preliminaries
Composition in Modeling Macromolecular Regulatory Networks Ranjit Randhawa September 9th 2007.
Digital System Design using VHDL
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Process Algebra (2IF45) Basic Process Algebra Dr. Suzana Andova.
Rewriting Nested Graphs, through Term Graphs Roberto Bruni, Andrea Corradini, Fabio Gadducci Alberto Lluch Lafuente and Ugo Montanari Dipartimento di Informatica,
Formal methods: Lecture
Computer Science 210 Computer Organization
Boolean Algebra – Part 1 ECEn 224.
Dr. Clincy Professor of CS
Propositional Calculus: Boolean Algebra and Simplification
Logical architecture refinement
NP-Completeness Proofs
CS Chapter 3 (3A and ) Part 3 of 8
An Introduction to Software Architecture
CS Chapter 3 (3A and ) – Part 2 of 5
Dr. Clincy Professor of CS
From now on: Combinatorial Circuits:
Copyright © Cengage Learning. All rights reserved.
Presentation transcript:

An algebra of Connectors for modeling CommUnity with Tiles joint work with Roberto Bruni Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan Lanese Dipartimento di Informatica Università di Pisa Workshop AGILE, Munich, 4-5 December 2003 Ongoing Work!

An algebra of Connectors for modeling CommUnity with Tiles Roadmap Goals Tile Logic Decomposition for CommUnity designs Mapping of CommUnity into the Tile Model Axiomatization of colimits Ongoing and future work

An algebra of Connectors for modeling CommUnity with Tiles Roadmap Goals Tile Logic Decomposition for CommUnity designs Mapping of CommUnity into the Tile Model Axiomatization of colimits Ongoing and future work

An algebra of Connectors for modeling CommUnity with Tiles Goals: categorical vs algebraic approach Relations between categorical and algebraic approach Categorical approach: objects are system specifications related by morphisms compositionality via universal constructions colimits as denotational semantics Algebraic approach constants are basic programs, composition via algebraic operations semantics via labelled transition systems abstract semantics via observational equivalences

An algebra of Connectors for modeling CommUnity with Tiles Specific goals & other results We analyze in particular CommUnity vs Tile Model Operational and behavioural semanitcs for CommUnity Cross-fertilization between the two approaches: decomposition for CommUnity designs algebra for CommUnity synchronization equivalence between diagram and colimit via normalization bisimilarity results “separation of concerns” in tile configurations

An algebra of Connectors for modeling CommUnity with Tiles Roadmap Goals Tile Logic Decomposition for CommUnity designs Mapping of CommUnity into the Tile Model Axiomatization of colimits Ongoing and future work

An algebra of Connectors for modeling CommUnity with Tiles Tile Logic Operational and Abstract Semantics of Open Concurrent Systems Compositional in Space and Time Specification Formats Depending on chosen connectors Congruence results Category based, but with an algebraic approach to compositionality

An algebra of Connectors for modeling CommUnity with Tiles Tiles

An algebra of Connectors for modeling CommUnity with Tiles Configurations input interface output interface

An algebra of Connectors for modeling CommUnity with Tiles Observations initial interface final interface concurrent computation also more complex observations...

An algebra of Connectors for modeling CommUnity with Tiles Roadmap Goals Tile Logic Decomposition for CommUnity designs Mapping of CommUnity into the Tile Model Axiomatization of colimits Ongoing and future work

An algebra of Connectors for modeling CommUnity with Tiles Decomposition for CommUnity designs:aims Find the basic components of a CommUnity design: understanding the algebraic structure helping the translation Decomposition in the glue-channels-roles style

An algebra of Connectors for modeling CommUnity with Tiles Example of decomposition

An algebra of Connectors for modeling CommUnity with Tiles Correctness The colimit of the decomposition is (isomorphic to) the starting design Extension: decompose all the roles in a diagram The decomposition and the starting diagram have the “same” colimit

An algebra of Connectors for modeling CommUnity with Tiles Roadmap Goals Tile Logic Decomposition for CommUnity designs Mapping of CommUnity into the Tile Model Axiomatization of colimits Ongoing and future work

An algebra of Connectors for modeling CommUnity with Tiles Which mapping? Mapping diagrams One diagram defines a configuration (with state iff the diagram is anchored) Tile system depends on the designs used and on the algebra for functions and predicates Finite tile systems for finite diagrams

An algebra of Connectors for modeling CommUnity with Tiles Building the configuration: the strategy We consider connected decomposed systems Mapping of non-channel modules variable managers guard managers glues Mapping of the operation “composition via one channel” Connecting the state

An algebra of Connectors for modeling CommUnity with Tiles Structure of the configuration

An algebra of Connectors for modeling CommUnity with Tiles Objects Three kinds of objects: variables: typed with type and modality (input / output) special boolean objects: the results of the execution conditions synchronization objects: correspond to actions

An algebra of Connectors for modeling CommUnity with Tiles Variable managers Fully identified by a multiset of assignments One constructor for each variable manager Left interface: one variable object for each variable Right interface: one synchronization object for each action

An algebra of Connectors for modeling CommUnity with Tiles Guard managers Guard managers are predicates One constructor for each guard manager Algebra of predicates needed for simplification Left interface: one variable object for each variable Right interface: exactly one synchronization object

An algebra of Connectors for modeling CommUnity with Tiles Glues Two functions: collecting variables enforcing mutual exclusion on actions Build out of simpler connectors

An algebra of Connectors for modeling CommUnity with Tiles Composition via one channel(1) Composing variables we use trees of (typed) binary connectors (duplicators) we merge all the variables in the image of the same channel variable we merge special boolean objects

An algebra of Connectors for modeling CommUnity with Tiles Composition via one channel(2) Composing actions we keep a copy of any action for later use actions in two groups mapped to the same channel action must be combined in all possible ways combined actions are closed

An algebra of Connectors for modeling CommUnity with Tiles Composition via one channel(3)

An algebra of Connectors for modeling CommUnity with Tiles Adding state The state is a basic constructor defined by: a tuple of types a tuple of values of these types Closed to the left One variable object for each variable

An algebra of Connectors for modeling CommUnity with Tiles Vertical structure In the data part: observations composed by a predicate and a tuple of assignments can be expressed as terms with a special constructor (*) for input (input is out of the control of the design) In the action part: either tick (action done) or untick (action not done)

An algebra of Connectors for modeling CommUnity with Tiles Tiles (1) For variable managers: one tile for each action the assignment on the left tick on the chosen action, untick on the other ones on the right For guard managers two tiles action taken: predicate on the left, tick on the right action not taken: true on the left, untick on the right

An algebra of Connectors for modeling CommUnity with Tiles Tiles (2) For variable sharing: * disappears when merged with other observations no merges between outputs merging special boolean objects gives the and of the predicates For state: tile from s 1 to s 2 with observation (p,f) if s 1 satisfies p f(s 1 )=s 2

An algebra of Connectors for modeling CommUnity with Tiles Tiles (3) For connectors: the allowed combinations of tick and untick An example: the co-me connector and symmetric

An algebra of Connectors for modeling CommUnity with Tiles Correspondence theorem CONF[s] translation of a diagram DG with state s Tile with initial state CONF[s 1 ] and final state CONF[s 2 ] iff there is a computation on diagram DG from state s 1 to state s 2

An algebra of Connectors for modeling CommUnity with Tiles Roadmap Goals Tile Logic Decomposition for CommUnity designs Mapping of CommUnity into the Tile Model Axiomatization of colimits Ongoing and future work

An algebra of Connectors for modeling CommUnity with Tiles Computing colimit Variable part already ok Guard managers normalized via algebra of predicates Variable managers normalized by duplicating their actions when required Needed: normal form for the (closed) synchronization structure

An algebra of Connectors for modeling CommUnity with Tiles Algebra of connectors Powerful algebra is needed representing sets of sets Already seen connectors are not enough for proving normalization We consider an extended algebra

An algebra of Connectors for modeling CommUnity with Tiles Syntax of connectors

An algebra of Connectors for modeling CommUnity with Tiles Semantics of connectors Semantics corresponds to the accepted input/output configurations Semantics of a connector  :m  n is a table 2 n x2 m with 1 if the corresponding configuration is acceptable Sequential composition of connectors corresponds to matrix multiplication

An algebra of Connectors for modeling CommUnity with Tiles Axiomatization of connectors Duplicator, coduplicator, discharger and codischarger form a p-monoidal category Mutual exclusion connectors, 0 and co 0 form an r-monoidal category New axioms to make the two structures interact Axioms for 1 and co 1

An algebra of Connectors for modeling CommUnity with Tiles Results Correctness: equivalent arrows bisimulate Completeness: each table with at least one marked entry can be represented Normalization: the configuration associated to a CommUnity diagram is isomorphic up- to the axioms to the configuration associated to (the decomposition of) its colimit

An algebra of Connectors for modeling CommUnity with Tiles Roadmap Goals Tile Logic Decomposition for CommUnity designs Mapping of CommUnity into the Tile Model Axiomatization of colimits Ongoing and future work

An algebra of Connectors for modeling CommUnity with Tiles Ongoing and future work All you have seen IS ongoing work Extending the translation to other features of CommUnity (may require adding dimensions to tiles) reconfiguration refinement localities Applying the approach to other categorical and algebraic models