community, tiles and connectors joint work with roberto bruni josé luiz fiadeiro antónia lopes ugo...

59
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!

Upload: macey-burling

Post on 29-Mar-2015

220 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

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

!

Page 2: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

Roadmap Motivation From CommUnity

to Tiles Connectors Concluding

remarks

Page 3: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

Roadmap Motivation From CommUnity

to Tiles Connectors Concluding

remarks

Page 4: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

General motivation I Comparing the categorical and the algebraic

approach to systems Categorical approach Algebraic approach

Page 5: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

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

Page 6: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

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)

Page 7: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

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

Page 8: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

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

Page 9: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

Roadmap Motivation From CommUnity

to Tiles Connectors Concluding

remarks

Page 10: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

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

Page 11: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

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!

Page 12: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

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

Page 13: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

Standard Decomposition Illustrated

glue

cables

Channel / guard managers

P

Page 14: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

Standard Decomposition Illustrated•n output channels•m actions

•n channel managers•m guard managers•n+m cables•1 glue

P

Page 15: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

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

Page 16: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

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

Page 17: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

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

Page 18: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

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

Page 19: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

Scheme of the translation

channel manager

channel manager

guard manager

guard manager

……

actionsynchronization

throughconnectors

channelfusion

state

Page 20: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

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

Page 21: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

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

Page 22: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

Roadmap Motivation From CommUnity

to Tiles Connectors Concluding

remarks

Page 23: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

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

Page 24: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

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

Page 25: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

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}

Page 26: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

An example: Symmetries

11

10

01

00

11100100

=

connectors boxes are immaterial

Page 27: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

AND-Connectors

00 01 10 11

0

1

=

=

Page 28: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

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

… …

Page 29: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

co-AND-Connectors

01

00

10

=

11

10

=

(transpositionof AND table)

Page 30: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

Mixed-AND-Connectors

=

=

Page 31: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

Mixed-AND-Connectors

=

=

Page 32: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

Mixed-AND-Connectors

=

=

=

Page 33: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

Mixed-AND-Connectors

=

=

=

Page 34: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

Mixed-AND-Connectors

=

=

=

Page 35: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

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

… ……

Page 36: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

HIDE-Connectors (and co-)!

!

1

0

.

.

10

!

!

=!! .

=!

=

!

Page 37: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

A Relevant Difference

!

!

!01

00

.

11

10

01

00

.

11

10

!

!

!

Page 38: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

A Sample Proof!

!

!

!

!

=

=

=

Page 39: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

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

!

!

… ……

Page 40: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

MEX-Connectors

00 01 10 11

0

1

=

=

Page 41: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

co-MEX-Connectors

Transposed tables Symmetric axioms

Page 42: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

Mixed-MEX-Connectors

=

Page 43: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

Mixed-MEX-Connectors

=

Page 44: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

Mixed-MEX-Connectors

=

Page 45: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

Mixed-MEX-Connectors

=

Page 46: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

Mixed-MEX-Connectors

=

Page 47: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

ZERO-Connectors

=

1

0

10

1

0

11100100

01

00

10

11

10

=x

= !0def

.

10

0

Page 48: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

Some Axioms About ZERO

=

0

0

= =0

0=0

0

=0

!0! 0 = . =

0

Page 49: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

A Sample Proof

00 = ! 0

= !

0

0

= .

!=0

Page 50: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

Some Axioms About MEX-AND

=

=

Page 51: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

Key Axioms

Page 52: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

Key Axioms

= !

! = !

!

!

Page 53: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

An Axiom Scheme

!

!

!

……

!

!

……

=n n

Page 54: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

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

Page 55: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

FULL-Tables and Normal Form

!

……!

!

!

……

……

!

!

Page 56: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

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

Page 57: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

CommUnity, Tiles and Connectors

Roadmap Motivation From CommUnity

to Tiles Connectors Concluding

remarks

Page 58: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

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

Page 59: CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università

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?