|
| This Article | ||
| ||
| Share | ||
| Bibliographic References | ||
| Add to: | ||
| | ||
| Search | ||
| ||
| ASCII Text | x | ||
| Sebastian Uchitel, Jeff Kramer, Jeff Magee, "Synthesis of Behavioral Models from Scenarios," IEEE Transactions on Software Engineering, vol. 29, no. 2, pp. 99-115, February, 2003. | |||
| BibTex | x | ||
| @article{ 10.1109/TSE.2003.1178048, author = {Sebastian Uchitel and Jeff Kramer and Jeff Magee}, title = {Synthesis of Behavioral Models from Scenarios}, journal ={IEEE Transactions on Software Engineering}, volume = {29}, number = {2}, issn = {0098-5589}, year = {2003}, pages = {99-115}, doi = {http://doi.ieeecomputersociety.org/10.1109/TSE.2003.1178048}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, } | |||
| RefWorks Procite/RefMan/Endnote | x | ||
| TY - JOUR JO - IEEE Transactions on Software Engineering TI - Synthesis of Behavioral Models from Scenarios IS - 2 SN - 0098-5589 SP99 EP115 EPD - 99-115 A1 - Sebastian Uchitel, A1 - Jeff Kramer, A1 - Jeff Magee, PY - 2003 KW - Requirements specification KW - scenario-based specification KW - Message Sequence Charts KW - sequence chart combination KW - requirements analysis. VL - 29 JA - IEEE Transactions on Software Engineering ER - | |||
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.

