Indexed on: 27 Jan '16Published on: 27 Jan '16Published in: Computer Science - Artificial Intelligence
Goal models have been widely used in Computer Science to represent software requirements, business objectives, and design qualities. Existing goal modeling 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 notion of goal model, namely 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 multiple objective functions over goals, 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 modeling and reasoning functionalities in a tool, named CGM-Tool, using the OMT solver OptiMathSAT as automated reasoning backend. An empirical evaluation on large CGMs supports the claim that our proposal scales well for goal models capturing real-world problems.