Meta-Modelleme Ara˘clar n n Uygulay c lar n …...meta-modeling tool’s capability of enabling the...

12
Meta-Modelleme Ara¸ clarının Uygulayıcıların ˙ Ihtiya¸ cları A¸ cısından Analizi Mert Ozkaya 1 ve Deniz Akdur 2 1 Yeditepe ¨ Universitesi, Bilgisayar M¨ uhendisli˘ gi B¨ ol¨ um¨ u, ˙ Istanbul, T¨ urkiye [email protected] 2 Aselsan A.S ¸., Ankara [email protected] ¨ Ozet. un¨ um¨ uzde uygulayıcıların alana-¨ ozg¨ u modelleme dili ve ilgili ara¸ cları (modelleme edit¨ or¨ u ve kod d¨ on¨ st¨ ur¨ uc¨ uler gibi) geli¸ stirmelerine imkan sa˘ glayan bir¸ cok farklı meta-modelleme aracı bulunmaktadır. Fakat, uygulayıcıların mevcut meta-modelleme ara¸ cları arasında kendi gereksin- imlerine en uygun olanları tes-pit edip kar¸ sıla¸ stırma yapabilmesi hali hazırda pek de kolay g¨ oz¨ ukmemektedir. Bundan dolayı, bu ¸ calı¸ smada, mevcut 20 farklı meta-modelleme aracı farklı end¨ ustri-lerde ¸ calı¸ san uygu- layıcıların ilgisini ¸ cekebilece˘ gini d¨ und¨ um¨ uz bir k¨ ume gerek-sinim cısından analiz edilmi¸ stir. Bu gereksinimler ¸ oyledir: (i) satıcı kilidi, (ii) web ¨ uzerinden eri¸ sim, (iii) s-birli˘ gi halinde modelleme, (iv) modellerden versiyonların olu¸ sturulması, (v) hibrit modelleme, (vi) model d¨ on¨ um¨ u, (vii) harici ara¸c deste˘ gi, (viii) topluluk deste˘ gi, (ix) geni¸ sletilebilirlik, ve (x) dil test edilebilirli˘ gi. Bu ¸ calı¸ smanın sonu¸ clarının, uygulayıcıların alana-¨ ozg¨ u modelleme dili geli¸ stirmek i¸ cin kullanmaları gereken meta- modelleme ara¸ clarını kar¸ sı-la¸ stırıpkendileri i¸cin en uygunaracı se¸ cmeleri konusunda fazlaca yardımcı olaca˘ gı d¨ u-n¨ ulmektedir. Sonu¸ cların ayrıca meta-modelleme aracı geli¸ stiricileri i¸cin de eksikliklerin tespit edilip d¨ uzeltile- bilmesi konusunda yardımcı olması beklenmektedir. Anahtar Kelimeler: Meta-modelleme, Alana-¨ ozg¨ u diller, Meta-modelleme ara¸ cları, Literat¨ ur analizi Copyright © 2019 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).

Transcript of Meta-Modelleme Ara˘clar n n Uygulay c lar n …...meta-modeling tool’s capability of enabling the...

Page 1: Meta-Modelleme Ara˘clar n n Uygulay c lar n …...meta-modeling tool’s capability of enabling the integration with other external tools for performing some useful facilities that

Meta-Modelleme Araclarının UygulayıcılarınIhtiyacları Acısından Analizi

Mert Ozkaya1 ve Deniz Akdur2

1 Yeditepe Universitesi, Bilgisayar Muhendisligi Bolumu, Istanbul, [email protected]

2 Aselsan A.S., [email protected]

Ozet. Gunumuzde uygulayıcıların alana-ozgu modelleme dili ve ilgiliaracları (modelleme editoru ve kod donusturuculer gibi) gelistirmelerineimkan saglayan bircok farklı meta-modelleme aracı bulunmaktadır. Fakat,uygulayıcıların mevcut meta-modelleme aracları arasında kendi gereksin-imlerine en uygun olanları tes-pit edip karsılastırma yapabilmesi halihazırda pek de kolay gozukmemektedir. Bundan dolayı, bu calısmada,mevcut 20 farklı meta-modelleme aracı farklı endustri-lerde calısan uygu-layıcıların ilgisini cekebilecegini dusundugumuz bir kume gerek-sinimacısından analiz edilmistir. Bu gereksinimler soyledir: (i) satıcı kilidi, (ii)web uzerinden erisim, (iii) is-birligi halinde modelleme, (iv) modellerdenversiyonların olusturulması, (v) hibrit modelleme, (vi) model donusumu,(vii) harici arac destegi, (viii) topluluk destegi, (ix) genisletilebilirlik,ve (x) dil test edilebilirligi. Bu calısmanın sonuclarının, uygulayıcılarınalana-ozgu modelleme dili gelistirmek icin kullanmaları gereken meta-modelleme araclarını karsı-lastırıp kendileri icin en uygun aracı secmelerikonusunda fazlaca yardımcı olacagı dusu-nulmektedir. Sonucların ayrıcameta-modelleme aracı gelistiricileri icin de eksikliklerin tespit edilip duzeltile-bilmesi konusunda yardımcı olması beklenmektedir.

Anahtar Kelimeler: Meta-modelleme, Alana-ozgu diller, Meta-modellemearacları, Literatur analizi

Copyright © 2019 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).

Page 2: Meta-Modelleme Ara˘clar n n Uygulay c lar n …...meta-modeling tool’s capability of enabling the integration with other external tools for performing some useful facilities that

Towards Analysing the Meta-Modeling Tools forthe Needs of Practitioners

Mert Ozkaya1 and Deniz Akdur2

1 Yeditepe University, Computer Engineering Department, Istanbul, [email protected]

2 Aselsan A.S., [email protected]

Abstract. Many meta-modeling tools have been available today for theuse of practitioners and enabling them to develop domain-specific lan-guages (DSLs) and the necessary toolset (i.e., modeling editors and codegenerators) for performing the modeling activities in their domain. How-ever, it is not currently so easy for practitioners to compare the exist-ing meta-modeling tools for their practical needs and choose the mostsuitable one(s). So, in this paper, 20 different meta-modeling tools havebeen intended to be analysed for a number of requirements that arebelieved to be important for the practitioners working in different in-dustries. These requirements are (i) vendor lock-in, (ii) web-access, (iii)collaborative modeling, (iv) model versioning, (v) hybrid modeling, (vi)model transformation (vii) external tool integration, (viii) communitysupport, (ix) extensibility, and (x) language testability. The analysis re-sults reveal many important findings about the meta-modeling tools andwill be expected to be very helpful for the practitioners in determiningany meta-modeling tool(s) that best suit their needs for their languagedevelopment. Also, the tool vendors may use the results to find out theweakness of the existing tools and improve them in the future.

Keywords: Meta-modeling, Domain-specific languages, Meta-modelingtools, Literature analysis

1 Introduction

With the continuous evolution of technology, software systems have nowadaysbeen penetrating all areas of the society to reduce the efforts required by peoplein any sorts of tasks that they perform [1]. This essentially requires the softwaresystems to reach an ever-increasing level of complexity that makes them harderand harder to manage. Indeed, cyber-physical systems in which the softwaresystems are expected to control the physical devices (e.g., cars, trains, planes,smart cities, etc.) are good examples of these complex software systems whosebehaviours may change at any time depending on their heterogeneous environ-ment [10]. One effective way of managing the software complexity herein is theabstraction, which promotes focusing on the actual problem(s) and suppress-ing the irrelevant details [6]. The model-driven software development (MDSD)

Page 3: Meta-Modelleme Ara˘clar n n Uygulay c lar n …...meta-modeling tool’s capability of enabling the integration with other external tools for performing some useful facilities that

paradigm [12] has been proposed in the early two-thousands with the purpose ofcreating abstract models that each address a particular concern of the softwaresystems to be built without getting into any programming language details.

As indicated by Schmidt [11], MDSD can essentially be considered as thecombinations of the (i) domain-specific languages (DSLs) and (ii) transforma-tion engines and generators. DSLs offer domain-specific notation sets for themodeling of software systems in particular domains (e.g., automative, avionics,embedded systems, and multi-agent systems). The transformation engines andgenerators provide the the tool support for processing the software models spec-ified with DSLs for various purposes such as formal verification, software codegeneration, model-based testing, and model refactoring.

To create DSLs, the meta-modeling tools can be used. The meta-modelingtools allow for defining the meta-model of the DSLs, which comprises the defini-tions of the language syntax and semantics that describe the language constructs,their relationships, abstract syntax tree, and any constraints and rules on them.The meta-modeling tools may also offer various facilities such as code generatordefinition language, versioning, multi-user support, and language testability.

Many different meta-modeling tools are available for use by the languagedevelopers. However, the current literature on the meta-modeling tools suffersfrom a number of issues that prevent practitioners from determining the meta-modeling tools that best satisfy their expectations for the language developmentand comparing the existing tools for the practical concerns such as versioning,testability, multi-user collaboration, hybrid modeling, external tool integration,etc. Therefore, in this paper, the existing meta-modeling tools are aimed to beanalysed for a set of requirements that are believed to be highly important forthe practitioners in industry who are willing to use any meta-modeling tools.

2 Research Methodology

To determine the existing meta-modeling tools to be analysed, the google searchengine has been used and several keywords have been searched on google, in-cluding ”DSL tools”, ”meta-modeling tools”, ”meta-modeling languages”, ”DSLdevelopment”, ”language engineering”, and ”language engineering tools”. Also,the web-site of each meta-modeling tool has been checked to determine whetherthe web-sites include any tool reviews. Indeed, Metaedit+’s web-site has a com-prehensive tool review section. As a result, 20 different meta-modeling tools havebeen identified, whose details are given in Table 1. So, while some meta-modelingtools are provided with the installations on the Windows, MacOS, and Linuxplatforms, some tools are provided with the Eclipse update-site and run on theEclipse platform only. Also, most of the meta-modeling tools are open-sourceand allow the users to modify the tools for their particular needs (if necessary).

To determine the set of requirements for which the meta-modeling tools areto be analysed, we used the results of our recent empirical researches that focuson the practitioners’ experiences on software modeling languages and the analy-sis of the modeling tools (e.g., [7,8]). Moreover, thanks to our relationships with

Page 4: Meta-Modelleme Ara˘clar n n Uygulay c lar n …...meta-modeling tool’s capability of enabling the integration with other external tools for performing some useful facilities that

industry and involvement in many research projects concerning both academiaand industry, the authors received many valuable feedback from several prac-titioners who work in diverse industries (including finance, defense & military,and automotive & transportation) regarding their expectations from the meta-modeling tools. So, the following set of requirements has been determined:

Table 1. The meta-modeling tools for creating DSLsMeta-Modeling Tools URL Platform Open Source

Metaedit+ www.metacase.com Windows, Linux, Mac No

MPS www.jetbrains.com/mps/ Windows, Linux, Mac Yes

Sirius www.eclipse.org/sirius/ Eclipse Plugin Yes

Xtext www.eclipse.org/Xtext/ Eclipse Plugin Yes

Graphiti www.eclipse.org/graphiti/ Eclipse Plugin Yes

Spoofax www.metaborg.orgEclipse and IntelliJ Plugins,Jar File

Yes

Diagen www2.cs.unibw.de/tools/DiaGen/ Windows, Linux, Mac Yes

AToMPM atompm.github.io Windows, Linux, Mac No

Fujaba (E-Moflon) web.cs.upb.de/archive/fujaba/ Windows, Linux, Mac Yes

VMTS vmts.aut.bme.hu Windows, Linux, Mac No

GEMS wiki.eclipse.org/GEMS Eclipse Plugin Yes

GME www.isis.vanderbilt.edu/Projects/gme/ Windows Yes

MS Visual Studio visualstudio.microsoft.com Windows, Linux, Mac No

MetaModelAgent www.metamodelagent.com/Eclipse Pluginand RSA Plugin

Yes

ConceptBase conceptbase.sourceforge.net Windows, Linux, Mac Yes

MetaDepth metadepth.org Windows, Linux, Mac No

ADOXX www.adoxx.org Windows and Mac No

JastEMF bitbucket.org/jastemf/jastemf-plugins/wiki/ Eclipse Plugin No

Melange http://melange.inria.fr Eclipse Plugin Yes

WebGME webgme.org Windows, Linux, Mac No

Vendor Lock-in. Vendor lock-in is concerned with the meta-modeling tool’scapability of getting the DSLs to be produced that can be used independentlyfrom the meta-modeling tool. By doing so, the DSLs may also be imported intosome other meta-modeling tools that also suit the needs of practitioners andpractitioners will not be restricted with a single meta-modeling tool.

Web-access. Web-access is concerned with the meta-modeling tool’s ca-pability of being used over internet via some browsers without the need fordownloading and installing any applications. So, practitioners may perform theirmeta-modeling activities or use any DSLs for modeling over internet.

Collaborative Modeling. Collaborative modeling is considered in terms ofconcurrent meta-modeling and working offline. Concurrent meta-modeling is todo with allowing multiple users to work on the same meta-model (or DSL formodeling) simultaneously. Working offline is to do with multiple users modifyingthe same meta-model (or model via DSL) offline and getting their changes to bereflected once connected to the internet automatically.

Model Versioning. Model versioning is concerned with the meta-modelingtool’s capability of storing and managing different versions of the meta-modelsor the models created with the DSLs of that meta-modeling tool. The version-ing support is considered in terms of the following requirements: (i) repositorysupport, (ii) tracking versions, (iii) comparing versions, (iv) filtering versions,(v) merging versions, and (vi) secure versioning.

Hybrid Modeling. Hybrid modeling is concerned with the meta-modelingtool’s capability of enabling the textual and visual representations of the lan-

Page 5: Meta-Modelleme Ara˘clar n n Uygulay c lar n …...meta-modeling tool’s capability of enabling the integration with other external tools for performing some useful facilities that

guage constructs that can be used together in a synchronised manner for thehybrid modeling of software systems.

Model Transformation. Model transformation is concerned with the meta-modeling tool’s capability of transforming a model into another model for dif-ferent purposes such as software implementation and formal verification.

External Tool Integration. External tool integration is concerned with themeta-modeling tool’s capability of enabling the integration with other externaltools for performing some useful facilities that are not possible with the meta-modeling tool (e.g., combining model and code together, simulation, analysis,and code-generation).

Community Support. The community support is concerned with the tools’capability of providing users with the necessary materials and platforms thatcan be useful for the users in learning and using the meta-modeling tools. Thecommunity support is considered in terms of the (i) tutorials, (ii) forum, (iii)e-mail support, (iv) user-manual, (v) training sessions, and (vi) consulting team.

Extensibility. Extensibility is concerned with the meta-modeling tool’s ca-pability of getting extended with some additional requirements that practitionersneed in their domain such as the model analysis, versioning, multi-user support,code-generation, etc.

Language Testability. Testability is concerned with the meta-modelingtool’s capability of testing the DSLs created via the meta-modeling tool andchecking their correctness. Testability is considered in terms of the (i) languagedefinition (syntax and semantics) testing, (ii) language editor testing, and (iii)model transformation testing.

3 Analysis Results

In this section, the analysis results of the 20 different meta-modeling tools foreach requirement considered are discussed separately. The entire analysis resultscan be found as a whole in the project web-site3.

3.1 Vendor Lock-in

As Table 2 shows, many meta-modeling tools (60%) require the vendor lock-inand force practitioners to use the same vendor’s meta-modeling tool for devel-oping the DSLs and using those DSLs for specifying models. However, a fewtools (Sirius, Xtext, Graphiti, GEMS, JastEMF, and Melange) are based on theEclipse’s EMF framework for the definition of meta-models, and thus the pro-duced EMF models in those meta-modeling tools can be accepted by any toolsthat support EMF. Also, Metaedit+ and ADOXX export models and meta-models of the languages in the XML format; so, any tools that accept XML canprocess the models and meta-models created with Metaedit+ or ADOXX.

3 The entire analysis results for the meta-modeling tools can be found in https:

//sites.google.com/site/drmertozkaya/metamodelingtools

Page 6: Meta-Modelleme Ara˘clar n n Uygulay c lar n …...meta-modeling tool’s capability of enabling the integration with other external tools for performing some useful facilities that

Table 2. The meta-modeling tools withvendor lock-in supportDSL Tools Vendor Lock-in

Metaedit+ No - Import/export XML

MPS Yes

Sirius No - EMF

Xtext No - EMF

Graphiti No - EMF

Spoofax Yes

Diagen Yes

AToMPM Yes

Fujaba (E-Moflon) Yes

VMTS Yes

GEMS No - EMF

GME Yes

MS Visual Studio Yes

MetaModelAgent Yes

ConceptBase Yes

MetaDepth Yes

ADOXX No - import/export XML

JastEMF No - EMF

Melange No - EMF

WebGME Yes

Table 3. The meta-modeling tools thatare accessible over internetDSL Tools Web Support

Metaedit+ No

MPS No

Sirius No

Xtext Yes

Graphiti No

Spoofax No

Diagen No

AToMPM Yes

Fujaba (E-Moflon) No

VMTS No

GEMS No

GME No

MS Visual Studio No

MetaModelAgent Yes

ConceptBase No

MetaDepth No

ADOXX No

JastEMF No

Melange No

WebGME Yes

3.2 Web-access

As Table 3 shows, only four meta-modeling tools provide web-access support.These are AtomPM, MetaModelAgent, WebGME, and Xtext. AtomPM hereinprovides the most comprehensive support, enabling the users to access the meta-modeling tool via browser, terminal-based client, and smartphones for the meta-modeling and modeling. WebGME and Xtext enable the browser-access forthe meta-modeling and modeling activities. MetaModelAgent however supportsbrowsers basically for communicating the models created over internet withoutallowing for accessing and editing the meta-models.

Table 4. The meta-modeling tools that support model versioningDSL Tools Repository

TrackingVersions

ComparingVersions

FilteringVersions

MergingVersions

Secure Versioning

Metaedit+GIT, SVN,Server-based Repository

Yes Yes Yes No No

MPS GIT Yes Yes No Yes No

SiriusGIT, CVS, SVN,CDO-based Repository

Yes Yes No YesAuthentication anddata-access rights

Xtext No No No No

Graphiti No No No No

Spoofax No No No No

Diagen SVN No No No

AToMPM No No No No

Fujaba (E-Moflon) No No No No

VMTS No No No No

GEMS No No No No

GME Server-based No No No No No

MS Visual Studio No No No No

MetaModelAgent No No No No

ConceptBase No No No No

MetaDepth No No No No

ADOXX No No No No

JastEMF No No No No

Melange No No No No

WebGME Cloud-based Yes Yes No Yes Authentication

Page 7: Meta-Modelleme Ara˘clar n n Uygulay c lar n …...meta-modeling tool’s capability of enabling the integration with other external tools for performing some useful facilities that

3.3 Model Versioning

As Table 4 shows, Metaedit+, MPS, Sirius, GME, and WebGME support theversioning of the meta-models of the DSLs and the models specified using theDSLs. Metaedit+ supports the integration with the external versioning tools,such as GIT, SVN, and at the same time offers their own server-based reposito-ries. While Metaedit+ enables tracking, comparing, and filtering versions, otherimportant requirements such as merging different versions in the same (meta-)model and the secure access to the model versions are neglected in Metaedit+.MPS supports GIT and just enables tracking, comparing, and merging modelversions. While Sirius itself does not support versioning, the ObeoDesigner tooldeveloped by the Obeo company for Sirius supports various external version-ing tools (i.e., GIT, CVS, and SVN) and a server-based repository that enablesother useful operations including tracking, comparing, and merging versions.Also, ObeoDesigner supports the authentication and secure data-access for themodel versions. GME supports a server-based repository for storing and access-ing the model versions. WebGME (i.e., the extension of GME) provides morecomprehensive support, offering a cloud-based repository system that allows fortracking, comparing, and merging versions and their authenticated access.

3.4 Collaborative Modeling

As in Table 5, Metaedit+, MPS, Sirius, GEMS, and WebGME are the onlymeta-modeling tools that support collaboration. Metaedit+, MPS, GEMS, andWebGME allow for the concurrent access only. Sirius essentially supports bothconcurrent access and working offline via the Obeo Designer platform.

3.5 Hybrid Modeling

As in Table 6, MPS, Sirius, JastEMF, and Melange are the only meta-modelingtools that support the hybrid modeling. MPS focuses on storing the abstractsyntax tree (AST) of a model created, and those ASTs can be accessed viathe projectional editors that use any projections defined over ASTs (i.e., thetextual or visual representations of the ASTs). Sirius supports the integrationwith the Xtext meta-modeling tool. While Sirius is a graphical meta-modelingtool, Xtext is a textual one. Also, both of them are Eclipse frameworks that arebased on EMF. So, when they are integrated, the resulting meta-modeling toolcan be used for defining a language for hybrid modeling. JastEMF is also basedon EMF and integrates the JastAdd meta-compilation system for specifying theexecutable semantics of the EMF models. The EMF models herein can be thetextual Xtext or the Eclipse Graphical Modeling Framework (GMF). However,JastEMF does not provide support for the hybrid modeling where the textualand visual representations can be used together on the same model. Melangefocuses essentially on extending and re-using the existing DSLs that are basedon EMF. So with Melange, it is actually possible to combine a textual DSL withanother graphical DSL for enabling the hybrid modeling.

Page 8: Meta-Modelleme Ara˘clar n n Uygulay c lar n …...meta-modeling tool’s capability of enabling the integration with other external tools for performing some useful facilities that

Table 5. The meta-modeling tools thatsupport the collaborative modelingDSL Tools

ConcurrentAccess

Work Offline

Metaedit+ Yes No

MPS Yes No

Sirius Yes Yes

Xtext No No

Graphiti No No

Spoofax No No

Diagen No No

AToMPM Yes No

Fujaba (E-Moflon) No No

VMTS No No

GEMS Yes No

GME No No

MS Visual Studio No No

MetaModelAgent No No

ConceptBase No No

MetaDepth No No

ADOXX No No

JastEMF No No

Melange No No

WebGME Yes No

Table 6. The meta-modeling tools thatsupport hybrid modelingDSL Tools

VisualNotation Set

TextualNotation Set

Metaedit+ Yes No

MPS Yes Yes

Sirius Yes Yes

Xtext No Yes

Graphiti Yes No

Spoofax No Yes

Diagen Yes No

AToMPM Yes Yes

Fujaba (E-Moflon) Yes No

VMTS Yes No

GEMS Yes No

GME Yes No

MS Visual Studio Yes No

MetaModelAgent Yes No

ConceptBase Yes No

MetaDepth No Yes

ADOXX Yes No

JastEMF Yes Yes

Melange Yes Yes

WebGME Yes No

3.6 Model Transformation

As in Table 7, most meta-modeling tools are supported with a transformationlanguage that enables for developing a translator which walks through the ab-stract syntax trees of the models created. Graphiti, Diagen, GEMS, MetaMod-elAgent, and ConceptBase are the tools that neglect the model transformation.

Table 7. The meta-modeling tools thatsupport model transformationDSL Tools Model Transformation

Metaedit+ MERL Metaedit Reporting Language

MPS A Generator Definition Language

Sirius Accelelo Query Language

Xtext Xtend Language

Graphiti No

Spoofax Statego Transformation Language

Diagen No

AToMPM HOT rules

Fujaba (E-Moflon) Triple Graph Grammar

VMTS API

GEMS No

GME Graph Rewriting

MS Visual Studio T4 Framework

MetaModelAgent No

ConceptBase No

MetaDepth Epsilon Languages

ADOXX AdoScript

JastEMF JastADD

Melange Xtend Language

WebGME JavaScript Language

Table 8. The meta-modeling tools thatsupport the tool integration

DSL Tools External Tool Integration

Metaedit+ASCII/XML/SOAP,Visual Studio, Simulink

MPS IntelliJ

Sirius Eclipse Xtext

Xtext GEF, Sirius, Graphiti

Graphiti No

Spoofax No

Diagen No

AToMPM No

Fujaba (E-Moflon) No

VMTS No

GEMS No

GME COM Components

MS Visual Studio No

MetaModelAgent No

ConceptBase No

MetaDepth No

ADOXX Vendor-specific tools and services

JastEMF Vendor-specific tools and services

Melange No

WebGME Vendor-specific tools and services

3.7 External Tool Integration

As Table 8 shows, 40% of the meta-modeling tools support the external tool inte-gration. Among them, Metaedit+ and MPS support the round-trip engineeringvia the external tools. Metaedit+ can be integrated with Visual Studio and MPS

Page 9: Meta-Modelleme Ara˘clar n n Uygulay c lar n …...meta-modeling tool’s capability of enabling the integration with other external tools for performing some useful facilities that

can be integrated with IntelliJ for synchronising the model with code. As afore-mentioned, Sirius can be integrated with Xtext to enable the development ofa hybrid modeling language. GME allows for writing plug-ins in any program-ming languages that support the COM standard. Lastly, ADOXX, JastEMF,and WebGME offer a set of built-in tools and services that can be integrated.

3.8 Community Support

As shown in Table 9, while most of the meta-modeling tools provide tutorials oruser-manuals, the rest of the requirements considered are not so popular. 60% ofthe meta-modeling tools provide e-mail addresses or mailing lists through whichthe users can get any help. The discussion platforms such as forum are even lesssupported. The least support has been provided for the training sessions andconsulting teams, supported by 4 DSL tools only.

3.9 Extensibility

As Table 10 shows, 40% of the DSL tools support extensibility. While some ofthose DSL tools allow users to develop their own extensions via an API support,some just offer pre-built extensions that can be plugged-in by the users. Notethat ADOXX and Melange are the exceptions herein. ADOXX supports makinga remote-call to the external services to be able to exploit their functionalities.Melange is essentially a language workbench that enables to design a new DSLby re-using the syntax and semantics of the existing DSLs and their tools.

Table 9. The meta-modeling tools thatprovide community supportDSL Tools

Tuto-rial

Forum E-mailUserman.

Trai-ning

Consul-tancy

Metaedit+ X X X X X X

MPS X X X X X X

Sirius X X X

Xtext X X X

Graphiti X X X

Spoofax X X X

Diagen X X X

AToMPM X X

Fujaba(E-Moflon)

X X

VMTS X X

GEMS X

GME X X X

MS VisualStudio

X X

MetaModel-Agent

X X X X X X

ConceptBase X X X X

MetaDepth X X X

ADOXX X X X X X X

JastEMF

Melange X X

WebGME X X

Table 10. The meta-modeling toolsthat support extensibility

DSL Tools Extensibility

Metaedit+ No

MPS User-defined

Sirius No

Xtext User-defined

Graphiti No

Spoofax No

Diagen No

AToMPM No

Fujaba (E-Moflon) No

VMTS Pre-build, user-defined

GEMS No

GME User-defined plug-in

MS Visual Studio Pre-built, user-defined

MetaModelAgent No

ConceptBase

MetaDepth No

ADOXX Call to external applications

JastEMF No

Melange Re-using existing DSLs

WebGME Pre-built

Page 10: Meta-Modelleme Ara˘clar n n Uygulay c lar n …...meta-modeling tool’s capability of enabling the integration with other external tools for performing some useful facilities that

3.10 Testability

The analysis results show that only MPS, Spoofax, and VMTS support testa-bility. While MPS and VMTS allow for testing the language definition, trans-formations, and editors, Spoofax allows for testing the language definition andtransformation only.

4 Related Work

While the literature includes some analytical studies for the meta-modeling tools,none of them consider as many meta-modeling tools as considered in this paper.Moreover, the existing analytical studies do not focus on some of the practicalrequirements that are considered in this paper, such as the hybrid modeling,collaboration, community support, web-access, and vendor lock-in.

In [9], the author analysed three meta-modeling tools for a set of requirementsincluding documentation support, abstract syntax, concrete syntax, and seman-tics. In [13], the author analysed the Microsoft meta-modeling tools (e.g., VisualStudio) and Eclipse-based meta-modeling tools for a set of requriements includ-ing the meta-modeling features, repository, graphical notation, model-to-modeltransformation, model-to-text transformation, and model validation. In [4], theauthor compared Eclipse GEF with Metaedit+ for their usabilities, e.g., thetime and effort needed to create DSLs, graphical meta-modeling, and separa-tion of concerns. In [3], the author analysed the code generation facilities of 10meta-modeling tools in terms of a set of requirements, which are the functionalrequirements, reliability, maintainability, extendibility, improvability, portabil-ity, usability, and financial saving. In [2], the authors analysed 5 meta-modelingtools via a case-study that focuses on creating a language and toolset for drawingBPMN diagram. The authors considered a set of requirements in their compar-isons including the graphical expressiveness & completeness, tool openness, andtool usability. In [5], the authors analysed 6 meta-modeling tools in terms oftheir support for a set of meta-modeling concepts. These concepts are objecttype, relationship type, role type, port type, model type, links to model types,attributes, inheritance, grouping, identification, and constraint language.

5 Conclusion

20 meta-modeling tools have been analysed in this paper for a set of require-ments that are believed to be important for practitioners: (i) vendor lock-in,(ii) web-access, (iii) collaborative modeling, (iv) model versioning, (v) hybridmodeling, (vi) model transformation (vii) external tool integration, (viii) com-munity support, (ix) extensibility, and (x) language testability. So, none of themeta-modeling tools fully support all those requirements at the same time.

60% of the meta-modeling tools require vendor lock-in and force practitionersto use the same meta-modeling tool for the (meta-)modeling activities. Concern-ing the rest, most are based on EMF and enable the (meta-)models created in

Page 11: Meta-Modelleme Ara˘clar n n Uygulay c lar n …...meta-modeling tool’s capability of enabling the integration with other external tools for performing some useful facilities that

one EMF-based tool to be used in another EMF-based tool to some extent. Whileweb-access is also a crucial requirement for avoiding the efforts on downloadingand installing any applications, most of the meta-modeling tools are available asdesktop applications only. Xtext, AToMPM, and WebGME are the only meta-modeling tools that can be accessed over web-browsers. Note that AToMPM mayfurther be accessed via the mobile applications. Just 6 meta-modeling tools sup-port the collaborative (meta-)modeling. While all these tools enable the simul-taneous access, the Sirius meta-modeling tool further supports the work-offlinefacility where practitioners do not need the internet connection to collaborate.Concerning the meta-model versioning, just 6 meta-modeling tools enable tokeep a repository of different versions of the meta-models. Managing differentversions, such as tracking, comparing, filtering, merging the versions, and secureversioning are not supported by all those 6 tools though. WebGME seems to bethe only meta-modeling tools that indeed supports the version management interms of all those requirements. Concerning the hybrid modeling support, whilemost of the meta-modeling tools support the graphical representations of thelanguage constructs, the textual representations are not that popular. Indeed,MPS, Sirius, AToMPM, and Melange are the only meta-modeling tools that sup-port both the graphical and textual representations of the language constructsthat can be used for modeling in a synchronised manner. Model transformation issupported by 75% of the meta-modeling tools considered, each of which providea generator definition language for practitioners to develop any code generatorsthat they need for mapping the models created in their DSLs. Concerning theexternal tool integration, Metaedit+ and MPS are the meta-modeling tools thatcan be integrated with the programming environments such as Visual Studio andIntelliJ so as to combine modeling and coding together. While a few other meta-modeling tools enable the user-defined and built-in tools to be integrated, mostof the meta-modeling tools considered ignore the external tool integration. Whilemost meta-modeling tools’ web-sites include tutorials, and some discussion plat-forms (e.g., forum, mailing list), just a few of them organise training sessions andprovide consultancies on the tool usage. These tools are Metaedit+, MPS, Meta-ModelAgent, and JastEMF. Concerning extensibility, 40% of the meta-modelingtools support extending the tools with some new requirements, and among them,VMTS and Visual Studio provide both ready-to-use and user-defined extensionplug-ins. The rest herein do not enable to define new extensions and ratheruse a pre-defined set. While testing the DSLs developed is highly importantfor checking the language definition, model editor, and model transformation forsome desired properties, MPS, Spoofax, and VMTS are the three meta-modelingtools that support the language testability at varying levels.

In the future, the goal is to extend this work with a comprehensive set ofrequirements for which the meta-modeling tools will be analysed. This can bepossible with a survey conducted on the practitioners or by following a well-established guidance on the meta-modeling tool requirements.

Page 12: Meta-Modelleme Ara˘clar n n Uygulay c lar n …...meta-modeling tool’s capability of enabling the integration with other external tools for performing some useful facilities that

References

1. Afonso, M., Vogel, R., Teixeira, J.: From code centric to model centric soft-ware engineering: Practical case study of mdd infusion in a systems integra-tion company. In: Proceedings of the Fourth Workshop on Model-Based De-velopment of Computer-Based Systems and Third International Workshop onModel-Based Methodologies for Pervasive and Embedded Software. pp. 125–134. MBD-MOMPES ’06, IEEE Computer Society, Washington, DC, USA(2006). https://doi.org/10.1109/MBD-MOMPES.2006.13, https://doi.org/10.

1109/MBD-MOMPES.2006.132. El Kouhen, A., Dumoulin, C., Gerard, S., Boulet, P.: Evaluation of Modeling

Tools Adaptation. Tech. rep. (Jan 2012), https://hal.archives-ouvertes.fr/

hal-007067013. Farooji, F.S.: Evaluation of code generation tools. Tech. rep., Stockholm, Sweden

(2014)4. Kelly, S.: Comparison of eclipse emf/gef and metaedit+ for dsm. In: Proceedings

of the 19th annual ACM conference on object-oriented programming, systems,languages, and applications, workshop on best practices for model driven softwaredevelopment (2004)

5. Kern, H., Hummel, A., Kuhne, S.: Towards a comparative analysis ofmeta-metamodels. In: Proceedings of the Compilation of the Co-locatedWorkshops on DSM’11, TMC’11, AGERE! 2011, AOOPES’11, NEAT’11, &VMIL’11. pp. 7–12. SPLASH ’11 Workshops, ACM, New York, NY, USA(2011). https://doi.org/10.1145/2095050.2095053, http://doi.acm.org/10.1145/2095050.2095053

6. Krueger, C.W.: Software reuse. ACM Comput. Surv. 24(2), 131–183 (Jun1992). https://doi.org/10.1145/130844.130856, http://doi.acm.org/10.1145/

130844.1308567. Ozkaya, M.: Do the informal & formal software modeling notations satisfy prac-

titioners for software architecture modeling? Information & Software Technology95, 15–33 (2018). https://doi.org/10.1016/j.infsof.2017.10.008, https://doi.org/10.1016/j.infsof.2017.10.008

8. Ozkaya, M.: Are the uml modeling tools powerful enough for practitioners? a liter-ature review. IET Software (May 2019), https://digital-library.theiet.org/content/journals/10.1049/iet-sen.2018.5409

9. Philip De Smedt: Comparing three graphical DSL editors: AToM3, MetaEdit+and Poseidon for DSLs. Tech. rep., University of Antwerp (2011), avail-able from http://msdl.cs.mcgill.ca/people/hv/teaching/MSBDesign/201011/

projects/Philip.DeSmedt/report/report_PhilipDeSmedt.pdf.10. Rajkumar, R., Lee, I., Sha, L., Stankovic, J.: Cyber-physical systems: The next

computing revolution. In: Design Automation Conference. pp. 731–736 (June2010). https://doi.org/10.1145/1837274.1837461

11. Schmidt, D.C.: Guest editor’s introduction: Model-driven engineering. Computer39(2), 25–31 (Feb 2006). https://doi.org/10.1109/MC.2006.58

12. Selic, B.: The pragmatics of model-driven development. IEEE Softw. 20(5), 19–25 (Sep 2003). https://doi.org/10.1109/MS.2003.1231146, https://doi.org/10.

1109/MS.2003.123114613. Turhan, O.: Comparison of Microsoft DSL Tools and Eclipse Modeling Frameworks

for Domain-Specific Modeling in the context of Model-Driven Development. mas-ters thesis, Department of Systems and Software Engineering, Blekinge Instituteof Technology