Download presentation
Presentation is loading. Please wait.
Published byJoseph Rex Modified over 10 years ago
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)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.