Simulation modelling software systems

This section includes:
- graphical modelling environments;
- modelling languages;
- systems which offer some element of modularity in model construction; and
- specialised modelling systems;
- programming support for modelling: e.g.
--- Fortran subroutine libraries;
--- object-oriented modelling systems.

 Also, there are sections on:
- model databases;
- simulation and modelling organisations;
- other web resources on modelling;
- documents relevant to metamodelling.


Graphical modelling environments

ACSL Model
A graphical user interface for ACSL (Advanced Computer Simulation Language).
http://www.mga.com/

AME
Combines System Dynamics and object-based modelling; supports spatial modelling; generates efficient compiled models.  Users can program their own input/output utilities.
http://helios.bto.ed.ac.uk/ierm/ame

Analytica
Intended as a visual-modelling alternative to the conventional tabular format of the spreadsheet.
http://www.lumina.com/software/index.html

Extend
For discrete-event, continuous and hybrid simulations.   Features the ability for the user to package up a submodel with its onw icon, which can then be used as a higher-level component.
http://www.imaginethatinc.com/

Madonna
A System Dynamics visual modelling package, generating very efficient models.
http://www.kagi.com/authors/madonna/default.html

ModelMaker
ModelMaker is a visual simulation modeling package designed for scientists and engineers. Based on System Dynamics.
http://www.cherwell.com/ProdHome/mmhome.html

PowerSim
Powersim offers a range of tools for building simulation models based on the System Dynamics paradigm.   Primarily aimed at the business market.
http://www.powersim.com/

Stella
The best-established of the System Dynamics visual modelling packages.   Offers a range of components in addition to the standard 'stock' symbol, and majors on user-customisable interfaces.  Two special issues of Ecological Modelling - 110(1) and 112(2+3) - was devoted to the use of Stella in this field.
http://www.hps-inc.com/products/STELLA/STELLA.html

Vensim
Originally designed as a tool for running Stella models more efficiently, now a modelling package in its own right, combining causal loop and System Dynamics elements.
http://www.std.com/vensim/VENSIM.HTM


Modelling languages

ACSL: Advanced Computer Simulation Language
Seems to have replaced CSMP as the serious modeller's language for continuous systems.
http://www.mga.com/

CSMP
Fortran-based continuous-systems simulation language; once quite commonly used for ecological modelling, but I can't find any information on its current availability.

ModSim III: Object-oriented simulation
MODSIM III provides both object oriented programming and discrete event simulation capabilities in one language.
http://www.caciasl.com/ms_product_des.html

SimScript II.5
Principally used for discrete-event simulation, though capable of mixed discrete/continuous simulations.
http://www.caciasl.com/simscript.html


Specialised modelling systems

Distributed Modular Spatial Ecosystem Modeling
With the advent of widely available parallel processing systems, medium resolution (2,000 to 200,000 cells) spatial models are becoming computationally tractable. However, the conceptual complexity involved in building, calibrating, and debugging complex models in a distributed computational environment remains a major barrier to the utilization of these systems for science and policy research. We have attempted to address this issue through the development of a spatial modeling environment to support distributed spatio-temporal model development.

EcoBeaker
EcoBeaker is an ecological simulation program, designed for use by students in the classroom. EcoBeaker provides a two-dimensional world in the computer, into which students can place creatures whose behaviors they design. As the creatures eat, reproduce, move around, and die, students can observe patterns and compare them against real-world and theoretical predictions. Students can also graph many different statistical measurements from the EcoBeaker world, and sample the populations using a variety of common sampling techniques. The core of EcoBeaker is a set of 12 laboratories that cover such subjects as logistic growth, competitive exclusion, the intermediate disturbance hypothesis, keystone predation, topics in conservation biology, and various sampling techniques. Each lab has undergone extensive classroom testing, and is written as an experiment that the student conducts. Instructors and students can also easily construct their own novel models.

 Smile: The Smile Simulation Environment
Once a mathematical model of a physical system is conceived, it is expressed in a specification language called ZimOO. ZimOO is an object-oriented specification language for hybrid systems in which continuous aspects are modeled by differential equations. A ZimOO specification of a simulation model is not directly executable, but serves as the basis for implementing the model in the simulation language Smile. A simulation experiment description specifies a particular Smile model that is to be simulated and instantiates both specific parameters of this model (e.g. start values) and certain global simulation parameters (e.g. simulation time, type of numerical solver to be used). This information is then used to link the compiled Smile model to the runtime system, and possibly further external code, producing an efficient, executable simulation program.

Spatial Modeling Environment, Version 2
"In an attempt to address the conceptual and computational complexity barriers to spatio-temporal model development, we have developed a spatial modeling environment (SME), which links icon-based graphical modeling environments with parallel supercomputers and a generic object database ( Costanza and Maxwell 1991 ; Maxwell and Costanza 1994 ; Maxwell and Costanza 1995 ; SME2 1995 ). This system allows users to create and share modular, reusable model components, and utilize advanced parallel computer architectures without having to invest unnecessary time in computer programming or learning new systems. The following sections give a brief description of the current design of the SME.
The SME design has arisen from the need to support collaborative model development among a large, distributed network of scientists involved in creating a global-scale ecological/economic model. It is intended that it's design be progressively more inclusive of the full range of relevant ologic/economic modeling activities. In the interest of maximizing accessibility to a distributed network of ollaborators, the system is designed to support a range of platforms, both in the front-end development environment and in the back-end parallel computing environment. We are thus led to the formulation of a three-part Modelbase-View-Driver architecture. The three components are displayed in the Figure and described below.

 StarLogo
StarLogo is a programmable modeling environment for exploring the behaviors of decentralized systems, such as bird flocks, traffic jams, and ant colonies. It is designed especially for use by students. StarLogo is a specialized version of the Logo programming language. With traditional versions of Logo, you can create drawings and animations by giving commands to graphic "turtles" on the computer screen. StarLogo extends this idea by allowing you to control thousands of graphic turtles in parallel. In addition, StarLogo makes the turtles' world computationally active: you can write programs for thousands of "patches" that make up the turtles' environment. Turtles and patches can interact with one another -- for example, you can program the turtles to "sniff" around the world, and change their behaviors based on what they sense in the patches below. StarLogo is particularly well-suited for Artificial Life projects.

 Swarm
"Swarm is a software package for multi-agent simulation of complex systems being developed at The Santa Fe Institute. Swarm is intended to be a useful tool for researchers in a variety of disciplines, especially artificial life. The basic architecture of Swarm is the simulation of collections of concurrently interacting agents: with this architecture, we can implement a large variety of agent based models. Our initial target is Unix machines running GNU Objective C and X windows: the source code is freely available under GNU Licensing terms."


Programming environments

Systems that support the process of model construction by programming: e.g standard input/output, numerical integration or graphical-display routines.

Fortran modelling systems

Object-oriented modelling systems

Almost all references to object-oriented modelling in the agro-ecology field are based on object-oriented programming approaches, using a language such as C++.   In fact, almost all the papers in a special issue of Ecological Modelling devoted to Modularity in Plant Models (1997, 94(1)) referred to object-oriented programming implementations.

JanuSys: a generic, object-oriented modelling framework
"The JanuSys framework provides a superstructure for building complex models of agricultural and ecological systems. The framework provides a set of rules for designing model objects and simulating their interactions. The generic nature of JanuSys permits applications in which the number of hierarchical levels and the number of objects in each level are determined dynamically -- as the simulation is running. This approach is efficient in terms of memory usage, and opens up a variety of simulation possibilities that were essentially impossible using FORTRAN-77. Modelers using the framework are encouraged to concentrate on very small modeling problems (i.e., the model for a single object at a single hierarchical level) and leave the integration of the model to the framework.

ModMed  Modelling Mediterranean Ecosystem Dynamics

COM: Component Object Model
This site introduces the potential of COM for ecological/environmental modelling.  COM - the Component Object Model - was developed by MicroSoft to permit the integration of software written in many different programming languages.   Control of COm has now been handed over to OSF, the Open Software Foundation, and it is now available on Unix/Linux platforms as well as MicroSoft.  Its potential for ecological/environmental modelling lies in the fact that a component can be a submodel - anything from a single equation to a model for vegetation dynamics - written in any language, but useable by anyone else in their own models.

 SESAME
"A set of computer programs designed to solve sets of parallel ordinary differential equations within a framework which facilitates participation of multiple partners in the construction and development of large ecosystem models..
(Ecol.Modelling 86: 265-270)
(used in the ERSEM project: no web material to speak of)


Model databases

WWW-Server for Ecological Modelling at the University of Kassel
This WWW-server provides easy access to available information about ecological modelling (simulation models, descriptions of these models, simulation-software, persons and literature). It is also thought for modellers who want to make their models easily available. Additional this WWW-Server integrates an interface to ECOBAS (Documentation of mathematical formulation of ecological processes).

UFIS - the Environmental Research Information System
One part of UFIS is designed to offer information on ecological models as a whole. The goal of UFIS is to provide a tool that supports interdisciplinary work among modellers as well as to give administrative bodies an overview over national and international activities in ecological modelling. The availability of such an information system is believed to be crucial to international coordination of modelling activities. Due to increasing ecological problems on a global scale coordination has become a key issue to the scientific community and has led e. g. to the formation of the International Geosphere-Biosphere Program (IGBP). Model comparisons and questions of model coupling have been defined as key goals in many IGBP activities (see e. g. [igb94]). Consequently UFIS will pay particular attention to data requirements of models, areas of application, and scales of the model. The second part of UFIS which is closely linked to the model documentation focuses on the description of data. Since there is no modelling without data it is natural to combine information systems on data and models in one unit. This is exactly UFIS' goal. UFIS does not intend to keep data, but will keep information on where and how to access data (``metadata''). Descriptions of data in the model information system will be compatible with the ones in the metadata information system such that relations between models and data can be easily recovered.
Ref: Ecol. Modelling 86: 141-144

 The CAMASE Register of Agro-ecosystems Models
CAMASE has started to develop a comprehensive register of agro-ecosystems models, in order to: increase awareness among scientists of existing models; increase accessibility of these models; stimulate harmonization and compatibility of models; stimulate use of models. We will attempt to collect 80% of relevant models used in Europe for research, education and application in: intensively and extensively produced agricultural crops, grasslands, forests, and their environments; cropping and farming systems, farm households, land use; shells for such models; tools for such models in DSS-applications (e.g. microclimate profiles for irrigation scheduling). The CAMASE Register of Agro-ecosystems Models will contain only simulation or optimization models that are documented, at least at a scientific level, and 'validated', at least partially; it will also contain some software tools that are directly related to the simulation activities.

REM
The Register of Ecological Models (REM) is a meta-database for existing mathematical models in ecology.
http://dino.wiz.uni-kassel.de/model_db/server.html

SOMNET
Catalogue of models in the GCTE Focus 3 Soil Organic Matter Network (SOMNET).
http://yacorba.res.bbsrc.ac.uk/cgi-bin/somnet



Model Interchange Formats, etc

ECOBAS_MIF
Documentation of mathematical formulations of ecological processes.
http://dino.wiz.uni-kassel.de/model_db/server.html


Other web resources on simulation modelling


Spatio-Temporal Modeling Page
This page describes Spatio-Temporal Modeling in the context of ecosystem simulation and discusses the importance of this type of modelling and some of the computational and conceptual complexity issues involved in building complex spatio-temporal models.
 

WWW Virtual Library: Computer-based Simulations.
Simulation Interoperability Working Group (SWIG): Other web pages
Landscape Modeling
Has pointers to simulation tools and modelling environments

 Related Projects
Pointers to quite a lot on spatial/distributed simulation

 University of Magdeburgh list of Simulation Web Sites and Departments Worldwide"


Miscellaneous

QUASIMODO: QUAlity of SImulation MODels Objectified
In simulation modelling quality assessment is not common practice. The classical quality aspects (correctness, reliability, usability, etc.) are relevant to simulation modelling, but model validation is a more favored simulation feature, although it will not necessarily render satisfaction to other quality aspects. In this paper an integrated approach is proposed, using a Simulation Maturity Model (SMM) to improve overall quality. The simulation modelling process (SMP) is decomposed into a complex series of actions each with its product(s), which are evaluated in a series of tests. The approach will be implemented into QUASIMODEM, a model of the SMP.


Simulation and modelling organisations

UK Simulation Interoperability Working Group
A non-profit making, joint organisation of members from industry, the UK Ministry of Defence and the UK Defence Evaluation and Research Agency. It is a technical working group of the UK Simulation Advisory Group (UKSAG), which is a body of the Defence Manufacturers' Association (DMA). The SIWG aims: "To increase, within the United Kingdom simulation community, the visibility and awareness of simulation interoperability development and activities, and to provide a coordinating focus".

The Simulation Interoperability Standards Organization (SISO)
The Simulation Interoperability Standards Organization (SISO) focuses on facilitating simulation interoperability and component reuse across DoD, other government, and non-government applications. SISO seeks to provide a forum for the interchange of new ideas, concepts, and technology across the broad Modeling and Simulation community; to disseminate these ideas; to educate M&S practitioners and sponsors regarding their implementation; and to support the development of standards, practices, and guides for use in various applications. As part of this effort, SISO sponsors activities which provide education, technology exchange and standards activities for the modeling and simulation community.

 DEVS: Discrete Event Specified Systems
"The DEVS formalism provides a means of specifying a mathematical object called a system. Basically, a system has a time base, inputs, states, and outputs, and functions for determining next states and outputs given current states and inputs. Discrete event systems represent certain constellations of such parameters just as continuous systems do.
The DEVS formalism is more than just a means of constructing simulation models. It provides a formal representation of discrete event systems capable of mathematical manipulation just as differential equations serve this role for continuous systems. Within such a formalism, complex systems may be modelled, designed, analyzed and simulated. Even software components maybe implemented all in the same formalism. "


Documents relevant to metamodelling

Modeling Complex Ecological Economic Systems: Toward an Evolutionary, Dynamic Understanding of Humans and Nature
Understanding and modeling the dynamics of linked ecological and economic systems, ranging in size from the biosphere as a whole to regional landscapes to local agroecosystems, is critical for designing a sustainable future. But integrated ecological economic systems have so far received only very limited direct attention. Several current approaches may be relevant to this problem and a cooperative synthesis among ecologists, economists, mathematicians, computer scientists and others is essential. This paper reviews: 1) some of the key issues surrounding the modeling of complex ecological economic systems; 2) current and proposed approaches to modeling linked ecological economic systems; and 3) some key research questions and issues for further study. We describe existing approaches according to a number of criteria, including scale, resolution, generality, realism, and precision. The most useful approach to modeling within this spectrum of characteristics depends on the goals of the modeling exercise. We describe a few examples of how one might match model characteristics with several of the possible modeling goals relevant for ecological economic systems.

 Design of C++ Classes For Structured Modeling and Sensitivity Analysis of Dynamical Systems
This paper presents the design and implementation in C++ of an object--oriented class library for dynamic, continuous-time systems simulation. Using this library, the user defines hierarchical models of dynamical systems. Using inheritance hierarchy, the user can build specific models from general ones and, using the part--whole relationship, can build models consisting of submodels. A support for model communication using ports is also provided. The library implements the table algorithm for calculating analytical derivatives of arithmetic expressions. This algorithm is used to provide tools for sensitivity analysis of dynamical models. Finally, the library provides an interface to standard ordinary differential equation (ODE) solvers, making it possible to use currently existing libraries of such solvers.

 Metamodeling Techniques and Applications
Metamodeling is a very new statistics-based field of Modeling and Simulation, whereby mathematical approximations -- equations -- are built between a model's set of input factors and its output response(s). Iterative order-reduction techniques are performed on the chosen model (and its subsequent reduced-order approximations) to eventually arrive at a "statistically acceptable" abstraction of the original, detailed model. It is an extremely difficult problem, and therefore, has not been widely explored. However, it is believed by Dr. Caughlin and a handful of prominent authors in the modeling community that it could have enormous application in resolving the multi-level fidelity problem; currently the biggest stumbling block in hierarchical simulation.

 Metamodeling Aspects of Model Conceptualization
This paper suggests a technique for improving the conceptual-ization of models. The key aspect of this technique is to set aside the main model for a period of time during the model conceptualization process and focus on building a "watchdog" submodel. The primary purpose of the watchdog submodel is to assure that the main model remains internally consistent during its operation. In the experience of this author, such a submodel can help to identify model conceptualization errors and to determine if a model is sufficiently "robust" to adequately replicate the behavior of the system being modeled. This paper suggests a technique for improving the conceptual-ization of models. The key aspect of this technique is to set aside the main model for a period of time during the model conceptualization process and focus on building a "watchdog" submodel. The primary purpose of the watchdog submodel is to assure that the main model remains internally consistent during its operation. In the experience of this author, such a submodel can help to identify model conceptualization errors and to determine if a model is sufficiently "robust" to adequately replicate the behavior of the system being modeled.

 Metamodeling and method specifications
In the MetaPHOR project the objectives for developing metamodeling principles and formal method specifications are the following:
to develop general guidelines and frameworks to support method engineers' work,
to study and test metamodeling languages for specifying ISD methods,
to apply and test metamodeling approaches for comparing ISD methods and supporting their use in CASE tools
by a set of metrics and frameworks, that allows for comparison and analysis of new and existing methods .
to develop ISD methods with an emphasis on new fields and unexplored possibilities for IS modelling which lack extensive and rigorous support, such as inter-organisational networks.