28
Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica Università di Pisa Workshop AGILE, Pisa, 28-29 Luglio 2003 Ongoing Work!

Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

  • View
    219

  • Download
    5

Embed Size (px)

Citation preview

Page 1: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

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

!

Page 2: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

Modeling CommUnity with Tiles

Roadmap Goal Tiles Translation Example: Buffer Advantages Ongoing and future work

Localities

Page 3: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

Modeling CommUnity with Tiles

Roadmap Goal Tiles Translation Example: Buffer Advantages Ongoing and future work

Localities

Page 4: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

Modeling CommUnity with Tiles

Goal Operational semantics for CommUnity Modular translation

Preserving of “separation of concerns” Abstract semantics via observations

Page 5: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

Modeling CommUnity with Tiles

Roadmap Goal Tiles Translation Example: Buffer Advantages Ongoing and future work

Localities

Page 6: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

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

Page 7: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

Modeling CommUnity with Tiles

Tiles

Page 8: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

Modeling CommUnity with Tiles

Configurations

inputinterface

outputinterface

Page 9: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

Modeling CommUnity with Tiles

Observationsinitial

interface

finalinterface

concurrent

computation

Page 10: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

Modeling CommUnity with Tiles

Roadmap Goal Tiles Translation Example: Buffer Advantages Ongoing and future work

Localities

Page 11: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

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

Page 12: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

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?

Page 13: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

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

Page 14: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

Modeling CommUnity with Tiles

Data Coordinators

I/O

I

I/O

v

I/O

I

I/O

v

v

Page 15: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

Modeling CommUnity with Tiles

Action Coordinators

A

A

bi

A

Aai

(a1,b1)…(an,bn)

(a1,b1)…(an,bn)

Page 16: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

Modeling CommUnity with Tiles

From Diagramsto Tile Systems

M1 M2

C

M1

M2

C

Page 17: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

Modeling CommUnity with Tiles

Roadmap Goal Tiles Translation Example: Buffer Advantages Ongoing and future work

Localities

Page 18: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

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

Page 19: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

Modeling CommUnity with Tiles

A Buffer Configuration

o=vb=v1.v2…vk

IT

OT

A

i

o

BUFFER[T,N]

Page 20: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

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

Page 21: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

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]

Page 22: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

Modeling CommUnity with Tiles

Intuition

put fwd1 … fwdk putk+1 get getk shftk+1 … shftn

shft shft1 … shftn fwd fwd1 … fwdn

Page 23: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

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

Page 24: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

Modeling CommUnity with Tiles

Roadmap Goal Tiles Translation Example: Buffer Advantages Ongoing and future work

Localities

Page 25: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

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

Page 26: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

Modeling CommUnity with Tiles

Roadmap Goal Tiles Translation Example: Buffer Advantages Ongoing and future work

Localities

Page 27: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

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?

Page 28: Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica

Modeling CommUnity with Tiles

Future Work Application to AGILE case studies Dealing with system reconfigurations Refinement Common framework for CommUnity

and UML