CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo...
-
Upload
macey-burling -
Category
Documents
-
view
220 -
download
3
Transcript of CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo...
CommUnity, Tiles and Connectors
joint work withRoberto BruniJosé Luiz FiadeiroAntónia LopesUgo Montanari
Ivan LaneseDipartimento di Informatica Università di Pisa
Agile Meeting, 8-9 July 2004
Ongoing
Work
!
CommUnity, Tiles and Connectors
Roadmap Motivation From CommUnity
to Tiles Connectors Concluding
remarks
CommUnity, Tiles and Connectors
Roadmap Motivation From CommUnity
to Tiles Connectors Concluding
remarks
CommUnity, Tiles and Connectors
General motivation I Comparing the categorical and the algebraic
approach to systems Categorical approach Algebraic approach
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
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)
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
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
CommUnity, Tiles and Connectors
Roadmap Motivation From CommUnity
to Tiles Connectors Concluding
remarks
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
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!
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
CommUnity, Tiles and Connectors
Standard Decomposition Illustrated
glue
cables
Channel / guard managers
P
CommUnity, Tiles and Connectors
Standard Decomposition Illustrated•n output channels•m actions
•n channel managers•m guard managers•n+m cables•1 glue
P
CommUnity, Tiles and Connectors
Channel Manager
channelmanager
for x
i
i
i
i
i
i
o
one channel manager for each output variable x of P
actions
one actiontrue x:= …
for eachassignement
input channels
variables neededin assignments
output channelchannel for x
CommUnity, Tiles and Connectors
Guard Manager
guardmanager
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 neededin the guard
CommUnity, Tiles and Connectors
Glue
i
i
i
i
i
i
no output channel
input channels
all channels of P
actions
one actiontrue skip
for eachaction of P
one glue
CommUnity, Tiles and Connectors
Cables one cable for each manager
i
i
i
i
i
i
no output channel
input channels
one input channelfor each
channel of the role
actions
one actiontrue skip
for eachaction of the role
Morphisms are obvious
CommUnity, Tiles and Connectors
Scheme of the translation
channel manager
channel manager
guard manager
guard manager
……
actionsynchronization
throughconnectors
channelfusion
state
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
1 0
CommUnity, Tiles and Connectors
Tiles for components
channelmanager
for x
i
i
i
i
i
i
o
channelmanager
for x
i
i
i
i
i
i
o
channelmanager
for x
i
i
i
i
i
i
o
…
actions of managers are mutually exclusive, butat least one action (e.g. ) must be executed
CommUnity, Tiles and Connectors
Roadmap Motivation From CommUnity
to Tiles Connectors Concluding
remarks
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
CommUnity, Tiles and Connectors
Abstract semantics Connectors can be seen as black boxes
input interface output interface admissible signals on interfaces
12
3
4
12
3
12
3
12
3
4
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 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
…
0101
0010
…
…111001…
Abstract semantics
12
3
4
12
3
12
3
12
3
4
domain is{input 3, outputs 1,2,3}
CommUnity, Tiles and Connectors
An example: Symmetries
11
10
01
00
11100100
=
connectors boxes are immaterial
CommUnity, Tiles and Connectors
AND-Connectors
00 01 10 11
0
1
=
=
CommUnity, Tiles and Connectors
AND-Tables andNormal 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
… …
CommUnity, Tiles and Connectors
co-AND-Connectors
01
00
10
=
11
10
=
(transpositionof AND table)
CommUnity, Tiles and Connectors
Mixed-AND-Connectors
=
=
CommUnity, Tiles and Connectors
Mixed-AND-Connectors
=
=
CommUnity, Tiles and Connectors
Mixed-AND-Connectors
=
=
=
CommUnity, Tiles and Connectors
Mixed-AND-Connectors
=
=
=
CommUnity, Tiles and Connectors
Mixed-AND-Connectors
=
=
=
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 andNormal Form
… ……
CommUnity, Tiles and Connectors
HIDE-Connectors (and co-)!
!
1
0
.
.
10
!
!
=!! .
=!
=
!
CommUnity, Tiles and Connectors
A Relevant Difference
!
!
!01
00
.
11
10
01
00
.
11
10
!
!
!
CommUnity, Tiles and Connectors
A Sample Proof!
!
!
!
!
=
=
=
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
!
!
… ……
…
CommUnity, Tiles and Connectors
MEX-Connectors
00 01 10 11
0
1
=
=
CommUnity, Tiles and Connectors
co-MEX-Connectors
Transposed tables Symmetric axioms
CommUnity, Tiles and Connectors
Mixed-MEX-Connectors
=
CommUnity, Tiles and Connectors
Mixed-MEX-Connectors
=
CommUnity, Tiles and Connectors
Mixed-MEX-Connectors
=
CommUnity, Tiles and Connectors
Mixed-MEX-Connectors
=
CommUnity, Tiles and Connectors
Mixed-MEX-Connectors
=
CommUnity, Tiles and Connectors
ZERO-Connectors
=
1
0
10
1
0
11100100
01
00
10
11
10
=x
= !0def
.
10
0
CommUnity, Tiles and Connectors
Some Axioms About ZERO
=
0
0
= =0
0=0
0
=0
!0! 0 = . =
0
CommUnity, Tiles and Connectors
A Sample Proof
00 = ! 0
= !
0
0
= .
!=0
CommUnity, Tiles and Connectors
Some Axioms About MEX-AND
=
=
CommUnity, Tiles and Connectors
Key Axioms
CommUnity, Tiles and Connectors
Key Axioms
= !
! = !
!
!
CommUnity, Tiles and Connectors
An Axiom Scheme
!
!
!
……
!
!
……
=n n
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
CommUnity, Tiles and Connectors
FULL-Tables and Normal Form
!
……!
!
!
……
……
!
!
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
CommUnity, Tiles and Connectors
Roadmap Motivation From CommUnity
to Tiles Connectors Concluding
remarks
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
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?