Automatic control and execution of heterogeneous simulation tools
does not only concern the controlling environment, but also
the tools themselves.
Aside from the basic need to accept initial data from
other tools in some form,
a certain conduct has to be followed in order
to cooperate with other simulators.
The reasonable treatment of error conditions, including
the generation of concise and helpful error messages,
returning appropriate exit codes,
and closing files that have been opened during the program run
before the program exits,
as well as refraining from producing large amounts of unsolicited output
that is only helpful for the tool developer, are to be mentioned.
Moreover, a certain degree of tolerance and flexibility
with respect to the input data and to the class of problems to solve
proved to be extremely important.
Given the ability to automatically control large sets of experiments,
many deficiencies and nuisances have been eliminated from the
tools used as a result of deploying them in a greater context.