40
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 joint work with Roberto Bruni Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan

  • View
    216

  • Download
    2

Embed Size (px)

Citation preview

An algebra of Connectors for

modeling CommUnity with Tiles

joint work withRoberto BruniUgo MontanariDipartimento di Informatica Università di Pisa

Ivan LaneseDipartimento 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

inputinterface

outputinterface

An algebra of Connectors for modeling

CommUnity with Tiles

Observationsinitial

interface

finalinterface

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 s1 to s2 with observation (p,f) if s1 satisfies p f(s1)=s2

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[s1] and

final state CONF[s2] iff there is a computation on diagram DG from state s1 to state s2

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 :mn is a

table 2nx2m 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