Getting Started - Setup and Documentation

Page / - last modified by Soeren Domroes on 2023/07/11 10:04

Setup and Documentation

last modified by Soeren Domroes

on 2023/07/11 10:04

Table of Contents

Set up KIELER development Eclipse

Set up KEITH development Eclipse

Repositories that you might need

Theia Documentation

General Idea of a Language Server

Our diagram server

Ticket Management

First step is to set up an Eclipe to develop KIELER and the KEITH Language Server in. You might need both to test all features on both platforms.

If you find anything in the Setup guides that seems unclear or is wrong feel free to contact us.

Set up KIELER development Eclipse

Follow the Getting Eclipse guide and select KIELER semantics and KIELER pragmatics.

Set up KEITH development Eclipse

Follow the Running KEITH guide and select only KIELER semantics (you don't need ELK). Be sure to select the keith stream.

Follow the guide to set up an Eclipse to develop the language server and set up Keith.

KEITH does not work on Mac yet. If you only have a Mac you are only able to develop for KIELER.

Repositories that you might need

Repo	Location	Contents
KIELER Semantics	https://git.rtsys.informatik.uni-kiel.de/projects/KIELER/repos/semantics/browse	Languages such as SCCharts, Esterel, Lustre as well as compilation and simulation tools as well as the semantic language server for KEITH. In here is the AdaptiveZoom class. You might not want to change much in there. It is mostly to show what approaches already exist.
KIELER Pragmatics	https://git.rtsys.informatik.uni-kiel.de/projects/KIELER/repos/pragmatics/browse	The KGraph synthesis.
KlighD	https://github.com/kieler/KLighD	The KGraph language, the pragmatics language server, and the KIELER lightweight diagram framework.
KEITH	https://git.rtsys.informatik.uni-kiel.de/projects/KIELER/repos/keith/browse	Typescript client that connects to the language server. Renders diagram via Sprotty.

Theia Documentation

https://github.com/eclipse-theia/theia/blob/master/doc/Developing.md

General Idea of a Language Server

https://microsoft.github.io/language-server-protocol/overviews/lsp/overview/

Our diagram server

https://github.com/eclipse/sprotty/wiki/Client-Server-Protocol

https://github.com/eclipse/sprotty/wiki/Architectural-Overview

Ticket Management

If you encounter any problems in KIELER, KEITH, or somewhere else in the used technology feel free to make a ticket in our Jira (or an issue in Github for Klighd).

Make sure to label your issue appropriately and add the right components to it. Otherwise we might not see it or people not responsible for it get assigned a ticket.