Environmental Engineering Reference
In-Depth Information
allows objects to differ from each other with respect to the role they play in model
execution. The variations in variable values may trigger different parts of the
internal code to be executed and thus may lead to a different behaviour and
development of the respective object.
In fully featured OOP-languages, the command to instantiate an object may be
triggered from any part of the programme. To access objects, a special kind of
variable is needed. These so-called REFERENCE VARIABLES or POINTERS
directly refer to a specific object and thus facilitate uni-lateral or mutual interactions
between objects. OOP has revolutionized computer programming due to its more
flexible design structure and clear organization of programme code. Moreover, the
features of object orientation make even complex models easier to maintain and
helps in tracing errors (“bug tracking”). Due to the flexible structure during
programme run time (instantiation and deletion of objects, switching of pointers
from one object to another) OOP easily allows to handle the structurally complex
interaction networks required for advanced ecological applications (Reuter
et al. 2008). This allows simulating a large variety of phenomena, in particular
self-organizing spatiotemporal structures on different levels of organization (Reuter
et al. 2005).
Most individual-based programmes contain relatively similar essential parts and
processes which are common for this model type:
1. The representation of an individual entity as a class
2. The layout of a structured representation of the environment
3. The organization of the temporal model execution and interaction between the
entities
These parts will be explained in the following.
12.2.1 Representation of Individual Entities
A class can be conveniently utilized to describe the life-history and interaction of an
individual organism. Usually, it consists of three main parts (Fig. 12.1 ): (a) state
variables which describe individual properties and attributes, (b) statements and
code blocks which are used to update these variables, and (c) a scheduling mecha-
nism to update the properties of the individuals.
a) Variables Describing Individual Properties
Which kind and how many variables are necessary to describe the properties of an
individual, depends on the research question and the complexity of the individual
life-history and activity repertoire in focus. In the simplest case, one property/
variable is enough to be able to distinguish the individuals. For example, describing
movement or dispersal patterns would necessarily require variables to store the
Search WWH ::




Custom Search