Although transformation is an essential operation of model
driven approaches, others kinds of model manipulation are
required and are under study (composition, merging, audit,
...). For these manipulations, transformation languages are
not always well-adapted and a solution consists in
performing them by using an API automatically generated
from metamodels. However, despite their benefits for
representing and processing models inside applications, the
use of such APIs is rather complex. To limit this
complexity, we propose to exploit the flexibility of
scripting languages and integrate into such language
functionalities dedicated to models manipulation.
This site proposes an extension of the javascript language
in order to get a dynamic and simplified access to any kind
of EMF model (metamodel, metametamodel). Models and their
elements are exposed as Javascript objects and every
manipulation can be done with simple Javascript expression
used in an interactive or batch mode via script. This
extension can be used for numerous model driven activities
such as metamodels prototyping and interactive
modelstesting.
The scripting mechanism preserves the semantics
(well-formed rules) and the functionalities (XMI support,
change notification) provided by the implementation of EMF
interfaces. Therefore, it is completely compatible with the
processes and tools that are based upon these interfaces