Vis enkel innførsel

dc.contributor.advisorTrætteberg, Hallvard
dc.contributor.authorRekstad, Kristian
dc.date.accessioned2022-01-12T18:20:21Z
dc.date.available2022-01-12T18:20:21Z
dc.date.issued2021
dc.identifierno.ntnu:inspera:74730513:26437651
dc.identifier.urihttps://hdl.handle.net/11250/2837177
dc.description.abstractProgramvareutvikling 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.abstractSoftware 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.languageeng
dc.publisherNTNU
dc.titleA Modeling Environment in the Cloud for Education
dc.typeMaster thesis


Tilhørende fil(er)

Thumbnail
Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel