GUI for the constituent models of a sewing operation,
and avoidance of entanglement of concepts from dif-
ferent models. The approach identifies the need of
mediating entities that bind the models together. The
work resembles the approach of this paper. The main
difference is that we utilise interfaces and treat meta-
models as components that are combined in a service-
oriented manner.
6 DISCUSSION AND
CONCLUSIONS
Metamodel components allow using metamodels in
unison without weaving these explicitly together.
This has apparent advantages. First, it is possible to
create models that express different concerns in a sep-
arate fashion. The models of different concerns are
still integrated by the modelling environment using
model links that are maintained dynamically. This en-
sures a loosely coupled integration. Second, models
of different concerns can be validated and tested in-
dependently one at the time. Specifically, the proxies
can communicate with mock-ups that represent mod-
els (simulation mode). Third, orchestration of meta-
model components can be achieved by non-technical
stakeholders since the metamodels do not need to
be altered in order to combine these. The service
contracts formalise the integration points. Fourth,
a model or model fragment (clone) can be acquired
from the model repository and reused, which simpli-
fies the modelling process. Thus, it is not required to
model the same thing twice.
Model weaving usually requires that classes are
merged. However, it is not always reasonable to
merge two classes, particularly when the classes rep-
resent concepts of different problem domains. Using
the approach of this paper, an aspect model class is in-
stead used to type the relation between this class and
a base model class (and vice versa). This resembles
class refinement as discussed in (Emerson and Szti-
panovits, 2006).
A consequence of weaving the abstract syntax of
metamodels is the need of combining concrete syn-
taxes as well. This is avoided by using components,
since each component independently provides its dis-
tinct textual or graphical concrete syntax. Compo-
nents also address evolution issues. Model confor-
mance is a term that indicates whether a model is
compatible with its metamodel. Weaving metamod-
els breaks model conformance. This requires using
model transformations to create a conformant com-
posite model from the basis of pre-existing models.
Components address this by defining a sand box/s-
cope for each metamodel. Changing or revising the
metamodel of one component will only break confor-
mance with the existing models of this component’s
metamodel. Models of the other components’ meta-
models in the services architecture will still conform
to their metamodels.
Two important aspects of service-oriented ap-
proaches are service repositories and service discov-
ery, which facilitate service reuse and availability.
Metamodel components may follow a similar scheme.
In particular, reusable generic metamodel patterns can
be stored in searchable, distributed repositories and
used as language building blocks by language engi-
neers. A metamodel pattern may describe an aspect
or requirement that is common for several metamod-
els/languages, e.g. a state machine or similar (Cho
and Gray, 2011). Analysis and validation of services
are important parts of service-oriented engineering
methodologies and required to ensure high quality ar-
chitectures and systems. This has not been addressed
in this paper.
An interesting application of metamodel compo-
nents is for integrating metamodels and languages
(and their models) defined in different modelling en-
vironments. This is possible since the dynamic se-
mantics of each metamodel component can be run
separately, yet connected as specified in the service
contracts. E.g. a metamodel and conformant models
defined in EMF could utilise models defined in GME,
or similar. This is one particular application of meta-
model components that justifies the high-degree of
separation provided by a service-oriented metamodel
integration.
We believe that combining metamodels in a
service-oriented manner addresses current limitations
of model weaving by simplifying integration of mod-
els and the modelling process, and thereby increasing
the reusability and value of metamodels and models.
REFERENCES
Cho, H. and Gray, J. (2011). Design patterns for metamod-
els. In Proceedings of the OOPSLA/SPLASH DSM’11
Workshop.
Clark, T., Evans, A., and Kent, S. (2003). Aspect-oriented
metamodelling. The Computer Journal, 46(5).
Emerson, M. and Sztipanovits, J. (2006). Techniques for
metamodel composition. In The 6th OOPSLA Work-
shop on Domain-Specific Modeling.
EMF (2012). Eclipse modeling framework (emf).
http://www.eclipse.org/modeling/emf.
Fabro, M. D. D., Bézivin, J., and Valduriez, P. (2006).
Weaving models with the eclipse amw plugin. In
Eclipse Modeling Symposium.
ICSOFT2012-7thInternationalConferenceonSoftwareParadigmTrends
78