A C++ implementation of an individual/landscape model

A C++ implementation of an individual/landscape model Dynamic models of biological systems are diverse, but have components in common. The description of a system may involve multiple databases which change and interact (individuals, populations, the landscape). A clock is required to advance the system description through time. In addition, the generation of random variates from different probability distributions, interpolation of values from tabular data, and the collection of statistics on system components may be required. All of these tasks can be effectively achieved through object oriented programming (OOP). The C++ programming language is the object oriented language utilized in the implementation described. Object oriented programming can be utilized to facilitate the organization and development of dynamic models of biological systems. A C++ hierarchy of classes describing objects in the system can start at the level of machine processing. A binary object can use individual bits of memory to represent binary data. Computer memory requirements can be minimized by using a linked list class to place objects in a list whose composition and size vary as the program executes. The C++ feature of runtime linking can connect a general base class with the data required for a specific application. These machine oriented classes can then be inherited into an individual animal class with binary data (male/female, diseased/nondiseased) and a population class which is a linked list of individuals. The binary arithmetic and memory pointers involved in these base classes can be completely transparent to the user of the individual and population classes which are described in biological rather than machine terms. OOP can facilitate the development of a description of the individual, population, landscape and their interactions. A landscape object can be described by a grid of rectangular cells linked on four sides to adjoining cells by memory pointers. These memory pointers to adjoining cells can be utilized to describe flows and movement of objects over the grid. This base class grid description can be inherited into a derived habitat class with additional data. The location or coordinates of objects located on the grid can be utilized to access the data for the cell in which it is located. Since grids describing landscapes can be large and heterogeneous, GIS can be utilized for grid initialization and for analysis of spatial data in the simulation output. A simulation clock is required to advance the description of the objects in the system and their interactions through time. A base clock class advances time in specified increments, or between events, or in specified increments until an event occurs. Events can be either scheduled long term or triggered by a change in the system and stored in an event queue by using the same base linked list class used to describe populations. The type of events which occur in a system are specified in a derived clock class which is accessed by the base clock class when the program executes through run-time linking. An example application is developed to describe winter kill of deer. Analysis of the simulation output in a GIS showed simple rules for individual animal behavior affected the pattern of landscape usage through time. Source code and documentation are available. http://www.deepdyve.com/assets/images/DeepDyve-Logo-lg.png Ecological Modelling Elsevier

A C++ implementation of an individual/landscape model

Loading next page...
 
/lp/elsevier/a-c-implementation-of-an-individual-landscape-model-VpA5jR4hLA
Publisher
Elsevier
Copyright
Copyright © 1997 Elsevier Science B.V.
ISSN
0304-3800
eISSN
1872-7026
D.O.I.
10.1016/S0304-3800(97)00069-0
Publisher site
See Article on Publisher Site

Abstract

Dynamic models of biological systems are diverse, but have components in common. The description of a system may involve multiple databases which change and interact (individuals, populations, the landscape). A clock is required to advance the system description through time. In addition, the generation of random variates from different probability distributions, interpolation of values from tabular data, and the collection of statistics on system components may be required. All of these tasks can be effectively achieved through object oriented programming (OOP). The C++ programming language is the object oriented language utilized in the implementation described. Object oriented programming can be utilized to facilitate the organization and development of dynamic models of biological systems. A C++ hierarchy of classes describing objects in the system can start at the level of machine processing. A binary object can use individual bits of memory to represent binary data. Computer memory requirements can be minimized by using a linked list class to place objects in a list whose composition and size vary as the program executes. The C++ feature of runtime linking can connect a general base class with the data required for a specific application. These machine oriented classes can then be inherited into an individual animal class with binary data (male/female, diseased/nondiseased) and a population class which is a linked list of individuals. The binary arithmetic and memory pointers involved in these base classes can be completely transparent to the user of the individual and population classes which are described in biological rather than machine terms. OOP can facilitate the development of a description of the individual, population, landscape and their interactions. A landscape object can be described by a grid of rectangular cells linked on four sides to adjoining cells by memory pointers. These memory pointers to adjoining cells can be utilized to describe flows and movement of objects over the grid. This base class grid description can be inherited into a derived habitat class with additional data. The location or coordinates of objects located on the grid can be utilized to access the data for the cell in which it is located. Since grids describing landscapes can be large and heterogeneous, GIS can be utilized for grid initialization and for analysis of spatial data in the simulation output. A simulation clock is required to advance the description of the objects in the system and their interactions through time. A base clock class advances time in specified increments, or between events, or in specified increments until an event occurs. Events can be either scheduled long term or triggered by a change in the system and stored in an event queue by using the same base linked list class used to describe populations. The type of events which occur in a system are specified in a derived clock class which is accessed by the base clock class when the program executes through run-time linking. An example application is developed to describe winter kill of deer. Analysis of the simulation output in a GIS showed simple rules for individual animal behavior affected the pattern of landscape usage through time. Source code and documentation are available.

Journal

Ecological ModellingElsevier

Published: Nov 1, 1997

There are no references for this article.

You’re reading a free preview. Subscribe to read the entire article.


DeepDyve is your
personal research library

It’s your single place to instantly
discover and read the research
that matters to you.

Enjoy affordable access to
over 18 million articles from more than
15,000 peer-reviewed journals.

All for just $49/month

Explore the DeepDyve Library

Search

Query the DeepDyve database, plus search all of PubMed and Google Scholar seamlessly

Organize

Save any article or search result from DeepDyve, PubMed, and Google Scholar... all in one place.

Access

Get unlimited, online access to over 18 million full-text articles from more than 15,000 scientific journals.

Your journals are on DeepDyve

Read from thousands of the leading scholarly journals from SpringerNature, Elsevier, Wiley-Blackwell, Oxford University Press and more.

All the latest content is available, no embargo periods.

See the journals in your area

DeepDyve

Freelancer

DeepDyve

Pro

Price

FREE

$49/month
$360/year

Save searches from
Google Scholar,
PubMed

Create folders to
organize your research

Export folders, citations

Read DeepDyve articles

Abstract access only

Unlimited access to over
18 million full-text articles

Print

20 pages / month

PDF Discount

20% off