Skip to main content
Top

2020 | OriginalPaper | Chapter

Towards Multi-editor Support for Domain-Specific Languages Utilizing the Language Server Protocol

Authors : Hendrik Bünder, Herbert Kuchen

Published in: Model-Driven Engineering and Software Development

Publisher: Springer International Publishing

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

In model-driven software development (MDSD) projects, frequently domain experts and developers work together on the same model. However, they have quite different preferences concerning tools for working with a model. While developers require a powerful integrated development environment (IDE), domain experts are overwhelmed by the amount of functionality of an IDE and its confusing user interface. They prefer a simple editor, often provided as a web application, which does not require a local installation. Currently, both stakeholders typically agree on a common tool, which is frustrating for at least one of them. The Language Server Protocol (LSP) is a standard that aims to include language smarts into simple editors without turning them into IDEs. Originally, it has been designed for programming languages. In the present paper, we will give evidence based on a case study and a corresponding SWOT analysis that it is even more beneficial for a textual domain-specific language (DSL) as it is often used in MDSD. We will focus on the language workbench Xtext which supports the LSP. In particular, we will investigate how the LSP can be used to integrate a DSL into different development tools (editors and IDEs). Supplementing the SWOT analysis, we have also evaluated the practical relevance of the LSP.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Appendix
Available only for authorised users
Literature
1.
go back to reference Arnold, K., Gosling, J., Holmes, D.: The Java Programming Language. Addison Wesley Professional, Boston (2005) Arnold, K., Gosling, J., Holmes, D.: The Java Programming Language. Addison Wesley Professional, Boston (2005)
4.
go back to reference Bünder, H.: Decoupling language and editor – the impact of the language server protocol on textual domain-specific languages. In: Hammoudi, S., Ferreira, P.L., Selić, B. (eds.) Proceedings of the 7\(^{th}\) International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2019), pp. 131–142. Prag (2019). https://doi.org/10.5220/0007556301310142, publication status: Published Bünder, H.: Decoupling language and editor – the impact of the language server protocol on textual domain-specific languages. In: Hammoudi, S., Ferreira, P.L., Selić, B. (eds.) Proceedings of the 7\(^{th}\) International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2019), pp. 131–142. Prag (2019). https://​doi.​org/​10.​5220/​0007556301310142​, publication status: Published
5.
go back to reference Campagne, F.: The MPS Language Workbench: Meta Programming System, 3rd edn. Campagnelab, New York (2016). version 1.5.1 edn Campagne, F.: The MPS Language Workbench: Meta Programming System, 3rd edn. Campagnelab, New York (2016). version 1.5.1 edn
7.
go back to reference Fette, I., Melnikov, A.: The websocket protocol. Technical report (2011) Fette, I., Melnikov, A.: The websocket protocol. Technical report (2011)
8.
go back to reference Fowler, M.: Inversion of control containers and the dependency injection pattern (2004) Fowler, M.: Inversion of control containers and the dependency injection pattern (2004)
10.
go back to reference Gamma, E., Beck, K.: Contributing to Eclipse: Principles, Patterns, and Plug-ins. Addison-Wesley Professional, Boston (2004) Gamma, E., Beck, K.: Contributing to Eclipse: Principles, Patterns, and Plug-ins. Addison-Wesley Professional, Boston (2004)
13.
go back to reference Kats, L.C., Visser, E.: The spoofax language workbench: rules for declarative specification of languages and IDEs. In: Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA 2010, pp. 444–463. ACM, New York (2010). https://doi.org/10.1145/1869459.1869497 Kats, L.C., Visser, E.: The spoofax language workbench: rules for declarative specification of languages and IDEs. In: Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA 2010, pp. 444–463. ACM, New York (2010). https://​doi.​org/​10.​1145/​1869459.​1869497
15.
go back to reference Krahn, H., Rumpe, B., Völkel, S.: Efficient editor generation for compositional DSLs in eclipse. arXiv preprint arXiv:1409.6625 (2014) Krahn, H., Rumpe, B., Völkel, S.: Efficient editor generation for compositional DSLs in eclipse. arXiv preprint arXiv:​1409.​6625 (2014)
16.
go back to reference Lamb, L., Robbins, A.: Learning the vi Editor, 6th edn. O’Reilly & Associates, Sebastopol (1998)MATH Lamb, L., Robbins, A.: Learning the vi Editor, 6th edn. O’Reilly & Associates, Sebastopol (1998)MATH
17.
go back to reference Maróti, M., et al.: Next generation (meta) modeling: web-and cloud-based collaborative tool infrastructure. In: MPM@ MoDELS, vol. 1237, pp. 41–60 (2014) Maróti, M., et al.: Next generation (meta) modeling: web-and cloud-based collaborative tool infrastructure. In: MPM@ MoDELS, vol. 1237, pp. 41–60 (2014)
23.
go back to reference Mikkonen, T., Taivalsaari, A.: Using JavaScript as a real programming language (2007) Mikkonen, T., Taivalsaari, A.: Using JavaScript as a real programming language (2007)
25.
go back to reference Popoola, S., Carver, J., Gray, J.: Modeling as a service: a survey of existing tools. In: MODELS (Satellite Events), pp. 360–367 (2017) Popoola, S., Carver, J., Gray, J.: Modeling as a service: a survey of existing tools. In: MODELS (Satellite Events), pp. 360–367 (2017)
26.
go back to reference Rodriguez-Echeverria, R., Izquierdo, J.L.C., Wimmer, M., Cabot, J.: An LSP infrastructure to build EMF language servers for web-deployable model editors. In: Proceedings of the Second Workshop on Model-Driven Engineering Tools (MDETools 2018), pp. 1–10. CEUR (2018) Rodriguez-Echeverria, R., Izquierdo, J.L.C., Wimmer, M., Cabot, J.: An LSP infrastructure to build EMF language servers for web-deployable model editors. In: Proceedings of the Second Workshop on Model-Driven Engineering Tools (MDETools 2018), pp. 1–10. CEUR (2018)
27.
go back to reference Rodriguez-Echeverria, R., Izquierdo, J.L.C., Wimmer, M., Cabot, J.: Towards a language server protocol infrastructure for graphical modeling. In: Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, pp. 370–380. MODELS 2018. ACM, New York (2018). https://doi.org/10.1145/3239372.3239383 Rodriguez-Echeverria, R., Izquierdo, J.L.C., Wimmer, M., Cabot, J.: Towards a language server protocol infrastructure for graphical modeling. In: Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, pp. 370–380. MODELS 2018. ACM, New York (2018). https://​doi.​org/​10.​1145/​3239372.​3239383
29.
go back to reference Stroustrup, B.: The C++ Programming Language. Pearson Education India, Bengaluru (2000) Stroustrup, B.: The C++ Programming Language. Pearson Education India, Bengaluru (2000)
33.
go back to reference Vogel, L., Beaton, W.: Eclipse IDE: Java Programming, Debugging, Unit Testing, Task Management and Git Version Conrol with Eclipse, 3rd edn. Vogella Series, Vogella, Lexington (2013) Vogel, L., Beaton, W.: Eclipse IDE: Java Programming, Debugging, Unit Testing, Task Management and Git Version Conrol with Eclipse, 3rd edn. Vogella Series, Vogella, Lexington (2013)
34.
go back to reference Völter, M.: DSL Engineering: Designing, Implementing and Using Domain-Specific Languages. CreateSpace Independent Publishing Platform, Lexington (2013) Völter, M.: DSL Engineering: Designing, Implementing and Using Domain-Specific Languages. CreateSpace Independent Publishing Platform, Lexington (2013)
Metadata
Title
Towards Multi-editor Support for Domain-Specific Languages Utilizing the Language Server Protocol
Authors
Hendrik Bünder
Herbert Kuchen
Copyright Year
2020
DOI
https://doi.org/10.1007/978-3-030-37873-8_10

Premium Partner