0% found this document useful (0 votes)
15 views5 pages

Model Driven Engineering (MDE) Tools - A Survey

The article surveys Model Driven Engineering (MDE) tools, highlighting their strengths and weaknesses to help software engineers select the appropriate tools for their needs. It discusses the importance of metamodeling and presents various criteria for comparing MDE tools, including update frequency, operating system compatibility, and support for modeling languages. The paper aims to provide a comprehensive overview of popular MDE tools without endorsing any specific ones.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views5 pages

Model Driven Engineering (MDE) Tools - A Survey

The article surveys Model Driven Engineering (MDE) tools, highlighting their strengths and weaknesses to help software engineers select the appropriate tools for their needs. It discusses the importance of metamodeling and presents various criteria for comparing MDE tools, including update frequency, operating system compatibility, and support for modeling languages. The paper aims to provide a comprehensive overview of popular MDE tools without endorsing any specific ones.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

American Journal of Science, Engineering and Technology

2018; 3(2): 29-33


http://www.sciencepublishinggroup.com/j/ajset
doi: 10.11648/j.ajset.20180302.11
ISSN: 2578-8345 (Print); ISSN: 2578-8353 (Online)

Model Driven Engineering (MDE) Tools: A Survey


Moujtahid Soukaina, Belangour Abdessamad, Marzak Abdelaziz
Faculty of Science Ben M‘Sik, University Hassan II, Casablanca, Morocco

Email address:

To cite this article:


Moujtahid Soukaina, Belangour Abdessamad, Marzak Abdelaziz. Model Driven Engineering (MDE) Tools: A Survey. American Journal
of Science, Engineering and Technology. Vol. 3, No. 2, 2018, pp. 29-33. doi: 10.11648/j.ajset.20180302.11

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

have tool creators started considering metamodeling as an


1. Introduction important issue in their list of concerns [4]. It is still rare to
The pressure to reduce the time-to-market and the ever find a development tool that has explicit support for meta-
growing design difficulties require new research efforts to model creation and/or configuration, which can be
adopt languages with high abstraction level or/and new surprising if that meta-modeling, is considered one of the
approaches to cope with that. Model Driven Engineering founding principles of MDE [10]. This means that, until
(MDE) is the current betting to raise the design abstraction recently, a developer who wanted to use a certain meta-
level and to provide mechanisms to improve the portability, model would probably have to either create a new
interoperability, maintainability, and reusability of models modeling tool, which is not reasonable at all or settle on a
[1]. In addition, MDE helps to abstract platform complexity CASE tool (with a hard-coded meta-model) that allows to
and to represent different concerns of the system [2]. Model perform the desired task with the least possible hassle [2].
Driven Engineering (MDE) is a new discipline in software However, adding metamodeling support to a tool does
development that has emerged following the emergence of bring some practical issues that should be mentioned, such
the Model Driven Architecture (MDA) initiative [7]. If the as separating the object-oriented programming languages
MDA's goal is limited to modeling a system in the form of class-instance relation from the meta-model-model relation
a PIM and then transforming it into a PSM [14], the MDE [11], deciding whether the number of logical levels should
goes beyond that goal and generalizes the use and be limited or potentially unbounded, and deciding whether
transformation of models throughout the software the tool should support model transformation and/or code
development cycle [13]. From the developer’s point of generation [3]. The final purpose of this article is to
view [12], a key issue for acceptance of any approach is determine the strengths and weaknesses of the support that
good tool support so that software programs can be created each of these MDE tools offer to the developer’s tasks
in an easy and efficient manner. However, only recently without recommending any particular tool or vendors. This
article is divided as follows. Section two describes some
30 Moujtahid Soukaina et al.: Model Driven Engineering (MDE) Tools: A Survey

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

5) Execution Environment (EM): The tool is a plug-in


3. Evaluation of MDE Tools for Eclipse (a), integrated/dependent in other IDE (b),
3.1. Criteria for Comparing no IDE support (c) or the tool has a standalone APP
(d).
There have been various studies characterizing and/or 6) Domain Application (DA): The tool is a general tool
comparing development tools oriented models. Most of (a), can be used for web applications (b), can be used
these are focused toward MDA tools that are without for management information systems (c) or the tool
discussion, the most popular. To compare the tools, it is can be used for real-time/embedded applications (d).
necessary to choose the characteristics that are going to Others/Information not available (e)
assess each of them. There are several criteria that can be 7) Compatibility with Standards (CS): The tool supports
adopted for comparing MDE tools [6] [7]. These criteria XMI standard (a), CWM standard (b), is an
differ depending on the type of the interest in these tools. implementation of QVTo (c), is an implementation of
The following features are selected from the related works QVTr (d), is an implementation of QVTc (e), is an
in recent years: implementation of QVT-Like (f), supports OCL
1) Update time (UP): The tool is updated regularly (a), expression (g), supports DD specification (h),
sometimes (b) or never (c). Information not available supports MOFM2T standard (i), supports HUTN
(d). standard (j), supports JMI standard (k) or the tool
2) Operating System (OS): The tool has been run on supports CMI standard (l). Information not available
Windows (a), Linux/Unix (b), Mac (c), all of the (m).
them (d). Information not available (e). 8) Modeling Languages (ML): UML 2.x (a), Before
3) Technological Platforms (TP): Vendor specific UML 2.x (b), xUML (c), BPMN (d), Programming
platform types (a), technology specific platform types languages (e), SysML (f), Petri nets (g) or all of the
(b), both vendor and technology specific platform above (h). Information not available (i)
types (c) or no support (d). Information not available 9) Development Dimension (DD): The tool has
(e). graphical concrete syntax (a), has textual concrete
4) Availability (A): The tool is open source (a), freely syntax (b), has both graphical and textual concrete
available for research in binary form (b), the tool is syntax (c), its abstract syntax/meta-modeling
commercially available (c) or there is a free language is EMOF (d), its abstract syntax/meta-
evaluation license (d). Information not available (e). modeling language is CMOF (e), supports both
American Journal of Science, Engineering and Technology 2018; 3(2): 29-33 31

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

Tool UP OS TP A EM DA CS ML DD LA EXM MH MML L D S C V VA


MetaEdit+ b d e cd abd a a h ai c b e d c c i e c b
QVTo-Eclipse a d b a a a cg i bg c a a d c c abcdef e j d
Kermeta2 c d b a ad a abg af bgj c b a d c c i e c a
Modelio a d b acd abd cd ag adf g c b a d c c i e c a
Umple a d b a ad a ag a ci c b e bc c d cdefgh abd acg c
MDWorkbench b d b bcd a a ag i bg c b a d c c i e j a
Melange a d b a a a ag h bgj c b a d c c i e c d
MagicDraw a d b cd abd a acg abdf ad c b a d c c i e acd c
JAMDA c d b a cd b agk b k d b e e c c j ad j d
Ente. Arch. a d d bc ab a ag adf g c b a d c c cdefgh abd j c
OpenCanarias d d e e a e acg a cg d b a e d c j f j d
SmartQVT c d e a a a acg a bg d b a e d c j f j d
JQVT c d d a a e f a g b b d b b c cf ab j d
Together a d b cd a e aceg abde bd c b a d d c i e k c
Merlin c d e a a a afg a cg b b a bc c c cdfg abd j d
MOFScript c d e a ad e agi i bg d b a e c c j f k e
ATL b d e a a a afg a bg d b c d c c i e j d
Fujaba b d e a ad a a a ad c b e d c c i a acf c
GrGen.NET b d a a cd a A i bgj d c e d c c abcdefg a f c
Rational d d e e abd e M i k c d e e c e j f k e

Table 3. Group 2 [5].

Tool T I O ET MP RE RT EDI WPM TS SYE SE MT MS CT LT MC IN AR SEC


MetaEdit+ c c bcd e a a a c a c abd abd c a a b abd c a a
QVTo-Eclipse c c ab e b b b a a b acde bdeg d c a b f b b b
Kermeta2 c c abcf e a b b a a c f abdf a b b b f c a e
Modelio c a abcde e b a a a a c f h c a b b f c a b
Umple c a abcde e b a b c a c ae bd c a a b ad c a e
MDWorkbench c a abce e b a b a a c f bd c a a b f c a a
Melange c a abc e a b b a a e f abcdef a b b b f b b d
MagicDraw c c abcdf e b a a a a c f abd c a a b f c a b
JAMDA a a bd abd b b b b b d g j a c b b f b b e
Ente. Arch. c a abde e b a a c a c f bcde c a b b ac c a a
American Journal of Science, Engineering and Technology 2018; 3(2): 29-33 33

Tool T I O ET MP RE RT EDI WPM TS SYE SE MT MS CT LT MC IN AR SEC


OpenCanarias d a h e b b b d c d h j d d b b f e c f
SmartQVT d a h e b b b a a d h j a c b b f b b e
JQVT a a b abd b b b a a d ac bc a c b b f b b e
Together c c ab e b a a c a d f h c a a a acd c a f
Merlin a a abd e b b b a a d acd bcd a c b b f b b e
MOFScript d a abcd e b b b d a e h j a c b b f e b f
ATL c a abf e b b b a a e f h c a b b f c b b
Fujaba c a abd e b a a a a c abcd bcdefg a c b b f c b e
GrGen.NET c c abcf e b b b b b d a bdg c b a b f c b a
Rational d c h e b a a d a e h j c a c c g c a f

Domain-Specific Modelling in Industry. Proceedings of the


4. Conclusion 4th International Conference on Model-Driven Engineering
and Software Development (MODELSWARD 2016), pages
The introduction of Model-Driven Development means a 711-719. SCITEPRESS – Science and Technology
change in the process and change of development software. Publications (2016).
Process changes take time and are expensive, while [3] Manel Ammar, Mouna Baklouti, Maxime Pelcat, Karol
replacing the tools means lower developer productivity Desnos, Mohamed Abid: On Exploiting Energy-Aware
under the learning period and sunk costs. On the long run, Scheduling Algorithms for MDE-based Design Space
switching to MDE can be beneficial in case the process Exploration of MP2SoC. (2016).
works, and the process itself depends on the tools. Since the [4] Alberto Rodrigues da Silva: Model-driven engineering: A
transition is expensive, it is important to invest wisely, and survey supported by the unified conceptual model.
choose the right tool. One of the main issues in the industry Computer Languages Systems & Structures Elsevier (2015).
is if a tool scale, or not. There are other quality aspects too.
[5] Kahani, N., & Cordy, J. R: Comparison and evaluation of
ISO/IEC9126 defines multiple aspects of quality for model transformation tools. Technical Report 2015-627
software as functionality, reliability, usability, (2015).
maintainability, portability and efficiency. Functionality can
be altered or added. Usability and maintainability can be [6] Saheed Popoola Jeffrey Carver Jeff Gray: Modeling as a
Service: A Survey of Existing Tools. Department of
improved. Portability can be addressed with changing the Computer Science. University of Alabama (2015).
environment for the tool to execute. Scalability is on the
other hand different. A solution can be highly functional, [7] Model-Driven Engineering of information systems.
reliable, usable, maintainable and portable, if it doesn't Principles, techniques and practice. Apple Academic Press,
Inc. (2015).
scale, it won't be suitable for industrial use. In case the
solution scales, the other issues can be solved one way or [8] Nicolas Belloir, Jean-Michel Bruel, Raphael Faudou:
another. It can be concluded that for industrial needs, the Modélisation des exigences en UML/SysML, (2014).
most (and only) important aspect is scalability for MDE, [9] Jon Holt andSimon Perry: SysML for Systems Engineering:
but even generally. The part where scalability comes into A Model-Based Approach (2014).
picture with MDE is the part where the model
transformation takes place. The model transformation [10] Guillaume Barbier: Contribution de l’Ingénierie Dirigée par
les Modèles à la Conception de Modèles Grande Culture.
should scale, and therefore, a model transformation tool University Blaise Pascal – Clermont II (2013).
should also scale to be suitable for industrial use. In case
the transformation tool would not scale, the tool and [11] Pascal Roques: Modélisation de systèmes complexes avec
therefore the process using it would fail, resulting in a loss SysML. Broché (2013).
of capital. The aim of this article was the evaluation of the [12] Sarah CHIOUT: contribution à la modélisation logique et
most popular MDE tools in order to learn to identify the conceptuelle des documents numériques. Journée des
right tool that meets the specific needs of the software Doctorants Heudiasyc (2013).
engineer without recommending any particular tool or [13] Sanford Friedenthal, Alan Moore et Rick Steiner: A
vendors. Practical Guide to SysML. The Systems Modeling
Language. Elsevier (2012).
[14] Ahuja A., Simonin J., Nédélec R., « MDA Tool for Telecom
References Service Functional Design », 4th European Conference on
Software Architecture (ECSA), Copenhagen, Denmark
[1] Kahani, N., Bagherzadeh, M., Dingel, J., & Cordy, J. R: The (2010).
problems with Eclipse modeling tools: a topic analysis of
Eclipse forums. In Proceedings of the ACM/IEEE 19th [15] Mark R. Blackburn: What’s Model Driven Engineering
International Conference on Model Driven Engineering (MDE) and How Can it Impact Process, People, Tools and
Languages and Systems (pp. 227-237). ACM (2016). Productivity. Systems and Software Consortium, Inc. SSCI-
2008002-MC (2008).
[2] Juha-Pekka Tolvanen and Steven Kelly: Model-Driven
Development Challenges and Solutions Experiences with

You might also like