The evolution of model editors: browser- and cloud-based solutions

(based on [GR16a])

In March 2006, Google purchased Upstartle to gain access to their browser-based word processor called Writely [1]. This acquisition from over a decade ago led to what we now know as Google Docs, which ushered in a new form of collaborative authoring tools. The idea of using a Web browser as an editing platform, coupled with the storage options available within the cloud, provides powerful new capabilities that have transformed the way we interact with colleagues to design and create documents, as well as all other sorts of artifacts. Specialized text processing solutions, like the LaTeX-focused Overleaf environment [2], bring a fresh new approach to collaboration using long-standing traditional tools. Furthermore, browser- and cloud-based authoring tools have penetrated many domains. For example, in computer science education, tools such as Scratch help new programmers learn block-based coding in a browser, where programs are stored in the cloud with a large repository ( over 13.M shared Scratch programs are available at the time of this writing) of user-shared examples [3].

There are multiple benefits of combining browser-based authoring environments with a cloud service. An obvious advantage is the platform independence that can be achieved through a browser, allowing the tool implementers to focus more on the core tool features, instead of the implementation morass of reproducing the same tool functionality across different platforms (browser incompatibility issues notwithstanding). Cloud services not only allow resources and intellectual property to be accessed from anywhere, but also permit the sharing of those resources with collaborators. The benefit to the user is more flexibility in accessing the intellectual resources from multiple devices while collaborating with colleagues in real time. The first time seeing a colleague type in a shared Google Doc file at the same time as your own edits is often a watershed moment for many users. The opportunity to perform real-time updates will shorten feedback loops for constructive collaboration considerably and thus improve agile development approaches.

It is exciting to see these same types of collaborative environments emerging in the MDE tooling space. In fact, the CloudMDE workshop at MODELS (2012, 2014, and 2015) [4] has focused on ways that MDE can bring benefits to the cloud, and how the cloud can benefit MDE (this latter idea is more related to this editorial discussion). A survey of various collaborative modeling tools that are emerging can be found in [6]. Below is a sample of just a few of the commercial and research tools available that each offer some supportive nuance enabled by in-browser cloud-supported collaboration.

  • GenMyModel is a commercial tool that allows collaborative modeling for UML, BPMN, RDS, and flowcharts in a “Google Drive-style collaboration” [6]. All collaborative updates are made in real time without the need for manual lock–unlock coordination. Furthermore, all changes are checked for compliance with the underlying metamodel. Distributed team communication, coordination, and decision making are supported through synchronous and asynchronous chat features.
  • AtoMPM [7], available since 2013, is one of the earliest in-browser modeling environment generators. The AtoMPM implementation has been optimized for DSLs with a graphical concrete syntax using W3C standards, such as SVG, JavaScript, and HTML, to support graphical concrete syntax. A strength of AtoMPM is its support for the specification, execution, and debugging of model transformations within the browser, allowing the user to debug their model transformations using both stepwise and omniscient debugging features. The collaborative features of AtoMPM are based on a scalable multiview/multi-user implementation. Future work includes support for textual concrete syntax and hybrid representation (graphical + textual), as well as code generation options.
  • WebGME [8] provides in-browser model editing capabilities that support sharing of model instance by several users. A branching scheme similar to version control systems is used by WebGME to allow multiple contributors to edit the same model. Model changes in WebGME are broadcast to all collaborators with affordances and visualizations to detect, retry, or reject concurrent edits. Future features will be added to WebGME to merge branches, which would allow a project to be forked, modified, and then integrated back into the master branch.
  • MDEForge [9] is an extensible in-browser modeling platform. It fosters community-based modeling repositories that support the development, analysis, and reuse of modeling artifacts. An advanced query mechanism is provided to find desired artifacts within the repository. MDEForge also enables the adoption of model management tools as Software as a service that can be remotely used without overwhelming the users with intricate and error-prone installation and configuration procedures.

The current status of many of the MDE tools in this space is still immature, with much potential for future extension, robustness, and adoption. It will be interesting to see what development domains may benefit the most from such a fluently collaborative approach. We also need to understand the differences between real-time collaboration compared to a more version controlled approach provided by git and svn, where the developer can exchange the newest versions of development assets, but can also work in a closed, unconnected form as long as desired or necessary.

This essay is essentially taken from a SoSyM editorial, which is published under the Creative Commons licence and contains some updates:

  1. [GR16a]
    J. Gray, B. Rumpe:
    In: Journal Software and Systems Modeling (SoSyM), Volume 15(2), pp. 303-305, Springer Berlin / Heidelberg, 2016.