Page 82 -
P. 82
5 Informal Approaches to Developing Simulation Models 77
• Programming paradigm: Different programming paradigms are more appropriate
to different types of modelling problems. If, for example, you think of things in
terms of “if-then” statements, a rule-based system might be the most appropriate
for your modelling. If instead you visualise things as series of (perhaps branch-
ing) steps, a procedural one might be more appropriate. In practice, most systems
these days are not purely one paradigm or another, but they still have leanings one
way or another, and this will influence the way you think about your modelling.
• Timing: How will time be handled in the simulation? Will it be continuous or
stepped or perhaps event-driven? Will all agents act “at once” (in practice, unless
each agent is run on a separate processor they will be executed in some sense
sequentially, even if conceptually within the model they are concurrent), or do
they strictly take turns? Will it be necessary to run the simulation in real time or
(many times) faster than real time?
Once one has considered these questions, and decided on the answers for
the particular model in mind, the list of potential systems will be considerably
shortened, and one should then be able to make an informed choice over the
available options. The temptation, particularly when one is beginning to write
models, is to go for the option that will produce the quickest results, but it is
important to remember that sometimes a small initial investment can yield long-
term benefits.
5.8 Conclusion
It is easy to try and rationalise bad practice. Thus, it is tempting to try and prove
that some of the more formal techniques of computer science are not applicable to
building social simulations just because one cannot be bothered to learn and master
them. It is true however that not all the techniques suggested by computer scientists
are useful in an exploratory context, where one does not know in advance precisely
what one wants a simulation to do. In these circumstances, one has to take a looser
and less reliable approach but follow it with consolidation once one has a more
precise idea of what one wants of the simulation. The basic technique is to mix bits
of a more careful approach in with the experimentation in order to keep sufficient
control. This has to be weighed against the time that this may take, given one does
not know which final direction the simulation will take. There is a danger of this
approach: that the modeller will be tempted by apparently significant results to
rush to publication before sufficient consolidation has occurred. There may be times
when the exploratory phase may result in useful and influential personal knowledge,
but such knowledge is not reliable enough to be up to the more exacting standards
expected of publicly presented results. This is particularly true if the model is to
be applied in a critical way that has real impacts upon people or the environment.
Thus, it is only with careful consolidation of models that this informal approach to
building simulations should be undertaken.