Managing Conflicts in Goal-Driven Requirements Engineering

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 the introduction of new goals or by transforming the 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]  Axel van Lamsweerde,et al.  Divergent views in goal-driven requirements engineering , 1996, ISAW/Viewpoints@FSE.

[2]  Eric Dubois,et al.  Formalising Reconstructuring Operators in a Specification Process , 1987, ESEC.

[3]  M.S. Feather,et al.  Reconciling system requirements and runtime behavior , 1998, Proceedings Ninth International Workshop on Software Specification and Design.

[4]  Martin S. Feather,et al.  Requirements monitoring in dynamic environments , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[5]  Kenji Takahashi,et al.  Inquiry-based requirements analysis , 1994, IEEE Software.

[6]  Roel Wieringa,et al.  Deontic logic in computer science: normative system specification , 1994 .

[7]  Daniel Jackson,et al.  Structuring Z specifications with views , 1995, TSEM.

[8]  Steve M. Easterbrook,et al.  Domain modelling with hierarchies of alternative viewpoints , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[9]  Axel van Lamsweerde,et al.  Learning machine learning , 1991 .

[10]  John Mylopoulos,et al.  Partitioning Information Bases with Contexts , 1995, CoopIS.

[11]  Stephen Fickas,et al.  Goal-directed concept acquisition in requirements elicitation , 1991, Proceedings of the Sixth International Workshop on Software Specification and Design.

[12]  John Mylopoulos,et al.  Representing and Using Nonfunctional Requirements: A Process-Oriented Approach , 1992, IEEE Trans. Software Eng..

[13]  Philippe Massonet,et al.  GRAIL/KAOS: An Environment for Goal-Driven Requirements Engineering , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[14]  Michael Jackson,et al.  Conjunction as composition , 1993, TSEM.

[15]  Bashar Nuseibeh,et al.  Analysing inconsistent specifications , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[16]  David Gries,et al.  The Science of Programming , 1981, Text and Monographs in Computer Science.

[17]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[18]  William N. Robinson,et al.  A Meta-Model for Restructuring Stakeholder Requirements , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[19]  Sven Ove Hansson,et al.  Review of Deontic Logic in Computer Science: Normative System Specification, John-Jules Ch. Meyer and Roel J. Wieringa (eds.), John Wiley & Sons, Chichester 1993 , 1994, Bull. IGPL.

[20]  Annie I. Antón,et al.  Goal Decomposition and Scenario Analysis in Business Process Reengineering , 1994, CAiSE.

[21]  Constance L. Heitmeyer,et al.  Automated consistency checking of requirements specifications , 1996, TSEM.

[22]  Carlo Ghezzi,et al.  A framework for formalizing inconsistencies and deviations in human-centered systems , 1996, TSEM.

[23]  Colin Potts,et al.  Using schematic scenarios to understand user needs , 1995, Symposium on Designing Interactive Systems.

[24]  Martín Abadi,et al.  Temporal-logic theorem proving , 1987 .

[25]  Richard Waldinger,et al.  Achieving several goals simultaneously , 1977 .

[26]  Anthony Finkelstein,et al.  Multi-Party Specification , 1989 .

[27]  W. N. Robinson,et al.  Integrating multiple specifications using domain goals , 1989, IWSSD '89.

[28]  Axel van Lamsweerde,et al.  Integrating obstacles in goal-driven requirements engineering , 1998, Proceedings of the 20th International Conference on Software Engineering.

[29]  Bertrand Meyer,et al.  On Formalism in Specifications , 1985, IEEE Software.

[30]  Nancy G. Leveson,et al.  Completeness and Consistency Analysis of State-Based Requirements , 1995, 1995 17th International Conference on Software Engineering.

[31]  Martin S. Feather,et al.  Language support for the specification and development of composite systems , 1987, TOPL.

[32]  Ron Koymans,et al.  Specifying Message Passing and Time-Critical Systems with Temporal Logic , 1992, Lecture Notes in Computer Science.

[33]  Axel van Lamsweerde,et al.  Inferring Declarative Requirements Specifications from Operational Scenarios , 1998, IEEE Trans. Software Eng..

[34]  Barry W. Boehm,et al.  Software Requirements Negotiation and Renegotiation Aids: A Theory-W Based Spiral Approach , 1995, 1995 17th International Conference on Software Engineering.

[35]  Axel van Lamsweerde,et al.  Formal refinement patterns for goal-driven requirements elaboration , 1996, SIGSOFT '96.

[36]  Daniel Jackson,et al.  Elements of style: analyzing a software design feature with a counterexample detector , 1996, ISSTA '96.

[37]  Michael Jackson,et al.  Domain descriptions , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[38]  William N. Robinson,et al.  Negotiation behavior during requirement specification , 1990, [1990] Proceedings. 12th International Conference on Software Engineering.

[39]  Kenneth L. McMillan,et al.  Symbolic model checking: an approach to the state explosion problem , 1992 .

[40]  Marek Sergot,et al.  On the characterization of law and computer systems: the normative systems perspective , 1994 .

[41]  Douglas T. Ross,et al.  Structured Analysis for Requirements Definition , 1977, IEEE Transactions on Software Engineering.

[42]  Jane Sinclair,et al.  Introduction to formal specification and Z , 1991, Prentice Hall International Series in Computer Science.

[43]  Bashar Nuseibeh,et al.  Expressing the relationships between multiple views in requirements specification , 1993, ICSE '93.

[44]  Philippe Massonet,et al.  Goal-directed elaboration of requirements for a meeting scheduler: problems and lessons learnt , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[45]  L HeitmeyerConstance,et al.  Automated consistency checking of requirements specifications , 1996 .

[46]  Edward Y. Chang,et al.  STeP: Deductive-Algorithmic Verification of Reactive and Real-Time Systems , 1996, CAV.

[47]  Stephen Fickas,et al.  Goal-Directed Requirements Acquisition , 1993, Sci. Comput. Program..

[48]  Kenneth S. Rubin Object behavior analysis , 1992, CACM.

[49]  A. Finkelstein,et al.  A comedy of errors: the London Ambulance Service case study , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

[50]  Michael Jackson,et al.  Four dark corners of requirements engineering , 1997, TSEM.

[51]  Sérgio Vale Aguiar Campos,et al.  Symbolic Model Checking , 1993, CAV.

[52]  Philippe Massonet,et al.  Analogical reuse of requirements frameworks , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[53]  H. Fuks,et al.  Multiparty specification , 1989, IWSSD '89.

[54]  Arthur B. Markman,et al.  Knowledge Representation , 1998 .

[55]  T. S. E. Maibaum,et al.  A Pluralistic Knowledge-Based Approach to Software Specification , 1989, ESEC.

[56]  Pierre Wolper,et al.  Simple on-the-fly automatic verification of linear temporal logic , 1995, PSTV.