Because we do not want to restrict the user by limiting the set of commands that can be used in running an experiment, our notion of an experiment is very general; it is, in fact, simply an executable. This means that a user may supply, for example, a compiled binary file or an executable shell script as the experiment. This notion of an experiment supports not only different computational contexts but also different programming styles.
An experiment generally consists of three separate stages:
setup (Section ),
execution (Sections
and
),
and analysis of results (Section
).
Our tool set is designed with these three
stages in mind but allows users to bypass any one of the stages so the
tools could be used, for example, to help in analyzing existing output files.
Each of the tools in our set has a command-line interface following the
style of other common Unix tools (Section
).
Recognizing that it can
be tedious and error-prone to provide a large (or even a small) set of
command-line arguments that activate the features one wants to use, all
the tools also allow input of some or all arguments from a text file
(Section
).