Skip to content

Tokessa/RailBlocks

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RailBlocks

A Blockly RailSL Implementation

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.

Features

  • Simple block-based programming
  • Translation to RailSL
  • Automatic simulation and deployment of generated RailSL code
  • Visual warnings and tooltips for each block

IDE Screenshot

Requirements

  • Linux-based operating system, tested on Arch Linux and Ubuntu 24.04 LTS including the build-essentials package
  • Node.js, tested versions: 24.1.0, 22.16.0
  • KIELER Compiler CLI (kico) jar with modern RailSL grammar support
    • Place inside backend/executor
    • Has known bug that prevents deploy if path to binary contains whitespaces
    • Download the kico-railsl.jar from the latest railsl release
  • A Java runtime in PATH, tested with Ubuntu's openjdk-21-jre package.

Installation

  1. Clone this repository and cd into it.
  2. Install npm dependencies with npm install.
  3. Start with npm run start.

Releasing a new version

To release a new version for use on the model railway, update the version number in package.json and also update the version in .railsl-release-tag to the desired railsl version tag.

Attributions

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 89.0%
  • HTML 5.3%
  • Shell 3.4%
  • CSS 2.3%