RailBlocks is a visual programming language (VPL) and integrated development environment (IDE) using Google Blockly that translates to RailSL (the Railway-specific language), a textual domain-specific language, used by the Kieler University to teach about real-time and embedded systems.
The VPL is designed to simplify the original RailSL grammar to make it usable by anyone.
- Simple block-based programming
- Translation to RailSL
- Automatic simulation and deployment of generated RailSL code
- Visual warnings and tooltips for each block
- Linux-based operating system, tested on Arch Linux and Ubuntu 24.04 LTS
- Node.js, tested versions:
24.1.0,22.16.0 - KIELER Compiler CLI (kico) binary with modern RailSL grammar support
- Place inside backend/executor
- Has known bug that prevents deploy if path to binary contains whitespaces
- https://rtsys.informatik.uni-kiel.de/~kieler/files/blockly-compiler/
- A Java runtime in PATH, tested with Ubuntu's
openjdk-21-jrepackage.
- Clone this repository and cd into it.
- Install npm dependencies with
npm install. - Start with
npm run start.
Icons and animations created by user jucy_fish (favicon.png), Freepik (hourglass.gif) and Flaticon (disk.svg, file-import.svg, settings.svg) and distributed by Flaticon. Other icons (train.svg, train-execute.svg) were created by Sören Domrös under the EPL-2.0 license.
