Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

From Live Sequence Chart Specifications to Distributed Components

807 visualizaciones

Publicado el

A presentation on synthesizing distributed components from a scenario-based specification given in terms of LSCs. THe talk was held at the 1st Modelsward conference in Barcelona, February 2013.

Publicado en: Tecnología
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

From Live Sequence Chart Specifications to Distributed Components

  1. 1. Dirk Fahland Amir Kantor From LSCto Distributed Components Weizmann Institute of Science
  2. 2. Distributed systems: common & complex web services business processes wireless embedded systems sensor networks 1
  3. 3. Design a distributed system several components 2
  4. 4. Create a model for each component model describes how the component works: behavior + interface model model model of the system 3
  5. 5. More intuitively: describe interactions X Z a scenario X  a course of related actions (across components) Y Z specification of the system 4
  6. 6. The research problem synthesize X Z specification: system model:a set of scenarios components satisfies exhibits system behavior 5
  7. 7. Current situation for LSC  X Z centralized system [Bontemps et al. 07]specification:a set of LSCs components 6
  8. 8. Live Sequence Charts Lifeline event prechart message main chartsemantics: if (and when) the prechart occurs, then the main chart occurs. 7
  9. 9. LSC and distributed components A B Ctrace: 8
  10. 10. LSC and distributed components A a B Ctrace: a 9
  11. 11. LSC and distributed components A a b B Ctrace: a b 10
  12. 12. LSC and distributed components A a b B C ctrace: a b c 11
  13. 13. LSC and distributed components A a a b B C c atrace: a b c a a conflicts the LSC 12
  14. 14. LSC and distributed components A a a “block d” b B C c atrace: a b c a a conflicts the LSC: LSC is no longer relevant  abort chart  block ‘d’ 13
  15. 15. LSC and distributed components A a a coordinate b B C c atrace: a b c a a conflicts the LSC: LSC is no longer relevant  may C execute d? 14
  16. 16. LSC and distributed components A a a coordinate b B C c LSC semantics maintains global state requires additional interaction or central controller 15
  17. 17. Contribution X Z decentralized system extractspecification:a set of LSCs with non-global states components 16
  18. 18. Central Fragment of LSC Partial-order representation of LSCs event a by X Y component X X.a a causal b c X.b Y.c dependency X Y Y.c c d Y.d a X.a 17
  19. 19. Semantics: distributed LSC (dLSC) construct partially ordered runs if run ends with a pattern pre that matches the prechart run main then concatenate pre the main chart locally main preserves causal dependencies in runs needs no global state no other auxiliary notions 18
  20. 20. dLSC Semantics – Example L1: L2: L3: Y.c Y.c X.a Y.d Z.d X.b Y.c X.a Z.e initial run: X.a X.b Y.c concurrent events 19
  21. 21. dLSC Semantics – Example L1: L2: L3: Y.c Y.c X.a Y.d Z.d X.b Y.c X.a Z.e X.a X.b Y.c Y.d local X.a concatenation 20
  22. 22. dLSC Semantics – Example L1: L2: L3: Y.c Y.c X.a Y.d Z.d X.b Y.c X.a Z.e X.a X.a X.b Y.c X.b Y.c Y.d Z.d alternative X.a Z.e run 21
  23. 23. dLSC Semantics – Example L1: L2: L3: Y.c Y.c X.a Y.d Z.d X.b Y.c X.a Z.e X.a X.a X.b Y.c X.b Y.c Y.d Z.dcontinue while X.a Z.epossible X.b Y.c 22
  24. 24. Complex precharts C. treatif prechart occurs at the end of the run continue with main chart 23
  25. 25. Outline X Z decentralized system extractspecification:a set of dLSCs with non-global states components 24
  26. 26. How hard is synthesis? X Z Petri net  for each low-level Petri netspecification: exists a dLSC spec with the same runsa set of dLSCs  cannot (effectively) translate all dLSC specs to Petri nets, reason: complex precharts 25
  27. 27. …need tokens with memory history X Z Token History Petri net  each token records history of past eventsspecification:  transitions have guards wrt. tokena set of dLSCs histories  can express complex precharts of dLSC 26
  28. 28. Synthesis in 2 steps main charts  net structure precharts  guards history X Z Token History Petri net separate nodesspecification:a set of dLSCs polynomial time complexity components complete for local choice specs 27
  29. 29. Larger Example: Emergency Management 28
  30. 30. Step 1: Synthesize Decentralized System 29
  31. 31. Step 2: Group nodes by components 30
  32. 32. Result: Extracted components 31
  33. 33. Prototype Tool (SAM) Components are extracted as a CPN-Tools model • Supports simulation & analysis• http://www.win.tue.nl/~dfahland/tools/sam/ 32
  34. 34. Conclusion X Z  dLSC = central fragment of Token History PN LSC with non-global states  more expressive than extract low-level Petri nets dLSC  synthesis + prototype tool components 33
  35. 35. Possible Research Directions Code generation (for components) • Erlang actors • Java components/threads Operations on scenarios • Scenario (de)composition • scenario refinement Increasing expressive power of dLSC • mandatory (hot) events • data • etc. 34
  36. 36. Dirk Fahland Amir Kantor From LSCto Distributed Components Weizmann Institute of Science

×