<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Modeling as a Service: A Survey of Existing Tools</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Saheed Popoola Jeffrey Carver Jeff Gray Department of Computer Science University of Alabama</institution>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>-Modeling tools are needed to deliver the promises of Model-Driven Engineering, which include reduced development time and enhanced software quality. However, users must typically install these tools locally. The tools often have complex configurations and inter-dependency requirements that discourage non-technical users or novices from adopting such tools. The local installation also hampers collaborative modeling and reuse of modeling artifacts. A solution to these challenges is to deliver modeling functionality as a service. In this paper, we present a survey of current tools that deliver modeling functionality as service. We analyzed various approaches used to develop existing tools and the functionalities exhibited by them. The results of our review show that support for collaboration and domain-specific modeling are the dominant features exhibited by the tools, but collaboration is the major feature that drives tool adoption. The paper concludes by proposing future research directions that can facilitate the wider adoption of modeling as a service.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>Model-Driven Engineering (MDE) is an approach to
software engineering whereby models are used as first-class
artifacts throughout the stages of software development. This
elevation of models to first-class entities makes it easy to focus
on the problem space rather than the underlying computing
environment, thereby reducing development time. MDE also
enhances code reusability by providing support for capabilities
such as automated code generation and model transformations.</p>
      <p>
        In order to achieve the benefits of MDE, tools are needed
for manipulating models. Many frameworks and tools such as
ATL [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ], Epsilon [
        <xref ref-type="bibr" rid="ref35">35</xref>
        ] and GEMOC [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], have been developed
to support a wide range of model management activities.
However, MDE is yet to be widely adopted due to two major
reasons: First, most modeling tools are usually deployed as
software packages that need to be installed locally. These
tools often have complex configurations and inter-dependency
requirements that may discourage a novice from adopting such
tools [
        <xref ref-type="bibr" rid="ref44">44</xref>
        ], [
        <xref ref-type="bibr" rid="ref54">54</xref>
        ]. Second, the support for reuse of existing
modeling artifacts and interoperability among existing tools is
limited; hence, developers usually build similar modeling tools
from scratch [
        <xref ref-type="bibr" rid="ref39">39</xref>
        ]. A potential solution toward tackling these
challenges is to develop modeling tools and frameworks to
follow the software-as-a-service paradigm. A service-oriented
modeling platform can offer a more transparent solution to the
reusablity and interoperability challenges by defining bridges
across multiple platforms as services that can be executed on
demand [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>The goal of this paper is to present an analysis of current
tools from the literature that offer modeling (within MDE) as
a service (MaaS). Figure 1 shows a typical modeling platform
that offers its functionalities as a service. In this study, the aim
is to answer the following research questions with respect to
modeling tools that offer their functionalities as a service:</p>
      <p>RQ1: What are the common features and functionalities
exhibited by the tools?</p>
      <p>RQ2: How important are these features towards the
adoption of the tools?</p>
      <p>RQ3: What future research is needed to facilitate the
adoption of the tools?</p>
    </sec>
    <sec id="sec-2">
      <title>II. BACKGROUND This section presents a brief introduction to related terms that are used throughout this paper.</title>
      <sec id="sec-2-1">
        <title>A. Cloud computing</title>
        <p>
          The National Institute of Standards and Technology (NIST)
defines cloud computing as “a model for enabling ubiquitous,
convenient, on-demand network access to a shared pool of
configurable computing resources (e.g., networks, servers, storage,
applications, and services) that can be rapidly provisioned
and released with minimal management effort or service
provider interaction” [
          <xref ref-type="bibr" rid="ref43">43</xref>
          ]. Cloud computing is projected to
be a disruptive technology to the IT industry, and numerous
surveys show an increasing adoption of the cloud, including
the migration of numerous software to the cloud [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ], [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ].
A lot of studies have been conducted as exemplified by the
multiple literature reviews in the field [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ], [
          <xref ref-type="bibr" rid="ref46">46</xref>
          ].
        </p>
        <p>
          Currently, there are many cloud platforms such as Amazon
Web Services, Google Cloud Platform, and Microsoft Azure,
that offer many services ranging from online storage to
operational software applications. These services can be grouped
into three main categories [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]:
        </p>
        <p>Infrastructure as a Service (IaaS): This involves offering
hardware-related components as services, e.g., virtual
storage services. A good example is Amazon S31.
Platform as a Service (PaaS): This involves offering
development platforms, where cloud applications can run
as a service. An example is Microsoft Azure2.</p>
        <p>
          Software as a Service (SaaS): This offers a complete,
ready-to-use software application as a service. This is the
most common category of cloud services and examples
of SaaS applications include Gmail, Google docs, and
Eclipse Che [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ].
        </p>
        <p>Further explanations on the SaaS category is provided in the
next section because it is the most relevant to this work.
B. Software as a Service</p>
        <p>
          “Software as a Service (SaaS)” is an approach whereby
software is stored remotely (e.g., on the cloud) and its capabilities
are accessed via a set of APIs (i.e., as services). The underlying
infrastructure, platform and software requirements/details are
hidden from the users. Recently, there has been a gradual
migration of software platforms and tools to the cloud. Several
cloud-based alternatives for traditional desktop-based software
tools are now available (for example, [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]). The benefits of
the software-as-a-service paradigm include efficient cost
policies, minimal setup configurations, and reduced maintenance
efforts. SaaS also enhances reuse of software artifacts because
they are now stored on the cloud and may be accessed publicly
via the internet.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>III. RELATED WORK</title>
      <p>
        A number of surveys and literature reviews have been
conducted in the area of cloud computing, software as a service
and software modeling. Ramollari et al. conducted a survey
on methodologies that are used in service-oriented computing
[
        <xref ref-type="bibr" rid="ref47">47</xref>
        ]. They compared some existing methodologies against
prominent features service-oriented software are expected to
have. Patidar et al. and Ahmed et al. classified current
technologies and tools based on how they are used [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], [
        <xref ref-type="bibr" rid="ref46">46</xref>
        ]. Zhou
et al. focused on the different services that are available on the
cloud [
        <xref ref-type="bibr" rid="ref55">55</xref>
        ], while Gray et al. gave a brief overview of current
MaaS tools [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ]. The study most similar to the one conducted
in this paper was the survey on MaaS architectures by Cayirci
et al. [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]; however, they focus more on the possible risks
and challenges associated with the deployment of modeling
operations as a service. None of these works have conducted
an extensive review of the existing tools and technologies that
deliver software modeling functionalities as a service.
1https://aws.amazon.com/s3/
2https://azure.microsoft.com
      </p>
    </sec>
    <sec id="sec-4">
      <title>IV. RESEARCH METHODOLOGY</title>
      <p>For this study, we used four research databases — Google
Scholar, Scopus, SpringerLink, and IEEE Explore – to extract
relevant papers and tools on modeling as a service. We used
the key words — (“software modeling” OR “modeling”) AND
(“services” OR “cloud”) — for the search. By manually
reading through the paper (or abstract in some cases), we were
able to identify relevant papers for this study. We selected
papers that deal with how modeling tools or activities can be
delivered as a service and we eliminated others (e.g., those
dealing with how to model services on the cloud). We then
searched through the references of the identified papers to
extract additional papers that we might have missed. Due to the
number of papers available, we decided to focus on tools that
support at least one of the core MDE functionalities, such as
code generation from models and/or automated transformation
of models from one form to another.</p>
      <p>To answer the first research question on the features
exhibited by selected tools, we examined the relevant features
mentioned by the paper that describes a tool, and other
features affirmed by other papers that referenced the tool.
For the second and third research questions on the features
contribution to a tools adoption and future research areas, we
answered these questions based on the information we were
able to extract from the papers cited in Sections VIII and IX.</p>
    </sec>
    <sec id="sec-5">
      <title>V. APPROACHES TO DEPLOYING</title>
      <p>MODELING AS A SERVICE</p>
      <p>
        Two main approaches were observed in deploying modeling
as a service. They are client-server and cloud approaches [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>
        Client-Server: In this approach, the modeling platform is
installed on a local server and its capabilities are accessed
by the clients connected to the server. The number of
users is limited to the clients connected to the server and
this approach still requires a form of installation on the
local server. However, it allows for flexibility and easy
customization [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ]. This approach was implemented in
AToMPM [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], ModelBus [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ], and DSLforge [
        <xref ref-type="bibr" rid="ref40">40</xref>
        ].
Cloud: This approach fully explores the benefits of
modeling as a service. It is accessed on the web via the
internet and does not require any form of installation.
Its functionalities can be programmatically accessed as
a service via a set of APIs or through a web browser
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. This is the most common approach and it was used
in GenMyModel [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], WebGME [
        <xref ref-type="bibr" rid="ref42">42</xref>
        ], CLOOCA [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ],
MORSE [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ] and MDEForge [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
    </sec>
    <sec id="sec-6">
      <title>VI. MODELING AS A SERVICE (MAAS) TOOLS This section gives a brief overview of selected software modeling frameworks that deliver modeling functionalities (within MDE) as a service.</title>
      <p>
        GenMyModel is an online modeling platform that
currently supports 7 modeling formats including UML,
Flowcharts, and Ecore. It also offers capabilities for
customized formats. The main focus is on collaboration and
the ability to work simultaneously with many developers.
Hence, it provides mechanisms for conflict management
and change awareness. It also provides a public repository
of models to facilitate searching and reuse of public
projects. A flexible pricing model is adopted where users
can access the service for free if the project is public, but
monthly subscriptions are required for private projects.
However, GenMyModel limits the user to their own UML
tools and a limited set of modeling languages [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ].
WebGME is a scalable web and cloud based tool for
collaborative design and synthesis of domain-specific
modeling tools and associated models. The main target of
the tool is large-scale complex information systems. Its
capabilities can be accessed via a web-based client or a
set of APIs. It supports model version control and
objectoriented concepts such as composition and inheritance.
The tool supports model versioning, inheritance and
composition by creating a copy of the model (as a child)
and establishing dependency links between the parent and
child copy so that changes are easily propagated. This
duplication of models makes the framework cumbersome,
but it also helps the modeller to handle the inherent
complexities of large models [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ], [
        <xref ref-type="bibr" rid="ref42">42</xref>
        ].
      </p>
      <p>
        CLOOCA is a platform for developing domain-specific
modeling languages and the necessary code generators.
The tool adopts a client-server architecture whereby the
models are stored on the server and clients can access
the models via a JavaScript-enabled web browser. The
client side consists of two main parts — an editor and
a workbench. The workbench allows for diagrammatical
creation of modeling languages and their code generators,
while the editors make it easy to modify an existing
language [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ].
      </p>
      <p>
        AToMPM is a collaborative platform that provides a
multi-view mechanism for multiple users that are
working simultaneously on the same models. It supports
the design of modeling language environments, model
transformations and general model management. The
tool’s architecture consists of a front-end server,
backend server and the clients. The front-end server receives
the clients’ requests, and then forwards the request to
the appropriate destination in the back-end server. The
front-end server is used as a scalable routing system for
managing incoming messages so that the back-end server
only sees a single client irrespective of the number of
users. This 2-server architecture ensures consistency and
efficient change propagation [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>
        Morse framework provides a central model repository
environment for managing and storing modeling artifacts.
Each model and model element in the repository is
assigned a unique identifier. The capabilities of these
models can be accessed via a set of services that contain
references to the model that created them, which makes
the services aware of the models. The framework links
each service with its related models via the models’
identifiers. The repository supports versioning, merging,
branching, tagging and sharing of modeling artifacts
across multiple projects. The framework also supports
heterogeneous platforms by abstracting the underlying
technologies, thereby making it easy to focus on the
projects at runtime [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ].
      </p>
      <p>
        MDEForge is a modular and extensible model repository
that can be used to store diverse modeling artifacts. Four
main services are provided by the tool; namely, model,
metamodel, transformation and editor services. These
services are also easy to extend or customize [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
Modelbus is a framework that extends web-service
interfaces to provide modeling services. Its main goal is
to add model awareness to service-oriented systems. It
contains a model repository, which is the central point of
the framework. A user can reference or manipulate the
models that are stored in the repository via each model’s
unique URL. The framework uses a notification system
to propagate changes across the models. The framework
also supports model versioning, model merging, and
distributed model management operations, in a scalable
and consistent manner [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ].
      </p>
      <p>
        DSLforge is a framework that can be used to generate
online textual models (for example, language grammars)
and domain-specific languages. It is useful for producing
extensible online editors that can be used to create
transformations for diverse models [
        <xref ref-type="bibr" rid="ref40">40</xref>
        ].
      </p>
      <p>
        Table I gives a summary of these tools, the format in which
the models are stored (persistence) and whether they can be
easily extended. It is important that models should be stored
(persisted) in a way that makes it easy to execute modeling
operations on the models and also makes the tool compatible
to a wide range of modeling formats [
        <xref ref-type="bibr" rid="ref38">38</xref>
        ]. A good modeling
framework should also be extensible. The framework should
contain a set of reusable services that are abstract enough, so
that it becomes easy to extend the framework’s capabilities
and adapt the framework to a wide range of functionalities
[
        <xref ref-type="bibr" rid="ref45">45</xref>
        ].
      </p>
      <p>1Industrial (I) or Academic (A)
2Graphical (G) or Textual (T)</p>
    </sec>
    <sec id="sec-7">
      <title>VII. FEATURES IN EXISTING MAAS TOOLS</title>
      <p>This section answers the first research question: “Which
Features are present in existing tools”? Section VI showed that
current tools offer diverse functionalities. We have synthesized
these functionalities to extract the most common features that
are related to modeling or service-oriented computing. Eight
main features were exhibited by many of the tools and they
are listed throughout this section.</p>
      <p>
        Multi-View Based modeling: Since modeling is usually
done at different levels of abstractions depending on its
intended purpose, it is essential that a modeling platform
should be able to support multiple views of the same system at
different levels of abstraction [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. This feature is present
in AToMPM, GenMyModel, and WebGME while other tools
do not support this feature.
      </p>
      <p>
        Collaboration: This allows teams of technical and
nontechnical stakeholders to work together and brainstorm on
possible solutions to the problem space [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], [
        <xref ref-type="bibr" rid="ref52">52</xref>
        ].
Traditional modeling tools inhibit this functionality because
they are typically desktop based; hence, this feature is a good
validation of delivering modeling capabilities as a service. All
the tools under study except CLOOCA provide support for
collaboration. Furthermore, many of the tools also support
real-time collaboration in varying degrees of granularity. Tools
like GenMyModel and AToMPM have a very high level of
granularity and ensure that only the model element that is
being edited is locked, while other parts of the same model
can be edited concurrently [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>
        Code Generation: This is the ability to automatically
generate code from models. This helps to bridge the gap
between modeling and programming, and makes it easy to
programmatically manipulate models and other modeling
artefacts [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ]. GenMyModel, AToMPM, and MDEForge, offer
built-in code generators and they also support customized
generators, while CLOOCA and Morse only support built-in
code generators. Other tools do not support this feature.
      </p>
      <p>
        Model Versioning and Model Merging: Model versioning
makes it easy to store and relate different versions of the same
model, while model merging is the combination of two or
more models with similar or different structures [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ]. The
implementation of these features is inherently complex due
to the high level of inter-connection among elements in a
model [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ]. Therefore, only four tools support either model
versioning or model merging.
      </p>
      <sec id="sec-7-1">
        <title>Domain-Specific modeling Language: This is the ability</title>
        <p>
          to support the development of new modeling languages [
          <xref ref-type="bibr" rid="ref42">42</xref>
          ].
This feature will make it easy to adapt the framework for
different purposes [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]. This is one of the most common
feature exhibited by the tools and it is supported by all of
the tools except GenMyModel.
        </p>
      </sec>
      <sec id="sec-7-2">
        <title>Model-to-Model Transformation: This is the ability to</title>
        <p>
          transform a model from one form to another and it is one
of the most common activity in MDE [
          <xref ref-type="bibr" rid="ref49">49</xref>
          ]. A viable tool for
MDE should support this functionality. However, more than
half of the tools under study do not support model-to-model
transformation.
        </p>
        <p>
          Heterogeneity and Tools Interoperability: For a wider
adoption, it is necessary that a tool should be able to support
a wide range of modeling artifacts that are stored in diverse
formats [
          <xref ref-type="bibr" rid="ref45">45</xref>
          ]. Support for heterogeneity may be achieved by
storing modeling artifacts in a central repository and allowing
access to them using standardized APIs [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ]. It is also
important that the tools should be easy to integrate with other tools
[
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] (for example, backup data to Google drive).
        </p>
        <p>
          Scalability: This is the ability to support large models
(for example, models with millions of elements) without a
significant impact on the tool’s performance. This feature is
important in determining whether a tool will be useful in an
industrial context and it has been one of the major challenges
associated with modeling in general [
          <xref ref-type="bibr" rid="ref37">37</xref>
          ], [
          <xref ref-type="bibr" rid="ref38">38</xref>
          ]. The computing
power available in the cloud is expected to mitigate the
challenges of scalability in modeling [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. Although minimal
research has been done to assess the performance of current
tools in handling large models, scalability was mentioned as
an important feature in GenMyModel [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ], Modelbus [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ],
DSLforge [
          <xref ref-type="bibr" rid="ref40">40</xref>
          ], and WebGME [
          <xref ref-type="bibr" rid="ref42">42</xref>
          ].
        </p>
        <p>Table II gives a summary of the the functionalities offered
by each tool, while Table III shows the number of tools that
support each feature. It can be observed that collaboration and
domain-specific modeling languages have the most support
across the frameworks.</p>
        <p>VIII. FEATURES THAT CONTRIBUTE SIGNIFICANTLY TO</p>
        <p>THE ADOPTION OF MAAS TOOLS</p>
        <p>
          This section answers the second research question: “How
relevant are these features towards the adoption of current
tools”? Section VII gave a concise list of features that are
present in existing tools. However, we do not know the
contribution of these features to the adoption of the tools or if
they are even necessary. A lot of features might make a tool
cumbersome while lack of essential features is likely to affect
its usability [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ].
        </p>
        <p>Limited statistical data is available on the number of users
adopting the tools. Hence, there is little evidence to measure
the impact of each feature on the adoption of the tools.
However, three features that seem to have a significant effect
on the adoption of these tools are highlighted below.</p>
        <p>
          Collaboration: This is likely to be the most important
feature driving the adoption of service-oriented modeling
tools. Software development has become a collaborative
activity due to the increasing complexity of software and software
modeling is no exception [
          <xref ref-type="bibr" rid="ref52">52</xref>
          ]. Dirix et al. reported that
it was the most demanded feature during the development
stage of GenMyModel [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ]. We also noticed that most of
the commercial modeling tools, including those that are not
included in this paper such as LucidChart3, and creately4,
support collaboration [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ], [
          <xref ref-type="bibr" rid="ref52">52</xref>
          ].
        </p>
        <p>
          Tool Integration: Developers and users of the tools store
models in different formats, and often deal with diverse
frameworks and technologies. Therefore, the users often need
to reuse data from an external tool [
          <xref ref-type="bibr" rid="ref45">45</xref>
          ]; hence, one of
the main factors for adoption is a tool’s ability to integrate
seamlessly with other tools, for example, support for data
stored in Microsoft Excel or Google sheets, and integration
with versioning systems such as GitHub [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
        </p>
        <p>
          Scalability: A common theme among the commercial
tools is the ability to support large models with thousands
of model element [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ]. The prevailing support for scalability
across commercial tools is a strong sign that the feature is
important for the adoption of these tools. The importance
of this feature is corroborated by the fact that the need for
scalability is well-established even in traditional desktop-based
modeling tools [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], [
          <xref ref-type="bibr" rid="ref37">37</xref>
          ].
        </p>
        <p>In summary, even though there is limited statistical data to
measure the contribution of each feature to a tool’s adoption
rate; support for collaboration, scalability, and seamless
integration with other tools, are essential to the success of a tool.</p>
        <p>IX. ADDITIONAL FEATURES THAT CAN ENHANCE THE</p>
        <p>ADOPTION OF MAAS TOOLS</p>
        <p>
          In order to answer the third research question that deals with
future research directions, we compared the functionalities
3https://www.lucidchart.com/
4https://www.creately.com/
exhibited by current tools with essential features expected from
a modeling or cloud-based tool [
          <xref ref-type="bibr" rid="ref45">45</xref>
          ], [
          <xref ref-type="bibr" rid="ref55">55</xref>
          ].
        </p>
        <p>
          Support for Sketches: Most tools support modeling using
a standard modeling language such as UML. However, a
number of works have highlighted the importance of sketches
during a brainstorming section, and during the design and
analysis phase of software development [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ], [
          <xref ref-type="bibr" rid="ref41">41</xref>
          ]. Since
modeling also takes place during the design and analysis
phase, tool support for sketching or handwriting models is
likely to increase the adoption of a tool. Automated model
management operations such as code generation may also be
realized from these sketches.
        </p>
        <p>
          Security and privacy: A major concern for any
cloudbased platform is security and privacy [
          <xref ref-type="bibr" rid="ref56">56</xref>
          ]. It is necessary to
design appropriate means of preventing unauthorized access.
The privacy of the users’ data and proper attribution of a
modeling artifact to its owner, is vital to boosting user’s
confidence in adopting a tool [
          <xref ref-type="bibr" rid="ref55">55</xref>
          ].
        </p>
        <p>
          Model persistence: Most modeling frameworks store
models in XMI. While XMI is a good standard for model
persistence because it is able to support a wide range of
formats, it is not implemented consistently across different
platforms; thereby, making it hard to share models across
different vendors [
          <xref ref-type="bibr" rid="ref53">53</xref>
          ]. Furthermore, XMI is also verbose and
may impact performance negatively [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
        </p>
      </sec>
      <sec id="sec-7-3">
        <title>Opportunities for Reverse Engineering: The advent of</title>
        <p>
          large open-source projects and public repositories have
increased the importance of reverse engineering [
          <xref ref-type="bibr" rid="ref48">48</xref>
          ]. A lot of
MDE-based frameworks have been used to extract structural
and behavioural information from source code. These
frameworks usually produce visual models to aid code
comprehension and gain useful insights to decisions made during the
design of the software [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. A potential usefulness of MaaS
is to develop capabilities to scan through online repositories
and generate appropriate models without having to download
the source code locally on a machine.
        </p>
      </sec>
      <sec id="sec-7-4">
        <title>Incentives to share models: A major advantage of deliv</title>
        <p>
          ering modeling capabilities as a service is the opportunity to
share and reuse modeling artifacts. However, it is necessary
to encourage developers to publicly share their models online.
A common paradigm is to offer free modeling services for
developers with publicly available models [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ]. However, more
work is needed in terms of copyright and proper attribution of
modeling artifacts to the original developer(s) [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ].
        </p>
      </sec>
      <sec id="sec-7-5">
        <title>Collaboration as a social activity: Collaborative software</title>
        <p>
          development is a social activity where developers need to
communicate, send emails, and share ideas [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. Hence, the
addition of social features such as group messaging, will likely
enhance the adoption of these tools [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], [
          <xref ref-type="bibr" rid="ref50">50</xref>
          ].
        </p>
        <p>
          Pricing model: Much has not been done on viable pricing
models for MaaS. Yet, a viable source of revenue is important
to ensure sustainability of the platforms due to recurrent costs
such as hosting and platform maintenance fees. These costs are
usually not incurred in traditional desktop-based tools, because
the user directly bears the cost for the underlying computing
infrastructure and maintenance. However, care should be taken
to ensure that the pricing model is not a barrier to users’
adoption of the tool [
          <xref ref-type="bibr" rid="ref55">55</xref>
          ].
        </p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>X. FURTHER OBSERVATIONS ON EXISTING TOOL FEATURES</title>
      <sec id="sec-8-1">
        <title>A. Diverse functionalities</title>
        <p>
          Our review of the MaaS tools shows that most of the tools
offer varied functionalities in different ways. However, the
features and functionalities discussed in Section VII tends to
be more common among the tools, even though they exhibit
the features in different ways. For example, GenMyModel
offers a more granular form of collaboration with support for
conflict management than most other tools [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]. It may also
be preferable to develop frameworks that other developers or
users can extend easily to suit a user’s preference [
          <xref ref-type="bibr" rid="ref45">45</xref>
          ].
        </p>
      </sec>
      <sec id="sec-8-2">
        <title>B. Collaboration is necessary for adoption</title>
        <p>
          Section VIII shows that all the commercial platforms
support collaborative modeling and it was the most requested
feature by users during the development of GenMyModel
[
          <xref ref-type="bibr" rid="ref22">22</xref>
          ]. This widespread support for collaboration highlights the
need for collaborative features in motivating users towards
adopting a tool. Many modeling technologies usually lock
a model when another member of the team is editing the
model, thereby making it impossible for other users to edit
the same model at the same time, though they can view the
changes in real-time [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ]. This locking mechanism is
necessary for consistency management and efficient change
propagation among the users [
          <xref ref-type="bibr" rid="ref42">42</xref>
          ]. However, techniques to
improve granularity, which allows two people to edit different
parts of the same model at the same time, is needed to enhance
the collaboration experience.
        </p>
      </sec>
      <sec id="sec-8-3">
        <title>C. Scalability remains a holy grail</title>
        <p>
          The commercial success of a modeling tool tends to depend
on its performance when handling large models (for example,
models with hundreds of thousands of elements) [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]. Efficient
search and query mechanisms are needed to search for large
modeling artifacts and execute model management programs,
such as code generation, in a scalable manner [
          <xref ref-type="bibr" rid="ref36">36</xref>
          ]. It is
necessary that developers of modeling platforms should take
advantage of the computing power that is available in the cloud
(e.g., via distributed query techniques) to deliver a scalable
framework that can handle large models without a significant
impact on performance [
          <xref ref-type="bibr" rid="ref51">51</xref>
          ].
        </p>
      </sec>
      <sec id="sec-8-4">
        <title>D. Centralized repository is mostly used for collaboration and tool heterogeneity</title>
        <p>
          All the selected frameworks for this study that support
collaboration and/or heterogeneity, store models in a central
repository for consistency and easy management [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ], [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ],
[
          <xref ref-type="bibr" rid="ref32">32</xref>
          ], [
          <xref ref-type="bibr" rid="ref42">42</xref>
          ]. However, the use of a central repository may expose
the tool to a single point of failure or inefficient performance
due to lack of distributed capabilities.
        </p>
      </sec>
      <sec id="sec-8-5">
        <title>E. Empirical studies on tool features</title>
        <p>Statistical data to measure the rate of a tool’s adoption,
or determine the contribution of each feature to the tool’s
success, is not available. Hence, the most significant feature
that is driving the adoption a tool could not be determined.
Empirical studies on tool usability is needed to determine the
main features that drive a tool’s adoption.</p>
      </sec>
      <sec id="sec-8-6">
        <title>F. More features and functionalities are needed to enhance adoption</title>
        <p>
          Although current tools exhibit a lot of features, Section VII
shows that more features are needed to facilitate the adoption
of MaaS tools. However, it should be noted that a tool should
not contain too many features, since this may affect the tool’s
usability [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ]. A good approach is to build tools that other
developers can extend easily to suit user demand [
          <xref ref-type="bibr" rid="ref45">45</xref>
          ].
        </p>
      </sec>
    </sec>
    <sec id="sec-9">
      <title>XI. RESEARCH LIMITATIONS</title>
      <p>A major limitation of this work is the exclusion of modeling
tools that do not offer MDE capabilities, such as code
generation and model transformation. Furthermore, there may be a
significant level of bias in the gathering, sorting and analysis
of the tools and techniques listed in this paper. This is because
these activities involved much manual input and speculations.</p>
      <p>A second limitation is that the paper focuses on the presence
(or absence) of some features in the tools, and a detailed
exploration of the level of support provided for the features
is not considered. Therefore, it may be possible that while a
tool may support collaboration, such support may be limited or
cumbersome. However, we do believe that this study is a good
initial step towards a comprehensive survey of MaaS tools.</p>
    </sec>
    <sec id="sec-10">
      <title>XII. CONCLUSION</title>
      <p>This paper has highlighted some of the important features
necessary for the adoption of a modeling tool that deliver its
functionalities delivered as a service. This knowledge is useful
for developers and researchers, in order to know the essential
features to focus on. The first part of this paper reviewed
different techniques for delivering modeling as a service and
the state-of-the-art tools that offer modeling services. The
findings show many differences in the functionalities offered
by these tools. The study also discovered that collaboration
is necessary for facilitating the adoption of these tools.
Furthermore, the study revealed that important features such as
pricing and security of these platforms were rarely discussed
in the literature.</p>
      <p>We have also identified some future research directions that
can lead to the full realization of tools that deliver modeling
functionalities as a service and facilitate the adoption of such
tools. We consider work on efficient model persistence format
and support for sketching as viable research directions.</p>
      <p>In the future, we plan to carry out a comprehensive
systematic review of the tools and to validate (or invalidate) the
conclusions in this study, especially with regards to the second
and third research questions.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Eclipse</surname>
            <given-names>Che,</given-names>
          </string-name>
          <article-title>a developer workspace server and cloud IDE</article-title>
          . http://www.eclipse.org/che/.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Eclipse</surname>
            <given-names>Orion,</given-names>
          </string-name>
          <article-title>a modern open source software development environment that runs in the cloud</article-title>
          . https://orionhub.org/.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <article-title>[3] GEMOC studio</article-title>
          . www.gemoc.org/studio,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Ahmed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Chowdhury</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ahmed</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M. M. H.</given-names>
            <surname>Rafee</surname>
          </string-name>
          .
          <article-title>An advanced survey on cloud computing and state-of-the-art research issues</article-title>
          .
          <source>IJCSI International Journal of Computer Science Issues</source>
          ,
          <volume>9</volume>
          (
          <issue>1</issue>
          ):
          <fpage>1694</fpage>
          -
          <lpage>0814</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>F.</given-names>
            <surname>Basciani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. Di</given-names>
            <surname>Rocco</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. Di</given-names>
            <surname>Ruscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. Di</given-names>
            <surname>Salle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Iovino</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <surname>A. Pierantonio.</surname>
          </string-name>
          <article-title>MDEForge: an extensible web-based modeling platform</article-title>
          .
          <source>In CloudMDE@ MoDELS</source>
          , pages
          <fpage>66</fpage>
          -
          <lpage>75</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A.</given-names>
            <surname>Begel</surname>
          </string-name>
          , R. DeLine, and
          <string-name>
            <given-names>T.</given-names>
            <surname>Zimmermann</surname>
          </string-name>
          .
          <article-title>Social media for software engineering</article-title>
          .
          <source>In Proceedings of the FSE/SDP workshop on Future of Software Engineering Research</source>
          , pages
          <fpage>33</fpage>
          -
          <lpage>38</lpage>
          . ACM,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A.</given-names>
            <surname>Benelallam</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . Go´mez, M. Tisi, and
          <string-name>
            <given-names>J.</given-names>
            <surname>Cabot</surname>
          </string-name>
          .
          <article-title>Distributed model-tomodel transformation with ATL on MapReduce</article-title>
          .
          <source>In Proceedings of the 2015 ACM SIGPLAN International Conference on Software Language Engineering</source>
          , pages
          <fpage>37</fpage>
          -
          <lpage>48</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Benslimane</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Plaisent</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Bernard</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Bahli</surname>
          </string-name>
          .
          <article-title>Key challenges and opportunities in cloud computing and implications on service requirements: Evidence from a systematic literature review</article-title>
          .
          <source>In Cloud Computing Technology and Science (CloudCom)</source>
          ,
          <source>2014 IEEE 6th International Conference on Cloud Computing Technology and Science</source>
          , pages
          <fpage>114</fpage>
          -
          <lpage>121</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>N.</given-names>
            <surname>Bridge</surname>
          </string-name>
          and
          <string-name>
            <surname>G. OM.</surname>
          </string-name>
          <article-title>2013 future of cloud computing 3rd annual survey results</article-title>
          . http://www.northbridge.com/2013-cloud
          <article-title>-computing-</article-title>
          <string-name>
            <surname>survey</surname>
          </string-name>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>H.</given-names>
            <surname>Bruneliere</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Cabot</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Jouault</surname>
          </string-name>
          .
          <article-title>Combining model-driven engineering and cloud computing</article-title>
          . In Modeling, Design, and
          <article-title>Analysis for the Service Cloud-MDA4ServiceCloud'10: Workshop's 4th edition (colocated with the 6th</article-title>
          <source>European Conference on Modelling Foundations and Applications-ECMFA)</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>B.</given-names>
            <surname>Bryant</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.-M. Je</surname>
          </string-name>
          <article-title>´ze´quel</article-title>
          , R. La¨mmel, M. Mernik,
          <string-name>
            <given-names>M.</given-names>
            <surname>Schindler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Steinmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.-P.</given-names>
            <surname>Tolvanen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Vallecillo</surname>
          </string-name>
          , and
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Vo¨lter. Globalized domain specific language engineering</article-title>
          .
          <source>In Globalizing Domain-Specific Languages</source>
          , pages
          <fpage>43</fpage>
          -
          <lpage>69</lpage>
          . Springer International Publishing,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Capgemini</surname>
          </string-name>
          .
          <article-title>Business cloud: The state of play shifts rapidly</article-title>
          .
          <source>technical report</source>
          ,.
          <source>Technical report, Capgemini</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>E.</given-names>
            <surname>Cayirci</surname>
          </string-name>
          .
          <article-title>Modeling and simulation as a cloud service: a survey</article-title>
          .
          <source>In Winter Simulation Conference (WSC)</source>
          , pages
          <fpage>389</fpage>
          -
          <lpage>400</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>M.</given-names>
            <surname>Cherubini</surname>
          </string-name>
          , G. Venolia,
          <string-name>
            <surname>R.</surname>
          </string-name>
          <article-title>DeLine, and</article-title>
          <string-name>
            <given-names>A. J.</given-names>
            <surname>Ko</surname>
          </string-name>
          .
          <article-title>Let's go to the whiteboard: how and why software developers use drawings</article-title>
          .
          <source>In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems</source>
          , pages
          <fpage>557</fpage>
          -
          <lpage>566</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>J.</given-names>
            <surname>Corley</surname>
          </string-name>
          and
          <string-name>
            <given-names>E.</given-names>
            <surname>Syriani</surname>
          </string-name>
          .
          <article-title>A cloud architecture for an extensible multiparadigm modeling environment</article-title>
          .
          <source>In PSRC@ MoDELs</source>
          , pages
          <fpage>6</fpage>
          -
          <lpage>10</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>R.</given-names>
            <surname>Crocombe</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Kolovos</surname>
          </string-name>
          .
          <article-title>Code generation as a service</article-title>
          .
          <source>In Proceedings of the 3rd International Workshop on Model-Driven Engineering on and for the Cloud, 18th International Conference on Model Driven Engineering Languages and Systems</source>
          , pages
          <fpage>25</fpage>
          -
          <lpage>30</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>A. R.</surname>
          </string-name>
          da Silva.
          <article-title>Model-driven engineering: A survey supported by the unified conceptual model</article-title>
          .
          <source>Computer Languages, Systems &amp; Structures</source>
          ,
          <volume>43</volume>
          :
          <fpage>139</fpage>
          -
          <lpage>155</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>J.</given-names>
            <surname>Davis</surname>
          </string-name>
          .
          <article-title>GME: the generic modeling environment</article-title>
          .
          <source>In Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications</source>
          , pages
          <fpage>82</fpage>
          -
          <lpage>83</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>J. Di</given-names>
            <surname>Rocco</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. Di</given-names>
            <surname>Ruscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Iovino</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pierantonio</surname>
          </string-name>
          .
          <article-title>Collaborative repositories in model-driven engineering [software technology]</article-title>
          .
          <source>IEEE Software</source>
          ,
          <volume>32</volume>
          (
          <issue>3</issue>
          ):
          <fpage>28</fpage>
          -
          <lpage>34</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>D.</given-names>
            <surname>Di Ruscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Franzago</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Muccini</surname>
          </string-name>
          ,
          <string-name>
            <surname>and I. Malavolta.</surname>
          </string-name>
          <article-title>Envisioning the future of collaborative model-driven software engineering</article-title>
          .
          <source>In Proceedings of the 39th International Conference on Software Engineering Companion</source>
          , pages
          <fpage>219</fpage>
          -
          <lpage>221</lpage>
          . IEEE Press,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>M.</given-names>
            <surname>Dirix</surname>
          </string-name>
          .
          <article-title>Awareness in computer-supported collaborative modelling. application to genmymodel</article-title>
          .
          <source>In ECOOP Doctoral Symposium</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>M.</given-names>
            <surname>Dirix</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X. Le</given-names>
            <surname>Pallec</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Muller</surname>
          </string-name>
          .
          <article-title>Software support requirements for awareness in collaborative modeling</article-title>
          .
          <source>In OTM Confederated International Conferences” On the Move to Meaningful Internet Systems”</source>
          , pages
          <fpage>382</fpage>
          -
          <lpage>399</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>M.</given-names>
            <surname>Dirix</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Muller</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.</given-names>
            <surname>Aranega</surname>
          </string-name>
          .
          <article-title>Genmymodel: an online uml case tool</article-title>
          . In ECOOP,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>P. T.</given-names>
            <surname>Endo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. E.</given-names>
            <surname>Gonc</surname>
          </string-name>
          <article-title>¸alves</article-title>
          , J. Kelner, and
          <string-name>
            <given-names>D.</given-names>
            <surname>Sadok</surname>
          </string-name>
          .
          <article-title>A survey on opensource cloud computing solutions</article-title>
          .
          <source>In Brazilian Symposium on Computer Networks and Distributed Systems</source>
          , volume
          <volume>71</volume>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>A.</given-names>
            <surname>Forward</surname>
          </string-name>
          and
          <string-name>
            <given-names>T. C.</given-names>
            <surname>Lethbridge</surname>
          </string-name>
          .
          <article-title>The relevance of software documentation, tools and technologies: a survey</article-title>
          .
          <source>In Proceedings of the 2002 ACM Symposium on Document Engineering</source>
          , pages
          <fpage>26</fpage>
          -
          <lpage>33</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>N. C.</given-names>
            <surname>Goodwin</surname>
          </string-name>
          .
          <article-title>Functionality and usability</article-title>
          .
          <source>Communications of the ACM</source>
          ,
          <volume>30</volume>
          (
          <issue>3</issue>
          ):
          <fpage>229</fpage>
          -
          <lpage>233</lpage>
          ,
          <year>1987</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>J.</given-names>
            <surname>Gray</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Rumpe</surname>
          </string-name>
          .
          <article-title>The evolution of model editors: browserand cloud-based solutions</article-title>
          .
          <source>Software and Systems Modeling (SoSyM)</source>
          ,
          <volume>15</volume>
          (
          <issue>2</issue>
          ):
          <fpage>303</fpage>
          -
          <lpage>305</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>J.</given-names>
            <surname>Grundy</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Hosking</surname>
          </string-name>
          .
          <article-title>Supporting generic sketching-based input of diagrams in a domain-specific visual language meta-tool</article-title>
          .
          <source>In Proceedings of the 29th international conference on Software Engineering</source>
          , pages
          <fpage>282</fpage>
          -
          <lpage>291</lpage>
          . IEEE Computer Society,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>C.</given-names>
            <surname>Hein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Ritter</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Wagner</surname>
          </string-name>
          .
          <article-title>Model-driven tool integration with modelbus</article-title>
          .
          <source>In Workshop Future Trends of Model-Driven Development</source>
          , pages
          <fpage>50</fpage>
          -
          <lpage>52</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Hemel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. C.</given-names>
            <surname>Kats</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Visser</surname>
          </string-name>
          .
          <article-title>Code generation by model transformation</article-title>
          .
          <source>In International Conference on Theory and Practice of Model Transformations</source>
          , pages
          <fpage>183</fpage>
          -
          <lpage>198</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>S.</given-names>
            <surname>Hiya</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Hisazumi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Fukuda</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Nakanishi</surname>
          </string-name>
          .
          <article-title>clooca: Web based tool for domain specific modeling</article-title>
          . In Demos/Posters/StudentResearch@ MoDELS, pages
          <fpage>31</fpage>
          -
          <lpage>35</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>T.</given-names>
            <surname>Holmes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Zdun</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Dustdar</surname>
          </string-name>
          .
          <article-title>Morse: A model-aware service environment</article-title>
          .
          <source>In Services Computing Conference</source>
          ,
          <year>2009</year>
          .
          <article-title>APSCC 2009</article-title>
          . IEEE Asia-Pacific, pages
          <fpage>470</fpage>
          -
          <lpage>477</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>F.</given-names>
            <surname>Jouault</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Allilaire</surname>
          </string-name>
          , J. Be´zivin,
          <string-name>
            <surname>and I. Kurtev.</surname>
          </string-name>
          <article-title>ATL: a model transformation tool</article-title>
          .
          <source>Science of Computer Programming</source>
          ,
          <volume>72</volume>
          (
          <issue>1</issue>
          ):
          <fpage>31</fpage>
          -
          <lpage>39</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>G.</given-names>
            <surname>Karsai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maroti</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          ´. Le´deczi, J. Gray, and
          <string-name>
            <given-names>J.</given-names>
            <surname>Sztipanovits</surname>
          </string-name>
          .
          <article-title>Composition and cloning in modeling and meta-modeling</article-title>
          .
          <source>IEEE Transactions on Control Systems Technology</source>
          ,
          <volume>12</volume>
          (
          <issue>2</issue>
          ):
          <fpage>263</fpage>
          -
          <lpage>278</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>D.</given-names>
            <surname>Kolovos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Rose</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Garca-Domnguez</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>R.</given-names>
            <surname>Paige</surname>
          </string-name>
          .
          <article-title>The Epsilon Book</article-title>
          . http://www.eclipse.org/epsilon/doc/book/,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [36]
          <string-name>
            <given-names>D.</given-names>
            <surname>Kolovos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Rose</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Paige</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Guerra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Cuadrado</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. De Lara</surname>
            , I. Ra´th, D. Varro´, G. Sunye´, and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Tisi</surname>
          </string-name>
          .
          <article-title>MONDO: scalable modelling and model management on the cloud</article-title>
          .
          <source>In STAF2015 Project Showcase</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          [37]
          <string-name>
            <given-names>D. S.</given-names>
            <surname>Kolovos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. F.</given-names>
            <surname>Paige</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F. A.</given-names>
            <surname>Polack</surname>
          </string-name>
          . Scalability:
          <article-title>The holy grail of model driven engineering</article-title>
          .
          <source>In ChaMDE 2008 Workshop Proceedings: International Workshop on Challenges in Model-Driven Software Engineering</source>
          , pages
          <fpage>10</fpage>
          -
          <lpage>14</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          [38]
          <string-name>
            <given-names>D. S.</given-names>
            <surname>Kolovos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. M.</given-names>
            <surname>Rose</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Matragkas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. F.</given-names>
            <surname>Paige</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Guerra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. S.</given-names>
            <surname>Cuadrado</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. De Lara</surname>
            , I. Ra´th, D. Varro´,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Tisi</surname>
          </string-name>
          , et al.
          <article-title>A research roadmap towards achieving scalability in model driven engineering</article-title>
          .
          <source>In Proceedings of the Workshop on Scalability in Model Driven Engineering</source>
          , pages
          <fpage>2</fpage>
          -
          <lpage>5</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          [39]
          <string-name>
            <given-names>I.</given-names>
            <surname>Kurtev</surname>
          </string-name>
          , J. Be´zivin,
          <string-name>
            <given-names>F.</given-names>
            <surname>Jouault</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Valduriez</surname>
          </string-name>
          .
          <article-title>Model-based dsl frameworks. In Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications</article-title>
          , pages
          <fpage>602</fpage>
          -
          <lpage>616</lpage>
          . ACM,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          [40]
          <string-name>
            <given-names>A.</given-names>
            <surname>Lajmi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Martinez</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Ziadi</surname>
          </string-name>
          . Dslforge:
          <article-title>Textual modeling on the web</article-title>
          .
          <source>In DEMONSTRATIONS track of the ACM/IEEE 17th International Conference on Model Driven Engineering Languages and Systems (Models)</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref41">
        <mixed-citation>
          [41]
          <string-name>
            <given-names>N.</given-names>
            <surname>Mangano</surname>
          </string-name>
          , T. D. LaToza, M. Petre,
          <article-title>and</article-title>
          <string-name>
            <surname>A. Van der Hoek.</surname>
          </string-name>
          <article-title>How software designers interact with sketches at the whiteboard</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          ,
          <volume>41</volume>
          (
          <issue>2</issue>
          ):
          <fpage>135</fpage>
          -
          <lpage>156</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref42">
        <mixed-citation>
          [42]
          <string-name>
            <given-names>M.</given-names>
            <surname>Maro</surname>
          </string-name>
          ´ti, T. Kecske´s, R. Kereske´nyi,
          <string-name>
            <given-names>B.</given-names>
            <surname>Broll</surname>
          </string-name>
          , P. Vo¨lgyesi, L. Jura´cz, T. Levendovszky, and
          <string-name>
            <surname>A</surname>
          </string-name>
          ´.
          <article-title>Le´deczi. Next generation (meta) modeling: Web-and cloud-based collaborative tool infrastructure</article-title>
          .
          <source>In International Workshop on Multi-Paradigm Modeling@ MoDELS</source>
          , pages
          <fpage>41</fpage>
          -
          <lpage>60</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref43">
        <mixed-citation>
          [43]
          <string-name>
            <given-names>P. M.</given-names>
            <surname>Mell</surname>
          </string-name>
          and
          <string-name>
            <given-names>T.</given-names>
            <surname>Grance</surname>
          </string-name>
          . Sp 800-
          <fpage>145</fpage>
          .
          <article-title>the nist definition of cloud computing</article-title>
          .
          <source>Technical report</source>
          , National Institute of Standards &amp; Technology, Gaithersburg,
          <string-name>
            <given-names>MD</given-names>
            ,
            <surname>United</surname>
          </string-name>
          <string-name>
            <surname>States</surname>
          </string-name>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref44">
        <mixed-citation>
          [44]
          <string-name>
            <given-names>P.</given-names>
            <surname>Mohagheghi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Gilani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Stefanescu</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Fernandez</surname>
          </string-name>
          .
          <article-title>An empirical study of the state of the practice and acceptance of model-driven engineering in four industrial cases</article-title>
          .
          <source>Empirical Software Engineering</source>
          ,
          <volume>18</volume>
          (
          <issue>1</issue>
          ):
          <fpage>89</fpage>
          -
          <lpage>116</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref45">
        <mixed-citation>
          [45]
          <string-name>
            <given-names>R. F.</given-names>
            <surname>Paige</surname>
          </string-name>
          and
          <string-name>
            <surname>D.</surname>
          </string-name>
          <article-title>Varro´. Lessons learned from building model-driven development tools</article-title>
          .
          <source>Software &amp; Systems Modeling</source>
          ,
          <volume>11</volume>
          (
          <issue>4</issue>
          ):
          <fpage>527</fpage>
          -
          <lpage>539</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref46">
        <mixed-citation>
          [46]
          <string-name>
            <given-names>S.</given-names>
            <surname>Patidar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Rane</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Jain</surname>
          </string-name>
          .
          <article-title>A survey paper on cloud computing</article-title>
          .
          <source>In Advanced Computing &amp; Communication Technologies (ACCT)</source>
          , 2012 Second International Conference on, pages
          <fpage>394</fpage>
          -
          <lpage>398</lpage>
          . IEEE,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref47">
        <mixed-citation>
          [47]
          <string-name>
            <given-names>E.</given-names>
            <surname>Ramollari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Dranidis</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A. J.</given-names>
            <surname>Simons</surname>
          </string-name>
          .
          <article-title>A survey of service oriented development methodologies</article-title>
          .
          <source>In The 2nd European Young Researchers Workshop on Service Oriented Computing</source>
          , volume
          <volume>75</volume>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref48">
        <mixed-citation>
          [48]
          <string-name>
            <given-names>S.</given-names>
            <surname>Rugaber</surname>
          </string-name>
          and
          <string-name>
            <given-names>K.</given-names>
            <surname>Stirewalt</surname>
          </string-name>
          .
          <article-title>Model-driven reverse engineering</article-title>
          . IEEE software,
          <volume>21</volume>
          (
          <issue>4</issue>
          ):
          <fpage>45</fpage>
          -
          <lpage>53</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref49">
        <mixed-citation>
          [49]
          <string-name>
            <given-names>S.</given-names>
            <surname>Sendall</surname>
          </string-name>
          and
          <string-name>
            <given-names>W.</given-names>
            <surname>Kozaczynski</surname>
          </string-name>
          .
          <article-title>Model transformation: The heart and soul of model-driven software development</article-title>
          .
          <source>IEEE software</source>
          ,
          <volume>20</volume>
          (
          <issue>5</issue>
          ):
          <fpage>42</fpage>
          -
          <lpage>45</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref50">
        <mixed-citation>
          [50]
          <string-name>
            <surname>M.-A. Storey</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Treude</surname>
            ,
            <given-names>A. van Deursen</given-names>
          </string-name>
          , and L.-T. Cheng.
          <article-title>The impact of social media on software engineering practices and tools</article-title>
          .
          <source>In Proceedings of the FSE/SDP workshop on Future of Software Engineering Research</source>
          , pages
          <fpage>359</fpage>
          -
          <lpage>364</lpage>
          . ACM,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref51">
        <mixed-citation>
          [51]
          <string-name>
            <given-names>G.</given-names>
            <surname>Sza</surname>
          </string-name>
          <article-title>´rnyas, B</article-title>
          . Izso´, I. Ra´th,
          <string-name>
            <given-names>D.</given-names>
            <surname>Harmath</surname>
          </string-name>
          , G. Bergmann, and
          <string-name>
            <surname>D.</surname>
          </string-name>
          <article-title>Varro´. Incquery-d: A distributed incremental model query framework in the cloud</article-title>
          .
          <source>In International Conference on Model Driven Engineering Languages and Systems</source>
          , pages
          <fpage>653</fpage>
          -
          <lpage>669</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref52">
        <mixed-citation>
          [52]
          <string-name>
            <given-names>J.-P.</given-names>
            <surname>Tolvanen</surname>
          </string-name>
          .
          <article-title>Metaedit+ for collaborative language engineering and language use (tool demo)</article-title>
          .
          <source>In Proceedings of the 2016 ACM SIGPLAN International Conference on Software Language Engineering</source>
          , pages
          <fpage>41</fpage>
          -
          <lpage>45</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref53">
        <mixed-citation>
          [53]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Una</surname>
          </string-name>
          , Ieva,
          <string-name>
            <given-names>N.</given-names>
            <surname>Oksana</surname>
          </string-name>
          , and
          <string-name>
            <given-names>G.</given-names>
            <surname>Konstantins</surname>
          </string-name>
          .
          <article-title>Several issues on the model interchange between model-driven software development tools</article-title>
          .
          <source>In 10th International Conference on Software Engineering Advances (ICSEA)</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref54">
        <mixed-citation>
          [54]
          <string-name>
            <given-names>R.</given-names>
            <surname>Van Der Straeten</surname>
          </string-name>
          , T. Mens, and
          <string-name>
            <given-names>S. Van</given-names>
            <surname>Baelen</surname>
          </string-name>
          .
          <source>Challenges in ModelDriven Software Engineering</source>
          , pages
          <fpage>35</fpage>
          -
          <lpage>47</lpage>
          . Springer Berlin Heidelberg, Berlin, Heidelberg,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref55">
        <mixed-citation>
          [55]
          <string-name>
            <given-names>M.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Zeng</surname>
          </string-name>
          , and
          <string-name>
            <given-names>W.</given-names>
            <surname>Qian</surname>
          </string-name>
          .
          <article-title>Services in the cloud computing era: A survey</article-title>
          .
          <source>In Universal Communication Symposium (IUCS)</source>
          ,
          <year>2010</year>
          4th International, pages
          <fpage>40</fpage>
          -
          <lpage>46</lpage>
          . IEEE,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref56">
        <mixed-citation>
          [56]
          <string-name>
            <given-names>K.</given-names>
            <surname>Zunnurhain</surname>
          </string-name>
          and
          <string-name>
            <given-names>S. V.</given-names>
            <surname>Vrbsky</surname>
          </string-name>
          .
          <article-title>Security in cloud computing</article-title>
          .
          <source>In Proceedings of the 2011 International Conference on Security &amp; Management</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>