Presentation is loading. Please wait.

Presentation is loading. Please wait.

New insights on architectural connectors joint work with Roberto Bruni University of Pisa, Italy Ugo Montanari University of Pisa, Italy José Luiz Fiadeiro.

Similar presentations


Presentation on theme: "New insights on architectural connectors joint work with Roberto Bruni University of Pisa, Italy Ugo Montanari University of Pisa, Italy José Luiz Fiadeiro."— Presentation transcript:

1 New insights on architectural connectors joint work with Roberto Bruni University of Pisa, Italy Ugo Montanari University of Pisa, Italy José Luiz Fiadeiro University of Leicester, UK Antónia Lopes University of Lisbon, Portugal Ivan Lanese Computer Science Department University of Pisa IFIP TCS 2004, Toulouse, 22-27 August 2004

2 New insights on architectural connectors Roadmap Goal Background: CommUnity Background: tile logic Standard decomposition for CommUnity From CommUnity to tiles Conclusion and future work

3 New insights on architectural connectors Roadmap Goal Background: CommUnity Background: tile logic Standard decomposition for CommUnity From CommUnity to tiles Conclusion and future work

4 New insights on architectural connectors General motivation I Comparing the categorical and the algebraic approach to systems Categorical approach Algebraic approach

5 New insights on architectural 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

6 New insights on architectural 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)

7 New insights on architectural 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

8 New insights on architectural connectors Specific aim: advantages Advantage: transfer of concepts and techniques Semantic model for CommUnity Observational equivalence of CommUnity configurations CommUnity-like connectors in the tile model Separation between computation and coordination for tiles

9 New insights on architectural connectors Roadmap Goal Background: CommUnity Background: tile logic Standard decomposition for CommUnity From CommUnity to tiles Conclusion and future work

10 New insights on architectural connectors CommUnity Program Colimit Morphisms “Denotational semantics” s System configurations are diagrams Components compute locally Interactions as architectural connectors

11 New insights on architectural connectors CommUnity programs design foo is in x, z out v, n do a: true  v:= x+z | n:=v+x [] b: n>MIN  n:=n-x [] c: v<MAX  v:=n+z input/output channels actionsguardsconcurrent assignments

12 New insights on architectural connectors Morphisms channels of P 1 to channels of P 2 actions of P 2 to actions of P 1 P1P1 P2P2 actions of P 1 correspond to disjoint sets of actions of P 2 output channels cannot be merged (names are not important)

13 New insights on architectural connectors Example design P 1 is in … out … do a … [] b … design P 2 is in … out … do f … [] g … [] h … design P 3 is in … out … do p … [] q … [] r … [] s … f,g  a  p,q,r h  b  s design P is in … out … do f|a|p … [] f|a|q … [] f|a|r … [] g|a|p … [] g|a|q … [] g|a|r … [] h|b|s …

14 New insights on architectural connectors Star-shaped diagrams roles cables no output channels actions are true  skip glue

15 New insights on architectural connectors Roadmap Goal Background: CommUnity Background: tile logic Standard decomposition for CommUnity From CommUnity to tiles Conclusion and future work

16 New insights on architectural connectors Tile model Operational and abstract semantics of open concurrent systems Compositional in space and time Deals uniformly with closed and open systems Congruence results for particular formats Category based but compositionality dealt with algebraic methods

17 New insights on architectural connectors parallel composition Configurations input interface output interface sequential composition (interfaces can be typed)

18 New insights on architectural connectors Configurations input interface output interface parallel composition sequential composition symmetries

19 New insights on architectural connectors Observations initial interface final interface concurrent computation

20 New insights on architectural connectors Tiles Combine horizontal and vertical structures through interfaces initial configuration final configuration trigger effect

21 New insights on architectural connectors Tiles Compose tiles horizontally

22 New insights on architectural connectors Tiles Compose tiles horizontally (also vertically and in parallel)

23 New insights on architectural connectors Operational semantics Structural equivalence Axioms on configurations (e.g. symmetries) LTS states = configurations transitions = tiles labels = (trigger,effect) pairs f a g b f g (a,b)

24 New insights on architectural connectors Abstract semantics Tile bisimilarity Standard bisimilarity applied to previous transition system Systems are bisimilar iff they can mutually simulate transitions More powerful than trace equivalence x y z xx y z ≈ ∕

25 New insights on architectural connectors Roadmap Goal Background: CommUnity Background: tile logic Standard decomposition for CommUnity From CommUnity to tiles Conclusion and future work

26 New insights on architectural connectors Standard decomposition The decomposition of a program is a star- shaped diagram It highlights the algebraic structure of CommUnity programs It is the first step of the translation into the tile model

27 New insights on architectural connectors Standard decomposition illustrated n output channels m actions n channel managers m guard managers n+m cables 1 glue P channel managers and guard managers

28 New insights on architectural connectors Elements of the decomposition Glue Channel managers Guard managers Cables Morphisms

29 New insights on architectural connectors Elements of the decomposition Glue all the channels as input channels all the actions as true  skip Channel managers Guard managers Cables Morphisms

30 New insights on architectural connectors Elements of the decomposition Glue Channel managers one for each output channel the assignments to that channel as actions the input channels needed to evaluate the assignments Guard managers Cables Morphisms

31 New insights on architectural connectors Elements of the decomposition Glue Channel managers Guard managers one for each guard one action of the form pred  skip the input channels needed to evaluate the guard Cables Morphisms

32 New insights on architectural connectors Elements of the decomposition Glue Channel managers Guard managers Cables all the channels needed by the role, as input channels all the actions needed by the role, as true  skip Morphisms

33 New insights on architectural connectors Elements of the decomposition Glue Channel managers Guard managers Cables Morphisms maps the actions and channels of the cables to the corresponding ones in the glue and in the roles

34 New insights on architectural connectors Properties of the decomposition Correctness the colimit of the decomposed program is equal to the starting program Possible generalization a diagram can be decomposed by decomposing each role morphisms entering a program become morphisms entering the glue

35 New insights on architectural connectors Roadmap Goal Background: CommUnity Background: tile logic Standard decomposition for CommUnity From CommUnity to tiles Conclusion and future work

36 New insights on architectural connectors What we need We have to define a tile logic from a CommUnity program We need to define objects configurations observations tiles to specify the behavior

37 New insights on architectural connectors Objects channels with a type and a modality (input/output) special boolean objects for the evaluation of guards synchronization objects representing actions

38 New insights on architectural connectors Structure of a configuration State Role or glue Channel fusion Action synchro nization Role or glue Role or glue … … Anchored configuration

39 New insights on architectural connectors Structure of a configuration State Role or glue Channel fusion Action synchro nization Role or glue Role or glue … … Unanchored configuration

40 New insights on architectural connectors How to build a configuration We translate roles and glues We build the system using the “parallel composition through one cable” operation this allows to build the whole system thanks to the property of the decomposition we fix an order ≤ on cables for translating them the operation adds the channel fusion and action synchronization parts Eventually we add the state

41 New insights on architectural connectors Constructors for roles and state cm[ ] i i i i i b actionschannels channel manager o gm[p] i i i i i b actionchannels guard manager state [ ] channels i o o o o b

42 New insights on architectural connectors Channel connectors i i i i b o o b b ! i

43 New insights on architectural connectors Action synchronization connectors ! 1

44 New insights on architectural connectors Translating the glue ! i ! i ! i ! i ! i 1

45 New insights on architectural connectors Parallel composition through one cable Channel part: channels in the image of the same channel of the cable are merged using channel connectors Action part: we have to synchronize in all the possible ways the actions of the two groups mapped to each action of the cable

46 New insights on architectural connectors Synchronizing actions ! ! ! ! ! !

47 New insights on architectural connectors Observations For the action part: tick (action performed) or untick (action forbidden) For the channel part terms assigning: to each output variable its data term to each special boolean object a predicate to each input variable a * term, standing for a guess on the actual value  

48 New insights on architectural connectors Tiles Specify the semantics of each part of the configuration Tiles for state channel connectors channel managers guard managers action synchronization connectors

49 New insights on architectural connectors Tiles Specify the semantics of each part of the configuration Tiles for state update the values with the assignments and check the validity of predicates channel connectors channel managers guard managers action synchronization connectors

50 New insights on architectural connectors Tiles Specify the semantics of each part of the configuration Tiles for state channel connectors apply consistent substitutions to data terms channel managers guard managers action synchronization connectors

51 New insights on architectural connectors Tiles Specify the semantics of each part of the configuration Tiles for state channel connectors channel managers produce the assignments to the left and a tick on the performed action to the right guard managers action synchronization connectors

52 New insights on architectural connectors Tiles Specify the semantics of each part of the configuration Tiles for state channel connectors channel managers guard managers produce the predicate to the left and a tick to the right action synchronization connectors

53 New insights on architectural connectors Tiles Specify the semantics of each part of the configuration Tiles for state channel connectors channel managers guard managers action synchronization connectors select the allowed combinations of tick and untick in the interfaces

54 New insights on architectural connectors Tiles for mutual exclusion         

55 New insights on architectural connectors Tile for channel fusion y 1 =x 2 >3 and x 3 <4 and x 1 y 2 =x 2 +1 y 1 =x 2 <4 and x 1 y 1 =x 2 >3 and x 1 y 2 =x 2 +1 2 iibbboo 1 11223

56 New insights on architectural connectors Tile for channel manager cm [<x 2 =x 2 +x 1, x 2 =x 2 -x 1 >] i b o   cm [<x 2 =x 2 +x 1, x 2 =x 2 -x 1 >] i b o x 2 =x 2 +x 1 x 3 =true

57 New insights on architectural connectors Notation dia: CommUnity diagram DS(dia): standard decomposition of dia TS(dia,≤): tile configuration for dia where cables have been translated in the order specified by ≤, without state TS(dia,≤,val): as before, but with state with values val

58 New insights on architectural connectors Properties of the encoding I TS(dia,≤,val) initial configuration of a tile   val’. TS(dia,≤,val’) is the final configuration Such a tile (with empty observation) exists iff there exists a computation of colim(dia) with starting state val and final state val’

59 New insights on architectural connectors Properties of the encoding II To deal with tiles without state we need a permutation ρ to rearrange the interface Bisimilarity results: TS(dia,≤,val) ≈ TS(dia,≤’,val) for each ≤, ≤’ TS(dia,≤) ≈ ρ;TS(dia,≤’) for each ≤, ≤’ TS(dia,≤,val) ≈ TS(colim(dia),≤’,val) TS(dia,≤) ≈ ρ;TS(colim(dia),≤’,val)

60 New insights on architectural connectors Roadmap Goal Background: CommUnity Background: tile logic Standard decomposition for CommUnity From CommUnity to tiles Conclusion and future work

61 New insights on architectural connectors Algebraic vs categorical AlgebraicCategorical Basic constructorsObjects Aux. constructorsMorphisms RepresentativeColimit up to equivalence Operat. semantics? ?Architectural aspects

62 New insights on architectural connectors Future work Further analyze the correspondence axiomatize connectors to have a correspondence between normal form and colimit Deal with other aspects of CommUnity localities mobility dynamic reconfiguration Mutual transfer of concepts and techniques between the two approaches Apply the approach to other formalisms

63 New insights on architectural connectors


Download ppt "New insights on architectural connectors joint work with Roberto Bruni University of Pisa, Italy Ugo Montanari University of Pisa, Italy José Luiz Fiadeiro."

Similar presentations


Ads by Google