A customized Collektive bootstrap for experiments based on the Alchemist simulator, with releases and data analysis ready. For further information about how the Alchemist simulator works, please refer to the Alchemist documentation.
Upon generation of an experiment from this template:
- add a secret github token with
repopermissions namedDEPLOYMENT_TOKEN; - edit the project name in
settings.gradle.kts; - edit the DockerHub user name in
docker-compose.yml; - add a secret called
DOCKER_PASSWORDwith your DockerHub password; - edit the DockerHub password in
.github/workflows/build-and-deploy.yml;
WARNING: re-running the whole experiment may take a very long time on a normal computer.
- Install docker and docker-compose
- Run
docker-compose up - The charts will be available in the
chartsfolder.
- Install a Gradle-compatible version of Java.
Use the Gradle/Java compatibility matrix
to learn which is the compatible version range.
The Version of Gradle used in this experiment can be found in the
gradle-wrapper.propertiesfile located in thegradle/wrapperfolder. - Install the version of Python indicated in
.python-version(or usepyenv). - Launch either:
./gradlew runAllBatchon Linux, MacOS, or Windows if a bash-compatible shell is available;gradlew.bat runAllBatchon Windows cmd or Powershell;
- Once the experiment is finished, the results will be available in the
datafolder. Run:pip install --upgrade pippip install -r requirements.txtpython process.py
- The charts will be available in the
chartsfolder.
Follow the instructions for reproducing the entire experiment natively, but instead of running runAllBatch,
run runEXPERIMENTGraphics, replacing EXPERIMENT with the name of the experiment you want to run
(namely, with the name of the YAML simulation file).
If in doubt, run ./gradlew tasks to see the list of available tasks.
To make changes to existing experiments and explore/reuse, we recommend to use the IntelliJ Idea IDE. Opening the project in IntelliJ Idea will automatically import the project, download the dependencies, and allow for a smooth development experience.
We keep a copy of the data in this repository,
so that the charts can be regenerated without having to run the experiment again.
To regenerate the charts, run docker compose run --no-deps charts.
Alternatively, follow the steps or the "reproduce natively" section,
starting after the part describing how to re-launch the simulations.