dc.contributor.advisor | Trætteberg, Hallvard | |
dc.contributor.author | Rekstad, Kristian | |
dc.date.accessioned | 2022-01-12T18:20:21Z | |
dc.date.available | 2022-01-12T18:20:21Z | |
dc.date.issued | 2021 | |
dc.identifier | no.ntnu:inspera:74730513:26437651 | |
dc.identifier.uri | https://hdl.handle.net/11250/2837177 | |
dc.description.abstract | Programvareutvikling har en tilnærming som kalles Model-Dreven Utvikling (MDD).
Dette undervises til studenter i høyere utdanning. Tilnærmingen er avhengig av
verktøy, og et slikt verktøy er Eclipse Modeling Framework (EMF). Selv om EMF
kan brukes for å lære studenter om MDD, er det upopulært på grunn av sin tilknytning til Eclipse Integrated Development Environment (IDE), som gjør at studenter
stritter i mot å lære MDD. Skybaserte alternativer til Eclipse IDE eksisterer, som
Gitpod med VSCode, og de har nyttige egenskaper for en utdanningsorganisasjon.
Verktøyene i EMF finnes derimot ikke for disse alternativene. Denne masteroppgaven prøver å legge til rette for å støtte EMF i de skybaserte alternativene.
Fremgangsmåten i masteroppgaven er basert på Design Science Research, hvor
et design blir lagd og en programvare blir utviklet. Designet drar inspirasjon fra
Language Server Protocol (LSP) og Graphical Language Server Platform (GLSP),
protokoller for tekst- og diagramredigering. Disse protokollene brukes allerede i
VSCode.
Resultatet er en utvidelse for VSCode for redigering av tre-strukturer. EMF-modeller kan redigeres som trær. Denne utvidelsen består av tre komponenter: et
generisk brukergrensesnitt for tre-redigering, en utvidelse for VSCode, og en EMF-spesifikk tjener (server). Utvidelsen og serveren snakker med en nylig designet
protokoll: Tree Language Server Protocol (TLSP).
Den resulterende programvaren kan bygges på videre, for å bruke EMF-modellering
i skyen. TLSP-protokollen og programvarearkitekturen kan brukes av også andre
verktøy som trenger tre-redigering, og som sikter på å støtte flere IDE-er. En utbredt bruk av TLSP i IDE-er vil gjøre at migrering av tre-redigeringsverktøy til
andre IDE-er blir forenklet. Uavhengig av dette, så gir designet en gjenbrukbar server for
EMF, som kan forenkle migreringen av EMF til andre IDE-er. | |
dc.description.abstract | Software engineering has an approach called Model-Driven Development (MDD).
This is taught to students in higher education. The approach is reliant on tools, and
one such tool is the Eclipse Modeling Framework (EMF). While EMF can be used
to teach students about MDD, it is unpopular because of its ties to the Eclipse
Integrated Development Environment (IDE), causing students to resist learning
MDD. Cloud based alternatives exist for the Eclipse IDE, like Gitpod with VSCode,
which provide benefits in an educational organization. However, the EMF tools
used in education are not available in these alternatives. This thesis tries to enable
the cloud based alternatives to support EMF.
The thesis’ approach is based on Design Science Research, where a design
is created and a software artifact is implemented. The design draws inspiration
from the Language Server Protocol (LSP) and Graphical Language Server Platform
(GLSP), protocols for text and diagram editing. These protocols already work in
VSCode.
The result is a Tree Editor extension for VSCode. EMF models can be edited
as trees. This extension uses a three component design: a generic tree editor user
interface, a VSCode extension, and an EMF specific server. The extension and
server communicate with a newly designed protocol, the Tree Language Server
Protocol (TLSP).
The resulting implementation can be built upon to work with EMF modeling in
the cloud. The TLSP protocol and software architecture can be used by other tools
that need tree editors, that aim to support multiple IDEs as well. A wider adoption
of TLSP in IDEs will make migrations of tree editors to other IDEs easy. Regardless,
the design provides a reusable server for EMF, which can ease migrations of EMF
to other IDEs. | |
dc.language | eng | |
dc.publisher | NTNU | |
dc.title | A Modeling Environment in the Cloud for Education | |
dc.type | Master thesis | |