Publication | Closed Access
Handling obstacles in goal-oriented requirements engineering
646
Citations
70
References
2000
Year
EngineeringProject ManagementVerificationRequirement ModelingSoftware EngineeringSoftware AnalysisFormal VerificationRequirements Engineering ProcessSoftware RequirementGoal-oriented Requirements EngineeringTemporal Logic FormalizationSystems EngineeringRequirements EngineeringRequirement EngineeringDesignComputer ScienceSoftware DesignRequirement ElicitationAutomated ReasoningSoftware TestingFormal MethodsRequirement ManagementSystem Software
Requirements engineering focuses on eliciting, refining, and operationalizing high‑level goals into specifications, yet it often yields overly ideal goals and assumptions that fail to anticipate exceptional agent behavior, resulting in unrealistic, incomplete requirements and software that lacks robustness and can cause critical failures. The paper introduces formal techniques for reasoning about obstacles that hinder the satisfaction of goals, requirements, and assumptions in requirements engineering. The techniques employ a temporal‑logic formalization of goals and domain properties, are integrated into an existing goal‑oriented method, and emphasize handling exceptions early at the goal level to allow more flexible resolution. The techniques were illustrated and evaluated on a real safety‑critical system.
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1