Formal refinement patterns for goal-driven requirements elaboration

  • Authors:
  • Robert Darimont;Axel van Lamsweerde

  • Affiliations:
  • Université catholique de Louvain, Département d'Ingénierie Informatique, B-1348 Louvain-la-Neuve, Belgium;Université catholique de Louvain, Département d'Ingénierie Informatique, B-1348 Louvain-la-Neuve, Belgium

  • Venue:
  • SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

Requirements engineering is concerned with the identification of high-level goals to be achieved by the system envisioned, the refinement of such goals, the operationalization of goals into services and constraints, and the assignment of responsibilities for the resulting requirements to agents such as humans, devices and programs. Goal refinement and operationalization is a complex process which is not well supported by current requirements engineering technology. Ideally some form of formal support should be provided, but formal methods are difficult and costly to apply at this stage.This paper presents an approach to goal refinement and operationalization which is aimed at providing constructive formal support while hiding the underlying mathematics. The principle is to reuse generic refinement patterns from a library structured according to strengthening/weakening relationships among patterns. The patterns are once for all proved correct and complete. They can be used for guiding the refinement process or for pointing out missing elements in a refinement. The cost inherent to the use of a formal method is thus reduced significantly. Tactics are proposed to the requirements engineer for grounding pattern selection on semantic criteria.The approach is discussed in the context of the multi-paradigm language used in the KAOS method; this language has an external semantic net layer for capturing goals, constraints, agents, objects and actions together with their links, and an inner formal assertion layer that includes a real-time temporal logic for the specification of goals and constraints. Some frequent refinement patterns are high-lighted and illustrated through a variety of examples.The general principle is somewhat similar in spirit to the increasingly popular idea of design patterns, although it is grounded on a formal framework here.