krissrex / tdt4900-master-thesis-ecore-tree-editor

A Tree Editor for VSCode to modify Ecore models. Developed as part of my masters thesis (TDT4900) at NTNU.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

VSCode Ecore Tree Editor

Components

  1. VSCode extension (vscode-ecore-tree-editor-extension)
  2. Tree Editor frontend (tree-editor-frontend)
  3. Tree Language Server (model-server)
  4. Tree Document model js-library (tree-docment-model-js)
  5. VSCode and Webview RPC js-library (vscode-webview-tree-editor-rpc)

The VSCode extension embeds and presents the Tree Editor frontend. The extension talks over the Tree Language Server Protocol (TLSP) to the Tree Language Server, which in turn asks the Ecore Model Server to do the actual work on models and files.

plantuml 0

PlantUML code
@startuml
[Tree Editor frontend] as TEf
[VSCode extension] as VSCEx
[EMF Tree Language Server] as TLS
[Tree Document model js-library] as TDMlib
[VSCode and Webview RPC js-library] as VSCWVRPC

artifact "compiled frontend js" as cfs

TEf -right-> cfs : compiles to
TEf --> VSCWVRPC : imports
TEf --> TDMlib : imports
VSCEx --> VSCWVRPC : imports
VSCEx --> TDMlib : imports
VSCEx -left-> cfs : webview
VSCEx <-> TLS : TLSP/JSON-RPC
@enduml

Generic and specific domains

Some parts are generic to all domains suited for a Tree Editor. The rest is specific to Eclipse Modeling Framework (EMF).

Generic components should not contain any references to EMF or Ecore.

Domains

About

A Tree Editor for VSCode to modify Ecore models. Developed as part of my masters thesis (TDT4900) at NTNU.


Languages

Language:TypeScript 36.6%Language:Java 30.2%Language:CSS 13.5%Language:JavaScript 12.9%Language:Vue 4.7%Language:Shell 2.0%Language:HTML 0.2%