280 likes | 412 Views
Workshop AGILE, Pisa, 28-29 Luglio 2003. Modeling Community with Tiles. Roberto Bruni Dipartimento di Informatica Università di Pisa. Ongoing Work!. joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa. Roadmap. Goal Tiles Translation
E N D
Workshop AGILE, Pisa, 28-29 Luglio 2003 Modeling Communitywith Tiles Roberto Bruni Dipartimento di Informatica Università di Pisa Ongoing Work! joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa
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 input interface output interface Modeling CommUnity with Tiles
concurrent computation Observations initial interface final interface 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 I … o1=v1 … om=vm p1=w1 … pk=wk I O … O A externalization of the state? Modeling CommUnity with Tiles
w v act From Modules to (Schemes of) Basic Tiles I actions are translated into tiles O A (G) one tile for any (,w) that satisfies the guard G of action act I ’ O A Modeling CommUnity with Tiles
Data Coordinators I I/O I/O v v v I I/O I/O Modeling CommUnity with Tiles
Action Coordinators A (a1,b1) … (an,bn) A bi ai A (a1,b1) … (an,bn) A Modeling CommUnity with Tiles
M1 C C M1 M2 M2 From Diagramsto Tile Systems 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 ] is in i:t out o:t prv 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 BUFFER[T,N] IT o=v b=v1.v2…vk i OT o A Modeling CommUnity with Tiles
w v put IT o=v b=v1.v2…vk.w OT A Put as a Tile IT o=v b=v1.v2…vk OT A (k<N) PUT Modeling CommUnity with Tiles
Building a Modular Buffer design CABLE [ t:sort] is in i:t do fwd : true skip shft : true skip CABLE i fwd shft BUFFER[T,1] BUFFER[T,1] i fwd put shft o fwd get shft 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 Modeling CommUnity with Tiles