=Paper= {{Paper |id=Vol-2019/mdetools_5 |storemode=property |title=Modeling as a Service: A Survey of Existing Tools |pdfUrl=https://ceur-ws.org/Vol-2019/mdetools_5.pdf |volume=Vol-2019 |authors=Saheed Popoola,Jeffrey Carver,Jeff Gray |dblpUrl=https://dblp.org/rec/conf/models/PopoolaCG17 }} ==Modeling as a Service: A Survey of Existing Tools== https://ceur-ws.org/Vol-2019/mdetools_5.pdf
                                  Modeling as a Service:
                                A Survey of Existing Tools
                                    Saheed Popoola     Jeffrey Carver     Jeff Gray
                                            Department of Computer Science
                                                University of Alabama
                                   sopopoola@crimson.ua.edu, {carver,gray}@cs.ua.edu

   Abstract—Modeling tools are needed to deliver the promises
of Model-Driven Engineering, which include reduced devel-
opment 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                       Fig. 1. A Typical MaaS Platform
a service.

                      I. I NTRODUCTION
                                                                        The goal of this paper is to present an analysis of current
   Model-Driven Engineering (MDE) is an approach to soft-            tools from the literature that offer modeling (within MDE) as
ware engineering whereby models are used as first-class              a service (MaaS). Figure 1 shows a typical modeling platform
artifacts throughout the stages of software development. This        that offers its functionalities as a service. In this study, the aim
elevation of models to first-class entities makes it easy to focus   is to answer the following research questions with respect to
on the problem space rather than the underlying computing            modeling tools that offer their functionalities as a service:
environment, thereby reducing development time. MDE also                  RQ1: What are the common features and functionalities
enhances code reusability by providing support for capabilities      exhibited by the tools?
such as automated code generation and model transformations.              RQ2: How important are these features towards the
   In order to achieve the benefits of MDE, tools are needed         adoption of the tools?
for manipulating models. Many frameworks and tools such as                RQ3: What future research is needed to facilitate the
ATL [33], Epsilon [35] and GEMOC [3], have been developed            adoption of the tools?
to support a wide range of model management activities.
However, MDE is yet to be widely adopted due to two major                                   II. BACKGROUND
reasons: First, most modeling tools are usually deployed as            This section presents a brief introduction to related terms
software packages that need to be installed locally. These           that are used throughout this paper.
tools often have complex configurations and inter-dependency
requirements that may discourage a novice from adopting such         A. Cloud computing
tools [44], [54]. Second, the support for reuse of existing             The National Institute of Standards and Technology (NIST)
modeling artifacts and interoperability among existing tools is      defines cloud computing as “a model for enabling ubiquitous,
limited; hence, developers usually build similar modeling tools      convenient, on-demand network access to a shared pool of con-
from scratch [39]. A potential solution toward tackling these        figurable computing resources (e.g., networks, servers, storage,
challenges is to develop modeling tools and frameworks to            applications, and services) that can be rapidly provisioned
follow the software-as-a-service paradigm. A service-oriented        and released with minimal management effort or service
modeling platform can offer a more transparent solution to the       provider interaction” [43]. Cloud computing is projected to
reusablity and interoperability challenges by defining bridges       be a disruptive technology to the IT industry, and numerous
across multiple platforms as services that can be executed on        surveys show an increasing adoption of the cloud, including
demand [10].                                                         the migration of numerous software to the cloud [9], [12].
A lot of studies have been conducted as exemplified by the                          IV. R ESEARCH M ETHODOLOGY
multiple literature reviews in the field [4], [8], [24], [46].          For this study, we used four research databases — Google
   Currently, there are many cloud platforms such as Amazon          Scholar, Scopus, SpringerLink, and IEEE Explore – to extract
Web Services, Google Cloud Platform, and Microsoft Azure,            relevant papers and tools on modeling as a service. We used
that offer many services ranging from online storage to oper-        the key words — (“software modeling” OR “modeling”) AND
ational software applications. These services can be grouped         (“services” OR “cloud”) — for the search. By manually
into three main categories [4]:                                      reading through the paper (or abstract in some cases), we were
   • Infrastructure as a Service (IaaS): This involves offering      able to identify relevant papers for this study. We selected
     hardware-related components as services, e.g., virtual          papers that deal with how modeling tools or activities can be
     storage services. A good example is Amazon S31 .                delivered as a service and we eliminated others (e.g., those
   • Platform as a Service (PaaS): This involves offering            dealing with how to model services on the cloud). We then
     development platforms, where cloud applications can run         searched through the references of the identified papers to
     as a service. An example is Microsoft Azure2 .                  extract additional papers that we might have missed. Due to the
   • Software as a Service (SaaS): This offers a complete,           number of papers available, we decided to focus on tools that
     ready-to-use software application as a service. This is the     support at least one of the core MDE functionalities, such as
     most common category of cloud services and examples             code generation from models and/or automated transformation
     of SaaS applications include Gmail, Google docs, and            of models from one form to another.
     Eclipse Che [1].                                                   To answer the first research question on the features ex-
Further explanations on the SaaS category is provided in the         hibited by selected tools, we examined the relevant features
next section because it is the most relevant to this work.           mentioned by the paper that describes a tool, and other
B. Software as a Service                                             features affirmed by other papers that referenced the tool.
                                                                     For the second and third research questions on the features
   “Software as a Service (SaaS)” is an approach whereby soft-       contribution to a tools adoption and future research areas, we
ware is stored remotely (e.g., on the cloud) and its capabilities    answered these questions based on the information we were
are accessed via a set of APIs (i.e., as services). The underlying   able to extract from the papers cited in Sections VIII and IX.
infrastructure, platform and software requirements/details are
hidden from the users. Recently, there has been a gradual                          V. A PPROACHES TO D EPLOYING
migration of software platforms and tools to the cloud. Several                       M ODELING AS A S ERVICE
cloud-based alternatives for traditional desktop-based software        Two main approaches were observed in deploying modeling
tools are now available (for example, [1], [2]). The benefits of     as a service. They are client-server and cloud approaches [5].
the software-as-a-service paradigm include efficient cost poli-        • Client-Server: In this approach, the modeling platform is
cies, minimal setup configurations, and reduced maintenance               installed on a local server and its capabilities are accessed
efforts. SaaS also enhances reuse of software artifacts because           by the clients connected to the server. The number of
they are now stored on the cloud and may be accessed publicly             users is limited to the clients connected to the server and
via the internet.                                                         this approach still requires a form of installation on the
                     III. R ELATED W ORK                                  local server. However, it allows for flexibility and easy
                                                                          customization [29]. This approach was implemented in
   A number of surveys and literature reviews have been
                                                                          AToMPM [15], ModelBus [29], and DSLforge [40].
conducted in the area of cloud computing, software as a service
                                                                       • Cloud: This approach fully explores the benefits of mod-
and software modeling. Ramollari et al. conducted a survey
                                                                          eling as a service. It is accessed on the web via the
on methodologies that are used in service-oriented computing
                                                                          internet and does not require any form of installation.
[47]. They compared some existing methodologies against
                                                                          Its functionalities can be programmatically accessed as
prominent features service-oriented software are expected to
                                                                          a service via a set of APIs or through a web browser
have. Patidar et al. and Ahmed et al. classified current tech-
                                                                          [5]. This is the most common approach and it was used
nologies and tools based on how they are used [4], [46]. Zhou
                                                                          in GenMyModel [23], WebGME [42], CLOOCA [31],
et al. focused on the different services that are available on the
                                                                          MORSE [32] and MDEForge [5].
cloud [55], while Gray et al. gave a brief overview of current
MaaS tools [27]. The study most similar to the one conducted                VI. MODELING AS A S ERVICE (M AA S) TOOLS
in this paper was the survey on MaaS architectures by Cayirci          This section gives a brief overview of selected software
et al. [13]; however, they focus more on the possible risks          modeling frameworks that deliver modeling functionalities
and challenges associated with the deployment of modeling            (within MDE) as a service.
operations as a service. None of these works have conducted            • GenMyModel is an online modeling platform that cur-
an extensive review of the existing tools and technologies that           rently supports 7 modeling formats including UML,
deliver software modeling functionalities as a service.                   Flowcharts, and Ecore. It also offers capabilities for cus-
  1 https://aws.amazon.com/s3/                                            tomized formats. The main focus is on collaboration and
  2 https://azure.microsoft.com                                           the ability to work simultaneously with many developers.
  Hence, it provides mechanisms for conflict management                                       TABLE I
  and change awareness. It also provides a public repository                      OVERVIEW OF C URRENT M AA S T OOLS
  of models to facilitate searching and reuse of public
  projects. A flexible pricing model is adopted where users        Tool            Approach    Persistence Extensible I/A 1   G/T 2
  can access the service for free if the project is public, but    GenMyModel      Cloud       XML         No         I       G
                                                                   WebGME          Cloud       COM         Yes        Both    Both
  monthly subscriptions are required for private projects.         CLOOCA          Cloud       XML         ?          A       T
  However, GenMyModel limits the user to their own UML             AToMPM          Client-     XML         Yes        A       Both
  tools and a limited set of modeling languages [16], [23].                        Server
                                                                   MORSE           Cloud       XML         Yes        I       Both
• WebGME is a scalable web and cloud based tool for
                                                                   MDEForge        Cloud       REST        Yes        A       Both
  collaborative design and synthesis of domain-specific            ModelBus        Client-     Adapter     Yes        I       Both
  modeling tools and associated models. The main target of                         Server      Based
  the tool is large-scale complex information systems. Its         DSLforge        Client-     XML         Yes        A       T
                                                                                   Server
  capabilities can be accessed via a web-based client or a
  set of APIs. It supports model version control and object-
  oriented concepts such as composition and inheritance.
  The tool supports model versioning, inheritance and
                                                                      across multiple projects. The framework also supports
  composition by creating a copy of the model (as a child)
                                                                      heterogeneous platforms by abstracting the underlying
  and establishing dependency links between the parent and
                                                                      technologies, thereby making it easy to focus on the
  child copy so that changes are easily propagated. This
                                                                      projects at runtime [32].
  duplication of models makes the framework cumbersome,
                                                                    • MDEForge is a modular and extensible model repository
  but it also helps the modeller to handle the inherent
                                                                      that can be used to store diverse modeling artifacts. Four
  complexities of large models [34], [42].
                                                                      main services are provided by the tool; namely, model,
• CLOOCA is a platform for developing domain-specific
                                                                      metamodel, transformation and editor services. These
  modeling languages and the necessary code generators.
                                                                      services are also easy to extend or customize [5].
  The tool adopts a client-server architecture whereby the
                                                                    • Modelbus is a framework that extends web-service in-
  models are stored on the server and clients can access
                                                                      terfaces to provide modeling services. Its main goal is
  the models via a JavaScript-enabled web browser. The
                                                                      to add model awareness to service-oriented systems. It
  client side consists of two main parts — an editor and
                                                                      contains a model repository, which is the central point of
  a workbench. The workbench allows for diagrammatical
                                                                      the framework. A user can reference or manipulate the
  creation of modeling languages and their code generators,
                                                                      models that are stored in the repository via each model’s
  while the editors make it easy to modify an existing
                                                                      unique URL. The framework uses a notification system
  language [31].
                                                                      to propagate changes across the models. The framework
• AToMPM is a collaborative platform that provides a
                                                                      also supports model versioning, model merging, and
  multi-view mechanism for multiple users that are work-
                                                                      distributed model management operations, in a scalable
  ing simultaneously on the same models. It supports
                                                                      and consistent manner [29].
  the design of modeling language environments, model
                                                                    • DSLforge is a framework that can be used to generate
  transformations and general model management. The
                                                                      online textual models (for example, language grammars)
  tool’s architecture consists of a front-end server, back-
                                                                      and domain-specific languages. It is useful for producing
  end server and the clients. The front-end server receives
                                                                      extensible online editors that can be used to create
  the clients’ requests, and then forwards the request to
                                                                      transformations for diverse models [40].
  the appropriate destination in the back-end server. The
  front-end server is used as a scalable routing system for       Table I gives a summary of these tools, the format in which
  managing incoming messages so that the back-end server          the models are stored (persistence) and whether they can be
  only sees a single client irrespective of the number of         easily extended. It is important that models should be stored
  users. This 2-server architecture ensures consistency and       (persisted) in a way that makes it easy to execute modeling
  efficient change propagation [15].                              operations on the models and also makes the tool compatible
• Morse framework provides a central model repository             to a wide range of modeling formats [38]. A good modeling
  environment for managing and storing modeling artifacts.        framework should also be extensible. The framework should
  Each model and model element in the repository is               contain a set of reusable services that are abstract enough, so
  assigned a unique identifier. The capabilities of these         that it becomes easy to extend the framework’s capabilities
  models can be accessed via a set of services that contain       and adapt the framework to a wide range of functionalities
  references to the model that created them, which makes          [45].
  the services aware of the models. The framework links
  each service with its related models via the models’
  identifiers. The repository supports versioning, merging,        1 Industrial (I) or Academic (A)

  branching, tagging and sharing of modeling artifacts             2 Graphical (G) or Textual (T)
                                                                TABLE II
                                                   F EATURES IN E XISTING M AA S T OOLS

      Tools\Functionalities     Multi-View     Collaboration   Code Generation       Versioning   DSML   Merging   Transformation
      GenMyModel                Yes            Yes             Yes                   Yes          No     No        No
      WebGME                    Yes            Yes             No                    Yes          Yes    No        Yes
      CLOOCA                    No             No              Yes                   No           Yes    No        No
      AToMPM                    Yes            Yes             Yes                   No           Yes    No        Yes
      Morse                     No             Yes             No                    Yes          Yes    Yes       No
      MDEForge                  No             Yes             Yes                   No           Yes    No        Yes
      ModelBus                  No             Yes             No                    Yes          Yes    Yes       No
      DSLforge                  No             Yes             Yes                   No           Yes    No        Yes



                             TABLE III                                generators, while CLOOCA and Morse only support built-in
            F EATURES P RESENT IN MODELING P LATFORMS                 code generators. Other tools do not support this feature.
             Features                 Number of Tools                       Model Versioning and Model Merging: Model versioning
             Collaboration            6                               makes it easy to store and relate different versions of the same
             DSML                     6                               model, while model merging is the combination of two or
             Code Generation          4
             Versioning               4
                                                                      more models with similar or different structures [32]. The
             Transformation           3                               implementation of these features is inherently complex due
             Multi-View               3                               to the high level of inter-connection among elements in a
             Merging                  2                               model [34]. Therefore, only four tools support either model
                                                                      versioning or model merging.
                                                                            Domain-Specific modeling Language: This is the ability
        VII. F EATURES IN E XISTING M AA S T OOLS
                                                                      to support the development of new modeling languages [42].
   This section answers the first research question: “Which           This feature will make it easy to adapt the framework for
Features are present in existing tools”? Section VI showed that       different purposes [18]. This is one of the most common
current tools offer diverse functionalities. We have synthesized      feature exhibited by the tools and it is supported by all of
these functionalities to extract the most common features that        the tools except GenMyModel.
are related to modeling or service-oriented computing. Eight                Model-to-Model Transformation: This is the ability to
main features were exhibited by many of the tools and they            transform a model from one form to another and it is one
are listed throughout this section.                                   of the most common activity in MDE [49]. A viable tool for
       Multi-View Based modeling: Since modeling is usually           MDE should support this functionality. However, more than
done at different levels of abstractions depending on its             half of the tools under study do not support model-to-model
intended purpose, it is essential that a modeling platform            transformation.
should be able to support multiple views of the same system at              Heterogeneity and Tools Interoperability: For a wider
different levels of abstraction [15], [20]. This feature is present   adoption, it is necessary that a tool should be able to support
in AToMPM, GenMyModel, and WebGME while other tools                   a wide range of modeling artifacts that are stored in diverse
do not support this feature.                                          formats [45]. Support for heterogeneity may be achieved by
      Collaboration: This allows teams of technical and non-          storing modeling artifacts in a central repository and allowing
technical stakeholders to work together and brainstorm on             access to them using standardized APIs [29]. It is also impor-
possible solutions to the problem space [17], [20], [52].             tant that the tools should be easy to integrate with other tools
Traditional modeling tools inhibit this functionality because         [11] (for example, backup data to Google drive).
they are typically desktop based; hence, this feature is a good             Scalability: This is the ability to support large models
validation of delivering modeling capabilities as a service. All      (for example, models with millions of elements) without a
the tools under study except CLOOCA provide support for               significant impact on the tool’s performance. This feature is
collaboration. Furthermore, many of the tools also support            important in determining whether a tool will be useful in an
real-time collaboration in varying degrees of granularity. Tools      industrial context and it has been one of the major challenges
like GenMyModel and AToMPM have a very high level of                  associated with modeling in general [37], [38]. The computing
granularity and ensure that only the model element that is            power available in the cloud is expected to mitigate the
being edited is locked, while other parts of the same model           challenges of scalability in modeling [10]. Although minimal
can be edited concurrently [15].                                      research has been done to assess the performance of current
      Code Generation: This is the ability to automatically           tools in handling large models, scalability was mentioned as
generate code from models. This helps to bridge the gap               an important feature in GenMyModel [23], Modelbus [29],
between modeling and programming, and makes it easy to                DSLforge [40], and WebGME [42].
programmatically manipulate models and other modeling arte-              Table II gives a summary of the the functionalities offered
facts [30]. GenMyModel, AToMPM, and MDEForge, offer                   by each tool, while Table III shows the number of tools that
built-in code generators and they also support customized             support each feature. It can be observed that collaboration and
domain-specific modeling languages have the most support            exhibited by current tools with essential features expected from
across the frameworks.                                              a modeling or cloud-based tool [45], [55].
                                                                          Support for Sketches: Most tools support modeling using
 VIII. F EATURES THAT C ONTRIBUTE S IGNIFICANTLY TO                 a standard modeling language such as UML. However, a
            THE A DOPTION OF M AA S T OOLS                          number of works have highlighted the importance of sketches
   This section answers the second research question: “How          during a brainstorming section, and during the design and
relevant are these features towards the adoption of current         analysis phase of software development [14], [28], [41]. Since
tools”? Section VII gave a concise list of features that are        modeling also takes place during the design and analysis
present in existing tools. However, we do not know the              phase, tool support for sketching or handwriting models is
contribution of these features to the adoption of the tools or if   likely to increase the adoption of a tool. Automated model
they are even necessary. A lot of features might make a tool        management operations such as code generation may also be
cumbersome while lack of essential features is likely to affect     realized from these sketches.
its usability [25].                                                       Security and privacy: A major concern for any cloud-
   Limited statistical data is available on the number of users     based platform is security and privacy [56]. It is necessary to
adopting the tools. Hence, there is little evidence to measure      design appropriate means of preventing unauthorized access.
the impact of each feature on the adoption of the tools.            The privacy of the users’ data and proper attribution of a
However, three features that seem to have a significant effect      modeling artifact to its owner, is vital to boosting user’s
on the adoption of these tools are highlighted below.               confidence in adopting a tool [55].
      Collaboration: This is likely to be the most important              Model persistence: Most modeling frameworks store
feature driving the adoption of service-oriented modeling           models in XMI. While XMI is a good standard for model
tools. Software development has become a collaborative activ-       persistence because it is able to support a wide range of
ity due to the increasing complexity of software and software       formats, it is not implemented consistently across different
modeling is no exception [52]. Dirix et al. reported that           platforms; thereby, making it hard to share models across
it was the most demanded feature during the development             different vendors [53]. Furthermore, XMI is also verbose and
stage of GenMyModel [23]. We also noticed that most of              may impact performance negatively [7].
the commercial modeling tools, including those that are not               Opportunities for Reverse Engineering: The advent of
included in this paper such as LucidChart3 , and creately4 ,        large open-source projects and public repositories have in-
support collaboration [21], [52].                                   creased the importance of reverse engineering [48]. A lot of
      Tool Integration: Developers and users of the tools store     MDE-based frameworks have been used to extract structural
models in different formats, and often deal with diverse            and behavioural information from source code. These frame-
frameworks and technologies. Therefore, the users often need        works usually produce visual models to aid code comprehen-
to reuse data from an external tool [45]; hence, one of             sion and gain useful insights to decisions made during the
the main factors for adoption is a tool’s ability to integrate      design of the software [10]. A potential usefulness of MaaS
seamlessly with other tools, for example, support for data          is to develop capabilities to scan through online repositories
stored in Microsoft Excel or Google sheets, and integration         and generate appropriate models without having to download
with versioning systems such as GitHub [11].                        the source code locally on a machine.
      Scalability: A common theme among the commercial                    Incentives to share models: A major advantage of deliv-
tools is the ability to support large models with thousands         ering modeling capabilities as a service is the opportunity to
of model element [23]. The prevailing support for scalability       share and reuse modeling artifacts. However, it is necessary
across commercial tools is a strong sign that the feature is        to encourage developers to publicly share their models online.
important for the adoption of these tools. The importance           A common paradigm is to offer free modeling services for
of this feature is corroborated by the fact that the need for       developers with publicly available models [23]. However, more
scalability is well-established even in traditional desktop-based   work is needed in terms of copyright and proper attribution of
modeling tools [10], [37].                                          modeling artifacts to the original developer(s) [19].
   In summary, even though there is limited statistical data to           Collaboration as a social activity: Collaborative software
measure the contribution of each feature to a tool’s adoption       development is a social activity where developers need to
rate; support for collaboration, scalability, and seamless inte-    communicate, send emails, and share ideas [6]. Hence, the
gration with other tools, are essential to the success of a tool.   addition of social features such as group messaging, will likely
                                                                    enhance the adoption of these tools [6], [50].
  IX. A DDITIONAL F EATURES T HAT C AN E NHANCE THE                       Pricing model: Much has not been done on viable pricing
              A DOPTION OF M AA S T OOLS                            models for MaaS. Yet, a viable source of revenue is important
   In order to answer the third research question that deals with   to ensure sustainability of the platforms due to recurrent costs
future research directions, we compared the functionalities         such as hosting and platform maintenance fees. These costs are
                                                                    usually not incurred in traditional desktop-based tools, because
  3 https://www.lucidchart.com/                                     the user directly bears the cost for the underlying computing
  4 https://www.creately.com/                                       infrastructure and maintenance. However, care should be taken
to ensure that the pricing model is not a barrier to users’        E. Empirical studies on tool features
adoption of the tool [55].                                           Statistical data to measure the rate of a tool’s adoption,
                                                                   or determine the contribution of each feature to the tool’s
              X. F URTHER O BSERVATIONS ON                         success, is not available. Hence, the most significant feature
                E XISTING T OOL F EATURES                          that is driving the adoption a tool could not be determined.
A. Diverse functionalities                                         Empirical studies on tool usability is needed to determine the
                                                                   main features that drive a tool’s adoption.
   Our review of the MaaS tools shows that most of the tools
offer varied functionalities in different ways. However, the       F. More features and functionalities are needed to enhance
features and functionalities discussed in Section VII tends to     adoption
be more common among the tools, even though they exhibit
the features in different ways. For example, GenMyModel               Although current tools exhibit a lot of features, Section VII
offers a more granular form of collaboration with support for      shows that more features are needed to facilitate the adoption
conflict management than most other tools [19]. It may also        of MaaS tools. However, it should be noted that a tool should
be preferable to develop frameworks that other developers or       not contain too many features, since this may affect the tool’s
users can extend easily to suit a user’s preference [45].          usability [26]. A good approach is to build tools that other
                                                                   developers can extend easily to suit user demand [45].
B. Collaboration is necessary for adoption
                                                                                   XI. R ESEARCH L IMITATIONS
   Section VIII shows that all the commercial platforms sup-
                                                                      A major limitation of this work is the exclusion of modeling
port collaborative modeling and it was the most requested
                                                                   tools that do not offer MDE capabilities, such as code gener-
feature by users during the development of GenMyModel
                                                                   ation and model transformation. Furthermore, there may be a
[22]. This widespread support for collaboration highlights the
                                                                   significant level of bias in the gathering, sorting and analysis
need for collaborative features in motivating users towards
                                                                   of the tools and techniques listed in this paper. This is because
adopting a tool. Many modeling technologies usually lock
                                                                   these activities involved much manual input and speculations.
a model when another member of the team is editing the
                                                                      A second limitation is that the paper focuses on the presence
model, thereby making it impossible for other users to edit
                                                                   (or absence) of some features in the tools, and a detailed
the same model at the same time, though they can view the
                                                                   exploration of the level of support provided for the features
changes in real-time [15], [23]. This locking mechanism is
                                                                   is not considered. Therefore, it may be possible that while a
necessary for consistency management and efficient change
                                                                   tool may support collaboration, such support may be limited or
propagation among the users [42]. However, techniques to
                                                                   cumbersome. However, we do believe that this study is a good
improve granularity, which allows two people to edit different
                                                                   initial step towards a comprehensive survey of MaaS tools.
parts of the same model at the same time, is needed to enhance
the collaboration experience.                                                            XII. C ONCLUSION

C. Scalability remains a holy grail                                   This paper has highlighted some of the important features
                                                                   necessary for the adoption of a modeling tool that deliver its
   The commercial success of a modeling tool tends to depend       functionalities delivered as a service. This knowledge is useful
on its performance when handling large models (for example,        for developers and researchers, in order to know the essential
models with hundreds of thousands of elements) [19]. Efficient     features to focus on. The first part of this paper reviewed
search and query mechanisms are needed to search for large         different techniques for delivering modeling as a service and
modeling artifacts and execute model management programs,          the state-of-the-art tools that offer modeling services. The
such as code generation, in a scalable manner [36]. It is          findings show many differences in the functionalities offered
necessary that developers of modeling platforms should take        by these tools. The study also discovered that collaboration
advantage of the computing power that is available in the cloud    is necessary for facilitating the adoption of these tools. Fur-
(e.g., via distributed query techniques) to deliver a scalable     thermore, the study revealed that important features such as
framework that can handle large models without a significant       pricing and security of these platforms were rarely discussed
impact on performance [51].                                        in the literature.
                                                                      We have also identified some future research directions that
D. Centralized repository is mostly used for collaboration and     can lead to the full realization of tools that deliver modeling
tool heterogeneity                                                 functionalities as a service and facilitate the adoption of such
   All the selected frameworks for this study that support         tools. We consider work on efficient model persistence format
collaboration and/or heterogeneity, store models in a central      and support for sketching as viable research directions.
repository for consistency and easy management [23], [29],            In the future, we plan to carry out a comprehensive sys-
[32], [42]. However, the use of a central repository may expose    tematic review of the tools and to validate (or invalidate) the
the tool to a single point of failure or inefficient performance   conclusions in this study, especially with regards to the second
due to lack of distributed capabilities.                           and third research questions.
                             R EFERENCES                                        [23] M. Dirix, A. Muller, and V. Aranega. Genmymodel: an online uml case
                                                                                     tool. In ECOOP, 2013.
 [1] Eclipse Che, a developer workspace server and cloud IDE.                   [24] P. T. Endo, G. E. Gonçalves, J. Kelner, and D. Sadok. A survey on open-
     http://www.eclipse.org/che/.                                                    source cloud computing solutions. In Brazilian Symposium on Computer
 [2] Eclipse Orion, a modern open source software development environment            Networks and Distributed Systems, volume 71, 2010.
     that runs in the cloud. https://orionhub.org/.                             [25] A. Forward and T. C. Lethbridge. The relevance of software documenta-
 [3] GEMOC studio. www.gemoc.org/studio, 2017.                                       tion, tools and technologies: a survey. In Proceedings of the 2002 ACM
 [4] M. Ahmed, A. Chowdhury, M. Ahmed, and M. M. H. Rafee. An                        Symposium on Document Engineering, pages 26–33, 2002.
     advanced survey on cloud computing and state-of-the-art research issues.   [26] N. C. Goodwin. Functionality and usability. Communications of the
     IJCSI International Journal of Computer Science Issues, 9(1):1694–              ACM, 30(3):229–233, 1987.
     0814, 2012.                                                                [27] J. Gray and B. Rumpe. The evolution of model editors: browser-
 [5] F. Basciani, J. Di Rocco, D. Di Ruscio, A. Di Salle, L. Iovino, and             and cloud-based solutions. Software and Systems Modeling (SoSyM),
     A. Pierantonio. MDEForge: an extensible web-based modeling platform.            15(2):303–305, 2016.
     In CloudMDE@ MoDELS, pages 66–75, 2014.                                    [28] J. Grundy and J. Hosking. Supporting generic sketching-based input of
 [6] A. Begel, R. DeLine, and T. Zimmermann. Social media for software               diagrams in a domain-specific visual language meta-tool. In Proceedings
     engineering. In Proceedings of the FSE/SDP workshop on Future of                of the 29th international conference on Software Engineering, pages
     Software Engineering Research, pages 33–38. ACM, 2010.                          282–291. IEEE Computer Society, 2007.
                                                                                [29] C. Hein, T. Ritter, and M. Wagner. Model-driven tool integration with
 [7] A. Benelallam, A. Gómez, M. Tisi, and J. Cabot. Distributed model-to-
                                                                                     modelbus. In Workshop Future Trends of Model-Driven Development,
     model transformation with ATL on MapReduce. In Proceedings of the
                                                                                     pages 50–52, 2009.
     2015 ACM SIGPLAN International Conference on Software Language
     Engineering, pages 37–48, 2015.                                            [30] Z. Hemel, L. C. Kats, and E. Visser. Code generation by model
                                                                                     transformation. In International Conference on Theory and Practice
 [8] Y. Benslimane, M. Plaisent, P. Bernard, and B. Bahli. Key challenges
                                                                                     of Model Transformations, pages 183–198, 2008.
     and opportunities in cloud computing and implications on service
                                                                                [31] S. Hiya, K. Hisazumi, A. Fukuda, and T. Nakanishi. clooca: Web based
     requirements: Evidence from a systematic literature review. In Cloud
                                                                                     tool for domain specific modeling. In Demos/Posters/StudentResearch@
     Computing Technology and Science (CloudCom), 2014 IEEE 6th In-
                                                                                     MoDELS, pages 31–35, 2013.
     ternational Conference on Cloud Computing Technology and Science,
                                                                                [32] T. Holmes, U. Zdun, and S. Dustdar. Morse: A model-aware service
     pages 114–121, 2014.
                                                                                     environment. In Services Computing Conference, 2009. APSCC 2009.
 [9] N. Bridge and G. OM. 2013 future of cloud computing 3rd annual sur-
                                                                                     IEEE Asia-Pacific, pages 470–477, 2009.
     vey results. http://www.northbridge.com/2013-cloud-computing-survey,
                                                                                [33] F. Jouault, F. Allilaire, J. Bézivin, and I. Kurtev. ATL: a model
     2013.
                                                                                     transformation tool. Science of Computer Programming, 72(1):31–39,
[10] H. Bruneliere, J. Cabot, and F. Jouault. Combining model-driven
                                                                                     2008.
     engineering and cloud computing. In Modeling, Design, and Analysis for
                                                                                [34] G. Karsai, M. Maroti, Á. Lédeczi, J. Gray, and J. Sztipanovits. Compo-
     the Service Cloud-MDA4ServiceCloud’10: Workshop’s 4th edition (co-
                                                                                     sition and cloning in modeling and meta-modeling. IEEE Transactions
     located with the 6th European Conference on Modelling Foundations
                                                                                     on Control Systems Technology, 12(2):263–278, 2004.
     and Applications-ECMFA), 2010.
                                                                                [35] D. Kolovos, L. Rose, A. Garca-Domnguez, and R. Paige. The Epsilon
[11] B. Bryant, J.-M. Jézéquel, R. Lämmel, M. Mernik, M. Schindler,               Book. http://www.eclipse.org/epsilon/doc/book/, 2017.
     F. Steinmann, J.-P. Tolvanen, A. Vallecillo, and M. Völter. Globalized
                                                                                [36] D. Kolovos, L. Rose, R. Paige, E. Guerra, J. Cuadrado, J. De Lara,
     domain specific language engineering. In Globalizing Domain-Specific
                                                                                     I. Ráth, D. Varró, G. Sunyé, and M. Tisi. MONDO: scalable modelling
     Languages, pages 43–69. Springer International Publishing, 2015.
                                                                                     and model management on the cloud. In STAF2015 Project Showcase,
[12] Capgemini. Business cloud: The state of play shifts rapidly. technical          2015.
     report,. Technical report, Capgemini, 2012.                                [37] D. S. Kolovos, R. F. Paige, and F. A. Polack. Scalability: The
[13] E. Cayirci. Modeling and simulation as a cloud service: a survey. In            holy grail of model driven engineering. In ChaMDE 2008 Workshop
     Winter Simulation Conference (WSC), pages 389–400, 2013.                        Proceedings: International Workshop on Challenges in Model-Driven
[14] M. Cherubini, G. Venolia, R. DeLine, and A. J. Ko. Let’s go to                  Software Engineering, pages 10–14, 2008.
     the whiteboard: how and why software developers use drawings. In           [38] D. S. Kolovos, L. M. Rose, N. Matragkas, R. F. Paige, E. Guerra, J. S.
     Proceedings of the SIGCHI Conference on Human Factors in Computing              Cuadrado, J. De Lara, I. Ráth, D. Varró, M. Tisi, et al. A research
     Systems, pages 557–566, 2007.                                                   roadmap towards achieving scalability in model driven engineering. In
[15] J. Corley and E. Syriani. A cloud architecture for an extensible multi-         Proceedings of the Workshop on Scalability in Model Driven Engineer-
     paradigm modeling environment. In PSRC@ MoDELs, pages 6–10,                     ing, pages 2–5, 2013.
     2014.                                                                      [39] I. Kurtev, J. Bézivin, F. Jouault, and P. Valduriez. Model-based dsl
[16] R. Crocombe and D. Kolovos. Code generation as a service. In Proceed-           frameworks. In Companion to the 21st ACM SIGPLAN symposium
     ings of the 3rd International Workshop on Model-Driven Engineering              on Object-oriented programming systems, languages, and applications,
     on and for the Cloud, 18th International Conference on Model Driven             pages 602–616. ACM, 2006.
     Engineering Languages and Systems, pages 25–30, 2015.                      [40] A. Lajmi, J. Martinez, and T. Ziadi. Dslforge: Textual modeling
[17] A. R. da Silva. Model-driven engineering: A survey supported by the             on the web. In DEMONSTRATIONS track of the ACM/IEEE 17th
     unified conceptual model. Computer Languages, Systems & Structures,             International Conference on Model Driven Engineering Languages and
     43:139 – 155, 2015.                                                             Systems (Models), 2014.
[18] J. Davis. GME: the generic modeling environment. In Companion              [41] N. Mangano, T. D. LaToza, M. Petre, and A. Van der Hoek. How
     of the 18th annual ACM SIGPLAN conference on Object-oriented                    software designers interact with sketches at the whiteboard. IEEE
     programming, systems, languages, and applications, pages 82–83, 2003.           Transactions on Software Engineering, 41(2):135–156, 2015.
[19] J. Di Rocco, D. Di Ruscio, L. Iovino, and A. Pierantonio. Collaborative    [42] M. Maróti, T. Kecskés, R. Kereskényi, B. Broll, P. Völgyesi, L. Jurácz,
     repositories in model-driven engineering [software technology]. IEEE            T. Levendovszky, and Á. Lédeczi. Next generation (meta) modeling:
     Software, 32(3):28–34, 2015.                                                    Web-and cloud-based collaborative tool infrastructure. In International
[20] D. Di Ruscio, M. Franzago, H. Muccini, and I. Malavolta. Envisioning            Workshop on Multi-Paradigm Modeling@ MoDELS, pages 41–60, 2014.
     the future of collaborative model-driven software engineering. In Pro-     [43] P. M. Mell and T. Grance. Sp 800-145. the nist definition of cloud com-
     ceedings of the 39th International Conference on Software Engineering           puting. Technical report, National Institute of Standards & Technology,
     Companion, pages 219–221. IEEE Press, 2017.                                     Gaithersburg, MD, United States, 2011.
[21] M. Dirix. Awareness in computer-supported collaborative modelling.         [44] P. Mohagheghi, W. Gilani, A. Stefanescu, and M. A. Fernandez. An em-
     application to genmymodel. In ECOOP Doctoral Symposium, 2013.                   pirical study of the state of the practice and acceptance of model-driven
[22] M. Dirix, X. Le Pallec, and A. Muller. Software support requirements            engineering in four industrial cases. Empirical Software Engineering,
     for awareness in collaborative modeling. In OTM Confederated Inter-             18(1):89–116, 2013.
     national Conferences” On the Move to Meaningful Internet Systems”,         [45] R. F. Paige and D. Varró. Lessons learned from building model-driven
     pages 382–399, 2014.                                                            development tools. Software & Systems Modeling, 11(4):527–539, 2012.
[46] S. Patidar, D. Rane, and P. Jain. A survey paper on cloud computing.
     In Advanced Computing & Communication Technologies (ACCT), 2012
     Second International Conference on, pages 394–398. IEEE, 2012.
[47] E. Ramollari, D. Dranidis, and A. J. Simons. A survey of service oriented
     development methodologies. In The 2nd European Young Researchers
     Workshop on Service Oriented Computing, volume 75, 2007.
[48] S. Rugaber and K. Stirewalt. Model-driven reverse engineering. IEEE
     software, 21(4):45–53, 2004.
[49] S. Sendall and W. Kozaczynski. Model transformation: The heart and
     soul of model-driven software development. IEEE software, 20(5):42–
     45, 2003.
[50] M.-A. Storey, C. Treude, A. van Deursen, and L.-T. Cheng. The impact
     of social media on software engineering practices and tools. In Pro-
     ceedings of the FSE/SDP workshop on Future of Software Engineering
     Research, pages 359–364. ACM, 2010.
[51] G. Szárnyas, B. Izsó, I. Ráth, D. Harmath, G. Bergmann, and D. Varró.
     Incquery-d: A distributed incremental model query framework in the
     cloud. In International Conference on Model Driven Engineering
     Languages and Systems, pages 653–669, 2014.
[52] J.-P. Tolvanen. Metaedit+ for collaborative language engineering and
     language use (tool demo). In Proceedings of the 2016 ACM SIGPLAN
     International Conference on Software Language Engineering, pages 41–
     45, 2016.
[53] Z. Una, Ieva, N. Oksana, and G. Konstantins. Several issues on the
     model interchange between model-driven software development tools.
     In 10th International Conference on Software Engineering Advances
     (ICSEA), 2015.
[54] R. Van Der Straeten, T. Mens, and S. Van Baelen. Challenges in Model-
     Driven Software Engineering, pages 35–47. Springer Berlin Heidelberg,
     Berlin, Heidelberg, 2009.
[55] M. Zhou, R. Zhang, D. Zeng, and W. Qian. Services in the cloud
     computing era: A survey. In Universal Communication Symposium
     (IUCS), 2010 4th International, pages 40–46. IEEE, 2010.
[56] K. Zunnurhain and S. V. Vrbsky. Security in cloud computing.
     In Proceedings of the 2011 International Conference on Security &
     Management, 2011.