Title: CommUnity, Tiles and Connectors
1CommUnity, Tiles and Connectors
Agile Meeting, 8-9 July 2004
Ivan Lanese Dipartimento di Informatica
Università di Pisa
Ongoing Work!
joint work with Roberto Bruni José Luiz
Fiadeiro Antónia Lopes Ugo Montanari
2Roadmap
- Motivation
- From CommUnity to Tiles
- Connectors
- Concluding remarks
3Roadmap
- Motivation
- From CommUnity to Tiles
- Connectors
- Concluding remarks
4General motivation I
- Comparing the categorical and the algebraic
approach to systems - Categorical approach
- Algebraic approach
5General 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
6General 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)
7Specific 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
8Specific 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
9Roadmap
- Motivation
- From CommUnity to Tiles
- Connectors
- Concluding remarks
10From 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
11Results
- 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!
12Why 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
13Standard Decomposition Illustrated
P
glue
cables
Channel / guard managers
14Standard Decomposition Illustrated
- n output channels
- m actions
P
- n channel managers
- m guard managers
- nm cables
- 1 glue
15Channel Manager
one channel manager for each output variable x of
P
channel manager for x
i
i
i
i
i
i
o
16Guard Manager
one guard manager for each action a of P
guard manager for a
i
i
i
i
i
i
no output channel
17Glue
one glue
i
i
i
i
i
i
no output channel
18Cables
one cable for each manager
i
i
i
i
i
i
no output channel
Morphisms are obvious
19Scheme of the translation
channel manager
action synchronization through connectors
channel fusion
state
channel manager
guard manager
guard manager
20Notation
- 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
1
0
21Tiles for components
actions of managers are mutually exclusive,
but at least one action (e.g. ?) must be executed
22Roadmap
- Motivation
- From CommUnity to Tiles
- Connectors
- Concluding remarks
23Connectors
- 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
24Abstract semantics
- Connectors can be seen as black boxes
- input interface
- output interface
- admissible signals on interfaces
1
1
1
1
2
2
2
2
3
3
3
3
4
4
25Abstract semantics
- Connectors can be seen as black boxes
- input interface
- output interface
- admissible signals on interfaces
- Abstract semantics is just a matrix
- n inputs ? 2n rows
- m outputs ? 2m 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
1
1
1
1
2
2
2
2
3
3
3
3
4
4
26An example Symmetries
connectors boxes are immaterial
27AND-Connectors
28AND-Tables andNormal Form
- n m 0 or 0 lt 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
29co-AND-Connectors
1
0
(transposition of AND table)
?
00
01
10
?
11
30Mixed-AND-Connectors
31Mixed-AND-Connectors
32Mixed-AND-Connectors
33Mixed-AND-Connectors
34Mixed-AND-Connectors
35Mixed-AND-Tables andNormal Form
- n m 0 or 0 lt 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
36HIDE-Connectors (and co-)
!
!
.
?
0
?
1
37 A Relevant Difference
!
?
!
!
38A Sample Proof
!
!
39SYNC-Tables and Normal Form
- n m 0 or 0 lt 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
40MEX-Connectors
41co-MEX-Connectors
- Transposed tables
- Symmetric axioms
42Mixed-MEX-Connectors
?
43Mixed-MEX-Connectors
?
44Mixed-MEX-Connectors
?
?
45Mixed-MEX-Connectors
?
?
46Mixed-MEX-Connectors
?
?
47ZERO-Connectors
48Some Axioms About ZERO
0
49A Sample Proof
0
0
50Some Axioms About MEX-AND
51Key Axioms
?
52Key Axioms
!
53An Axiom Scheme
!
!
n
n
!
!
!
54Finally (almost) FULL-Tables
- n m 0 or 0 lt 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
55FULL-Tables and Normal Form
56ONE-Connector
1
- All tables can now be defined, but
- negation is introduced
- and inconsistent connectors with it!
- ONE is not needed for CommUnity
57Roadmap
- Motivation
- From CommUnity to Tiles
- Connectors
- Concluding remarks
58Concluding 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
59Future 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?