SimBatch

I've developed SimBatch to manage simulation runs during my PhD.

History

In my PhD I had to perform a lot of simulation runs. In the beginning I used shell scripts to create a configuration file with the right parameters, run my simulation and then store the output files in a tar archive. I used the same scheme whenever I needed to analyse the output of my simulation runs.

The next version was a C++ program which enable me to edit the values of the parameters. This program was focused on a single simulation.

The third version had a graphical interface that allowed full edition of the parameters of the simulation. It could run any program. It had an editor where a configuration file could be created. The files created by the program could be stored in a zip archive or renamed and put in any directory.

Overview

The architecture of SimBatch has two main concepts:

Parameter

Parameters can be numbers, text or boolean values. Parameters can have any number of values but SimBatch can only use a subset of them.

Program

The program is run for every combination of parameters values that are set to use. The program may need any number of input files, which can be edited by SimBatch, and it may create any number of output files, which may be saved by SimBatch either in a zip archive or renamed in some directory.

SimBatch allows Programs to be placed in a chain meaning that if program B follows program A then it can use as input files any output files of A that were saved. As example program A can be a genetic algorithm and program B can be a statistical program.