Simulation modelling is an important aspect of research in the earth, environmental and life sciences. Models can guide the research process; integrate the knowledge coming from a variety of studies; permit the testing of hypotheses; and enable predictions to be made. Many major research programmes have the development of such models as a central component of the whole programme.
In the recent past, most models are implemented in conventional programming languages, such as Fortran and C. We believe that in many cases this greatly reduces the effectiveness of the modelling effort. For example:
These problems have been recognised for a good number of years in the modelling community, and various solutions have been proposed. First, there has been some development of modular modelling environments (such as APSIM), but these tend to make rigid assumptions about the way that submodels should integrate, and thus can at best only work within a small, well-defined community. Second, there are now a number of simulation languages (such as ACSL), and visual modelling environments (such as Stella, ModelMaker and PowerSim). These certainly reduce the programming overhead, but tend to restrict the modeller to a certain modelling approach (such as differential equations or System Dynamics modelling). Third, there is now considerable interest in the adoption of object-oriented or component-based technologies such as C++ or COM. These have the potential to permit re-use of model components between groups, but are still tied into a programming paradigm for the implementation of the individual model components.