Predicate run/1, defined in mcmcms/run.pl can be used to run a number of experiments producing a number of output files. We will refer to calls of run/1 as a `run'. Each run will execute a number of experiments according to the arguments of run_data/11. For each clause of run_data/11 the MCMC algorithm will be run with the corresponding parameters (see Appendix B). As a result a number of files will be created for each experiment. All filenames associated with a single experiment share a common stem, reflecting the parameters of the experiment. The extension of each file, reveals the kind of output stored in it. The core extentions are:
Throughout the model specific directories we have used simple Prolog programs which (a) make sure all the appropriate files are loaded, and (b) call run/1. For example consider file bns/run_test.pl in Table 1. The first directive loads run.pl from top-level directory. The second, loads the likelihood to be used and the third the code for displaying Bayesian networks (only included here for illustration). The last four ensure_loaded directives, load predicates that post-process the output files. The commented out directive bb_put( sr, off ) can be added to force all output to the terminal; this is useful for debugging. Finally run_test/0, is a wrap for calling run_test/1 with run_data/11 defined in runs/simple.pl creating output at `points' 24, 28 and 29, and putting all resulting files into directory test/. (See Appendix A for further information on the use of output `points'.)