A general architecture for client-agnostic hybrid model editors as a service
Liam Walsh, Juergen Dingel, Karim Jahed · 2022
In this paper, we propose a general architecture for designing language servers for hybrid modeling languages, that is, modeling languages that contain both textual and graphical representations. The architecture consists of a textual language server, a graphical language server, and a client that communicates with the two servers. The servers are implemented using the Language Server Protocol (LSP) and the Graphical Language Server Protocol (GLSP) and are based on a shared abstract syntax of the hybrid language. This means that only static resources need to be common between the graphical and textual language servers. The servers' separation allows each to be developed and maintained independently, while also enabling forward-compatibility with their respective dependencies.