This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Synthesis of Behavioral Models from Scenarios
February 2003 (vol. 29 no. 2)
pp. 99-115
Sebastian Uchitel, IEEE Computer Society
Jeff Kramer, IEEE Computer Society
Jeff Magee, IEEE

Abstract—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] R. Alur, K. Etessami, and M. Yannakakis, “Inference of Message Sequence Charts,” Proc. 22nd IEEE Int'l Conf. Software Eng. (ICSE '00), pp. 304-313, 2000.
[2] R. Alur, G.J. Holzmann, and D. Peled, “An Analyser for Message Sequence Charts,” Proc. Second Int'l Conf. Tools and Algorithms for the Construction and Analysis of Systems (TACAS '96), pp. 35-48, 1996.
[3] F. Andolfi, F. Aquilani, S. Balsamo, and P. Inverardi, “Deriving QNM from MSCs for Performance Evaluation of Software Architectures,” Proc. Second Int'l Workshop Software and Performance (WOSP '00), pp. 47-57, 2000.
[4] H. Ben-Abdallah and S. Leue, MESA: Support for Scenario-Based Design of Concurrent Systems Proc. Fourth Int'l Conf. Tools and Algorithms for the Construction and Analysis of Systems, pp. 118-135, 1998.
[5] A.W. Biermann and R. Krishnaswamy, “Constructing Programs from Example Computations,” IEEE Trans. Software Eng., vol. 2, pp. 141-153, 1976.
[6] F. Bordeleau, “A Systematic and Traceable Progression from Scenario Models to Communicating Hierarchical Finite State Machines,” PhD Thesis, Carleton Univ., Ottawa, 1999.
[7] R.J.A. Buhr, "Use-Case Maps as Architectural Entities for Complex Systems," IEEE Trans. Software Engineering, Dec. 1998, pp. 1131-1151.
[8] J.M. Carroll, ed., Scenario-Based Design: Envisioning Work and Technology in System Development.New York: John Wiley, 1995.
[9] E.M. Clarke and J.M. Wing, "Formal Methods: State of the Art and Future Directions," ACM Computing Surveys, vol. 28, no. 4, pp. 626-643, 1996.
[10] A. Engels, L. Feijs, and S. Mauw, “MSC and Data: Dynamic Variables,” Proc. Ninth SDL Forum, pp. 105-120, 1999.
[11] M. Glinz, “Statecharts For Requirements Specification—As Simple as Possible, as Rich as Needed,” Proc. ICSE 2002 Workshop Scenarios and State Machines: Models, Algorithms, and Tools, 2002.
[12] H. Gomaa, “Designing Concurrent, Distributed and Real-Time Applications with UML,” Proc. 23rd Int'l Conf. Software Eng. (ICSE'01), pp. 737-738, 2001.
[13] D. Harel, “From Play-In Scenarios to Code: An Achievable Dream,” IEEE Software, vol. 34, pp. 53-60, 2001.
[14] D. Harel, “Statecharts: A Visual Approach to Complex Systems,” Science of Computer Programming, Vol. 8, No. 3, pp. 231–274, 1987.
[15] W. Damm and D. Harel, LSCs: Breathing Life into Message Sequence Charts Proc. Third IFIP Conf. Formal Methods for Open Object-Based Distributed Systems (FMOODS '99), pp. 293-312, 1999.
[16] P. Harmon and M. Watson, Understanding UML: The Developers Guide. San Fransisco: Morgan Kaufmann, 1998.
[17] O. Haugen, “From MSC-2000 to UML 2.0—The Future of Sequence Diagrams,” Proc. 10th Int'l SDL Forum, pp. 38-51, 2001.
[18] S. Heymer, “A NonInterleaving Semantics for MSC,” Proc. SAM '98, First Workshop SDL and MSC, 1998.
[19] S. Heymer, “A Semantics for MSCs Based on Petri Net Components,” Proc. Second Workshop SDL and MSC (SAM '00), 2000.
[20] G.J. Holzmann, D. Peled, and M.H. Redberg, “Design Tools for Requirement Engineering,” Bell Labs Technical J., vol. 2, pp. 86-95, 1997.
[21] H. Ichikawa, M. Itoh, J. Kato, A. Takura, and M. Shibasaki, “SDE: Incremental Specification and Development of Communications Software,” IEEE Trans. Computers, vol. 40, pp. 553-561, 1991.
[22] ITU, Message Sequence Charts, Recommendation Z.120, Int'l Telecomm. Union., Telecomm. Standardization Sector, 1996.
[23] I. Jacobson, G. Booch, and J. Rumbaugh, The Unified Software Development Process, Addison-Wesley, Boston, 1999.
[24] J.P. Katoen and L. Lambert, “Pomsets for Message Sequence Charts,” Proc. First Workshop SDL and MSC (SAM '98), pp. 197-208, 1998.
[25] J. Klose and H. Wittke, “An Automata Based Interpretation of Live Sequence Charts,” Proc. Seventh Int'l Conf. Tools and Algorithms for the Construction and Analysis of Systems (TACAS '01), pp. 512-527, 2001.
[26] P. Kosiuczenko and M. Wirsing, “Towards an Integration of Message Sequence Charts and Timed Maude,” Proc. Fifth World Conf. Integrated Design and Process Technology (IDPT '00), pp. 23-44, 2000.
[27] K. Koskimies, T. Männistö, T. Systä, and J. Tuonmi, “Automated Support for Modeling OO Software,” IEEE Software, vol. 15, pp. 87-94, 1998.
[28] I. Kruger, R. Grosu, P. Scholz, and M. Broy, From MSCs to Statecharts Distributed and Parallel Embedded Systems, 1999.
[29] P.B. Ladkin and S. Leue, “Interpreting Message Flow Graphs,” Formal Aspects of Computing, vol. 7, pp. 473-509, 1995.
[30] A. van Lamsweerde and L. Willemet, “Inferring Declarative Requirements Specifications from Operational Scenarios,” IEEE Trans. Software. Eng., vol. 24, no. 12, pp. 1,089–1,114, Dec. 1998.
[31] S. Leue, L. Mehrmann, and M. Rezai, Synthesizing ROOM Models from Message Sequence Chart Specifications Proc. 13th IEEE Conf. Automated Software Eng., 1998.
[32] J. Magee and J. Kramer, Concurrency: State Models and Java Programs. John Wiley and Sons, 1999.
[33] E. Mäkinen and T. Systä, “MAS—An Interactive Synthesizer to Support Behavioral Modeling in UML,” Proc. 23rd IEEE Int'l Conf. Software Eng. (ICSE '01), pp. 15-24, 2001.
[34] R. Milner, Communication and Concurrency, Prentice-Hall, Englewood Cliffs, N.J., 1989.
[35] A. Muscholl and D. Peled, “Analyzing Message Sequence Charts,” Proc. SAM '00, Second Workshop SDL and MSC, pp. 108-122, 2000.
[36] A. Muscholl, D. Peled, and Z. Su, Deciding Properties of Message Sequence Charts Foundations of Software Science and Computer Structures, 1998.
[37] R.V. Ommering, “Examples of Horizontal Communication,” Internal Report Philips Research, Eindhoven, 2000.
[38] M. Bober and J. Kittler, "Robust Motion Analysis," Proc. CVPR, pp. 947-952,Seattle, June 1994.
[39] M.A. Reniers, “Message Sequence Chart. Syntax and Semantics,” PhD Thesis, Eindhoven Univ. of Technology, Eindhoven, 1999.
[40] E. Rudolph, P. Graubmann, and J. Grabowski, “Tutorial on Message Sequence Charts '96,” Proc. IFIP TC6 WG6.1 Int'l Conf. Formal Description Techniques (FORTE '96), pp. 1629-1641, 1996.
[41] C.L. Chang, R.A. Stachowitz, and J.B. Combs, “Validation of Nonmonotonic Knowledge-Based Systems,” Proc. IEEE Int'l Conf. Tools for Artificial Intelligence, Nov. 1990.
[42] F. Shull, I. Russ, and V.R. Basili, “Improving Software Inspections by Using Reading Techniques,” Proc. Tutorial at 23rd Int'l Conf. Software Eng. (ICSE '01), pp. 726-727, 2001.
[43] S. Somé, R. Dssouli, and J. Vaucher, "From Scenarios to Timed Automata: Building Specifications from Users Requirements," Proc. Second Asia Pacific Software Eng. Conf., APSEC'95, 1995.
[44] P.P. Texel and C.B. Williams, Use Cases Combined with Booch, OMT, and UML. Prentice-Hall, 1997.
[45] A. Tsiolakis, “Integrating Model Information in UML Sequence Diagrams,” Electronic Notes in Theoretical Computer Science, vol. 50, 2001.
[46] S. Uchitel, MSC-FSP Synthesiser, http://www.doc.ic.ac.uk~su2/, 2000.
[47] S. Uchitel, J. Kramer, and J. Magee, “Detecting Implied Scenarios in Message Sequence Chart Specifications,” Proc. Joint Eighth European Software Eng. Conf. (ESEC '01) and Ninth ACM SIGSOFT Symp. Foundations of Software Eng. (FSE '01), pp. 74-82, 2001.
[48] S. Uchitel, J. Kramer, and J. Magee, “Negative Scenarios for Implied Scenario Elicitation,” Proc. 10th ACM SIGSOFT Symp. Foundations of Software Eng. (FSE '02), 2002.
[49] Y. Wakahara, Y. Kayuda, A. Ito, and E. Utsunomiya, “ESCORT: An Environment for Specifying Communication Requirements,” IEEE Software, vol. 6, pp. 38-43, 1989.
[50] J. Whittle and J. Schumann, “Generating Statechart Designs from Scenarios,” Proc. 22nd Int'l Conf. Software Eng. (ICSE '00), pp. 314-323, 2000.
[51] M.D. Zisman, “Use of Production Systems for Modeling Asynchronous, Concurrent Processes,” Pattern-Directed Inference Systems, Waterman and Hayes-Roth, eds., Academic Press, pp. 53-68, 1978.

Index Terms:
Requirements specification, scenario-based specification, Message Sequence Charts, sequence chart combination, requirements analysis.
Citation:
Sebastian Uchitel, Jeff Kramer, Jeff Magee, "Synthesis of Behavioral Models from Scenarios," IEEE Transactions on Software Engineering, vol. 29, no. 2, pp. 99-115, Feb. 2003, doi:10.1109/TSE.2003.1178048
Usage of this product signifies your acceptance of the Terms of Use.