From 0ec32a26729f7c61041e8d1377d43582eefc06cf Mon Sep 17 00:00:00 2001 From: Niklas Fors <niklas.fors@cs.lth.se> Date: Thu, 5 Jul 2018 13:37:21 +0200 Subject: [PATCH] Add examples --- examples/All.relast | 19 +++++++++++++++++++ examples/Rail.relast | 19 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 examples/All.relast create mode 100644 examples/Rail.relast diff --git a/examples/All.relast b/examples/All.relast new file mode 100644 index 0000000..56fe6de --- /dev/null +++ b/examples/All.relast @@ -0,0 +1,19 @@ +Root ::= A* B*; +A ::= <Name>; +B ::= <Name>; + +rel A.di1 -> B; +rel A.di2? -> B; +rel A.di3* -> B; + +rel A.bi1 <-> B.bi1; +rel A.bi2 <-> B.bi2?; +rel A.bi3 <-> B.bi3*; + +rel A.bi4? <-> B.bi4; +rel A.bi5? <-> B.bi5?; +rel A.bi6? <-> B.bi6*; + +rel A.bi7* <-> B.bi7; +rel A.bi8* <-> B.bi8?; +rel A.bi9* <-> B.bi9*; diff --git a/examples/Rail.relast b/examples/Rail.relast new file mode 100644 index 0000000..99fd52a --- /dev/null +++ b/examples/Rail.relast @@ -0,0 +1,19 @@ +RailwayContainer ::= Route* Region*; + +abstract RailwayElement ::= <id:int>; +Region : RailwayElement ::= TrackElement* Sensor*; +Semaphore : RailwayElement ::= <Signal:Signal>; +Route : RailwayElement ::= <Active:boolean> SwitchPosition*; +SwitchPosition : RailwayElement ::= <Position:Position>; +Sensor : RailwayElement; + +abstract TrackElement : RailwayElement; +Segment : TrackElement ::= <Length:int> Semaphore*; +Switch : TrackElement ::= <CurrentPosition:Position>; + +rel Route.requires* -> Sensor; +rel Route.entry? -> Semaphore; +rel Route.exit? -> Semaphore; +rel Sensor.monitors* <-> TrackElement.monitoredBy*; +rel TrackElement.connectsTo* -> TrackElement; +rel SwitchPosition.target <-> Switch.positions*; -- GitLab