IODA methodology
The formal model -- as a technical specification of the simulation -- cannot be defined
directly by domain experts. Yet, their involvement in its construction is a prerequisite
to valid simulation results. The IODA modeling methodology aims at dealing with
this issue, thanks to simple specifications that are used in order to build gradually the
model of the simulation.
Problem analysis outline
The construction of the computational model with the IODA modeling methodology
is a process ruled by 7 different steps:
-
List the different interactions occurring in the
simulation;
-
List the entities involved in the simulation.
Each entity is represented by an agent family;
-
Specify the interaction matrix of the simulation,
i.e. plug:
-
interactions between source and target
agent families, and set its limit distance;
-
degenerate interactions for source agent
families into the ∅ column of the matrix;
-
Specify the interactions involved in the
simulation:
-
either write the interactions trigger,
preconditions and actions. Writing them
leads to the identification of the different
abstract primitives that agents have
to implement in order to participate in
the interaction;
-
or get an already existing interaction
from the interaction library, for which
trigger, preconditions, actions and roles
are already specified;
-
Specify the interaction selection process of agents.
For reactive agents, it consists in providing a priority
to every assignation element of the interaction matrix;
-
Specify the agent families involved in the simulation,
i.e. specify:
-
the abstract primitives that the family has
to implement, thanks to algorithms;
-
the halo of that family, depending on how
the environment is represented;
-
the initialization and updating primitive of
this family, thanks to algorithms;
-
Specify the remaining elements of the simulation:
-
how time is represented in the simulation;
-
what distance and halo stand for -- i.e.
how the environment is represented;
Obviously, these steps are not an absolute and dogmatic
sequential process. Even if each step has to be clearly
identified, they are in practice intermingled during
simulations specification. The only requirement is to
build the interaction matrix and specify interactions
before focusing on agents structure.
Illustration
An application of this
process applied to a simple simulation (a termite nest
construction) is described
on this page.
This example is inspired from the model described
by Mitchel
Resnick in his book entitled Turtles,
termites, and traffic jams: explorations in massively parallel
microworlds.