This Article 
 Bibliographic References 
 Add to: 
Inferring Declarative Requirements Specifications from Operational Scenarios
December 1998 (vol. 24 no. 12)
pp. 1089-1114

Abstract—Scenarios are increasingly recognized as an effective means for eliciting, validating, and documenting software requirements. This paper concentrates on the use of scenarios for requirements elicitation and explores the process of inferring formal specifications of goals and requirements from scenario descriptions. Scenarios are considered here as typical examples of system usage; they are provided in terms of sequences of interaction steps between the intended software and its environment. Such scenarios are in general partial, procedural, and leave required properties about the intended system implicit. In the end such properties need to be stated in explicit, declarative terms for consistency/completeness analysis to be carried out.

A formal method is proposed for supporting the process of inferring specifications of system goals and requirements inductively from interaction scenarios provided by stakeholders. The method is based on a learning algorithm that takes scenarios as examples/counterexamples and generates a set of goal specifications in temporal logic that covers all positive scenarios while excluding all negative ones.

The output language in which goals and requirements are specified is the KAOS goal-based specification language. The paper also discusses how the scenario-based inference of goal specifications is integrated in the KAOS methodology for goal-based requirements engineering. In particular, the benefits of inferring declarative specifications of goals from operational scenarios are demonstrated by examples of formal analysis at the goal level, including conflict analysis, obstacle analysis, the inference of higher-level goals, and the derivation of alternative scenarios that better achieve the underlying goals.

[1] J.S. Anderson and S. Fickas, "A Proposed Perspective Shift: Viewing Specification Design as a Planning Problem," Proc. IWSSD-5, Fifth Int'l Workshop Software Specification and Design, pp. 177-184, IEEE, 1989.
[2] A.I. Anton, W.M. McCracken, and C. Potts, "Goal Decomposition and Scenario Analysis in Business Process Reengineering," Proc. CAISE'94, Sixth Conf. Advanced Information Systems Eng., pp. 94-104, Lecture Notes in Computer Science 811, Springer-Verlag, 1994.
[3] K.M. Benner, "The ARIES Simulation Component (ASC)," Proc. Eighth Knowledge-Based Software Eng. Conf., pp. 40-49,Chicago, Sept. 1993.
[4] K.M. Benner, M.S. Feather, W.L. Johnson, and L.A. Zorman, "Utilizing Scenarios in the Software Development Process," Information System Development Process, Elsevier Science, B.V. North-Holland, pp. 117-134, 1993.
[5] F. Bergadano and D. Gunetti, "Testing by Means of Inductive Program Learning," ACM Trans. Software Eng. and Methodology, vol. 5, no. 2, Apr. 1996.
[6] A.W. Biermann and R. Krishnaswamy, "Constructing Programs from Example Computations," IEEE Trans. Software Eng., vol. 2, no. 9, pp. 141-153, 1976.
[7] A. Borgida, J. Mylopoulos, and R. Reiter, "On the Frame Problem in Procedure Specifications," IEEE Trans. Software Eng., vol. 21, no. 10, pp. 785-798, Oct. 1995.
[8] R.J. Brachman and H.J. Levesque, eds., Readings in Knowledge Representation. Morgan Kaufmann, 1985.
[9] M.B. Rosson and J.M. Carroll, "Narrowing the Specification-Implementation Gap in Scenario-Based Design," J.M. Carroll, ed., Scenario-Based Design: Envisioning Work and Technology in System Development.New York: John Wiley&Sons, pp. 247-278, 1995.
[10] E.M. Clarke, E.A. Emerson, and A.P. Sistla, "Automatic verification of finite-state concurrent systems using temporal logic specifications," ACM Trans. Programming Languages and Systems, vol. 8, no. 2, pp. 244-263, 1986.
[11] A. Dardenne, A. van Lamsweerde, and S. Fickas, "Goal-Directed Requirements Acquisition," Science of Computer Programming, pp. 3-50, vol. 20, Apr. 1993.
[12] A. Dardenne, "On the Use of Scenarios in Requirements Acquisition," Technical Report CIS-TR-93-17, Dept. of Computer and Information Science, Univ. of Oregon, Aug. 1993.
[13] R. Darimont and A. van Lamsweerde, "Formal Refinement Patterns for Goal-Driven Requirements Elaboration," Proc. FSE'4—Fourth ACM SIGSOFT Symp. Foundations of Software Eng., pp. 179-190,San Francisco, Oct. 1996.
[14] R. Darimont and E. Delor, "Goal-Driven Requirements Specification of a Copyright Tracking System," CEDITI Deliverable, Sept. 1996. In French
[15] R. Darimont, E. Delor, P. Massonet, and A. van Lamsweerde, "GRAIL/KAOS: An Environment for Goal-Driven Requirements Engineering," Proc. ICSE'97—19th Int'l Conf. Software Eng.,Boston, Apr. 1997.
[16] J. Desharnais, M. Frappier, R. Khedri, and A. Mili, "Integration of Sequential Scenarios," Proc. ESEC'97—Sixth European Software Eng. Conf., pp. 310-326,Zurich, Lecture Notes in Computer Science 1301, Springer-Verlag, Sept. 1997.
[17] J. Douglas and R.A. Kemmerer, "Aslantest: A Symbolic Execution Tool for Testing ASLAN Formal Specifications," Proc. ISTSTA '94—Int'l Symp. Software Testing and Analysis, ACM Software Engineering Notes, pp. 15-27, 1994.
[18] E. Dubois, Ph. Du Bois, and M. Petit, "Object-Oriented Requirements Analysis: An Agent Perspective," Proc. ECOOP'93—Seventh European Conf. Object-Oriented Programming, pp. 458-481, Lecture Notes in Computer Science 707, Springer-Verlag, 1993.
[19] M. Feather, "Language Support for the Specification and Development of Composite Systems," ACM Trans. Programming Languages and Systems, vol. 9, no. 2, pp. 198-234, Apr. 1987.
[20] M. Feather, "Towards a Derivational Style of Distributed System Design," Automated Software Eng., vol. 1, no. 1, pp. 31-60, 1994.
[21] M. Feather, S. Fickas, A. van Lamsweerde, and C. Ponsard, "Reconciling System Requirements and Runtime Behaviour," Proc. IWSSD'98—Ninth Int'l Workshop Software Specification and Design,Isobe, IEEE CS Press, Apr. 1998.
[22] S. Fickas and R. Helm, "Knowledge Representation and Reasoning in the Design of Composite Systems," IEEE Trans. Software Eng., pp. 470-482, vol. 18, June 1992.
[23] M. Fowler, UML Distilled—Applying the Standard Object Modeling Language. Addison-Wesley, 1997.
[24] P.K. Garg and S. Bhansali, 'Process Programming by Hindsight," Proc. ICSE14—14th Int'l Conf. Software Eng.,Melbourne, pp. 280-293, 1992.
[25] M. Glinz, "An Integrated Formal Model of Scenarios Based on Statecharts," Proc. ESEC'95—Fourth European Software Eng. Conf., Lecture Notes in Computer Science 989, Springer-Verlag, 1995.
[26] D. Gries, The Science of Programming.New York, Heidelberg, Berlin: Springer-Verlag, 1981.
[27] R.J. Hall, "Systematic Incremental Validation of Reactive Systems via Sound Scenario Generalization," Automated Software Eng., vol. 2, pp. 131-166, 1995.
[28] R.J. Hall, "Explanation-Based Scenario Generation for Reactive System Models," Proc. ASE'98,Hawaii, Oct. 1998.
[29] P. Haumer, K. Pohl, and K. Weidenhaupt, "Requirements Elicitation and Validation with Real World Scenes," CREWS Report 98-16, 1998.
[30] C.L. Heitmeyer, R.D. Jeffords, and B.G. Labaw, "Automated Consistency Checking of Requirements Specifications," ACM Trans. Software Eng. and Methodology, pp. 231-261, vol. 5, July 1996.
[31] S. Hekmatpour and D. Ince, Software Prototyping, Formal Methods, and VDM. Addison-Wesley, 1988.
[32] P. Hsia, J. Samuel, J. Gao, D. Kung, Y. Toyoshima, and C. Chen, "Formal Approach to Scenario Analysis," IEEE Software, pp. 33-41, Mar. 1994.
[33] ITU-T, Message Sequence Charts. Recommendation Z.120, 1993.
[34] I. Jacobson, M. Christerson, P. Jonsson, and G. Overgaard, Object-Oriented Software Engineering: A Use Case Driven Approach. Addison-Wesley, ACM Press, 1993.
[35] M. Jackson and P. Zave, "Domain Descriptions," Proc. RE'93—First Int'l IEEE Symp. Requirements Eng., pp. 56-64, Jan. 1993.
[36] M. Jackson, Software Requirements and Specifications, Addison-Wesley, Reading, Mass., 1995.
[37] D. Jackson, "Elements of Style: Analyzing a Software Design Feature with a Counterexample Detector," Proc. ACM ISSTA'96, pp. 239-249,San Diego, 1996.
[38] S.E. Keller, L.G. Kahn, and R.B. Panara, "Specifying Software Quality Requirements with Metrics," Tutorial: System and Software Requirements Engineering, R.H. Thayer and M. Dorfman, eds., pp. 145-163, IEEE CS Press, 1990.
[39] V. Kelly and U. Nonnenmann, "Reducing the Complexity of Formal Specification Acquisition," Automated Software Design, M. Lowry and R. McCartne, eds., pp. 41-64, AAAI Press, 1991.
[40] R. Koymans, Specifying Message Passing and Time-Critical Systems with Temporal Logic, Lecture Notes in Computer Science 651, Springer-Verlag, 1992.
[41] A. van Lamsweerde, "Learning Machine Learning," Introducing a Logic Based Approach to Artificial Intelligence, A. Thayse, ed., vol. 3, pp. 263-356, John Wiley&Sons, 1991.
[42] A. van Lamsweerde, R. Darimont, and P. Massonet, "Goal-Directed Elaboration of Requirements for a Meeting Scheduler: Problems and Lessons Learned," Proc. RE'95—Second Int'l Symp. on Requirements Eng.,York, IEEE, 1995.
[43] A. van Lamsweerde, "Divergent Views in Goal-Driven Requirements Engineering," Proc. Viewpoints'96—ACM SIGSOFT Workshop Viewpoints in Software Development, Oct. 1996.
[44] A. van Lamsweerde and E. Letier, "Integrating Obstacles in Goal-Driven Requirements Engineering," Proc. ICSE-98: 20th Int'l Conf. Software Eng.,Kyoto, Apr. 1998.
[45] A. van Lamsweerde, R. Darimont, and E. Letier, "Managing Conflicts in Goal-Driven Requirements Engineering," IEEE Trans. Sofware. Eng., special issue on Inconsistency Management in Software Development, Nov. 1998.
[46] J. Leite and P.A. Freeman, "Requirements Validation Through Viewpoint Resolution," IEEE Trans. Software Eng., vol. 17, no. 12, pp. 1,253-1,269, 1991.
[47] J.C. Leite, G. Rossi, F. Balaguer, V. Maiorana, G. Kaplan, G. Hadad, and A. Oliveros, "Enhancing a Requirements Baseline with Scenarios," Proc. RE'97—Third Int'l Symp. Requirements Eng., pp. 44-53,Anapolis, IEEE, 1997.
[48] Z. Manna and A. Pnueli, The Temporal Logic of Reactive and Concurrent Systems. Springer-Verlag, 1991.
[49] Z. Manna and the STep Group, "STeP: Deductive-Algorithmic Verification of Reactive and Real-Time Systems," Proc. CAV'96—Eighth Int'l Conf. Computer-Aided Verification, pp. 415-418, Lecture Notes in Computer Science 1102. Springer-Verlag, July 1996.
[50] D. Marca and M. Harandi, "Problem Set for the Fourth Int'l Workshop on Software Specification and Design," Proc. Fourth Int'l Workshop Software Specification and Design, IEEE CS Press, 1987.
[51] K.L. McMillan, Symbolic Model Checking. Kluwer Academic, 1993.
[52] B. Meyer, "On Formalism in Specifications," IEEE Software, vol. 2, no. 1, pp. 6-26, Jan. 1985.
[53] T. Mitchell, "Generalization as Search," Artificial Intelligence, vol. 18, pp. 203-226, 1982.
[54] J. Mylopoulos, L. Chung, and B. Nixon, "Representing and Using Nonfunctional Requirements: A Process-Oriented Approach," IEEE Trans. Software Eng., pp. 483-497, vol. 18, June 1992.
[55] N.J. Nilsson, Principles of Artificial Intelligence. Morgan Kaufmann, 1980.
[56] B. Nuseibeh, J. Kramer, and A. Finkelstein, "A Framework for Expressing the Relationships Between Multiple Views in Requirements Specification," IEEE Trans. Software Eng., vol. 20, no. 10, pp. 760-773, Oct. 1994.
[57] D.L. Parnas and J. Madey, “Functional Documentation for Computer Systems,” Science of Computer Programming, vol. 25, no. 1, pp. 41–61, Oct. 1995.
[58] C. Potts, K. Takahashi, and A. Anton, "Inquiry-Based Requirements Analysis," IEEE Software, Mar. 1994, pp. 21-32.
[59] C. Potts, "Using Schematic Scenarios to Understand User Needs," Proc. DIS'95—ACM Symp. Designing Interactive Systems: Processes, Practices and Techniques, Univ. of Michigan, Aug. 1995.
[60] B. Potter, J. Sinclair, and D. Till, An Introduction to Formal Specification and Z, second edition. Prentice Hall, 1996.
[61] B. Regnell, K. Kimbler, and A. Wesslen, "Improving the Use Case Driven Approach to Requirements Engineering," Proc. RE'95—Second Int'l Symp. Requirements Eng., pp. 40-47,York, IEEE, 1995.
[62] W.N. Robinson, "Integrating Multiple Specifications Using Domain Goals," Proc. IWSSD-5—Fifth Int'l Workshop Software Specification and Design, pp. 219-225, IEEE, 1989.
[63] C. Rolland, C. Ben Achour, C. Cauvet, J. Ralyte, A. Sutcliffe, N.A.M. Maiden, M. Jarke, P. Haumer, K. Pohl, E. Dubois, and P. Heymans, "A Proposal for a Scenario Classification Framework," Requirements Engineering J., vol. 3, no.1, 1998.
[64] C. Rolland and C. Ben Achour, "Guiding the Construction of Textual Use Case Specifications," Data and Knowledge Eng. J., vol. 25, nos. 1-2, pp. 125-160, Mar. 1998.
[65] C. Rolland, C. Souveyet, and C. Ben Achour, "Guiding Goal Modelling Using Scenarios," CREWS Report Series no. 98-27.
[66] D. Rosca, S. Greenspan, M. Feblovitz, and C. Wild, "A Decision Making Methodology in Support of the Business Rules Lifecycle," Proc. RE'97—Third Int'l Symp. Requirements Eng., pp. 236-246,Anapolis, IEEE, 1997.
[67] K.S. Rubin and J. Goldberg, "Object Behaviour Analysis," Comm. ACM, vol. 35, no. 9, pp. 48-62, Sept. 1992.
[68] 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.
[69] I. Sommerville and P. Sawyer, Requirements Engineering: A Good Practice Guide, John Wiley&Sons, New York, 1998.
[70] A. Sutcliffe, "A Technique Combination Approach to Requirements Engineering," Proc. RE'97—Third Intl. Symp. Requirements Eng., pp. 65-74,Anapolis, IEEE, 1997.
[71] A. Sutcliffe, N. Maiden, S. Minocha, and D. Manuel, "Supporting Scenario-Based Requirements Engineering," CREWS Report 98-08, 1998.
[72] K. Weidenhaupt, K. Pohl, M. Jarke, and P. Haumer, "Scenario Usage in System Development: A Report on Current Practice," IEEE Software, Mar. 1998.
[73] K. Yue, "What Does It Mean to Say that a Specification is Complete?" Proc. IWSSD-4, Fourth Int'l Workshop Software Specification and Design,Monterey, 1987.
[74] P. Zave and M. Jackson, “Four Dark Corners of Requirements Engineering,” ACM Trans. Software Eng. and Methodology, vol. 6, no. 1, pp. 1–30, Jan. 1997.

Index Terms:
Scenario-based requirements elicitation, inductive inference of specifications, goal-oriented requirements engineering, specification refinement and analysis, lightweight formal methods.
Axel van Lamsweerde, Laurent Willemet, "Inferring Declarative Requirements Specifications from Operational Scenarios," IEEE Transactions on Software Engineering, vol. 24, no. 12, pp. 1089-1114, Dec. 1998, doi:10.1109/32.738341
Usage of this product signifies your acceptance of the Terms of Use.