Technical Report Number
The goal model at the core of the goal-oriented approach to requirements engineering graphically represents relationships between the goals (functional requirements), tasks (realizations of goals), and softgoals (non-functional properties) involved in designing a system. It may, however, be impossible to find a design that fulfills all top-level goals and satisfies all softgoals. In such cases, it is useful to find designs that provide the required functionality while satisfying the most preferred set of softgoals under the goal model's constraints. Existing methods typically consider quantitative preferences over softgoals, where the quantification produces a ranking among softgoals. We instead present an approach that considers expressive qualitative preferences over softgoals; unlike quantitative preferences, these can model interacting and/or mutually exclusive subgoals. Our framework employs a model checking-based method for reasoning with qualitative preferences to identify the most preferred alternative(s). We evaluate our approach using existing goal models from the literature.