Setup and Documentation
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.
Repositories that you might need
Repo | Location | Contents |
---|---|---|
KIELER Semantics | 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 | The KGraph synthesis. | |
KlighD | The KGraph language, the pragmatics language server, and the KIELER lightweight diagram framework. | |
KEITH | 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.