Adapting Requirements Models to Varying Environments
The engineering of high-quality software requirements generally relies on properties and assumptions about the environment in which the software-to-be has to operate. Such properties and assumptions, referred to as environment conditions in this paper, are highly subject to changes over time or from one software variant to another. As a consequence, the requirements engineered for a specific set of environment conditions may no longer be adequate, complete and consistent for another set.
The paper addresses this problem through an automated requirements adaptation technique. A formal requirements modelling framework is considered to make requirements refinements and dependencies on environment conditions explicit. When environment conditions change, an adapted requirements model is computed that is correct with respect to the new environment conditions. The space of possible adaptations is not fixed a priori; the required changes are expected to meet one or more environment-independent goal(s) to be satisfied in both system versions. The adapted requirements model is generated using a new counterexample-guided learning procedure that ensures the correctness of the updated requirements, giving preference to least costly adaptations.