A General Architecture for Hybrid Textual-Graphical Model Editors via Multiple Language Servers

Thumbnail Image
Walsh, Liam
Software Modeling , Hybrid Modeling Language , Language Server Protocol , UML-RT , Unified Modeling Language for Real-Time
In this thesis, a general architecture for designing language servers for hybrid modeling languages (languages that contain both textual and graphical representations) is proposed. 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), respectively, and are based on a shared abstract syntax of the hybrid modeling language. This means that only static resources must be shared 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. This thesis describes a prototype implementation of the architecture in the form of a hybrid editor for the UML-RT language. The evaluation of the architecture via this prototype gives useful insight into further generalization of the architecture and the way it is used. An extension of the architecture is then sketched, with the intent to enable support for multiple diagram types and, thus, multiple graphical views. A summary of this work appeared in the proceedings of the 4th International Workshop on Modeling Language Engineering (MLE'22) [1]
External DOI