Environmental Engineering Reference
In-Depth Information
In the past decade there has been an increasing demand for modularity and
replaceability in biophysical models (e.g. Jones et al. 2001 ; David et al. 2002 ;
Donatelli et al., 2003, 2004, 2006a) , aimed both at improving the efficiency of use
of resources and at fostering a higher quality of modelling through specialization
of model builders in their specific domain. The modular approach developed in the
software industry is based on the concept of encapsulating the solution of a model-
ling problem in discrete, replaceable, and interchangeable software units called
components. A software component can be defined as “a unit of composition with
contractually specified interfaces and explicit context dependencies only. A software
component can be deployed independently and is subject by composition by third
parties” (Szypersky et al. 2002) . Component-oriented designs actually represent a
natural choice for building scalable, robust, large-scale applications, and to maximize
the ease of maintenance in a variety of domains, including agro-ecological modelling
(Argent 2004) . This concept has been applied to biophysical simulation and has led
to the development of modelling frameworks such as Simile, MODCOM, IMA,
TIME, OpenMI, SME, and OMS (Argent and Rizzoli 2004 ; Rizzoli et al. 2004) ,
which allow use to be made of components by linking them either directly or
through a simulation engine. Three major aspects of model implementation are
specific to the modelling platform, demand consistent development resources, and
are real barriers to reusability. These are:
Data input/output procedures (e.g. input/output data handling and file management)
Common services (e.g. state variable integrator, simulation event handler); and
Graphical user interfaces (GUI)
Modelling frameworks can play a key role in addressing these issues. First, the
framework allows the application-specific parts of simulations to be segregated from
the code employed to accomplish common tasks, thus greatly enhancing code re-use
(Hillyer et al. 2003) . Secondly, by defining those elements of the framework that
actually contain the model implementation and how the elements are used, a designer
can be presented with a clear path from conceptual model to simulation (Hillyer et al.
2003) . Furthermore, by avoiding the need to re-implement common services,
resources can be concentrated on the development of simulation components.
Developing a simulation system based on the component-oriented paradigm poses
specific challenges in terms of both biophysical model linkages and implementation
architecture. Component-based architectures demand the definition and implementa-
tion of sub-systems which minimize the need for links to other components, and the
need for repeated communication between components. However, even when a
system to be simulated is divided into sub-systems with little need for communication
between them, data exchange prior to integration within a time step is needed, thus
an articulated interface is needed that allows such calls. Although being potentially
prone to mix and match “everything” is often suggested as an intrinsic weakness of
component-based systems, this problem can be overcome by shifting the focus to the
components themselves using semantically rich interfaces which ensure that the
linked variables are appropriate. To illustrate the concept, if a component makes
available a variable characterized by units, range of use, type and description, and
Search WWH ::

Custom Search