Goal-Directed Requirements Acquisition

Requirements analysis includes a preliminary acquisition step where a global model for the specification of the system and its environment is elaborated. This model, called requirements model, involves concepts that are currently not supported by existing formal specification languages, such as goals to be achieved, agents to be assigned, alternatives to be negotiated, etc. The paper presents an approach to requirements acquisition which is driven by such higher-level concepts. Requirements models are acquired as instances of a conceptual meta-model. The latter can be represented as a graph where each node captures an abstraction such as, e.g., goal, action, agent, entity, or event, and where the edges capture semantic links between such abstractions. Well-formedness properties on nodes and links constrain their instances-that is, elements of requirements models. Requirements acquisition processes then correspond to particular ways of traversing the meta-model graph to acquire appropriate instances of the various nodes and links according to such constraints. Acquisition processes are governed by strategies telling which way to follow systematically in that graph; at each node specific tactics can be used to acquire the corresponding instances. The paper describes a significant portion of the meta-model related to system goals, and one particular acquisition strategy where the meta-model is traversed backwards from such goals. The meta-model and the strategy are illustrated by excerpts of a university library system.

[1]  José Luiz Fiadeiro,et al.  The INFOLOG linear tense propositional logic of events and transactions , 1986, Inf. Syst..

[2]  Jack Mostow,et al.  A Problem-Solver for Making Advice Operational , 1983, AAAI.

[3]  Gruia-Catalin Roman,et al.  A taxonomy of current issues in requirements engineering , 1985, Computer.

[4]  James J. Horning,et al.  Report on the Larch Shared Language , 1986, Sci. Comput. Program..

[5]  Martin Wirsing,et al.  An introduction ASL , 1987 .

[6]  John Mylopoulos,et al.  A requirements modeling language and its logic , 1986, Inf. Syst..

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

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

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

[10]  M. Feather,et al.  A model for composite system design , 1991, Proceedings of the Sixth International Workshop on Software Specification and Design.

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

[12]  Axel van Lamsweerde,et al.  Generic Lifecycle Support in the ALMA Environment , 1988, IEEE Trans. Software Eng..

[13]  Willem P. de Roever,et al.  Real-time programming and asynchronous message passing , 1983, PODC '83.

[14]  Richard C. Waters,et al.  The Requirements Apprentice: Automated Assistance for Requirements Acquisition , 1991, IEEE Trans. Software Eng..

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

[16]  Peter P. Chen The Entity-Relationship Model: Towards a unified view of Data , 1976 .

[17]  Pamela Zave,et al.  An Operational Approach to Requirements Specification for Embedded Systems , 1982, IEEE Transactions on Software Engineering.

[18]  William R. Swartout,et al.  XPLAIN: A System for Creating and Explaining Expert Consulting Programs , 1983, Artif. Intell..

[19]  Thomas Ellman,et al.  Explanation-based learning: a survey of programs and perspectives , 1989, CSUR.

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

[21]  Bernard Lang,et al.  Metal: A Formalism to Specify Formalisms , 1983, Sci. Comput. Program..

[22]  Anders P. Ravn,et al.  Specifying and verifying requirements of real-time systems , 1991 .

[23]  André Rifaut,et al.  A formal language for the requirements engineering of computer systems , 1991 .

[24]  Carlo Ghezzi,et al.  TRIO: A logic language for executable specifications of real-time systems , 1990, J. Syst. Softw..

[25]  Roger King,et al.  Semantic database modeling: survey, applications, and research issues , 1987, CSUR.

[26]  Axel van Lamsweerde,et al.  The KAOS Project: Knowledge Acquisition in Automated Specification of Software , 1991 .

[27]  Martin S. Feather Constructing Specifications by Combining Parallel Elaborations , 1989, IEEE Trans. Software Eng..

[28]  R. Tibshirani,et al.  An introduction to the bootstrap , 1993 .

[29]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

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

[31]  Peter P. Chen The entity-relationship model: toward a unified view of data , 1975, VLDB '75.

[32]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[33]  Rogers P. Hall,et al.  Computational Approaches to Analogical Reasoning: A Comparative Analysis , 1989, Artif. Intell..

[34]  Jeannette M. Wing A study of 12 specifications of the library problem , 1988, IEEE Software.

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

[36]  Anthony Finkelstein,et al.  Building formal specifications using structured common sense , 1987 .

[37]  Stephen Fickas,et al.  Critiquing software specifications , 1988, IEEE Software.

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

[39]  Michael Z. Spivey,et al.  The Z notation , 1989 .

[40]  Axel van Lamsweerde,et al.  Making Specification Processes Explicit , 1987 .