Skip to end of metadata
Go to start of metadata

KEITH[1][2] is an IDE based on KIELER[3]. It uses KIELER as a language server to provide rich client features for SCCharts[4], Lustre, Esterel, ELK, KGraph, and some intermediary languages.

KEITH runs in a browser.

You can download the nightly build for KEITH here (currently no working build for MacOS).


KEITH Nightly:

KEITH Language Server: TODO, currently not published

[1] Sören Domrös. Moving Model-Driven Engineering from Eclipse to Web Technologies, November 2018

[2] Niklas Rentz. Moving Transient Views from Eclipse to Web Technologies, November 2018

[3] Reinhard von Hanxleden, Hauke Fuhrmann, and Miro Spönemann. “KIELER—The KIELIntegrated Environment for Layout Eclipse Rich Client”. In:Proceedings of the Design,Automation and Test in Europe University Booth (DATE ’11). Grenoble, France, 2011.

[4] Reinhard von Hanxleden, Björn Duderstadt, Christian Motika, Steven Smyth, Michael Mendler, Joaquín Aguado, Stephen Mercer, and Owen O’Brien. SCCharts: Sequentially Constructive Statecharts for Safety-Critical Applications. In Proc. ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’14), Edinburgh, UK, June 2014.

How to use KEITH?

1: Left bar, which holds the workspace. The workspace is a folder opened in the file system.

2: Left part of split main bar. It holds the file that is edited. KEITH provided rich client features for sctx, scl strl, lus, kgt, and elk files.

3: Right part of slit main bar. It holds the diagram  synthesized from the current opened file.

4: Bottom bar. It holds the compiler widget. From left to right to menu bar is used to show private system, enable inplace compilation, enable autocompile on save, select compilation system via dropdown menu, and compile the active model via the selected compilation system. Below the menu all snapshots of an invoked compilation are visible. The snapshots are ordered from left to right. These snapshots are clickable and display the snapshot in the diagram view. Small snapshots indicate that these are results of the processor to the left of it. A teal color indicates that an information is attached to the snapshot. Yellow indicates a warning and red an error.

5: Right bar: holds the diagram-option widget. It is used to configure the diagram displayed in 3.

6: Main menu bar. Holds all menus.

7: Status bar: Shows status of tool including errors and warnings in workspace, current line number and column, current indentation style (here 4 Spaces), and the language in the active editor (here SCCharts). Moreover the blue color indicates that the tool has a stable connection to its language server. Yellow indicates a connection loss.

KEITH has some widgets by default, which are the problems-widget, the outline-widget, the output-widget, and the search-widget. All existing widgets are found via the View menu entry.


You can navigate through the snapshots via Alt+G/Alt+J


If the electron desktop app is used F1>Reload Window fixes almost anything. It is equivalent to a restart

The command palette

The command palette opens by pressing F1 or opening it via the menu View>Find Command...

The command palette can be searched commands and supports regular expressions. The displayed commands have of a name (on the left side) and optionally a shortcut to invoke them (on the right side of the command palette).

Via Ctrl+P the workspace can be searched for files to open. This can also be access via F1 and deleting the > character in the command palette.

Modeling SCCharts

See Quick Start Guide#ModelingSCCharts for details.

  • No labels