Modeling Communitywith Tiles
joint work withIvan LaneseUgo MontanariDipartimento di Informatica Università di Pisa
Roberto BruniDipartimento di Informatica Università di Pisa
Workshop AGILE, Pisa, 28-29 Luglio 2003
Ongoing
Work
!
Modeling CommUnity with Tiles
Roadmap Goal Tiles Translation Example: Buffer Advantages Ongoing and future work
Localities
Modeling CommUnity with Tiles
Roadmap Goal Tiles Translation Example: Buffer Advantages Ongoing and future work
Localities
Modeling CommUnity with Tiles
Goal Operational semantics for CommUnity Modular translation
Preserving of “separation of concerns” Abstract semantics via observations
Modeling CommUnity with Tiles
Roadmap Goal Tiles Translation Example: Buffer Advantages Ongoing and future work
Localities
Modeling CommUnity with Tiles
Tile Logic Operational and Abstract Semantics of
Open Concurrent Systems Compositional in Space and Time Specification Formats
Depending on chosen connectors Congruence results
Category based
Modeling CommUnity with Tiles
Tiles
Modeling CommUnity with Tiles
Configurations
inputinterface
outputinterface
Modeling CommUnity with Tiles
Observationsinitial
interface
finalinterface
concurrent
computation
Modeling CommUnity with Tiles
Roadmap Goal Tiles Translation Example: Buffer Advantages Ongoing and future work
Localities
Modeling CommUnity with Tiles
Tile Format for CommUnity Interfaces
action, input (typed), output (typed) System Configuration
(gs-monoidal) graphs components: empty input interface coordinators: binary input interface
Observations monoid of unary boxes
Tiles computation (empty trigger) coordination
Modeling CommUnity with Tiles
From Modules to Tile Configurations
o1=v1
…om=vm
p1=w1
…pk=wk
I
O
A
I
O
…
…
externalization of the state?
Modeling CommUnity with Tiles
From Modules to (Schemes of) Basic Tiles
I
O
A
’
I
O
A
act
v
w
(G)
one tile forany (,w)that satisfies the guard Gof action act
actions are translated into tiles
Modeling CommUnity with Tiles
Data Coordinators
I/O
I
I/O
v
I/O
I
I/O
v
v
Modeling CommUnity with Tiles
Action Coordinators
A
A
bi
A
Aai
(a1,b1)…(an,bn)
(a1,b1)…(an,bn)
Modeling CommUnity with Tiles
From Diagramsto Tile Systems
M1 M2
C
M1
M2
C
Modeling CommUnity with Tiles
Roadmap Goal Tiles Translation Example: Buffer Advantages Ongoing and future work
Localities
Modeling CommUnity with Tiles
Buffer Design design BUFFER [ t:sort, n:nat ] isin i:tout o:tprv b:list[t,n]do put : |b|<n b:=b.i fwd : |b|==n o:=head(b) || b:=tail(b).i get : |b|>0 o:=head(b) || b:=tail(b) shft : |b|==0 o:=i
Modeling CommUnity with Tiles
A Buffer Configuration
o=vb=v1.v2…vk
IT
OT
A
i
o
BUFFER[T,N]
Modeling CommUnity with Tiles
Put as a Tile
o=vb=v1.v2…vk
IT
OT
A
o=vb=v1.v2…vk.w
IT
OT
A
put
v
w
(k<N) PUT
Modeling CommUnity with Tiles
Building a Modular Buffer design CABLE [ t:sort] isin i:tdo fwd : true skip shft : true skip
BUFFER[T,1]
CABLE
ifwdshft
ofwdgetshft
ifwdput shft
BUFFER[T,1]
Modeling CommUnity with Tiles
Intuition
put fwd1 … fwdk putk+1 get getk shftk+1 … shftn
shft shft1 … shftn fwd fwd1 … fwdn
Modeling CommUnity with Tiles
Outcome Bisimilarity between BUFFER[T,N] and
M buffers BUFFER[T,K] with N=M*K Bisimilarity between the system and
its specification
Modeling CommUnity with Tiles
Roadmap Goal Tiles Translation Example: Buffer Advantages Ongoing and future work
Localities
Modeling CommUnity with Tiles
Preliminary Results and Advantages
Concurrent operational semantics for CommUnity
Translation independent from the serialization of represented morphisms
Encoding of the colimit behaviourally equivalent to the diagram encoding
Standard notion of abstract equivalence (tile bisimilarity)
Separation of concerns
Modeling CommUnity with Tiles
Roadmap Goal Tiles Translation Example: Buffer Advantages Ongoing and future work
Localities
Modeling CommUnity with Tiles
Dealing with Localities Localities as data types
input localities (IL) and output localities (OL)
Actions can involve localities Observable constraints on localities
dynamically generated via coordinators statical constraints on moves
Open problems which flavour of connectors? what should be observed?
Modeling CommUnity with Tiles
Future Work Application to AGILE case studies Dealing with system reconfigurations Refinement Common framework for CommUnity
and UML