Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica...

Preview:

Citation preview

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

Recommended