Synthesis of Behavioral Models from Scenarios

Scenario-based specifications such as Message Sequence Charts (MSCs) are useful as part of a requirements specification. A scenario is a partial story, describing how system components, the environment, and users work concurrently and interact in order to provide system level functionality. Scenarios need to be combined to provide a more complete description of system behavior. Consequently, scenario synthesis is central to the effective use of scenario descriptions. How should a set of scenarios be interpreted? How do they relate to one another? What is the underlying semantics? What assumptions are made when synthesizing behavior models from multiple scenarios? In this paper, we present an approach to scenario synthesis based on a clear sound semantics, which can support and integrate many of the existing approaches to scenario synthesis. The contributions of the paper are threefold. We first define an MSC language with sound abstract semantics in terms of labeled transition systems and parallel composition. The language integrates existing approaches based on scenario composition by using high-level MSCs (hMSCs) and those based on state identification by introducing explicit component state labeling. This combination allows stakeholders to break up scenario specifications into manageable parts and reuse scenarios using hMCSs; it also allows them to introduce additional domain-specific information and general assumptions explicitly into the scenario specification using state labels. Second, we provide a sound synthesis algorithm which translates scenarios into a behavioral specification in the form of Finite Sequential Processes. This specification can be analyzed with the Labeled Transition System Analyzer using model checking and animation. Finally, we demonstrate how many of the assumptions embedded in existing synthesis approaches can be made explicit and modeled in our approach. Thus, we provide the basis for a common approach to scenario-based specification, synthesis, and analysis.

[1]  Johann Schumann,et al.  Generating statechart designs from scenarios , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[2]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

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

[4]  Terry Quatrani Visual modeling with Rational Rose 2000 and UML (2nd ed.) , 2000 .

[5]  Yasushi Wakahara,et al.  Escort: an environment for specifying communication requirements , 1989, IEEE Software.

[6]  Terry Quatrani Visual modelling with Rational Rose 2000 and UML , 1998 .

[7]  Loe M. G. Feijs,et al.  MSC and data: dynamic variables , 1999, SDL Forum.

[8]  Stefan Leue,et al.  Synthesizing ROOM Models from Message Sequence Chart Specifications , 1998 .

[9]  Sebastián Uchitel,et al.  Negative scenarios for implied scenario elicitation , 2002, SIGSOFT '02/FSE-10.

[10]  Gerard J. Holzmann,et al.  Design tools for requirements engineering , 1997, Bell Labs Technical Journal.

[11]  Jean G. Vaucher,et al.  From scenarios to timed automata: building specifications from users requirements , 1995, Proceedings 1995 Asia Pacific Software Engineering Conference.

[12]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[13]  Raymond J. A. Buhr,et al.  Use Case Maps as Architectural Entities for Complex Systems , 1998, IEEE Trans. Software Eng..

[14]  Mohammad Reza Mousavi,et al.  Synthesizing software architecture descriptions from Message Sequence Chart specifications , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[15]  Peter B. Ladkin,et al.  Interpreting Message Flow Graphs , 1995, Formal Aspects of Computing.

[16]  Aliki Tsiolakis Integrating Model Information in UML Sequence Diagrams , 2001, Electron. Notes Theor. Comput. Sci..

[17]  Martin Wirsing,et al.  Towards an Integration of Message sequence Charts and Timed Maude , 2001, Trans. SDPS.

[18]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[19]  Masaki Itoh,et al.  SDE: Incremental Specification and Development of Communications Software , 1991, IEEE Trans. Computers.

[20]  Forrest Shull,et al.  Improving software inspections by using reading techniques , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[21]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[22]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[23]  Michael D. Zisman USE OF PRODUCTION SYSTEMS FOR MODELING ASYNCHRONOUS, CONCURRENT PROCESSES , 1978 .

[24]  T.M. Duffy,et al.  Scenario-Based Design: Envisioning Work and Technology in System Development [Book Review] , 1996, IEEE Transactions on Professional Communication.

[25]  Martin Glinz,et al.  Statecharts For Requirements Specification - As Simple As Possible, As Rich As Needed , 2002 .

[26]  Anca Muscholl,et al.  Deciding Properties for Message Sequence Charts , 1998, FoSSaCS.

[27]  Rajeev Alur,et al.  An Analyser for Mesage Sequence Charts , 1996, TACAS.

[28]  Sebastián Uchitel,et al.  Detecting implied scenarios in message sequence chart specifications , 2001, ESEC/FSE-9.

[29]  Anca Muscholl,et al.  Deciding Properties of Message Sequence Charts , 2003, Scenarios: Models, Transformations and Tools.

[30]  Michel A. Reniers,et al.  Message sequence chart : syntax and semantics , 1999 .

[31]  Joost-Pieter Katoen,et al.  Pomsets for message sequence charts , 1998 .

[32]  Erkki Mäkinen,et al.  MAS — an interactive synthesizer to support behavioral modelling in UML , 2001, ICSE.

[33]  Hanêne Ben-Abdallah,et al.  MESA: Support for Scenario-Based Design of Concurrent Systems , 1998, TACAS.

[34]  Francis Bordeleau,et al.  A Systematic and Traceable Progression from Scenario Models to Communicating Hierarchical State Machines , 1999 .

[35]  Anca Muscholl,et al.  Analyzing Message Sequence Charts , 2000, SAM.

[36]  Putnam P. Texel,et al.  Use Cases Combined With Booch/Omt/Uml: Process and Products , 1997 .

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

[38]  William F. Gilreath,et al.  Concurrency State Models and Java Programs , 2000, Parallel Distributed Comput. Pract..

[39]  Rajeev Alur,et al.  Inference of message sequence charts , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[40]  Alan W. Biermann,et al.  Constructing Programs from Example Computations , 1976, IEEE Transactions on Software Engineering.

[41]  Axel van Lamsweerde,et al.  Inferring Declarative Requirements Specifications from Operational Scenarios , 1998, IEEE Trans. Software Eng..

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

[43]  Øystein Haugen,et al.  From MSC-2000 to UML 2.0 - The Future of Sequence Diagrams , 2001, SDL Forum.

[44]  Mark Watson,et al.  Understanding UML: the developer's guide: with a Web-based application in Java , 1997 .

[45]  Paola Inverardi,et al.  Deriving performance models of software architectures from message sequence charts , 2000, WOSP '00.

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

[47]  T. Systa,et al.  MAS - an interactive synthesizer to support behavioral modeling in UML , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[48]  Stefan Heymer,et al.  A Semantics for MSC Based on Petri Net Components , 2000, SAM.

[49]  Kai Koskimies,et al.  Automated Support for Modeling OO Software , 1998, IEEE Softw..