30-2 Handbook of Dynamic System Modeling
an individual belongs to, determining whether a certain class is a special case (subclass) of some other class,
and determining how two concepts are similar or different. Reasoners can be used for many purposes,
including checking for consistency and querying the ontology.
An ontology-based approach to simulation, in which a model is representedusing ontologyconcepts, can
help to address several problems with current methodology used to develop simulations within the domain
of agriculture and natural resources. The general goal is to better communicate knowledge about models,
model elements, and data sources among different modelers and between different computers. This is
achieved through the ontology’s ability to explicitly represent and thus define concepts used in models.
Various researchers create simulations within a particular domain to address a specific problem. There
is an overlap of the concepts and interactions used in these simulations. Frequently, different modelers use
different symbols for the same concept. The use of different programming languages makes communica-
tion even more difficult (Reitsma and Albrecht, 2005). Typically, a model is implemented in a particular
programming language like FORTRAN,C++, or Java. However, the meaning of the model is lost when it is
represented using program code (Furmento et al., 2001). Researchers must understand the programming
language to understand the model. While such models are usually documented using papers and manuals,
this documentation is physically separate from the model implementation itself. It is difficult to maintain
both the model and the documentation, and often the documentation is not an accurate description of the
model implementation. All the details of program code are difficult to describe in written documentation,
so that ultimately it is necessary to read computer code to truly understand how the model works. These
issues need to be addressed, so that the knowledge in a simulation can be made explicit (Lacy and Gerber,
2004; Cuske et al., 2005).
Typically, many different yet similar models are available for a particular domain. The challenge lies
in knowing precisely how two models are similar or different and selecting the one most suitable for
a particular task (Yang and Marquardt, 2003). When a particular model is encoded in a conventional
programming language, it is very difficult to do comparisons between models, and impossible to conduct
comparisons using automated techniques.
Most of the simulations in agriculture and natural resources use databases as a source of input data.
A simulation requires input data in a particular format, which is defined inside the simulation and which
is usually different from the format of the data stored in the database. The input data required for a
simulation must be matched with a database, and to do this matching, knowledge of the internals of
the simulation as well as the database is required. The matching is traditionally done manually, which
is certainly tedious if not error prone. There is a need for a technology that can represent and interpret
diverse data sources and support integration of these sources (Altman et al., 1999). The interoperability of
data can be solved by information integration (Miled et al., 2002; Altman et al., 1999).
Utilizing ontologies for managing model and simulation knowledge facilitates representing this knowl-
edge in an explicit manner. An ontology provides the model semantics that allows machines to interpret
concepts in an automated manner (Lacy and Gerber, 2004). The construction of ontologies encourages
the development of conceptually sound models, more effectively communicates these models, enhances
interoperability between different models, and increases the reusability and sharing of model components
(Reitsma and Albrecht, 2005). It also provides assistance in computation by structuring data (Altman
et al., 1999).
In this chapter, we discuss several important issues and problems addressed by ontology-based simula-
tion. We give an example of how to build a simulation using ontology techniques in a model of sequential
batch anaerobic composting (SEBAC). Tools for building ontology-based simulation are presented based
on a system we have developed that uses an ontology as a database management system.
30.2 Ways in Which Ontologies can be Applied to Simulation
The notion of combining ontologies with simulation has received much attention in recent years (Fishwick
and Miller, 2004; Lacy and Gerber, 2004; Miller et al., 2004; Raubal and Kuhn, 2004). This chapter
explores several different ways in which ontologies can be applied to simulation, and in particular how