Download presentation

Presentation is loading. Please wait.

Published byMacey Burling Modified over 2 years ago

1
CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università di Pisa Agile Meeting, 8-9 July 2004 Ongoing Work!

2
CommUnity, Tiles and Connectors Roadmap Motivation From CommUnity to Tiles Connectors Concluding remarks

3
CommUnity, Tiles and Connectors Roadmap Motivation From CommUnity to Tiles Connectors Concluding remarks

4
CommUnity, Tiles and Connectors General motivation I Comparing the categorical and the algebraic approach to systems Categorical approach Algebraic approach

5
CommUnity, Tiles and Connectors General motivation II Comparing the categorical and the algebraic approach to systems Categorical approach objects are system components morphisms express simulation, refinement, … complex systems are modeled as diagrams composition via universal construction (colimit) Algebraic approach

6
CommUnity, Tiles and Connectors General motivation III Comparing the categorical and the algebraic approach to systems Categorical approach Algebraic approach System represented by an algebra constants are basic components operations compose smaller systems into larger ones structural axioms collapse structurally equivalent systems operational semantics (SOS style) abstract semantics (bisimilarity)

7
CommUnity, Tiles and Connectors Specific aim Reconcile two selected representatives CommUnity (categorical) architectural description language distinction between computation and coordination Tile Model (algebraic) operational model for concurrent systems co-existence of horizontal (space) and vertical (time) dimensions

8
CommUnity, Tiles and Connectors Specific aim: advantages Advantage: transfer of concepts and techniques Semantics model for CommUnity Observational equivalence of CommUnity configurations CommUnity-like connectors in the tile model Separation between computation and coordination for tiles

9
CommUnity, Tiles and Connectors Roadmap Motivation From CommUnity to Tiles Connectors Concluding remarks

10
CommUnity, Tiles and Connectors From CommUnity to Tiles Aim: To define the operational and abstract semantics of CommUnity diagrams by translating them to tiles First step Standard decomposition of programs and diagrams identify basic building blocks make the translation easier Second step From standard diagrams to tiles basic programs to basic boxes cables, glues and morphisms (coordination) modeled as connectors

11
CommUnity, Tiles and Connectors Results The translation of a diagram is tile bisimilar to the translation of its colimit [IFIP-TCS 2004] Corollary: Diagrams with the same colimit are mapped to tile bisimilar configurations Colimit axiomatization [Ongoing work!] add suitable axioms for connectors the translation of a diagram is equal up-to-axioms to the translation of its colimit axioms bisimulate (correctness) existence of normal forms … hopefully!

12
CommUnity, Tiles and Connectors Why Standard Decomposition Decomposition is part of the translation Decomposition is necessary to achieve colimit axiomatization the axiomatization of connectors cannot change the number of computational entities decomposition allows to have the same number of computational entities in the diagram and in the colimit

13
CommUnity, Tiles and Connectors Standard Decomposition Illustrated glue cables Channel / guard managers P

14
CommUnity, Tiles and Connectors Standard Decomposition Illustrated n output channels m actions n channel managers m guard managers n+m cables 1 glue P

15
CommUnity, Tiles and Connectors Channel Manager channel manager for x i i i i i i o one channel manager for each output variable x of P actions one action true x:= … for each assignement input channels variables needed in assignments output channel channel for x

16
CommUnity, Tiles and Connectors Guard Manager guard manager for a i i i i i i no output channel one guard manager for each action a of P one action Q skip input channels variables needed in the guard

17
CommUnity, Tiles and Connectors Glue i i i i i i no output channel input channels all channels of P actions one action true skip for each action of P one glue

18
CommUnity, Tiles and Connectors Cables one cable for each manager i i i i i i no output channel input channels one input channel for each channel of the role actions one action true skip for each action of the role Morphisms are obvious

19
CommUnity, Tiles and Connectors Scheme of the translation channel manager guard manager … … action synchronization through connectors channel fusion state

20
CommUnity, Tiles and Connectors Notation Since: In CommUnity initial and final configuration are always equal (apart from values in state) We shall consider only two kinds of observations action performed / action not performed We use a flat notation for tiles 10

21
CommUnity, Tiles and Connectors Tiles for components channel manager for x i i i i i i o channel manager for x i i i i i i o channel manager for x i i i i i i o … actions of managers are mutually exclusive, but at least one action (e.g. ) must be executed

22
CommUnity, Tiles and Connectors Roadmap Motivation From CommUnity to Tiles Connectors Concluding remarks

23
CommUnity, Tiles and Connectors Connectors Connectors are used to model diagram morphisms, cables and glues they express constraints on local choices Connectors with the same abstract semantics should be identified different ways of modeling the same constraint How? Axioms + reduction to normal form

24
CommUnity, Tiles and Connectors Abstract semantics Connectors can be seen as black boxes input interface output interface admissible signals on interfaces 1 2 3 4 1 2 3 1 2 3 1 2 3 4

25
CommUnity, Tiles and Connectors Connectors can be seen as black boxes input interface output interface admissible signals on interfaces Abstract semantics is just a matrix n inputs 2 n rows m outputs 2 m columns input/output swap is transposition sequential composition is matrix multiplication parallel composition is matrix expansion cells are filled with empty/id copies of matrices … 0101 0010 … …111001… Abstract semantics 1 2 3 4 1 2 3 1 2 3 1 2 3 4 domain is {input 3, outputs 1,2,3}

26
CommUnity, Tiles and Connectors An example: Symmetries 11 10 01 00 11100100 = connectors boxes are immaterial

27
CommUnity, Tiles and Connectors AND-Connectors 00011011 0 1 = =

28
CommUnity, Tiles and Connectors AND-Tables and Normal Form n = m = 0 or 0 < n m entry with empty domain is enabled only one entry with empty input/output is enabled entries are closed under (domains) union intersection difference complementation at most one entry enabled for every row/column exactly one entry for every row ……

29
CommUnity, Tiles and Connectors co-AND-Connectors 01 00 10 = 11 10 = (transposition of AND table)

30
CommUnity, Tiles and Connectors Mixed-AND-Connectors = =

31
CommUnity, Tiles and Connectors Mixed-AND-Connectors = =

32
CommUnity, Tiles and Connectors Mixed-AND-Connectors = = =

33
CommUnity, Tiles and Connectors Mixed-AND-Connectors = = =

34
CommUnity, Tiles and Connectors Mixed-AND-Connectors = = =

35
CommUnity, Tiles and Connectors n = m = 0 or 0 < n,m entry with empty domain is enabled only one entry with empty input/output is enabled entries are closed under (domains) union intersection difference complementation at most one entry enabled for every row/column exactly one entry for every row Mixed-AND-Tables and Normal Form … ……

36
CommUnity, Tiles and Connectors HIDE-Connectors (and co-) ! ! 1 0.. 10 ! ! = !!. = ! = !

37
CommUnity, Tiles and Connectors A Relevant Difference ! ! ! 01 00. 11 10 01 00. 11 10 ! ! !

38
CommUnity, Tiles and Connectors A Sample Proof ! ! ! !! ===

39
CommUnity, Tiles and Connectors SYNC-Tables and Normal Form n = m = 0 or 0 < n,m entry with empty domain is enabled only one entry with empty input/output is enabled entries are closed under (domains) union intersection difference complementation at most one entry enabled for every row/column exactly one entry for every row ! ! …… … …

40
CommUnity, Tiles and Connectors MEX-Connectors 00011011 0 1 = =

41
CommUnity, Tiles and Connectors co-MEX-Connectors Transposed tables Symmetric axioms

42
CommUnity, Tiles and Connectors Mixed-MEX-Connectors =

43
CommUnity, Tiles and Connectors Mixed-MEX-Connectors =

44
CommUnity, Tiles and Connectors Mixed-MEX-Connectors =

45
CommUnity, Tiles and Connectors Mixed-MEX-Connectors =

46
CommUnity, Tiles and Connectors Mixed-MEX-Connectors =

47
CommUnity, Tiles and Connectors ZERO-Connectors = 1 0 10 1 0 11100100 01 00 10 11 10 = x = ! 0 def. 10 0

48
CommUnity, Tiles and Connectors Some Axioms About ZERO = 0 0 == 0 0 = 0 0 = 0 !0 !0 =.= 0

49
CommUnity, Tiles and Connectors A Sample Proof 00 = ! 0 = ! 0 0 =. ! = 0

50
CommUnity, Tiles and Connectors Some Axioms About MEX-AND = =

51
CommUnity, Tiles and Connectors Key Axioms

52
CommUnity, Tiles and Connectors Key Axioms = ! ! = ! ! !

53
CommUnity, Tiles and Connectors An Axiom Scheme ! ! ! …… ! ! = n n

54
CommUnity, Tiles and Connectors n = m = 0 or 0 < n,m entry with empty domain is enabled only one entry with empty input/outputs entries are closed under (domains) union intersection difference complementation at most one entry enabled for every row/column exactly one entry for every row Finally (almost) FULL-Tables

55
CommUnity, Tiles and Connectors FULL-Tables and Normal Form ! …… ! ! ! … … … … ! !

56
CommUnity, Tiles and Connectors ONE-Connector. 10 1 All tables can now be defined, but negation is introduced… … and inconsistent connectors with it! ONE is not needed for CommUnity ! 1 = def

57
CommUnity, Tiles and Connectors Roadmap Motivation From CommUnity to Tiles Connectors Concluding remarks

58
CommUnity, Tiles and Connectors Concluding Remarks We have learned that reconciling the categorical and algebraic approach is not an easy task… We got some insights on further extensions more labels, weights Related to constraint solving

59
CommUnity, Tiles and Connectors Future work Still one open problem is the axiom schema really needed? On the mapping from CommUnity to tiles locations reconfigurations refining More in general what happens if we choose other algebraic and categorical formalisms?

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google