Agricultural model developers have recognized the value of a modular style of model development from the beginning; for example, the early mechanistic models from the 'school of de Wit' were designed with a high degree of modularity in mind. Modular approaches to agricultural system model development are advantageous in that they: (1) facilitate substitution and reusability of different model components, (2) facilitate documentation and sharing of code, (3) allow linkage of components written in different programming languages, (4) allow greater flexibility in model updates and maintenance, (5) enhance collaboration opportunities between different model development groups, and perhaps most importantly, and (6) provide a cost reduction in model development and maintenance. In general, however, modular programming techniques have been slow to filter down to the agricultural modeling community where different approaches to model development in the various disciplines (e.g., crop growth, nutrient cycling, chemical transport, erosion, greenhouse gas emissions) have resulted in the proliferation of code and simulation models as described above. Most agricultural models are still monolithic, difficult to update as new knowledge becomes available, and are not extensible if new problems and modeling needs arise. Notable exceptions are the DSSAT 4.x CSM and the APSIM modeling platform. The basis for the DSSAT CSM design is a modular structure in which components are structured to allow for easy replacement or addition of modules and there are common components for soil water, soil nitrogen, weather, and competition for light and water among the soil, plants, and atmosphere. The APSIM modeling framework has the ability to integrate models derived in disparate research efforts via the implementation of a 'plug-in-pull-out' approach; for example, the user can configure a model by choosing a set of submodels from a suite of crop, soil, and utility modules. Thus, any logical combination of modules can be specified by the user 'plugging-in' required modules and 'pulling out' any modules no longer required.
Recently, as computer scientists trained in modern software engineering methods have entered the natural resource, environmental science, and ecology disciplines, the APSIM 'plug-and-play' approach has been taken one step further with the development of formalized modular modeling frameworks. These frameworks bring together suites or libraries of modules, have architectures designed to fit well with the basic and natural structures of environmental problem situations, and can maintain reusability and compatibility of both science and auxiliary (e.g., parameter estimation, output visualization) components. A range of modeling frameworks with different capabilities currently exist, including the Interactive Component Modeling System (ICMS), Tarsier, the Spatial Modeling Environment (SME), The Invisible Modelling Environment (TIME), the European Open Modeling Interface and Environment (OpenMI) initiative (taking place under the Fifth European Framework Program project HarmonIT), and the Object Modeling System (OMS). The OMS framework development effort is interesting in that:
• a component or module can function as a whole model, a physical process, or a simple equation; that is, there is no assumption about component complexity level, whereas many other frameworks only support the connection of existing models in a loosely coupled fashion;
• spatial and temporal modeling entities are integrated parts of the OMS framework and not specific to an application domain; and
• OMS model development projects are tightly integrated with a web-based collaboration environment (i.e., the USDA Collaborative Software Development Laboratory) which makes it easier for model developers to efficiently collaborate on the design and development of application tools.
Major components within the OMS 2.1 platform are shown in Figure 3. The goal of the majority of framework development efforts is to allow the agricultural, environmental, and ecological modeling community to focus more on the science module library and the system being modeled, thereby allowing core development, interpretation, and management requirements to be addressed more fully. Modularization is a key concept to simulation model development. The component-oriented and modular approach of the modeling frameworks and the modules/models implemented in them should provide a basis for more efficient and collaborative model development in the future.
Agricultural model applications
Object modeling system (OMS) version 2.1 platform
Process model component Process Process „
component Process component Process component Process component
Component library Component library... Component library... Modeling projects
Version control system
Model Graphical (user interface)
builder Component builder Statistical
Modeling analysis visSuaplaiztiaatlionUancnearlytasiinsty
Modeling project management core Data managementGNU compilers (C, C++, Fortran)
NetBeans 5.0 platform JAVA 2 platform
NetBeans 5.0 platform JAVA 2 platform
USDA modeling collaboration infrastructure
Figure 3 Object Modeling System (OMS) 2.1 platform with linkages to a collaborative modeling infrastructure and agricultural modeling applications.
Was this article helpful?