Polymorphic scenario-based specification models: semantics and applications

We present polymorphic scenarios, a generalization of a UML2-compliant variant of Damm and Harel’s live sequence charts (LSC) in the context of object-orientation. Polymorphic scenarios are visualized using (modal) sequence diagrams where lifelines may represent classes and interfaces rather than concrete objects. Their semantics takes advantage of inheritance and interface realization to allow the specification of most expressive, succinct, and reusable universal and existential inter-object scenarios for object-oriented system models. We motivate the use of polymorphic scenarios, formally define their trace-based semantics, and present their application for scenario-based testing and execution, as implemented in the S2A compiler developed at the Weizmann Institute of Science. We further discuss advanced semantic issues arising from the use of scenarios in a polymorphic setting, suggest possible extensions, present a UML profile to support polymorphic scenarios, consider the application of the polymorphic semantics to other variants of scenario-based specification languages, and position our work in the broader context of behavioral subtyping.

[1]  Gregor Engels,et al.  Specialization of Object Life Cycle Definitions , 1997 .

[2]  Jeannette M. Wing,et al.  A behavioral notion of subtyping , 1994, TOPL.

[3]  David Harel,et al.  On Object Systems and Behavioral Inheritance , 2002, IEEE Trans. Software Eng..

[4]  Ketil Stølen,et al.  A Fully General Operational Semantics for UML 2.0 Sequence Diagrams with Potential and Mandatory Choice , 2006, FM.

[5]  Amir Pnueli,et al.  Temporal Logic for Scenario-Based Specifications , 2005, TACAS.

[6]  Ingolf Krüger,et al.  Capturing Overlapping, Triggered, and Preemptive Collaborations Using MSCs , 2003, FASE.

[7]  Kevin Lano,et al.  UML 2 Semantics and Applications , 2009 .

[8]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[9]  Amir Pnueli,et al.  Smart Play-out of Behavioral Requirements , 2002, FMCAD.

[10]  Ina Schieferdecker,et al.  Model-Driven Testing: Using the UML Testing Profile , 2007 .

[11]  David Harel,et al.  On tracing reactive systems , 2011, Software & Systems Modeling.

[12]  David Harel,et al.  Synthesizing State-Based Object Systems from LSC Specifications , 2000, Int. J. Found. Comput. Sci..

[13]  Jochen Klose,et al.  An Automata Based Interpretation of Live Sequence Charts , 2001, TACAS.

[14]  Shahar Maoz,et al.  Model-Based Traces , 2009, MoDELS.

[15]  David Harel,et al.  Synthesizing State-Based Object Systems from LSC Specifications , 2000, CIAA.

[16]  Orna Kupferman,et al.  Weak alternating automata are not that weak , 1997, Proceedings of the Fifth Israeli Symposium on Theory of Computing and Systems.

[17]  Gregor Engels,et al.  Structural and Behavioural Views on OMT-Classes , 1994, ISOOMS.

[18]  David Harel,et al.  Come, Let’s Play , 2003, Springer Berlin Heidelberg.

[19]  Gregor Engels,et al.  Observable or Invocable Behaviour - You Have to Choose , 1994 .

[20]  Robert B. France,et al.  A UML-based pattern specification technique , 2004, IEEE Transactions on Software Engineering.

[21]  David Harel,et al.  Multiple instances and symbolic variables in executable sequence charts , 2002, OOPSLA '02.

[22]  David Harel,et al.  Come, let's play - scenario-based programming using LSCs and the play-engine , 2003 .

[23]  David Harel,et al.  Assert and negate revisited: modal semantics for UML sequence diagrams , 2006, SCESM.

[24]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[25]  Manfred Broy,et al.  From MSCs to Statecharts , 1998, DIPES.

[26]  David Harel,et al.  From multi-modal scenarios to code: compiling LSCs into aspectJ , 2006, SIGSOFT '06/FSE-14.

[27]  Shahar Maoz Polymorphic Scenario-Based Specification Models: Semantics and Applications , 2009, MoDELS.

[28]  David Harel,et al.  A Compiler for Multimodal Scenarios: Transforming LSCs into AspectJ , 2011, TSEM.

[29]  David Harel,et al.  S2A: A Compiler for Multi-modal UML Sequence Diagrams , 2007, FASE.

[30]  Alexander Knapp,et al.  Model checking of UML 2.0 interactions , 2006, MoDELS'06.

[31]  J. Whittle,et al.  From scenarios to code: An air traffic control case study , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[32]  David Harel,et al.  Object Composition in Scenario-Based Programming , 2008, FASE.

[33]  Sebastián Uchitel,et al.  Synthesis of Behavioral Models from Scenarios , 2003, IEEE Trans. Software Eng..

[34]  María Victoria Cengarle,et al.  System model for UML -- The interactions case , 2006, MMOSS.

[35]  Bernd Westphal,et al.  The Good, the Bad and the Ugly: Well-Formedness of Live Sequence Charts , 2006, FASE.

[36]  David Harel,et al.  LSCs: Breathing Life into Message Sequence Charts , 1999, Formal Methods Syst. Des..

[37]  M. R. Peters Girls Teaching Girls: Free-Choice Collaborative Learning Through Social Computing , 2007 .

[38]  Bernd Westphal,et al.  Check It Out: On the Efficient Formal Verification of Live Sequence Charts , 2006, CAV.

[39]  Alexander Knapp A Formal Semantics for UML Interactions , 1999, UML.

[40]  David Harel,et al.  Towards Trace Visualization and Exploration for Reactive Systems , 2007 .

[41]  David Harel,et al.  From Play-In Scenarios to Code: An Achievable Dream , 2000, Computer.

[42]  Ketil Stølen,et al.  STAIRS towards formal design with sequence diagrams , 2005, Software & Systems Modeling.