Model Driven Engineering (MDE) Tools - A Survey
Model Driven Engineering (MDE) Tools - A Survey
Email address:
Received: July 19, 2018; Accepted: August 20, 2018; Published: September 13, 2018
Abstract: Model Driven Engineering (MDE) is a new discipline in software engineering that advocates the massive use
of models throughout the software development process. The emergence of this discipline has been accompanied by the
prosperity of the tools that support it. On the long run, switching to MDE can be beneficial in case the process works, and
the process itself depends on the tools. Since the transition is expensive, it is important to invest wisely, and choose the
right tool. However, only recently tool creators have started considering metamodeling as an important issue in their list of
concerns and university prototypes are sometimes difficult to download and test, so these tools remain little known overall
and need to be listed. The aim of this article is to determine the strengths and weaknesses of the support that each of these
MDE tools offer to the developer’s tasks, in order to learn to identify the right tool that meets the specific needs of the
software engineer, without recommending any particular tool or vendors: It will present a significant number of the most
popular MDE tools, in order to keep this paper simple, list some criteria for comparing these tools and evaluate them
against those criteria.
Keywords: MDE, MDA, Model, Transformation, Tool
MDE tools. Section three presents some criteria for 2. Tools Supporting Model Driven
comparing these tools and gives the results of their
evaluation against these criteria. The last section Engineering
summarizes this paper. Tools that proclaimed MDE are distributed among
powerful commercial tools and university prototypes
sometimes difficult to download and test. The following list
shows some of the most popular among these tools [5]:
Table 1. Most popular MDE Tools [5, 8, 9, 15].
Tools Description
MetaEdit+ a tool for domain-specific modeling and development
QVTo-Eclipse an Eclipse implementation of Borland Together based on QVTo
Kermeta2 based on a model-oriented language optimized for meta-models and DSLs
Modelio the succr. of Objecteering is based on UML and BPMN
Umple a programming language family to enable model-oriented programming
MDWorkbench Eclipse-based IDE for code generation and model transformations
Melange the succr. of Kermeta2 supports the semantics of the modeling languages
MagicDraw a visual UML, SysML, BPMN, and UPDM modeling tool
JAMDA creates Java code from a model of the business domain
Ente. Arch. a UML design and business analysis tool
OpenCanarias a virtual machine implementation of the QVTo mappings
SmartQVT a partial implementation of the QVTo language
JQVT based on a compiled QVT engine for Java
Together a set of Eclipse plugins which partially implements the QVTo language
Merlin based on EMF Java Emitter Templates (JET) templates and mapping model
MOFScript the succr. of UMT which implements the OMG MOFM2T specification
ATL uses textual syntax and parts of the QVT specification to define transf. rules
Fujaba a story-driven modeling and graph transf. platform
GrGen.NET a programming productivity tool for graph transformations
Rational consists of a set of UML modeling tools for software design
EMOF and CMOF meta-modeling languages (f), its 20)Maintenance Support (MS): The tool provides
abstract syntax/meta-modeling language is complete support (a) or limited-support (b). No
Ecore/EMF (g), its abstract syntax/meta-modeling support (c). Information not available (d).
language is KM3 (h), other meta-modeling languages 21)Concurrent Transformations (CT): The tool provides
(i) or the tool support semantic of modeling language concurrent transformations (a). No support (b).
(j). Information not available (k). Information not available (c).
10)Level of Abstraction (LA): The tool supports 22)Live/active Transformations (LT): The tool provides
dynamic models (a), supports static models (b) or the live/active Transformations (a). No support (b).
tool supports both static and dynamic models (c). Information not available (c).
Information not available (d). 23)Model Comparison (MC): The tool compares
11)Execution Mode (EXM): The tool is interpreter-based homogeneous models (a), compares heterogeneous
(a), is compiler-based/code generator (b) or the tool is models (b), results are in visual/model forms (e.g.,
both interpreter-based and compiler-based (c). UML) (c), results are in textual forms (d), all of the
Information not available (d). above (e) or no support (f). Information not available
12)Model Handlers (MH): The tool supports EMF (a), (g).
supports MDR (b), supports both EMF and MDR (c) 24)Interoperability (IN): VCS (to control concurrent
or the tool does not support model handlers (d). development of the source code by multiple
Others/Information not available (e). developers) (a), the tool provides with automatic
13)MDA Model-Levels (MML): CIM (a), PIM (b), PSM import/export mechanisms for meta-models/models
(c) or all of the above (d). Information not available developed with other tools (b) or both VCS and
(e). import/export mechanisms (c). No support (d).
14)Type (T): Exogenous transformations (a), Information not available (e).
endogenous transformations (b) or both exogenous 25)Automatic Report (AR): The tool generates
and endogenous transformations (c). Information not report/documentation (a). No support (b).
available (d). Information not available (c).
15)Level (L): Vertical transformations (a), horizontal 26)Security (SEC): Obfuscate (to delete sensitive
transformations (b) or both vertical and horizontal information from a confidential model) (a), read-
transformations (c). Information not available (d). only/Locked models (b), code blocks (c) or all of the
16)Direction (D): multi-directional transformations (a), above (d). No support (e). Information not available
bi-directional transformation (b), uni-directional (f).
transformation (c) or all of the above (d). Information 27)Editor (EDI): Graphical (a), command-line (b) or
not available (e). both graphical and command-line (c). Information
17)Scope (S): CIM-CIM (computational independent not available (d)
models can be refine) (a), CIM-PIM (computational 28)Workspace and Proj. Mngmt (WPM): The tool has
independent models are transformed into platform workspace and project management (a). No
independent models) (b), PIM-PIM (abstract or refine support (b). Information not available (c).
models without binding to any platform-specific 29)Teamwork Support (TS): The tool is multi-users (a),
information) (c), PIM-PSM (a platform-independent multi-projects (b), or both multi-users and multi-
model, with enough transformation definitions can be projects (c). No explicit teamwork support (d).
transformed to a platform-specific model) (d), PSM- Information not available (e).
PIM (use for reverse engineering and are rather dicult 30)Syntax Editor (SYE): The tool has syntax
to drive) (e), PSM-PSM (abstract or refine platform- highlighting (a), auto formatting (b), code completion
specific models during the component realization and (c), code navigation (d), code folding (e) or all of the
deployment) (f), PSM-Code (PSMs are translated above (f). No support (g). Information not available
into software artifacts) (g), Code-PSM (used for (h).
reverse engineering) (h) or all of the above (i). 31)Semantic Editor (SE): The tool has re-factoring (a),
Information not available (j). error and warning detection (b), quick fixes (c),
18)Cardinality (C): 1-to-1 (there is one source model and debugger (d), reference resolution (e), build systems
one target model) (a), 1-to-N (can produce several (f), profiler (g) or all of the above (h). No support (i).
target models e.g., model merging) (b), N-to-1 Information not available (j).
(several source models are combined into a single 32)Verification (V): Correctness for syntactic and
model) (c), N-to-N (one or more input model(s) is semantic (the correct models of source language
transformed into one or more target model(s)) (d) or result in the correct models of target language) (a),
all of the above (e). Information not available (f). termination (a transformation always stops executing
19)Maturity of Tool (MT): The tool has been used in after a finite number of steps and leads to a result)
academic (a), industry (b) or both academic and (b), consistency (models are consistent with each
industrial world (c). Information not available (d). other) (c), completeness (A forward transformation is
32 Moujtahid Soukaina et al.: Model Driven Engineering (MDE) Tools: A Survey
called complete if each element of the source model 36)Editing Tasks (ET): Access transformations (a), add
can be transformed to an element of the target model, transformations (b), update transformations (c),
and vice versa) (d), delete transformations (d) or all of the above (e).
determinism/Uniqueness/Confluence (different Information not available (f).
executions of the transformation always produce the 37)Meta-Programming (MP): A meta-programming tool
same result) (e), comprehensibility (the developed (a). No support (b). Information not available (c)
model is comprehensible by the user(s)) (f), 38)Reverse Engineering (RE): A reverse engineering
robustness (the ability to manage invalid models) (g), tool (a). No support (b). Information not available (c).
definedness (the transformation can be applied to 39)Round-trip Engineering (RT): A round-trip
every model of the source language) (h) or all of the engineering tool (a). No support (b). Information not
above (i). No support (j). Information not available available (c)
(k).
33)Validation (VA): The tool provides a testing 3.2. The Evaluation Results
environment (a), the tool provides a simulation This evaluation is limited to popular tools in order to
environment (b) or both simulation and testing keep the evaluation and this article simple. These tools
environments (c). No support (d). Information not were chosen also because this set is a good representative
available (e) of the current status of MDE-supporting tools currently
34)Input (I): User-defined models (created manually by available, they also presented enough differences amongst
the user(s)) (a), derived models (created themselves to justify their inclusion in this evaluation [5].
automatically by the program(s)) (b) or both user- Although these tools do not reflect everything that is
defined and derived models (c). Information not currently available in MDE tools, they address the MDE
available (d). based approaches defined earlier by providing the features
35)Output (O): In-place (a), out-place (b), textual that can often be found in typical tools of their
artifacts (c), source code (d), database artifacts (e), corresponding approach.
query (f) or all of the above (g). Information not
available (h)
Table 2. Group 1 [5].