MOLA Tool Architecture

     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).

MOLA Transformation Development Enviroment

Graphical Editors for MOLA

     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

     MOLA compiler performs the syntax checks and converts both the metamodels and MOLA diagrams to the internal runtime repository format used by TEE.

Repository

     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).

MOLA Transformation Execution Enviroment

MOLA Virtual Machine

     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.

Custom Model Editors Based on GMF

     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.

Eclipse plug-in

     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.

XMI Import/Export

     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.