1 / 40

An algebra of Connectors for modeling CommUnity with Tiles

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

heba
Download Presentation

An algebra of Connectors for modeling CommUnity with Tiles

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. Tiles An algebra of Connectors for modeling CommUnity with Tiles

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

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

  11. 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

  12. 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

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

  14. 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

  15. 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

  16. 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

  17. 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

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

  19. 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

  20. 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

  21. 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

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

  23. 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

  24. 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

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

  26. 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

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

  28. 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

  29. 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

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

  31. 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

  32. 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

  33. 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

  34. 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

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

  36. Semantics of connectors • Semantics corresponds to the accepted input/output configurations • Semantics of a connector :mn 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

  37. 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

  38. 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

  39. 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

  40. 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 An algebra of Connectors for modeling CommUnity with Tiles

More Related