Getting Started - Setup and Documentation 

Page / - last modified by Soeren Domroes on 2023/07/06 14:58 

Setup and Documentation 
last modified by Soeren Domroes
on 2023/07/06 14:58

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.