Information Technology Reference
In-Depth Information
work, we search for the fundamental property of instance preservation: given an i*
model that is instance of a metamodel M A that represents a source variation then, when
applying the mapping from M A to M B (the metamodel that represents the target varia-
tion) the model can also be considered an instance of M B .
Let's assume that a model, named the i* supermetamodel, exists, therefore any ex-
isting metamodel of i* variation is a submetamodel of the i* supermetamodel. Then,
if we could model refactoring operations from the i* supermetamodel to the particular
variants, then we would have a feasible translation from each variant to another. This
hypothetical scenario would exhibit three advantages: (i) supporting at some extent
interoperability between models belonging to different metamodels; (ii) given k i*
variants, providing a framework that offers translation from one variant to each other
with linear complexity in terms of transformation functions ( k functions) instead of
quadratic ( k 2 - k pair-wise functions); (iii) the type of semantic preservation would be
characterized with a clear specification of preservation (strict, modulo varia-tion,
increasing or decreasing). In Figure 3 we illustrate this hypothetical assumption.
Although it may appear hard to sustain that such an i* supermetamodel exists (due
to the continuous proposals that modify it), in the next section we will discuss
the conditions under which its existence appears reasonable to sustain and a first i*
supermetamodel approach will be presented.
Fig. 3 . Comparing absence and presence of an i* supermetamodel for model translations
4 A Supermetamodel for i*
From its definition, we can colloquially understand a supermetamodel as a metamodel
which contains the superset of language constructs existing on other metamodels. In
the case of the i* framework, this means that if M is a supermetamodel for i* then the
different values of softgoals contributions (some+, helps, makes, +, ++, - , --) should
be modelled in M. Besides, the same for intentional element types, actor types, etc.
Therefore, in the attempt of formulating a supermetamodel for the existing variants
and, ideally, upcoming ones, we need to answer two questions: (i) how to put under
the same metamodel a set of different language constructs coming from different i*
variants?, (ii) how to make this supermetamodel stable enough in order to suffer
minimal modifications (if any) when a new i* variant is proposed? To satisfactorily
answer both questions, the key concept is abstraction to allow putting different
concepts together. It is crucial to capture the right level of abstraction: if the
Search WWH ::




Custom Search