Digitala Vetenskapliga Arkivet

Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Implementing the Language Server Protocol for the OpenModelica Modelling Language
Linköping University, Department of Computer and Information Science.
Linköping University, Department of Computer and Information Science.
2024 (English)Independent thesis Basic level (degree of Bachelor), 10,5 credits / 16 HE creditsStudent thesisAlternative title
Implementering av Language Server-protokollet för modelleringsspråket OpenModelica (Swedish)
Abstract [en]

With the growing use of Integrated Development Environments (IDEs), software developers have gotten used to various language integrations when writing code in editors, such as completions, goto definition, diagnostics, and information on hover. Popular programming languages are typically supported by a wide range of different IDEs, but smaller languages often have few editor integrations—or none at all. The Language Server Protocol (LSP) defines an API that makes it possible to implement language integrations that work with any editor that supports it, making it easier to develop integrations for a language across multiple IDEs. This work aims to implement a basic language server for the equation-based modelling language OpenModelica, which currently lacks proper IDE support. The solution is developed with incremental analysis in mind while considering potential unique challenges in implementing a language server for an equation-based language. We devise and present an extensible, multilayered approach and use it to implement incremental multi-file support and goto declaration. We conclude that these features entail no significant challenges for equation languages in particular.

Abstract [sv]

Med den ökande användningen av integrerade utvecklingsmiljöer (IDE:er) har mjukvaruutvecklare vant sig vid olika språkintegrationer i textredigerare, såsom "completions", "goto definition", diagnostik och information vid hovring. Populära programspråk har vanligtvis stöd av flera olika IDE:er, men mindre språk har ofta få integrationer med textredigerare—eller inga alls. Language Server Protocol (LSP) definierar ett API som gör det möjligt att implementera språkintegrationer som fungerar med alla textredigerare som stödjer protokollet, vilket gör det lättare att utveckla integrationer för ett språk för flera IDE:er. Detta arbete syftar till att implementera en enkel språkserver för det ekvationsbaserade modelleringsspråket OpenModelica, som för nuvarande saknar stöd i IDE:er. Lösningen utvecklas med inkrementell analys i åtanke, tillsammans med potentiella unika utmaningar kopplade till utvecklingen av en språkserver för ett ekvationsbaserat språk. Vi konstruerar och presenterar en modell med flera lager och som går att vidareutveckla samt använder den för att implementera hantering av flera filer och "goto declaration". Vi drar slutsatsen att dessa funktioner inte innebär några särskilda betydande utmaningar för ekvationsspråk.

Place, publisher, year, edition, pages
2024. , p. 10
Keywords [en]
Modelica, OpenModelica, Language Server Protocol, IDE
Keywords [sv]
Modelica, OpenModelica, Language Server Protocol, IDE
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:liu:diva-205888ISRN: LIU-IDA/LITH-EX-G--24/046--SEOAI: oai:DiVA.org:liu-205888DiVA, id: diva2:1883042
Subject / course
Computer Programming
Presentation
2024-06-14, Herbert Simon, Mäster Mattias Väg 7, 583 30 Linköping, 13:00 (Swedish)
Supervisors
Examiners
Note

Available from: 2024-08-12 Created: 2024-07-08 Last updated: 2024-08-12Bibliographically approved

Open Access in DiVA

fulltext(392 kB)243 downloads
File information
File name FULLTEXT01.pdfFile size 392 kBChecksum SHA-512
5f18c2d9f2aa903cbb187eae78229bf93ff37371b80336905f656c882cf4c8fa01a6a674e4eac058e94ce7ce9ff7f35213ec684d1b783057e878edf2376c1078
Type fulltextMimetype application/pdf

By organisation
Department of Computer and Information Science
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 243 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 217 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf