them (Gonzalez-Baixauli et al., 2004).
The solution we propose is to apply ideas from
aspect-oriented (AO) approaches (Kiczales et al.,
1997), specifically from the early stages techniques
(early-aspects (Brito and Moreira, 2004)). To solve
the integration, we use an aspectual relationship that
allows each concern to be put into separate models,
and composition rules to generate new models in-
tegrating the operationalizations into the functional
model. This separation into models solves the prob-
lem, but it requires a definition of the way they are
composed. We get a higher scalability since we can
make local selections in models before they are com-
posed, and we can compose only the models we are
interested in.
This proposal is part of our on-going requirements
variability analysis using the stakeholders’ goals and
desires. In this article we focus on the first step: the
definition and description of the modeling elements
by means of a meta-model and the definition of the
composition rules. There are several proposals taking
into account goal models, but inside agent-oriented
approaches as reported by Susi et Al. (Grau et al.,
2006). These proposals usually use the meta-model
only to specify elements and relationship, but (Susi
et al., 2005) apply it to develop a tool in Eclipse. We
focus on GO modeling, and clarify their concepts by
simplifying them and defining the meta-model (Sec-
tion 2). Then, in Section 3 we apply the meta-model
to generate a modeling framework; and to the defini-
tion of the composition rules (Section 4). Finally, in
Section 5, the conclusions and future work are set.
2 META-MODEL FOR
VARIABILITY ANALYSIS
In this Section we define the elements, relationships
and constraints of these models using a meta-model.
The initial premises were to allow:
1. The modeling of fundamental GO concepts.
2. The relating of functional models and the opera-
tionalizations (solutions) of non-functional mod-
els.
3. The modularizing of models using two mecha-
nisms: a classical one, where a model can refer
to another one as part of the main model; and an-
other aspectual, i.e. the NFR solutions that affect
functional elements.
4. The generating of new models as a composition
of previous models, whose elements and relation-
ships reference the original models.
SOFTGOAL
GOAL
TASK
decomposition
contribution (+ or -)
operationalization
Figure 1: Elements and relationships of the V-Graph lan-
guage. Adapted from (Yijun et al., 2004).
5. The modifying (deleting) of elements and rela-
tionships of combined models (e.g. to select an
alternative) without affecting the original models.
With these premises in mind, the main design de-
cisions are:
Concerning the modeling of GO concepts
(Premise 1), we take as our source the components of
the V-Graph language (Yijun et al., 2004). Figure 1
shows the model elements and relationships adapted
to our proposal. The elements are Goals to achieve,
Softgoals to satisfy (in some degree), and Tasks that
solve Goals or Softgoals. The differences with respect
to the original model are in the relationships that, as
shown in (da Silva, 2006), have several problems of
understandability. So we rename the previous Corre-
lation relationship Contribution (with types Make and
Help if positive, and Break and Hurt if negative), and
we split the Contribution relationship, used originally
to relate Task to Goals and Softgoals, into Decompo-
sition (types And, Or, and Xor) for Goals and Opera-
tionalizations (types WeakOp and StrongOp) for Soft-
goals. Note the differences between Decomposition
and Operationalizations, although both have the idea
of giving a more specific solution, the second allows
us to go from the fuzzy nature of softgoals to the clear
satisfaction of tasks with a certain degree (it is at the
same time a decomposition and a positive contribu-
tion).
Another important difference with respect to the
V-Graph is that we introduce the idea of models, al-
lowing the definition of different concerns separately.
Hence, initial elements are grouped into GO models
called Concerns, defined as a hierarchical decomposi-
tion from a root element, that represents the Concern.
To solve the problem of relating functional and
non-functional models (Premise 2), we use an aspec-
ICSOFT 2007 - International Conference on Software and Data Technologies
292