This Article 
 Bibliographic References 
 Add to: 
Managing Conflicts in Goal-Driven Requirements Engineering
November 1998 (vol. 24 no. 11)
pp. 908-926

Abstract—A wide range of inconsistencies can arise during requirements engineering as goals and requirements are elicited from multiple stakeholders. Resolving such inconsistencies sooner or later in the process is a necessary condition for successful development of the software implementing those requirements. The paper first reviews the main types of inconsistency that can arise during requirements elaboration, defining them in an integrated framework and exploring their interrelationships. It then concentrates on the specific case of conflicting formulations of goals and requirements among different stakeholder viewpoints or within a single viewpoint. A frequent, weaker form of conflict called divergence is introduced and studied in depth. Formal techniques and heuristics are proposed for detecting conflicts and divergences from specifications of goals/ requirements and of domain properties. Various techniques are then discussed for resolving conflicts and divergences systematically by introduction of new goals or by transformation of specifications of goals/objects toward conflict-free versions. Numerous examples are given throughout the paper to illustrate the practical relevance of the concepts and techniques presented. The latter are discussed in the framework of the KAOS methodology for goal-driven requirements engineering.

[1] M. Abadi, "Temporal-Logic Theorem Proving," PhD thesis, Stanford Univ., Mar. 1987.
[2] E.J. Amoroso, Fundamentals of Computer Security. Prentice Hall, 1994.
[3] 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.
[4] B. Boehm et al., "Software Requirements Negotiation and Renegotiation Aids: A Theory-W Based Spiral Approach," Proc. 17th Int'l Conf. Software Eng., IEEE CS Press, Los Alamitos, Calif., 1995, pp. 243-253.
[5] Readings in Knowledge Representation, R.J. Brachman and H.J. Levesque, eds. Morgan Kaufmann, 1985.
[6] 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.
[7] G. Cugola, E. Di Nitto, A. Fuggetta, and C. Ghezzi, “A Framework for Formalizing Inconsistencies and Deviations in Human-Centered Systems,” ACM Trans. Software Eng. and Methodology, vol. 5, no. 3, pp. 191-230, July 1996.
[8] A. Dardenne, S. Fickas, and A. van Lamsweerde, “Goal-Directed Concept Acquisition in Requirements Elicitation,” Proc. Sixth Int'l Workshop Software Specification and Design, pp. 14–21, 1991.
[9] A. Dardenne, A. van Lamsweerde, and S. Fickas, "Goal-Directed Requirements Acquisition," Science of Computer Programming, pp. 3-50, vol. 20, Apr. 1993.
[10] 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.
[11] R. Darimont, E. Delor, P. Massonet, and A. van Lamsweerde, "GRAIL/KAOS: An Environment for Goal-Driven Requirements Engineering," Proc. ICSE'98—20th Int'l Conf. Software Eng., vol. 2, pp. 58-62,Kyoto, Japan, Apr. 1998.
[12] E. Dubois, N. Levy, and J. Souquières, "Formalising Restructuring Operators in a Specification Process," Proc. ESEC-87—First European Software Eng. Conf., pp. 161-171, Sept. 1987.
[13] S. Easterbrook, "Domain Modelling with Hierarchies of Alternative Viewpoints," Proc. IEEE Int'l Symp. Requirements Eng., pp. 65-72, 1993.
[14] 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.
[15] 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.
[16] S. Fickas and M. Feather, “Requirements Monitoring in Dynamic Environments,” Proc. Int'l Symp. Requirements Eng. (RE'95), pp. 140–147, Mar. 1995.
[17] A. Finkelstein and H. Fuks, "Multi-Party Specification," Proc. Int'l Workshop Software Specifications and Design, pp. 185-195, 1989.
[18] A. Finkelstein, “The London Ambulance System Case Study,” Succ. Eighth Int'l Workshop Software Specification and Design (IWSSD 8), Sept. 1996.
[19] R. Gerth, D. Peled, M.Y. Vardi, and P. Wolper, "Simple On-The-Fly Automatic Verification of Linear Temporal Logic," Proc. IFIP/WG6.1 Symp. Protocol Specification, Testing, and Verification (PSTV95), pp. 3-18,Warsaw, Poland, Chapman&Hall, June 1995.
[20] D. Gries, The Science of Programming.New York, Heidelberg, Berlin: Springer-Verlag, 1981.
[21] M.P.E. Heimdahl and N.G. Leveson, "Completeness and Consistency Analysis of State-Based Requirements, Proc. 17th Int'l Conf. Software Engineering, Apr. 1995.
[22] 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.
[23] A. Hunter and B. Nuseibeh, “Analysing Inconsistent Specifications,” Proc. Third IEEE Symp. Requirements Eng., pp. 78–86, Annapolis, Md., IEEE CS Press, 1997.
[24] M. Jackson and P. Zave, "Domain Descriptions," Proc. RE'93—First Int'l IEEE Symp. Requirements Eng., pp. 56-64, Jan. 1993.
[25] D. Jackson, "Structuring Z Specifications with Views, ACM Trans. on Software Engineering and Methodology, vol. 4, no. 4, pp. 365-389, Oct. 1995.
[26] D. Jackson, "Elements of Style: Analyzing a Software Design Feature with a Counterexample Detector," Proc. ACM ISSTA'96, pp. 239-249,San Diego, 1996.
[27] A.J.I. Jones and M. Sergot, “On the Characterization of Law and Computer Systems: The Normative Systems Perspective,” Deontic Logic in Computer Science, J.-J.Ch. Meyer and R.J. Wieringa, eds., John Wiley&Sons, 1993.
[28] R. Koymans, Specifying Message Passing and Time-Critical Systems with Temporal Logic, Lecture Notes in Computer Science 651, Springer-Verlag, 1992.
[29] 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.
[30] 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.
[31] A. van Lamsweerde, "Divergent Views in Goal-Driven Requirements Engineering," Proc. Viewpoints'96—ACM SIGSOFT Workshop Viewpoints in Software Development, Oct. 1996.
[32] 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.
[33] 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.
[34] Z. Manna and A. Pnueli, The Temporal Logic of Reactive and Concurrent Systems. Springer-Verlag, 1991.
[35] 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.
[36] P. Massonet and A. van Lamsweerde, "Analogical Reuse of Requirements Frameworks," Proc. IEEE 3rd Int'l Conf. Requirements Eng., IEEE CS Press, 1997, pp. 26–37.
[37] K.L. McMillan, Symbolic Model Checking. Kluwer Academic, 1993.
[38] B. Meyer, "On Formalism in Specifications," IEEE Software, vol. 2, no. 1, pp. 6-26, Jan. 1985.
[39] 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.
[40] J. Mylopoulos and R. Motschnig-Pitrik, "Partitioning Information Bases with Contexts," Proc. Third Int'l Conf. Cooperative Information Systems,Vienna, May 1995.
[41] C. Niskier, T. Maibaum, and D. Schwabe, "A Pluralistic Knowledge-Based Approach to Software Specification," Proc. ESEC-89—Second European Software Eng. Conf., pp. 411-423, Sept. 1989.
[42] 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.
[43] B. Potter, J. Sinclair, and D. Till, An Introduction to Formal Specification and Z, Int'l Series in Computer Science, Prentice Hall, New York, 1991.
[44] C. Potts, K. Takahashi, and A. Anton, "Inquiry-Based Requirements Analysis," IEEE Software, Mar. 1994, pp. 21-32.
[45] 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.
[46] 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.
[47] W.N. Robinson, "Negotiation Behavior During Requirement Specification," Proc. Int'l Conf. Software Eng., pp. 268-276, 1990.
[48] W.N. Robinson and S. Volkov, “A Meta-Model for Restructuring Stakeholder Requirements,” Proc. 19th Int'l Conf. Software Eng. (ICSE 19), pp. 140–149, May 1997.
[49] D.T. Ross and K.E. Schoman, "Structured Analysis for Requirements Definition," IEEE Trans. Software Eng., vol. 3, no. 1, pp. 6-15, 1977.
[50] K.S. Rubin and J. Goldberg, "Object Behaviour Analysis," Comm. ACM, vol. 35, no. 9, pp. 48-62, Sept. 1992.
[51] K. Ryan and S. Greenspan, "Requirements Engineering Group Report," Proc. IWSSD8—Eighth Int'l Workshop Software Specification and Design, ACM Software Eng. Notes, pp. 22-25, Sept. 1996.
[52] I. Sommerville and P. Sawyer, Requirements Engineering: A Good Practice Guide, John Wiley&Sons, New York, 1998.
[53] G. Spanoudakis and A. Finkelstein, "Interference in Requirements Engineering: the Level of Ontological Overlap," Report TR-1997/01, City Univ., London, U.K., 1997.
[54] R. Waldinger, "Achieving Several Goals Simultaneously," Machine Intelligence, vol. 8, E. Elcock and D. Michie, eds. Ellis Horwood, 1977.
[55] K. Yue, "What Does It Mean to Say that a Specification is Complete?" Proc. IWSSD-4, Fourth Int'l Workshop Software Specification and Design, 1987.
[56] P. Zave and M. Jackson, "Conjunction as Composition," ACM Trans. Software Engineering and Methodology, vol. 2, no. 4, pp. 379-411, Oct. 1993.
[57] 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:
Goal-driven requirements engineering, divergent requirements, conflict management, viewpoints, specification transformation, lightweight formal methods.
Axel van Lamsweerde, Robert Darimont, Emmanuel Letier, "Managing Conflicts in Goal-Driven Requirements Engineering," IEEE Transactions on Software Engineering, vol. 24, no. 11, pp. 908-926, Nov. 1998, doi:10.1109/32.730542
Usage of this product signifies your acceptance of the Terms of Use.