As part of our agent-based modeling approach, we released version 1.0.0 of bl.cli, a tool to run Monte Carlo simulations of our model. We initially built bl.cli to make it easier for our economists to produce data to quickly compare race results under heuristic strategies. bl.cli runs the Monte Carlo simulation and streams the results to a file. It has grown into a tool that allows anyone comfortable with command-line applications to run Monte Carlo simulations of our model and, in the long run, reproduce our results.
bl.cli has the following features:
We wanted to make sure that the JVM-based command-line tool can be run without any prerequisites (such as a Java install) on any major operating system. We also wanted to integrate the build process with our GitLab Continuous Integration pipeline. To make this possible, we had to push some of the most cutting-edge Java build tools to their limits, but this allowed us to generate a stripped-down JRE that is compiled into an image for each major operating system inside of our current (Linux-based) pipeline. Whereas the current approaches to delivering command-line applications on the JVM are being phased out, this new approach can be expected to work and be supported for one or more decades to come. We see building scientific software that still works decades from now as an important step toward more reproducible science.
As the next step, we aim to get approval that bl.cli isn’t considered an information hazard and then release it as open-source software.