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.