SEApr 16, 2016
Requirements Evolution and Evolution Requirements with Constrained Goal ModelsChi Mai Nguyen, Roberto Sebastiani, Paolo Giorgini et al.
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.
AIJan 27, 2016
Multi-Object Reasoning with Constrained Goal ModelsChi Mai Nguyen, Roberto Sebastiani, Paolo Giorgini et al.
Goal models have been widely used in Computer Science to represent software requirements, business objectives, and design qualities. Existing goal modelling techniques, however, have shown limitations of expressiveness and/or tractability in coping with complex real-world problems. In this work, we exploit advances in automated reasoning technologies, notably Satisfiability and Optimization Modulo Theories (SMT/OMT), and we propose and formalize: (i) an extended modelling language for goals, namely the Constrained Goal Model (CGM), which makes explicit the notion of goal refinement and of domain assumption, allows for expressing preferences between goals and refinements, and allows for associating numerical attributes to goals and refinements for defining constraints and optimization goals over multiple objective functions, refinements and their numerical attributes; (ii) a novel set of automated reasoning functionalities over CGMs, allowing for automatically generating suitable refinements of input CGMs, under user-specified assumptions and constraints, that also maximize preferences and optimize given objective functions. We have implemented these modelling and reasoning functionalities in a tool, named CGM-Tool, using the OMT solver OptiMathSAT as automated reasoning backend. Moreover, we have conducted an experimental evaluation on large CGMs to support the claim that our proposal scales well for goal models with thousands of elements.