Presentation is loading. Please wait.

Presentation is loading. Please wait.

Connectors and Concurrency joint work with Ugo Montanari Roberto Bruni Dipartimento di Informatica Università di Pisa Dagstuhl Seminar #04241, September.

Similar presentations


Presentation on theme: "Connectors and Concurrency joint work with Ugo Montanari Roberto Bruni Dipartimento di Informatica Università di Pisa Dagstuhl Seminar #04241, September."— Presentation transcript:

1 Connectors and Concurrency joint work with Ugo Montanari Roberto Bruni Dipartimento di Informatica Università di Pisa Dagstuhl Seminar #04241, September 2003

2 CommUnity, Tiles and Connectors Connectors and Concurrency Connectors modeling various kind of distributed systems and causal histories Tile Logic combining the use of connectors in space and time Connectors + Tiles = Dynamic Connectors Concurrent Causal Semantics Case study: Basic process algebra for which tile bisimilarity coincides with causal weak bisimilarity of Darondeau & Degano Dynamic connectors for concurrency, TCS 281(1-2):131-176, 2002

3 CommUnity, Tiles and Connectors joint work with José Luiz Fiadeiro Ivan Lanese Antónia Lopes Ugo Montanari Roberto Bruni Dipartimento di Informatica Università di Pisa Dagstuhl Seminar #04241, 6-11 June 2004 Ongoing Work!

4 CommUnity, Tiles and Connectors Roadmap Motivation Background CommUnity Tiles From CommUnity to Tiles Connectors Concluding remarks

5 CommUnity, Tiles and Connectors Roadmap Motivation Background CommUnity Tiles From CommUnity to Tiles Connectors Concluding remarks

6 CommUnity, Tiles and Connectors Motivation I Categorical Approach objects are system components (architectural elements) morphisms express simulation, refinement, … complex systems are modeled as diagrams composition via universal construction (colimit) suited for systems with shared resources memory, action, channels

7 CommUnity, Tiles and Connectors Motivation II Categorical Approach Algebraic Approach initial algebra where constants are basic processes operations compose smaller processes into larger ones structural axioms collapse structurally equivalent processes operational semantics (SOS style) abstract semantics (bisimilarity) suited for message passing calculi communication encoded in the labels of the LTS

8 CommUnity, Tiles and Connectors Motivation III Categorical Approach Algebraic Approach Reconcile two selected representatives CommUnity categorical approach applied to program design Tile Model co-existence of horizontal (space) and vertical (time) dimensions Advantages transfer of concepts and techniques

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

10 CommUnity, Tiles and Connectors CommUnity Prototype architectural description language conceptual distinction between computation coordination (in communicating distributed systems) System configurations as diagrams Components compute locally Interactions as architectural connectors

11 CommUnity, Tiles and Connectors CommUnity, graphically Program Colimit Morphisms Denotational Semantics s

12 CommUnity, Tiles and Connectors CommUnity Programs design foo is in x, z out v, n do a: true v:= x+z | n:=v+x [] b: n>MIN n:=n-x [] c: v<MAX v:=n+z input/output channels actionsguardsconcurrent assignments a special actions always present: : true skip

13 CommUnity, Tiles and Connectors Morphsims channels of P 1 to channels of P 2 actions of P 2 to actions of P 1 P1P1 P2P2 actions of P 1 correspond to disjoint sets of actions of P 2 output channels cannot be merged (actions names are not important) we shall focus on actions coordination

14 CommUnity, Tiles and Connectors Example design P 1 is in … out … do a … [] b … design P 2 is in … out … do f … [] g … [] h … design P 3 is in … out … do p … [] q … [] r … [] s … f,g a p,q,r h b s design P is in … out … do f|a|p … [] f|a|q … [] f|a|r … [] g|a|p … [] g|a|q … [] g|a|r … [] h|b|s …

15 CommUnity, Tiles and Connectors Star-Shaped Diagrams roles cables no output channels actions are true skip glue

16 CommUnity, Tiles and Connectors Tile Model Operational and Abstract Semantics of Open Concurrent Systems Compositional in Space and Time Specification Formats Depend on chosen connectors Congruence results Category based

17 CommUnity, Tiles and Connectors parallel composition Configurations input interface output interface sequential composition (interfaces can be typed)

18 CommUnity, Tiles and Connectors Configurations input interface output interface parallel composition sequential composition functoriality

19 CommUnity, Tiles and Connectors Configurations input interface output interface parallel composition sequential composition functoriality + symmetries = symmetric monoidal cat

20 CommUnity, Tiles and Connectors Observations initial interface final interface concurrent computation

21 CommUnity, Tiles and Connectors Tiles Combine horizontal and vertical structures through interfaces initial configuration final configuration trigger effect

22 CommUnity, Tiles and Connectors Tiles Compose tiles horizontally

23 CommUnity, Tiles and Connectors Tiles Compose tiles horizontally (also vertically and in parallel) symmetric monoidal double cat

24 CommUnity, Tiles and Connectors Operational and Abstract Semantics Structural equivalence Axioms on configurations (e.g. symmetries) LTS states = configurations transitions = tiles labels = (trigger,effect) pairs Abstract semantics tile bisimilarity (congruence results for suitable formats)

25 CommUnity, Tiles and Connectors Roadmap Motivation Background CommUnity Tiles From CommUnity to Tiles Connectors Concluding remarks

26 CommUnity, Tiles and Connectors Notation Since: Initial and Final configuration are always equal We shall consider only two kinds of observations We use a flat notation for tiles 10

27 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 modeled as connectors

28 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 axioms bisimulate existence of normal forms … hopefully! the translation of a diagram is equal up-to-axioms to the translation of its colimit

29 CommUnity, Tiles and Connectors Why Standard Decomposition Decomposition is part of the translation The translation becomes easier It is necessary to achieve Colimit Axiomatization in the colimit, conditional assignments are synchronized according to the diagram the axiomatization of connectors cannot change the number of computational entities decomposition is necessary to guarantee that the number of computational entities in the diagram is the same as the number of computational entities in the colimit

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

31 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

32 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

33 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

34 CommUnity, Tiles and Connectors Cables (morphisms are obvious) 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

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

36 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

37 CommUnity, Tiles and Connectors Roadmap Motivation Background CommUnity Tiles From CommUnity to Tiles Connectors Concluding remarks

38 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

39 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

40 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 (not all matrix are interesting) 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}

41 CommUnity, Tiles and Connectors An example: Symmetries 11 10 01 00 11100100 (also identities should be considered) = connectors boxes are immaterial

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

43 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/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 ……

44 CommUnity, Tiles and Connectors co-AND-Connectors 01 00 10 = 11 10 = (as AND-table, but transposed)

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

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

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

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

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

50 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 Mixed-AND-Tables and Normal Form … ……

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

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

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

54 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/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 ! ! …… … …

55 CommUnity, Tiles and Connectors (co-)MEX-Connectors 00011011 0 1 = =

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

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

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

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

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

61 CommUnity, Tiles and Connectors (co-)ZERO-Connectors = 1 0 10 1 0 11100100 01 00 10 11 10 = x = ! 0 def. 10 0

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

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

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

65 CommUnity, Tiles and Connectors Key Axioms

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

67 CommUnity, Tiles and Connectors An Axiom Scheme ! ! ! ! ……

68 CommUnity, Tiles and Connectors An Axiom Scheme !! ! ! ……

69 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 FULL-Tables and Normal Form ! … … … … ! … … … !

70 CommUnity, Tiles and Connectors (co-)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

71 CommUnity, Tiles and Connectors Roadmap Motivation Background CommUnity Tiles From CommUnity to Tiles Connectors Concluding remarks

72 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 flownomials (Cazanescu, Stefanescu), bicategories of relations (Carboni, Walters), gs-monoidal cats (Corradini, Gadducci), sharing graphs (Hasegawa), action structures and named calculi (Milner, Gardner)


Download ppt "Connectors and Concurrency joint work with Ugo Montanari Roberto Bruni Dipartimento di Informatica Università di Pisa Dagstuhl Seminar #04241, September."

Similar presentations


Ads by Google