An internal DSL for graphical modeling tools based on GLSP
By: Georg Hinkel, Bodo Igler
Abstract
The Graphical Language Server Protocol (GLSP) separates the development of graphical modeling language editors from the specification and processing of individual modeling languages. The open-source project Eclipse GLSP offers generic framework components that help create custom diagram editors (web-based clients) and language servers. However, the development of GLSP servers remains a complex and difficult task. This is mainly due to the inherent complexity of the server-side synchronization of the graphical model with the semantic model. This paper applies recent advancements in model synchronization, in particular synchronization blocks, to simplify this task. We propose a language server infrastructure that separates the generic model processing from the details of the model synchronization for specific graphical modeling languages. The language-specific details are specified via a newly developed internal DSL. A generic server-side component based on the .Net Modeling Framework (NMF) performs the actual model synchronization. We showcase the practicality of the DSL and the server architecture through a graphical class-diagram-like editor for NMF's meta-meta-model NMeta (similar to Ecore).The result is a concise, but fully functional prototype compliant with GLSP and partially based on Eclipse GLSP. Initial comparisons with existing GLSP implementations indicate that this approach significantly reduces the complexity and effort needed to develop graphical model editors. Moreover, this approach can be applied to any modeling language based on EMOF (Essential Meta Object Facility).
Keywords
Graphical DSL, GLSP, NMF, Synchronization Blocks
Cite as:
Georg Hinkel, Bodo Igler, “An internal DSL for graphical modeling tools based on GLSP”, Journal of Object Technology, Volume 24, no. 2 (May 2025), pp. 2:1-14, doi:10.5381/jot.2025.24.2.a11.
PDF | DOI | BiBTeX | Tweet this | Post to CiteULike | Share on LinkedIn