• Sonuç bulunamadı

Meta-Modelleme Ara¸clarının Uygulayıcıların ˙Ihtiya¸cları A¸cısından Analizi

N/A
N/A
Protected

Academic year: 2021

Share "Meta-Modelleme Ara¸clarının Uygulayıcıların ˙Ihtiya¸cları A¸cısından Analizi"

Copied!
12
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Meta-Modelleme Ara¸

clarının Uygulayıcıların

˙Ihtiya¸cları A¸cısından Analizi

Mert Ozkaya1 ve Deniz Akdur2

1

Yeditepe ¨Universitesi, Bilgisayar M¨uhendisli˘gi B¨ol¨um¨u, ˙Istanbul, T¨urkiye mozkaya@cse.yeditepe.edu.tr

2 Aselsan A.S¸., Ankara

denizakdur@aselsan.com.tr

¨

Ozet. G¨un¨um¨uzde uygulayıcıların alana-¨ozg¨u modelleme dili ve ilgili ara¸cları (modelleme edit¨or¨u ve kod d¨on¨u¸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¨u¸s¨und¨u˘g¨um¨uz bir k¨ume gerek-sinim a¸cısından analiz edilmi¸stir. Bu gereksinimler ¸s¨oyledir: (i) satıcı kilidi, (ii) web ¨uzerinden eri¸sim, (iii) i¸s-birli˘gi halinde modelleme, (iv) modellerden versiyonların olu¸sturulması, (v) hibrit modelleme, (vi) model d¨on¨u¸s¨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ıp kendileri i¸cin en uygun aracı se¸cmeleri konusunda fazlaca yardımcı olaca˘gı d¨u¸s¨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

(2)

Towards Analysing the Meta-Modeling Tools for

the Needs of Practitioners

Mert Ozkaya1 and Deniz Akdur2

1

Yeditepe University, Computer Engineering Department, Istanbul, Turkey mozkaya@cse.yeditepe.edu.tr

2 Aselsan A.S¸., Ankara

denizakdur@aselsan.com.tr

Abstract. Many meta-modeling tools have been available today for the use of practitioners and enabling them to develop domain-specific lan-guages (DSLs) and the necessary toolset (i.e., modeling editors and code generators) for performing the modeling activities in their domain. How-ever, it is not currently so easy for practitioners to compare the exist-ing meta-modelexist-ing tools for their practical needs and choose the most suitable one(s). So, in this paper, 20 different meta-modeling tools have been intended to be analysed for a number of requirements that are believed 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) community support, (ix) extensibility, and (x) language testability. The analysis re-sults reveal many important findings about the meta-modeling tools and will be expected to be very helpful for the practitioners in determining any meta-modeling tool(s) that best suit their needs for their language development. Also, the tool vendors may use the results to find out the weakness of the existing tools and improve them in the future.

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

1

Introduction

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

(3)

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

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

To create DSLs, the meta-modeling tools can be used. The meta-modeling tools 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 generator definition language, versioning, multi-user support, and language testability.

Many different meta-modeling tools are available for use by the language developers. However, the current literature on the meta-modeling tools suffers from a number of issues that prevent practitioners from determining the meta-modeling tools that best satisfy their expectations for the language development and 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 be analysed for a set of requirements that are believed to be highly important for the 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 search engine has been used and several keywords have been searched on google, in-cluding ”DSL tools”, ”meta-modeling tools”, ”meta-modeling languages”, ”DSL development”, ”language engineering”, and ”language engineering tools”. Also, the web-site of each meta-modeling tool has been checked to determine whether the 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 have been identified, whose details are given in Table 1. So, while some meta-modeling tools are provided with the installations on the Windows, MacOS, and Linux platforms, some tools are provided with the Eclipse update-site and run on the Eclipse platform only. Also, most of the meta-modeling tools are open-source and 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 are to be analysed, we used the results of our recent empirical researches that focus on 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

(4)

industry and involvement in many research projects concerning both academia and 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 DSLs

Meta-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.org Eclipse 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’s capability of getting the DSLs to be produced that can be used independently from the meta-modeling tool. By doing so, the DSLs may also be imported into some other meta-modeling tools that also suit the needs of practitioners and practitioners 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 for downloading and installing any applications. So, practitioners may perform their meta-modeling activities or use any DSLs for modeling over internet.

Collaborative Modeling. Collaborative modeling is considered in terms of concurrent meta-modeling and working offline. Concurrent meta-modeling is to do with allowing multiple users to work on the same meta-model (or DSL for modeling) simultaneously. Working offline is to do with multiple users modifying the same meta-model (or model via DSL) offline and getting their changes to be reflected once connected to the internet automatically.

Model Versioning. Model versioning is concerned with the meta-modeling tool’s capability of storing and managing different versions of the meta-models or the models created with the DSLs of that meta-modeling tool. The version-ing support is considered in terms of the followversion-ing requirements: (i) repository support, (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-modeling tool’s capability of enabling the textual and visual representations of the

(5)

lan-guage constructs that can be used together in a synchronised manner for the hybrid 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 the meta-modeling tool’s capability of enabling the integration with other external tools 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 that can be useful for the users in learning and using the meta-modeling tools. The community 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 practitioners need in their domain such as the model analysis, versioning, multi-user support, code-generation, etc.

Language Testability. Testability is concerned with the meta-modeling tool’s capability of testing the DSLs created via the meta-modeling tool and checking their correctness. Testability is considered in terms of the (i) language definition (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 for each requirement considered are discussed separately. The entire analysis results can 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-in and 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 few tools (Sirius, Xtext, Graphiti, GEMS, JastEMF, and Melange) are based on the Eclipse’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 tools that support EMF. Also, Metaedit+ and ADOXX export models and meta-models of the languages in the XML format; so, any tools that accept XML can process 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

(6)

Table 2. The meta-modeling tools with vendor lock-in support

DSL 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 that are accessible over internet

DSL 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 herein provides the most comprehensive support, enabling the users to access the modeling tool via browser, terminal-based client, and smartphones for the meta-modeling and meta-modeling. WebGME and Xtext enable the browser-access for the meta-modeling and modeling activities. MetaModelAgent however supports browsers basically for communicating the models created over internet without allowing for accessing and editing the meta-models.

Table 4. The meta-modeling tools that support model versioning

DSL Tools Repository TrackingVersions ComparingVersions FilteringVersions MergingVersionsSecure Versioning Metaedit+ GIT, SVN,Server-based RepositoryYes Yes Yes No No

MPS GIT Yes Yes No Yes No

Sirius GIT, CVS, SVN,CDO-based Repository Yes Yes No Yes Authentication 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

(7)

3.3 Model Versioning

As Table 4 shows, Metaedit+, MPS, Sirius, GME, and WebGME support the versioning of the meta-models of the DSLs and the models specified using the DSLs. 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, other important 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 model versions. While Sirius itself does not support versioning, the ObeoDesigner tool developed by the Obeo company for Sirius supports various external version-ing tools (i.e., GIT, CVS, and SVN) and a server-based repository that enables other useful operations including tracking, comparing, and merging versions. Also, ObeoDesigner supports the authentication and secure data-access for the model versions. GME supports a server-based repository for storing and access-ing the model versions. WebGME (i.e., the extension of GME) provides more comprehensive support, offering a cloud-based repository system that allows for tracking, comparing, and merging versions and their authenticated access.

3.4 Collaborative Modeling

As in Table 5, Metaedit+, MPS, Sirius, GEMS, and WebGME are the only meta-modeling tools that support collaboration. Metaedit+, MPS, GEMS, and WebGME allow for the concurrent access only. Sirius essentially supports both concurrent 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-modeling tools that support the hybrid modeling. MPS focuses on storing the abstract syntax tree (AST) of a model created, and those ASTs can be accessed via the projectional editors that use any projections defined over ASTs (i.e., the textual or visual representations of the ASTs). Sirius supports the integration with the Xtext meta-modeling tool. While Sirius is a graphical meta-modeling tool, Xtext is a textual one. Also, both of them are Eclipse frameworks that are based on EMF. So, when they are integrated, the resulting meta-modeling tool can be used for defining a language for hybrid modeling. JastEMF is also based on EMF and integrates the JastAdd meta-compilation system for specifying the executable semantics of the EMF models. The EMF models herein can be the textual Xtext or the Eclipse Graphical Modeling Framework (GMF). However, JastEMF does not provide support for the hybrid modeling where the textual and visual representations can be used together on the same model. Melange focuses essentially on extending and re-using the existing DSLs that are based on EMF. So with Melange, it is actually possible to combine a textual DSL with another graphical DSL for enabling the hybrid modeling.

(8)

Table 5. The meta-modeling tools that support the collaborative modeling

DSL 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 that support hybrid modeling

DSL Tools VisualNotation SetTextualNotation 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 transformation language 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 that support model transformation

DSL 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 that support 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 engineering via the external tools. Metaedit+ can be integrated with Visual Studio and MPS

(9)

can be integrated with IntelliJ for synchronising the model with code. As afore-mentioned, Sirius can be integrated with Xtext to enable the development of a 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 or user-manuals, the rest of the requirements considered are not so popular. 60% of the meta-modeling tools provide e-mail addresses or mailing lists through which the users can get any help. The discussion platforms such as forum are even less supported. The least support has been provided for the training sessions and consulting teams, supported by 4 DSL tools only.

3.9 Extensibility

As Table 10 shows, 40% of the DSL tools support extensibility. While some of those 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. Note that ADOXX and Melange are the exceptions herein. ADOXX supports making a 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 DSL by re-using the syntax and semantics of the existing DSLs and their tools.

Table 9. The meta-modeling tools that provide community support

DSL 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 Visual Studio 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 tools that 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

(10)

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 and transformation 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 practical requirements 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 requirements including documentation support, abstract syntax, concrete syntax, and seman-tics. In [13], the author analysed the Microsoft meta-modeling tools (e.g., Visual Studio) and Eclipse-based meta-modeling tools for a set of requriements includ-ing the meta-modelinclud-ing features, repository, graphical notation, model-to-model transformation, model-to-text transformation, and model validation. In [4], the author compared Eclipse GEF with Metaedit+ for their usabilities, e.g., the time and effort needed to create DSLs, graphical meta-modeling, and separa-tion of concerns. In [3], the author analysed the code generasepara-tion facilities of 10 meta-modeling tools in terms of a set of requirements, which are the functional requirements, reliability, maintainability, extendibility, improvability, portabil-ity, usabilportabil-ity, and financial saving. In [2], the authors analysed 5 meta-modeling tools via a case-study that focuses on creating a language and toolset for drawing BPMN diagram. The authors considered a set of requirements in their compar-isons including the graphical expressiveness & completeness, tool openness, and tool usability. In [5], the authors analysed 6 meta-modeling tools in terms of their support for a set of meta-modeling concepts. These concepts are object type, 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) hybrid modeling, (vi) model transformation (vii) external tool integration, (viii) com-munity support, (ix) extensibility, and (x) language testability. So, none of the meta-modeling tools fully support all those requirements at the same time.

60% of the meta-modeling tools require vendor lock-in and force practitioners to 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

(11)

one EMF-based tool to be used in another EMF-based tool to some extent. While web-access is also a crucial requirement for avoiding the efforts on downloading and installing any applications, most of the meta-modeling tools are available as desktop applications only. Xtext, AToMPM, and WebGME are the only meta-modeling tools that can be accessed over web-browsers. Note that AToMPM may further 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-offline facility where practitioners do not need the internet connection to collaborate. Concerning the meta-model versioning, just 6 meta-modeling tools enable to keep a repository of different versions of the meta-models. Managing different versions, such as tracking, comparing, filtering, merging the versions, and secure versioning are not supported by all those 6 tools though. WebGME seems to be the only meta-modeling tools that indeed supports the version management in terms of all those requirements. Concerning the hybrid modeling support, while most of the meta-modeling tools support the graphical representations of the language 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 constructs that can be used for modeling in a synchronised manner. Model transformation is supported by 75% of the meta-modeling tools considered, each of which provide a generator definition language for practitioners to develop any code generators that they need for mapping the models created in their DSLs. Concerning the external tool integration, Metaedit+ and MPS are the meta-modeling tools that can be integrated with the programming environments such as Visual Studio and IntelliJ 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, most of the meta-modeling tools considered ignore the external tool integration. While most 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 and provide consultancies on the tool usage. These tools are Metaedit+, MPS, Meta-ModelAgent, and JastEMF. Concerning extensibility, 40% of the meta-modeling tools support extending the tools with some new requirements, and among them, VMTS and Visual Studio provide both ready-to-use and user-defined extension plug-ins. The rest herein do not enable to define new extensions and rather use a pre-defined set. While testing the DSLs developed is highly important for checking the language definition, model editor, and model transformation for some desired properties, MPS, Spoofax, and VMTS are the three meta-modeling tools that support the language testability at varying levels.

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

(12)

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 on Model-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.13

2. El Kouhen, A., Dumoulin, C., G´erard, S., Boulet, P.: Evaluation of Modeling Tools Adaptation. Tech. rep. (Jan 2012), https://hal.archives-ouvertes.fr/ hal-00706701

3. 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 software development (2004)

5. Kern, H., Hummel, A., K¨uhne, S.: Towards a comparative analysis of meta-metamodels. In: Proceedings of the Compilation of the Co-located Workshops 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 (Jun 1992). https://doi.org/10.1145/130844.130856, http://doi.acm.org/10.1145/ 130844.130856

7. Ozkaya, M.: Do the informal & formal software modeling notations satisfy prac-titioners for software architecture modeling? Information & Software Technology 95, 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 (June 2010). https://doi.org/10.1145/1837274.1837461

11. Schmidt, D.C.: Guest editor’s introduction: Model-driven engineering. Computer 39(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.1231146

13. 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 Institute of Technology

Şekil

Table 1. The meta-modeling tools for creating DSLs
Table 2. The meta-modeling tools with vendor lock-in support
Table 7. The meta-modeling tools that support model transformation
Table 9. The meta-modeling tools that provide community support

Referanslar

Benzer Belgeler

Örneğin, 1200 ışık yılı (bir ışık yılı yaklaşık 10 trilyon km’dir) uzaklıktaki Orion Bulutsusu gökyüzünde Ay’dan biraz büyük görünür.. Ama gerçekte 25

Peng ve arkadaşları, Rumelt, Schendel, ve Teece’in 1994 yılında yaptıkları çalışmada stratejik yönetim disiplini için saptadığı dört temel soruya

Semih eserlerinde sembolleri kullanmayı genel olarak Filistin halkının, özel olarak da kendisinin karşılaştığı baskılar, zulümler ve sürgünleri ifade etmek

In order to write data to EEPROM location, programmer must first write address to EEADR register and data to EEDATA register. Only then is it useful to set WR bit which sets the

Begum, Rehmani (1985) wrote a book entitled, "Sir Syed Ahmad Khan: The PoHtics of Educational Reform".''s in her book, she gave a detailed account of political conditions

I also declare that, as required by these rules and conduct, I have fully cited and referenced all material and results that are not original to this work.. Name, Last name :

Each paper should have a title page (cover page) where the title of the paper, name of the student, student number and the date of submission is indicated.. The essay can be

Ve geceleri Yağmur uyuduktan sonra Türkan Şoray ile Cihan Ünal tıpkı filmlerinde olduğu gibi aşk do­ lu