The project was organized around the different
design phases of integrated simulation models
linking the ecological, economic and social aspects
to the promising management strategies. Regular
consultations with stakeholders and representatives
of coastal planning institutes formed a key aspect of
the project. The modelled themes ranged from
fisheries and shell-fish farming to beach
attractiveness and coastal and inland eutrophication.
ExtendSim® (www.extendsim.com) served as
common simulation platform to allow for easy
exchange of model constructs between the different
project teams. This modelling environment supports
the component-based, hierarchical design of
dynamic simulation models to describe discrete and
continuous systems. Drag-and-drop linking of
reusable model components which are stored in
different libraries makes the design and maintenance
of models relatively easy, even for less-experienced
modellers. In addition, a large number of tools are
available to customize and improve the layout and
control of the model, an advantage in projects
developing policy instruments to be used in
interactive sessions with stakeholders. Simulation
models can be designed and modified by linking
standard components based on graphical icons, or by
means of more powerful coding in ModL, a
programming language similar to C (Fig. 1).
Modellers can also reorganize their components in
custom libraries to support the exchange of model
constructs. The project teams were required to
contribute one or more reusable model building
components to a generic model library, an important
deliverable of the project. Typical design criteria for
model components are reusability, flexibility,
encapsulation, interoperability (Papajorgji, 2005;
Rizzoli et al., 2008; Verbraeck and Valentin, 2008)
as well as framework independence (Rizzoli et al.,
2008). General guidelines for the design of
components were issued in the project (De Kok et
al., 2010) to help the modellers with their task and
ensure a certain degree of reusability of the
delivered components. The practical implementation
of the design guidelines turned out to be less
straightforward than expected, and some interesting
lessons can be drawn from the project. Here we take
a few examples of component linking and reuse to
reflect on the scientific and technical difficulties.
2 DESIGN APPROACH
The majority of environmental modellers are less
familiar with component-based design, because it is
not their first priority. The common practice is that
models expand gradually and iteratively in terms of
the functionalities included while gaining in
complexity. Frequent problems with the early
deliveries to the model library in this project
included a lack of separation of models and data,
excessive and inappropriate use of connectors,
overcomplexity, inadequate documentation and
testing, and functionalities that were too much
dependent on the case study modelled. The
advantages and general principles of component-
based modelling therefore had to be clarified by
means of tutorial examples taken from different
application domains. A literature review of the
design criteria that were mentioned earlier formed
the starting point for a number of more concrete,
project-focused guidelines and templates to
standardize the design process and avoid the
common pitfalls. Domain-independent components
with functionalities related to up- and downscaling,
user dialogues, im- and export of data, encryption,
statistics etc. were developed to support the project
teams with the design and polishing of their
simulation models. For organizational reasons the
majority of the components were designed by means
of a top-down procedure, and derived from the
simulation models at a late stage in the project. The
advantage of this approach is that the modelling
experience and data needed for the calibration of the
components were available, and the priorities were
clearer. On the other hand, the design of the
simulation models could not fully benefit from the
component-based design approach, compared to a
bottom-up approach.
Repeated exchanges to obtain feedback from the
support team and more experienced modellers
helped the project teams with the polishing and
improvement of their components. The approach for
designing the model components addressed the
following aspects:
1. First, it was necessary to identify which
functionalities could be useful to others. Here,
functionality is defined to be the modelled process
with in- and outgoing state variables. An example is
a component which describes the population
dynamics of a fish stock, with the fishing effort as
input and stock size as output variable. The
mathematical and visualization tools available in the
standard ExtendSim® libraries are typical examples
of components with a high degree of reusability, but
pertain to a low level of model detail. More complex
and process oriented components were needed to
reduce the effort required for developing a new
simulation model. On the other hand, components
SIMULTECH 2011 - 1st International Conference on Simulation and Modeling Methodologies, Technologies and
Applications
104