The current version of MOLA tool has been developed
with mainly academic goals - to test the MOLA usability, teach the use of MDD
for software system development and perform some real life experiments.
This has influenced some of the design requirements, though with easy usability
as one of the goals and sufficient efficiency the tool has confirmed its potential
as an industrial tool too.
Like most of the model transformation tools, the MOLA tool has two parts -
the Transformation Definition Environment (TDE) and
the Transformation Execution Environment (TEE). Both these environments
have a common repository for storing the transformation, metamodels and models
(in the runtime format).
Graphical editors for metamodel and MOLA diagrams are built on the basis of Generic Modeling Framework (GMF), a commercial metamodel based modeling environment developed by University of Latvia, IMCS together with the Exigen company.
MOLA compiler performs the syntax checks and converts both the metamodels and MOLA diagrams to the internal runtime repository format used by TEE.
MOLA runtime repository which stores models, metamodels and MOLA programs is a relational database with a fixed schema (currently MySQL v5.0 is the recommended option).
The core of the MOLA TEE is the MOLA Virtual Machine (interpreter), which executes the given compiled MOLA transformation on a given source model in the repository and produces the target model. The base principle of MOLA VM is a simple conversion of MOLA pattern matches to SQL Select statements, but sufficient execution efficiency is supported at the same time.
Transformation execution in MOLA requires source models to be supplied. One possible model source for MOLA TEE is to build a custom model editor with the given metamodel using the Generic Modelling Framework (GMF). Simple tree-form editors (similar to those provided by Eclipse EMF but more flexible) can be defined, but more elaborated diagram-based editors (similar to MOLA editors) can also be built. Model editors built via GMF can be used for MOLA transformation testing and as a real modelling environment as well. Generic metamodel-driven model export/import between GMF repository and MOLA repository is provided.
Another possible model source for MOLA TEE is Eclipse. A version of MOLA TEE is built as an Eclipse plug-in (with XMI import/export included), which can be used in conjunction with various Eclipse-based modeling tools for invoking MOLA transformations from within these tools. Currently UML 2.0 metamodel based model interchange is supported, which means that MOLA transformations can be used as MDD plug-ins for IBM Rational UML tools – RSA and RSM. But the same approach can be used for other Eclipse-based UML tools which use the same metamodel. A more general XMI model export (according to EMF (ECore) conventions) is also provided, a similar import will be available in near future. This feature may be used to build non-UML (e.g., relational database) models from UML models using MOLA.
Currently XMI based model import and export in MOLA TEE is provided in the Eclipse plug-in context. For XMI coding conventions used in UML 2.0 both import and export is provided, for general EMF coding conventions only export currently is supported. Import is from XML files and export to XML files.