Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "An algebra of Connectors for modeling CommUnity with Tiles joint work with Roberto Bruni Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan."— Presentation transcript:

1 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!

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

3 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

4 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

5 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

6 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

7 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

8 An algebra of Connectors for modeling CommUnity with Tiles Tiles

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

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

11 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

12 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

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

14 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

15 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

16 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

17 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

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

19 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

20 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

21 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

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

23 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

24 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

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

26 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

27 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)

28 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

29 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

30 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

31 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

32 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

33 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

34 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

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

36 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

37 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

38 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

39 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

40 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


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

Similar presentations


Ads by Google