Skip to content

Commit 9a35eae

Browse files
committed
Publish rrd
1 parent 6325aea commit 9a35eae

File tree

4 files changed

+34
-25
lines changed

4 files changed

+34
-25
lines changed

.github/workflows/gh-pages.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@ jobs:
4545
- name: Setup Graphviz
4646
uses: ts-graphviz/setup-graphviz@v2
4747

48+
- name: Railroad Diagrams
49+
run: |
50+
cd language/rrd
51+
make
52+
4853
- name: Geographical Interlocking NPM
4954
run: cd geographical_interlocking/simulator/react && npm ci
5055

@@ -59,6 +64,8 @@ jobs:
5964

6065
- name: Copy output artifacts
6166
run: |
67+
mkdir -p _site/rrd
68+
cp -r language/rrd/out/* _site/rrd/
6269
mkdir -p _site/locking_table_interlocking
6370
cp -r locking_table_interlocking/simulator/react/build/client/* _site/locking_table_interlocking/
6471
mkdir -p _site/geographical_interlocking

README.md

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# OSM Interlocking
22
Design framework and examples for software-based railway interlocking logic.
33

4-
![Interactive Interlocking UI](resources/interlocking.png)
4+
[![Interactive Interlocking UI](resources/interlocking.png)](https://osmhpi.github.io/interlocking/locking_table_interlocking/)
55

66
This repository contains a framework for designing railway interlocking software.
77
It consists of a state machine language definition (syntax and semantics), compilers and simulators.
@@ -42,20 +42,6 @@ Often, many point machines share the same power supply.
4242
When multiple point machines are powered on at the same time due to the commanding of a route, a current spike can cause damage to the power supply.
4343
Hence, although a staggered point machine operation is not a safety-related function, it is present within the core logic of many interlocking systems.
4444

45-
## Setup and Development
46-
47-
Prerequisites (as tested, newer versions may work as well):
48-
- .NET 8.0 SDK
49-
- Rust 1.91.1
50-
- Node.js 22 and npm
51-
- Antlr 4.13.2
52-
- wasm-pack 0.13.1
53-
- make
54-
55-
For a simplified setup, a VS Code Devcontainer configuration file is provided.
56-
57-
To compile and run the web-based debugging interface, run `make web` from the [locking_table_interlocking](locking_table_interlocking) or [geographical_interlocking](geographical_interlocking) directories, then open http://localhost:3000/.
58-
5945
## Interlocking Software Design Language (Meta Model)
6046

6147
[Language Semantics Documentation](language/README.md)
@@ -76,6 +62,7 @@ To compile and run the web-based debugging interface, run `make web` from the [l
7662

7763
| | Locking Table Interlocking | Geographical Interlocking |
7864
|-|-|-|
65+
| | [🌍 Simulator](https://osmhpi.github.io/interlocking/locking_table_interlocking/) | [🌍 Simulator](https://osmhpi.github.io/interlocking/geographical_interlocking/) |
7966
| **Generic Application** |
8067
| Entity Types | [entity_types](locking_table_interlocking/generic_application/entity_types) | [entity_types](geographical_interlocking/generic_application/entity_types)
8168
| Graphs | [graphs](locking_table_interlocking/generic_application/graphs) | [graphs](geographical_interlocking/generic_application/graphs) |
@@ -86,3 +73,17 @@ To compile and run the web-based debugging interface, run `make web` from the [l
8673
| **Specific Application** |
8774
| Configuration JSON | [configuration.json](locking_table_interlocking/specific_application/configuration.json) | [configuration.json](geographical_interlocking/specific_application/configuration.json) |
8875
| Web-based Simulator | [simulator](locking_table_interlocking/simulator) | [simulator](geographical_interlocking/simulator) |
76+
77+
## Setup and Development
78+
79+
Prerequisites (as tested, newer versions may work as well):
80+
- .NET 8.0 SDK
81+
- Rust 1.91.1
82+
- Node.js 22 and npm
83+
- Antlr 4.13.2
84+
- wasm-pack 0.13.1
85+
- make
86+
87+
For a simplified setup, a VS Code Devcontainer configuration file is provided.
88+
89+
To compile and run the web-based debugging interface, run `make web` from the [locking_table_interlocking](locking_table_interlocking) or [geographical_interlocking](geographical_interlocking) directories, then open http://localhost:3000/.

language/rrd/.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
*.ebnf
2-
*.war
32
out/

language/rrd/Makefile

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
all: out/index.xhtml
22
clean:
3-
rm -rf rr.war ebnf-convert.war Expression.ebnf out out.zip
3+
rm -rf ../../.tools/rr.war ../../.tools/ebnf-convert.war Expression.ebnf out out.zip
44

5-
rr.war:
6-
curl -L -o rr.war https://repo1.maven.org/maven2/de/bottlecaps/rr/rr-webapp/2.6/rr-webapp-2.6.war
5+
../../.tools/rr.war:
6+
mkdir -p ../../.tools
7+
curl -L -o ../../.tools/rr.war https://repo1.maven.org/maven2/de/bottlecaps/rr/rr-webapp/2.6/rr-webapp-2.6.war
78

8-
ebnf-convert.war:
9-
curl -L -o ebnf-convert.war https://repo1.maven.org/maven2/de/bottlecaps/ebnf-convert/ebnf-convert-webapp/0.73/ebnf-convert-webapp-0.73.war
9+
../../.tools/ebnf-convert.war:
10+
mkdir -p ../../.tools
11+
curl -L -o ../../.tools/ebnf-convert.war https://repo1.maven.org/maven2/de/bottlecaps/ebnf-convert/ebnf-convert-webapp/0.73/ebnf-convert-webapp-0.73.war
1012

11-
Expression.ebnf: ebnf-convert.war ../Expression.g4
12-
java -jar ebnf-convert.war ../Expression.g4 > $@
13+
Expression.ebnf: ../../.tools/ebnf-convert.war ../Expression.g4
14+
java -Djava.awt.headless=true -jar ../../.tools/ebnf-convert.war ../Expression.g4 > $@
1315

14-
out/index.xhtml: rr.war Expression.ebnf
15-
java -jar rr.war -color:#dedede -noembedded Expression.ebnf > out.zip
16+
out/index.xhtml: ../../.tools/rr.war Expression.ebnf
17+
java -Djava.awt.headless=true -jar ../../.tools/rr.war -color:#dedede -noembedded Expression.ebnf > out.zip
1618
unzip -o out.zip -d out
1719
rm out.zip
1820
for f in out/diagram/*.svg; do \

0 commit comments

Comments
 (0)