Definition of a protocol for graph based editing

The Language Server Protocol (LSP) is a standard for textual editing of languages with a separation of the text editor or IDE as client and a language server. The protocol defines messages and structures to be exchanged between the tools and uses JSON-RPC for the communication.

While it fits well for textual editors, projectional and graphical editors have different concepts. Textual editors are typically based on plain text, while projectional editors are editing abstract syntax trees (AST).

The thesis has to examine the editing actions that graph based editors are performing on their models. As a starting point, existing graphical editing frameworks (GEF MVC, Sirius, GMF Runtime, ...) have to  be analyzed with respect to the interaction patterns they support. Second, it has to be analysed which parts of the LSP also apply for graphical editors and which not. For the gaps it has to be defined, which kind of messages and structures a protocol has to contain. Based on this it has to be decided whether the LSP can be extended to fulfill the needs of graph based editors or whether a different protocol has to be defined.