Information Technology Reference
In-Depth Information
metamodel is too abstract (e.g., only differentiating nodes and links) it may fail in
capturing the essence of i* ; if it is too detailed, the metamodel can result in a rigid
structure which requires high effort to be refactorized. In the first case, an additional
problem appears, because using a high abstraction level means adjusting basic syntax
formations by means of textual (e.g., OCL) constraints, and textual constraints are not
considered in the Wachsmuth's framework, therefore semantic preservation could not
be qualified. Therefore, we are looking for a metamodel which allows representing
different i* variant structures and possible extensions whilst, at the same time, keep-
ing the core i* language constructions.
These two situations appear in the two most related works we may found in the lit-
erature. Amyot et al. have proposed a metamodel for GRL [14] that contains concepts
such as metadata, links and groupings that enable the language to be extended and
tailored, also using OCL constraints. So it may be classified as too abstract. In addi-
tion, it presents some peculiarities that forces its customization either in quite classical
i* contexts (e.g., types of actors are not defined, dependencies linking actors -not
intentional elements- are not allowed; dependencies without dependums are allowed)
or in non-classical contexts (e.g., types of boundaries are impossible to be set). On the
other hand, the reference metamodel presented by Cares et al. [13] proposes the use of
refactoring operations to map into other variants. However, there are specializations
for representing specific i* elements, therefore, adding a new language element would
mean adding new classes to the metamodel. Thus, the reference model has a great
value, but the problem comes when we want to use it in the context of model transla-
tion since it would imply alterations to classes.
The i* supermetamodel proposal is based on the reference model but incorporates
the concept of metadata appearing in the GRL metamodel. From the i* reference
model we obtain a more abstract metamodel using i* related concepts and their exten-
sions are handled with metainformation. We formalize this idea into UML stereo-
types. The result is the metamodel that appears in Fig. 4. Actor and IElement are the
central classes. Then ActorLink and IElementLink are recursive binary associations on
them. Boundary is a binary association among IElement and Actor (note that an IEle-
ment may appear outside any boundary, e.g., dependums). Finally the concept of
dependency is implemented with two associations: dependencies are divided into
DependencySegment which is an easy way to allow different properties at each end,
or even with just one end defined. Each DependencySegment connects an Actor
(considered depender or dependee depending on the value of the participatorType
attribute) and an IElement (the dependum) and then may (or not) be connected to a
particular IElement that would be an internal element inside the corresponding Actor .
We remark that this high-level model is providing stability since abstract concepts are
shared in the different variants, and according to the historical track of the language,
we may assume that future variants will still adhere to them.
The resulting UML stereotypes are: (a) <<XEnum>> which represents a special
kind of enumeration class that may grow (i.e., may be assigned more values). We
have included as class attributes only the most consolidated ones (i.e., name of Actor
and IElement ; value of IElementLink as optional for those links without values;
strengths for DependencySegment among others). (b) <<XClass>> which allows
having an additional list of attribute-value pairs. To take full profit of this definitions,
plain associations are converted into association classes with stereotype <<XClass>>.
Search WWH ::




Custom Search