1 / 63

New insights on architectural connectors

IFIP TCS 2004, Toulouse, 22-27 August 2004. New insights on architectural connectors. Ivan Lanese Computer Science Department University of Pisa. joint work with Roberto Bruni University of Pisa, Italy Ugo Montanari University of Pisa, Italy

dominy
Télécharger la présentation

New insights on architectural connectors

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IFIP TCS 2004, Toulouse, 22-27 August 2004 New insights on architectural connectors Ivan Lanese Computer Science Department University of Pisa 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

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

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

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

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

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

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

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

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

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

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

  12. Morphisms output channels cannot be merged P1 channels of P1 to channels of P2 (names are not important) actions of P2 to actions of P1 actions of P1 correspond to disjoint sets of actions of P2 P2 New insights on architectural connectors

  13. Example design P1is in … out … doa … [] b … design P is in … out … dof|a|p … [] f|a|q … [] f|a|r … [] g|a|p … [] g|a|q … [] g|a|r … [] h|b|s … f,g  a  p,q,r h  b  s design P2is in … out … dof … [] g … [] h … design P3is in … out … dop … [] q … [] r … [] s … New insights on architectural connectors

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

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

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

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

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

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

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

  21. Tiles • Compose tiles • horizontally New insights on architectural connectors

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

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

  24. x x x ≈ ∕ y y z z 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 New insights on architectural connectors

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  41. channel manager guard manager state i i state [<val:typ>] cm[<fi>] gm[p] i i i o i i o i i o i i o o b b b channels channels actions channels action Constructors for roles and state New insights on architectural connectors

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

  43. ! Action synchronization connectors 1 New insights on architectural connectors

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

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

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

  47. 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 a r New insights on architectural connectors

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

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

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

More Related