Handling obstacles in goal-oriented requirements engineering
van Lamsweerde, A.; Letier, E.
Software Engineering, IEEE Transactions on
Volume 26, Issue 10, Oct 2000 Page(s):978 - 1005
Digital Object Identifier 10.1109/32.879820
Summary:Requirements engineering is concerned with the elicitation of
high-level goals to be achieved by the envisioned system, the refinement
of such goals and their operationalization into specifications of
services and constraints and the assignment of responsibilities for the
resulting requirements to agents such as humans, devices and software.
Requirements engineering processes often result in goals, requirements,
and assumptions about agent behavior that are too ideal; some of them
are likely not to be satisfied from time to time in the running system
due to unexpected agent behavior. The lack of anticipation of
exceptional behaviors results in unrealistic, unachievable, and/or
incomplete requirements. As a consequence, the software developed from
those requirements will not be robust enough and will inevitably result
in poor performance or failures, sometimes with critical consequences on
the environment. This paper presents formal techniques for reasoning
about obstacles to the satisfaction of goals, requirements, and
assumptions elaborated in the requirements engineering process. The
techniques are based on a temporal logic formalization of goals and
domain properties; they are integrated into an existing method for
goal-oriented requirements elaboration with the aim of deriving more
realistic, complete, and robust requirements specifications. A key
principle is to handle exceptions at requirements engineering time and
at the goal level, so that more freedom is left for resolving them in a
satisfactory way. The various techniques proposed are illustrated and
assessed in the context of a real safety-critical system
View citation and abstract |