This Article 
 Bibliographic References 
 Add to: 
Generating Annotated Behavior Models from End-User Scenarios
December 2005 (vol. 31 no. 12)
pp. 1056-1073
Requirements-related scenarios capture typical examples of system behaviors through sequences of desired interactions between the software-to-be and its environment. Their concrete, narrative style of expression makes them very effective for eliciting software requirements and for validating behavior models. However, scenarios raise coverage problems as they only capture partial histories of interaction among system component instances. Moreover, they often leave the actual requirements implicit. Numerous efforts have therefore been made recently to synthesize requirements or behavior models inductively from scenarios. Two problems arise from those efforts. On the one hand, the scenarios must be complemented with additional input such as state assertions along episodes or flowcharts on such episodes. This makes such techniques difficult to use by the nonexpert end-users who provide the scenarios. On the other hand, the generated state machines may be hard to understand as their nodes generally convey no domain-specific properties. Their validation by analysts, complementary to model checking and animation by tools, may therefore be quite difficult. This paper describes tool-supported techniques that overcome those two problems. Our tool generates a labeled transition system (LTS) for each system component from simple forms of message sequence charts (MSC) taken as examples or counterexamples of desired behavior. No additional input is required. A global LTS for the entire system is synthesized first. This LTS covers all scenario examples and excludes all counterexamples. It is inductively generated through an interactive procedure that extends known learning techniques for grammar induction. The procedure is incremental on training examples. It interactively produces additional scenarios that the end-user has to classify as examples or counterexamples of desired behavior. The LTS synthesis procedure may thus also be used independently for requirements elicitation through scenario questions generated by the tool. The synthesized system LTS is then projected on local LTS for each system component. For model validation by analysts, the tool generates state invariants that decorate the nodes of the local LTS.

[1] R. Alur and M. Yannakakis, “Model Checking of Message Sequence Charts,” Proc. 10th Int'l Conf. Concurrency Theory, pp. 114-129, 1999.
[2] W. Damm and D. Harel, “LSCs: Breathing Life into Message Sequence Charts,” Formal Methods in System Design, vol. 19, no. 1, 2001.
[3] P. Dupont, L. Miclet, and E. Vidal, “What Is the Search Space of Regular Inference?” Grammatical Inference and Applications, pp. 199-210, 1994.
[4] P. Dupont, “Incremental Regular Inference,” Grammatical Inference: Learning Syntax from Sentences, pp. 222-237, 1996.
[5] D. Giannakopoulou and J. Magee, “Fluent Model Checking for Event-Based Systems,” Proc. ESEC/FSE 2003, 2003.
[6] E.M. Gold, “Language Identification in the Limit,” Information and Control, vol. 10, no. 5, pp. 447-474, 1967.
[7] E.M. Gold, “Complexity of Automaton Identification Data,” Information and Control, vol. 37, pp. 302-320, 1978.
[8] J.E. Hopcroft and J.D. Ullman, Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, 1979.
[9] 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.
[10] ITU, Message Sequence Charts, Recommendation Z.120, Int'l Telecom Union, Telecomm. Standardization Sector, 1996.
[11] IEEE Trans. Sofware Eng., special issue on scenario management, M. Jarke and R. Kurki-Suonio, eds., vol. 24, no. 12, Dec. 1998.
[12] R. Jeffords and C. Heitmeyer, “Automatic Generation of State Invariants from Requirements Specifications,” Proc. Sixth ACM Symp. Foundations of Software Eng., 1998.
[13] M. Joseph, Real-Time Systems: Specification, Verification and Analysis. Prentice Hall Int'l, 1996.
[14] J. Kramer et al., “CONIC: An Integrated Approach to Distributed Computer Control Systems,” IEE Proc., Part E 130, 1, pp. 1-10, Jan. 1983.
[15] I. Kruger, R. Grosu, P. Scholz, and M. Broy, “From MSCs to Statecharts,” Proc. IFIP Wg10.3/Wg10.5 Int'l Workshop Distributed and Parallel Embedded Systems, F.J. Rammig, ed., pp. 61-71, 1998.
[16] A. van Lamsweerde, “Goal-Oriented Requirements Engineering: A Guided Tour,” Proc. RE'01— Fifth Int'l Symp. Requirements Eng., pp. 249-263, Aug. 2001.
[17] A. van Lamsweerde and L. Willemet, “Inferring Declarative Requirements Specifications from Operational Scenarios,” IEEE Trans. Sofware. Eng., vol. 24, no. 12, Dec. 1998.
[18] K.J. Lang, “Random DFAs Can Be Approximately Learned from Sparse Uniform Examples,” Proc. Fifth ACM Workshop Computational Learning Theory, pp. 45-52, 1992.
[19] K.J. Lang, B.A. Pearlmutter, and R.A. Price, “Results of the Abbadingo One DFA Learning Competition and a New Evidence-Driven State Merging Algorithm,” Grammatical Inference, pp. 1-12, Springer-Verlag, 1998.
[20] E. Letier, J. Kramer, J. Magee, and S. Uchitel, “Monitoring and Control in Scenario-Based Requirements Analysis,” Proc. ICSE 2005— 27th Int'l Conf. Software Eng., May 2005.
[21] J. Magee and J. Kramer, Concurrency: State Models and Java Programs. Wiley, 1999.
[22] J. Magee, N. Pryce, D. Giannakopoulou, and J. Kramer, “Graphical Animation of Behavior Models,” Proc. ICSE 2000: 22nd Int'l Conf. Software Eng., pp. 499-508, May 2000.
[23] E. Mäkinen and T. Systä, “MAS— An Interactive Synthesizer to Support Behavioral Modelling in UML,” Proc. ICSE 2001— Int'l Conf. Software Eng., May 2001.
[24] R. Milner, Communication and Concurrency. Prentice-Hall, 1989.
[25] R. Miller and M. Shanahan, “The Event Calculus in Classical Logic— Alternative Axiomatisations,” Linkoping Electronic Articles in Computer and Information Science, vol. 4, no. 16, pp. 1-27, 1999.
[26] J. Oncina and P. García, “Inferring Regular Languages in Polynomial Update Time,” Pattern Recognition and Image Analysis, N. Perez de la Blanca, A. Sanfeliu, and E. Vidal, eds. pp. 49-61, World Scientific, 1992.
[27] J. Oncina, P. García, and E. Vidal, “Learning Subsequential Transducers for Pattern Recognition Interpretation Tasks,” IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 15, no. 5, pp. 448-458, May 1993.
[28] S. Uchitel, J. Kramer, and J. Magee, “Detecting Implied Scenarios in Message Sequence Chart Specifications,” Proc. ESEC/FSE'01— Ninth European Software Eng. Conf. & ACM SIGSOFT Symp. Foundations of Software Eng., Sept. 2001.
[29] S. Uchitel, J. Kramer, and J. Magee, “Synthesis of Behavioral Models from Scenarios,” IEEE Trans. Software Eng., vol. 29, no. 2, pp. 99-115, Feb. 2003.
[30] K. Weidenhaupt, K. Pohl, M. Jarke, and P. Haumer, “Scenario Usage in System Development: A Report on Current Practice,” IEEE Software, Mar. 1998.
[31] J. Whittle and J. Schumann, “Generating Statechart Designs from Scenarios,” Proc. ICSE 2000: 22nd Int'l Conf. Software Eng., pp. 314-323, 2000.

Index Terms:
Index Terms- Scenario-based elicitation, synthesis of behavior models, scenario generation, invariant generation, labeled transition systems, message sequence charts, model validation, incremental learning, analysis tools.
Christophe Damas, Bernard Lambeau, Pierre Dupont, Axel van Lamsweerde, "Generating Annotated Behavior Models from End-User Scenarios," IEEE Transactions on Software Engineering, vol. 31, no. 12, pp. 1056-1073, Dec. 2005, doi:10.1109/TSE.2005.138
Usage of this product signifies your acceptance of the Terms of Use.