Automated migration of EuGENia graphical editors to the web

Domain-specific languages (DSLs) are languages tailored for particular domains. Many frameworks and tools have been proposed to develop editors for DSLs, especially for desktop IDEs, like Eclipse. We are witnessing the advent of low-code development platforms, which are cloud-based environments supporting rapid application development by using graphical languages and forms. While this approach is very promising, the creation of new low-code platforms may require the migration of existing desktop-based editors to the web. However, this is a technically challenging task. To fill this gap, we present ROCCO, a tool that migrates Eclipse-based graphical modelling editors to the web, to facilitate their integration with low-code platforms. The tool reads a meta-model annotated with EuGENia annotations, and generates a web editor using the DPG web framework used by the UGROUND company. In this paper, we present the approach, including tool support and an evaluation based on migrating nine editors created by third parties, which shows the usefulness of the tool.

[1]  Jordi Cabot,et al.  Towards a Language Server Protocol Infrastructure for Graphical Modeling , 2018, MoDELS.

[2]  Mary Shaw,et al.  The state of the art in end-user software engineering , 2011, ACM Comput. Surv..

[3]  Richard C. Gronback Eclipse Modeling Project: A Domain-Specific Language Toolkit , 2009 .

[4]  Juan de Lara,et al.  Lowcomote: Training the Next Generation of Experts in Scalable Low-Code Engineering Platforms , 2019, STAF.

[5]  Aruna Raja,et al.  Domain Specific Languages , 2010 .

[6]  Enrique Chavarriaga,et al.  PsiLight: a Lightweight Programming Language to Explore Multiple Program Execution and Data-binding in a Web-Client DSL Evaluation Engine , 2017, J. Univers. Comput. Sci..

[7]  Richard F. Paige,et al.  Eugenia: towards disciplined and automated development of GMF-based graphical model editors , 2017, Software & Systems Modeling.

[8]  Richard F. Paige,et al.  Taming EMF and GMF using model transformation , 2010, MODELS'10.

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

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

[11]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

[12]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

[13]  Juan de Lara,et al.  Reusable abstractions for modeling languages , 2013, Inf. Syst..

[14]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[15]  Mark Rouncefield,et al.  Model-driven engineering practices in industry: Social, organizational and managerial factors that lead to success or failure , 2014, Sci. Comput. Program..

[16]  Enrique Chavarriaga,et al.  An approach to build XML-based domain specific languages solutions for client-side web applications , 2017, Comput. Lang. Syst. Struct..

[17]  Jean-Marc Jézéquel,et al.  Model Driven Engineering , 2017, Encyclopedia of GIS.

[18]  Juan de Lara,et al.  AToM3: A Tool for Multi-formalism and Meta-modelling , 2002, FASE.

[19]  Marjan Mernik,et al.  Formal and Practical Aspects of Domain-Specific Languages: Recent Developments , 2012 .

[20]  Jordi Cabot,et al.  An LSP infrastructure to build EMF language servers for web-deployable model editors , 2018, MoDELS.

[21]  Nga Nguyen,et al.  MDE for Enterprise Application Systems , 2013, MODELSWARD.

[22]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[23]  Juha-Pekka Tolvanen,et al.  Domain-Specific Modeling: Enabling Full Code Generation , 2008 .

[24]  Richard F. Paige,et al.  EuGENia live: a flexible graphical modelling tool , 2012, XM '12.

[25]  Richard C. Gronback Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit , 2009 .

[26]  John C. Grundy,et al.  Generating Domain-Specific Visual Language Tools from Abstract Visual Specifications , 2013, IEEE Transactions on Software Engineering.