ity. The first by requiring a constant tool switch that
causes slower and more error-prone responses (Mon-
sell, 2003). The second, by not using the best tool
available for tasks like testing and debugging.
For toolsmiths there is often no economically rea-
sonable alternative to focusing on one IDE, because
supporting multiple editors causes tremendous effort.
Editor integration as well as computation of features,
such as code completion or validations, have to be im-
plemented for each IDE. Therefore, toolsmiths often
decide to provide support for only one editor or IDE.
While the use of IDEs as primary environment
comforts people with IT background, the large num-
ber of buttons, menus, and views often confuses non-
technical users. Therefore, implementing support for
only one editor not only causes the problems men-
tioned above but also excludes a group of potential
users. All available language workbenches are fo-
cused on creating mature tooling for arbitrary DSLs,
however, only for one specific IDE to integrate with.
The Language Server Protocol (LSP) which was
intentionally built to separate the language smarts of
general purpose programming languages from the ed-
itor integration, was recently adopted by the Xtext
language workbench. Thereby, textual DSLs based on
Xtext should be able to utilize all features of the Lan-
guage Server Protocol. A case study was conducted
to build an Entity-DSL that was integrated into two
different IDEs. Language smarts and the two editor
integrations are based on the Language Server Pro-
tocol. In addition, the case study includes a SWOT
analysis carried out to identify the impact of the LSP
on textual Domain-Specific Languages in general.
After analyzing related work Section 3 elaborates
on architecture, features and limitations of the Lan-
guage Server Protocol. In section 4 the Entity-DSL
implemented in the context of the case study is de-
scribed. Next, we outline the results of the SWOT
analysis conducted to identify the potential impact of
the LSP on textual domain specific languages. Fi-
nally, the results of the case study are discussed.
2 RELATED WORK
According to Tomassetti (Tomassetti, 2017a), an ex-
ternal Domain-Specific Language in contrast to an in-
ternal Domain-Specific Language has tool support. In
order to build such tool support, there are different
language workbenches available, that ease the cre-
ation of abstract syntax, parser, editor, and generators
(Fowler, 2005). Language workbenches like Monti-
Core or MPS generatively create DSL tools to be in-
tegrated into Eclipse or IntelliJ, respectively. Xtext
and Spoofax are two language workbenches that sup-
port Eclipse as well as IntelliJ integration. However,
since both are primarily focused on Eclipse, the Intel-
liJ support is rather experimental for Spoofax (Kats
and Visser, 2010) and lacking contributors for Xtext
(Xtext, 2018).
In addition to language workbenches targeting
specific IDEs, there is a variety of language work-
benches that produce web-based editors. Popoola et.
al. summarize such approaches as Modeling as a
Service (MaaS) (Popoola et al., 2017). They iden-
tify two categories of MaaS, namely client-server and
cloud-based. AToMPM, ModelBus, and DSLForge
represent modeling platforms from the first category,
that in some way require an installation on a lo-
cal server. In contrast, GenMyModel, WebGME,
CLOOCA, MORSE, and MDEForge require no in-
stallation and are accessible completely over the web.
While all approaches enable browser-based editing of
models, none of the approaches supports native inte-
gration into IDEs, such as Eclipse or IntelliJ.
The Language Server Protocol as introduced by
Microsoft, RedHat, and Codeenvy in 2016 fills this
gap (Microsoft, 2018). It aims at separating the com-
putation of language editor features, such as code
completion and validations, from the actual editor in-
tegration. Originally, invented to integrate different
programming languages into different IDEs and ed-
itors, there is also an implementation for the Xtext
language workbench. According to the list of Lan-
guage Server implementations (Microsoft, 2018a),
Xtext is by now the only language workbench sup-
porting the LSP. While Rodriguez-Echeverria et. al.
(Rodriguez-Echeverria et al., 2018) have already pro-
posed a Language Server Protocol infrastructure for
graphical modeling, little attention has been paid to
the impact of the LSP on textual modeling.
3 LANGUAGE SERVER
PROTOCOL
The number of programming languages is steadily in-
creasing over the last decades. While new program-
ming languages, such as Go (Go, 2018) or Swift (Ap-
ple, 2018), are gaining market shares (TIOBE, 2018),
old programming languages, such as Cobol or For-
tran, are staying as the basis of many legacy sys-
tems (Reuters, 2018). In addition, the number of in-
tegrated development environments is increasing as
well. Since most IDEs support a variety of program-
ming languages, IDE developers face the problem of
keeping up with ongoing programming language evo-
lution. At the same time language providers are inter-
MODELSWARD 2019 - 7th International Conference on Model-Driven Engineering and Software Development
130