Requirements Evolution and Evolution Requirements with Constrained Goal Models (1604.04716v2)
Abstract: We are interested in supporting software evolution caused by changing requirements and/or environmental settings. For example, users of a system may require new functionality (changing requirements), or performance enhancements to cope with growing user population. Specifically, we propose to use goal models to capture such changes, and exploit reasoning techniques that derive optimal new specifications for a system whose requirements and/or environment have changed. Moreover, we are interested in discovering new classes of evolution requirements, for example, that give preference to evolutions that minimize implementation effort for the implementation of the evolution. To address both of these problems, we exploit Constraint Goal Models (CGMs) an expressive language for modelling goals that comes with scalable solvers that can solve hybrid constraint and optimization problems using a combination of Satisfiability Modulo Theories (SMT) and Optimization Modulo Theories (OMT) solvers. We evaluate our proposal by modeling and reasoning with a goal model for meeting scheduling.