Degree Name

Doctor of Philosophy


School of Computer Science and Software Engineering


A goal model is an important artificat in an organisational context. It encodes organisational intent and serves as a motivation for and justification of system requirements. However, the ever changing business environment requires organisations to constantly reposition and reinvent themselves. This involves adopting new goals or giving up goals that have beocme undesirable or infeasible to realize. In short, it reuqires the goal model to be maintained.

While there is a large body of literature on software maintenance, little has been done to support the maintenance of goal model artifacts. In particular, existing maintenance approaches ignore or do not suffciently take into account the structure of a goal model. This can result in erroneous modifcations. On the other hand, various issues exist when structured goals models, which are typically formalized as AND/OR graphs, need to be maintained. A maintenance approach that supports AND/OR graphs, but does not experience their defciencies, is therefore desirable.

Where goal models are manually maintained, erroneous and sub-optimal modifications are often unavoidable, simply because of human cognitive limits on how much of the space of alternative modifcations we can explore. Algorithmic maintenance functionality has the capability to explore this large space of alternatives for optimal modifcations. Algorithmic maintenance functionality is therefore desirable. In particular, gaps have remained in leveraging the structure of a goal model to provide effcient procedures to compute optimal change options.

As a goal model justifes system requirements, it must ultimately be ensured that goals in the goal model remain fulfilled after a modifcation. This requires the ability to algorithmically reason about the fulllment of goals with both functional and nonfunctional characteristics.

This thesis presents a framework that supports the algorithmic maintenance of formal and hierarchically structured goal models. In particular, a novel goal model formalization is introduced. It is based on AND/OR graphs, but overcomes their defficiencies in a maintenance setting. This thesis further demonstrates how a set of maintenance operators can be used to address a multitude of change requests and how the impact to the system requirements can be assessed. We then show how the key maintenance operator can be cast as a state space search problem and efficiently solved using A* search. Experiments with a prototype implementation demonstrate the feasibility of our approach.