Towards Online Collaborative Multi-view Modelling

Increasingly, distributed software development teams rely on online collaboration tools to work together in real time. Collaborative textual editors are intuitive, since the position of the cursor and the currently selected text, if any, tell other collaborators what part of the text/code a developer is currently focusing on or editing. Model-Driven Engineering (MDE) advocates using models as the primary development artifacts, and to be most effective, the system is described at different levels of abstraction from multiple points of view. This poses additional challenges for online collaboration, as the current focus of the developer and the scope of his changes are often less clear, in particular when the modelling language(s) and views use graphics or have hierarchical or other kinds of dependencies. This paper proposes two algorithms that exploit the metamodels of the involved modelling languages to visualize a collaborator’s change in a multi-view modelling environment. The first algorithm determines the most concise way to highlight the elements that are impacted by a change made by a remote developer in the current views of the local developer. The second algorithm delays the deletion of a model element as long as that element is still being referred to from a different view, and notifies the impacted developers, offering them a chance to collaboratively discuss the deletion or undo the deletion if desired. The proposed algorithms are evaluated by applying them on the Reusable Aspect Models (RAM) metamodel.

[1]  Kalle Lyytinen,et al.  MetaEdit+: A Fully Configurable Multi-User and Multi-Tool CASE and CAME Environment , 1996, CAiSE.

[2]  Marie-Pierre Gervais,et al.  D-Praxis : A Peer-to-Peer Collaborative Model Editing Framework , 2009, DAIS.

[3]  John C. Grundy,et al.  Pounamu: A meta-tool for exploratory domain-specific visual language tool development , 2007, J. Syst. Softw..

[4]  Hans Vangheluwe,et al.  AToMPM: A Web-based Modeling Environment , 2013, MoDELS.

[5]  Frank Budinsky,et al.  EMF: Eclipse Modeling Framework 2.0 , 2009 .

[6]  Matthias Schöttle,et al.  Feature modelling and traceability for concern-driven software development with TouchCORE , 2015, MODULARITY.

[7]  Charles P. Shelton,et al.  CAMEL: A Tool for Collaborative Distributed Software Design , 2009, 2009 Fourth IEEE International Conference on Global Software Engineering.

[8]  Dániel Varró,et al.  A research roadmap towards achieving scalability in model driven engineering , 2013, BigMDE '13.

[9]  Jacques Klein,et al.  Reusable Aspect Models , 2007 .

[10]  Jean-Marc Jézéquel,et al.  Globalizing Modeling Languages , 2014 .

[11]  Bernhard Rumpe,et al.  The evolution of model editors: browser- and cloud-based solutions , 2016, Software & Systems Modeling.

[12]  Bernd Brügge,et al.  Sysiphus: Enabling informal collaboration in global software development , 2006, 2006 IEEE International Conference on Global Software Engineering (ICGSE'06).

[13]  Ruth Breu,et al.  A Web-Based Collaborative Metamodeling Environment with Secure Remote Model Access , 2010, ICWE.

[14]  Marc Shapiro,et al.  A semantically rich approach for collaborative model edition , 2011, SAC.

[15]  Juri Di Rocco,et al.  Collaborative Repositories in Model-Driven Engineering [Software Technology] , 2015, IEEE Software.

[16]  Henry Muccini,et al.  Collaborative Model-Driven Software Engineering: A Classification Framework and a Research Map , 2018, IEEE Transactions on Software Engineering.

[17]  Jacques Klein,et al.  Aspect-oriented multi-view modeling , 2009, AOSD '09.

[18]  Miklós Maróti,et al.  Next Generation (Meta)Modeling: Web- and Cloud-based Collaborative Tool Infrastructure , 2014, MPM@MoDELS.