This page contains links to two solutions of the follower rover challenge problem of the MDETools 2018 workshop, which we submitted to the workshop along with the paper titled Modeling and Programming a Leader-Follower Challenge Problem with Scenario-Based Tools.
We present two solutions, one based on a framework for Inter-Object Scenario Modeling in Kotlin (IOSM-K), and one based on a framework for Behavioral Programming in JavaScript (BPjs).
In the following, you find links to the sources and executable JARs of the solutions:
BPjs Solution
Find sources, JAR and further instructions on https://github.com/bThink-BGU/BPjsLeaderFollower.
See also the BPjs repository under https://github.com/bThink-BGU/BPjs.
IOSM-K solution
Sources
The IOSM-K framework builds on the Behavioral Programming for Kotlin (BPK) framework. Check out the sources from the master branches of the two repositories below:
- BPK: https://bitbucket.org/jgreenyer/behavioral-programming-for-kotlin/
- IOSM-K (including solution to the challenge problem): https://bitbucket.org/jgreenyer/scenario-based-programming-for-kotlin/
The scenario program for the rover follower challenge is located in /src/test/kotlin/org/scenariotools/sbp/examples/rovercontroller/.
Building the sources requires Gradle, and the code of both repositories to be cloned locally in the same directory. The main executable for the solution is org/scenariotools/sbp/examples/rovercontroller/RobotControllerScenarioProgram.kt. To build the jar, execute the Gradle task customCompileExecutableFatJarFollowerRoverController.
Binaries
- JAR:
- Download and unzip this archive file.
- Run this jar using java -jar FollowerRoverController-ISOM-K-1.0-SNAPSHOT.jar after starting the simulator and observer provided by the challenge.
- complete setup (Windows):
- Download and unzip this archive file.
- In order to run the follower rover simulation with the IOSM-K solution, perform the following three steps:
- Execute FIRST-run-simulator.bat and start the simulation by pressing ‘Play!’
- Execute SECOND-run-Unity-Observer.bat
- Execute THIRD-run-IOSM-K-Rover-Controller.bat
- …The rover should start moving.