James D. Westervelt
Lewis D. Hopkins
This effort develops and demonstrates fundamental approaches for the simulation of mobile entities within the context of dynamic landscapes. As computing power continues to become cheaper and faster, Geographical Modeling Systems (GMS) will become increasingly important for the intelligent management of landscapes. However, a number of technical challenges must be met before GMS capabilities are widely accepted, two of which are addressed by this research. First, the ability to simulate the behavior of individuals is currently lacking in landscape decision support systems. Population modeling is unsuitable for very low population densities where the locations of individuals on a large, diverse, and fragmented terrain become important. Second, because landscape processes occur and are modeled at a variety of spatial and temporal scales, it is necessary to allow simultaneous simulation of disparate scales. In a management setting , techniques for linking distinct landscape models to run simultaneously are necessary. All of the capabilities should run on a common platform with a consistent user interface. More importantly, each submodel can relax the typical requirement that the landscape state be constant and instead access dynamically varying system state information from concurrently running models.
The United States Army is responsible for the management of military training areas across the United States and the world. To help manage this land the Army Corps of Engineers' Construction Engineering Research Laboratories (CERL) have conducted research, design, and development of computer based modeling and simulation environments. Examples include GRASS (Westervelt, et. al. 1992)), surface interpolation algorithms and techniques (Mitasova, et. al, 1994), and overland and river flow simulation (Saghafian, 1993; Gaur & Vieux, 1992; Vieux and Westervelt, 1992, and Rewerts & Engel, 1991). The Geographic Modeling Systems Lab (GMSlab), located at the University of Illinois at Urbana-Champaign, in conjunction with CERL, is currently pursuing a program to extend the simulation capabilities and to link together multiple landscape simulation software packages into an Integrated Spatio-Temporal Ecological Modeling System (I-STEMS). The research reported here extends the general purpose simulation tools and links two different simulation capabilities together. A discrete entity based simulation environment was designed and developed to extend the available landscape simulation tools. That environment was then linked to GRASS, which provided a static landscape for the entities, and Maxwell's (1995) Spatial Modeling Environment (SME), which provided a dynamic landscape option.
A number of requirements were established for the design of an entity
based simulation environment. The design focuses on capturing the
behavior of individual animal objects, which update their internal
state using time steps in the range of a day to a month. These animals
must be able to interact with landscape information as provided in
raster format from a GIS or from a dynamic landscape simulation running
concurrently with the animal simulations. Animals must be able to
locate and evaluate other mobile animal entities in a dynamically
changing home range (established for prototype purposes as circular).
Once evaluated, the animal objects must be able to interact with one
another both synchronously and asynchronously. Figure 1
shows how the functionality of the animal objects was divided into a
number of distinct object classes which were then programmed using the
IMPORT/DOME
object-oriented simulation language (Morrison, 1995). Note first that
the development adhered to a software development approach that
separates the actual software model from the software that controls and
visualizes the model. Within the model classes are classes that
provide interactions between animals, between animals and the landscape,
individuals and populations, and between classes that define an animals
internal interactions. Figure 2 shows how animal classes (bottom of the
figure) can use any one of a number of prototypical animal classes as
a superclass, modified to meet the specifications of each animal. In
turn, these superclasses utilize a variety of different animal
internal classes, which provide the
primary instructions for updating the animal's state and location.
All animal superclasses themselves utilize an AnimalInfo superclass
which provides a means for sharing information between the various
classes.
Figure 1: Entity Design Approach
Figure 2: Class Hierarchy
Animals interact with landscapes as well. To provide landscapes a pair
of IMPORT/DOME MapInfo classes were developed. One encapsulated
standard GRASS software
libraries, which allowed direct access to landscape information in its
native GRASS format during a simulation run. The other encapsulated
an SME generated landscape simulation model based on a unit-model
designed and developed using the Stella simulation environment.
Figure 3 depicts a portion of a Stella model that was used for the
demonstrations. This landscape model is part of a Desert Tortoise
habitat suitability model developed by the author and others
(Westervelt, et. al, in press).
Figure 3: Landscape Model (portion) in Stella
The dynamic and static classes were completely interchangeable
allowing a rapid transition from a static to a dynamic landscape. The
static landscape is preferred for the development in animal classes
because 1) simulations run much faster and 2) the number of changing
variables is reduced. The integration of
the components leading to dynamic and static landscape simulations is
depicted in Figure 4.
Figure 4: Static and Dynamic Landscape Integration
A number of viewports were developed to allow the modeler to view
current and historical information. First, a map viewport will be seen
in the demonstration graphics. This provides a running picture of the
current location of the entities being simulated. As a backdrop an
appropriate static picture is provided; for
the demonstrations this is a shade-relief map image of the test area.
Second, to provide current simulation views of the state of any
individual entity and it s surroundings, a barchart viewer was
developed (Figure 5). Finally, a generic StripChart class was created
to allow for the plotting of historical information
about some aspect of the simulation. Figure 6 shows a sample trace of
temperature and rainfall.
Figure 5: Bar Chart Viewport
Figure 6: Strip Chart Viewport
The overall structure of the object-oriented classes developed and
linked together is depicted in Figure 7. At the base of the figure is
the "main" class which , at run-time, instantiates (brings into
existence) objects based on the classes immediately above it, which in
turn instantitiate objects based on the classes above.
Figure 7: Object Class Hierarchy
A series of proof-of-concept demonstrations has been developed. These demonstrations are inspired by the Desert Tortoise of the Mojave Desert, but must not be viewed as any more than realistic. Their purpose is to show what capabilities are provided by the development concepts discussed in the previous section. Land managers and ecologists may see possibilities for applying these approaches to their particular land management challenges.
The purpose of this static example is to demonstrate the ability to generate a dynamic entity that interacts with static GRASS maps accessed directly from native GRASS databases. This demonstration uses GRASS data for a small section of Fort Irwin, California, and the IMPORT/DOME general purpose support classes described above. The animal class for this demonstration was inspired by the Desert Tortoises found on Fort Irwin. This class uses optional support classes, which include health, movement, activity, and "LearnSurround" objects. The key focus of this simulation is the behavior of a number of instantiated animal objects with respect to the weather and the landscape. Males fertilize unfertilized females if their ages, time of year, and state of health is appropriate. Females give birth after a gestation period, to a single young. The simulation begins by opening up the associated GRASS maps and initializing objects that generate the various viewports. It also instantiates support object s including a Region manager, a TimeManager, and an animal Register. Each of the viewports is associated with an internally defined update frequency and these objects schedule their first update. The simulation then instantiates a number (here fifty) of animals. Associated with each animal are support objects instantiated for each individual animal that include movement, health, and activity. Each animal schedules itself for updating.
When an animal updates itself it goes through the following steps. First it checks to see if it is still alive. If not, the animal does nothing and does not schedule itself for any further updates. It then collects information about its surroundings including the other animal entities that fall within it s defined home range radius. This range is represented by a circle surrounding each animal in the MapManager generated viewport (Figures 8 and 9). Other information includes the average slope, elevation, temperature, and precipitation in he home range area. Then, based on temperature, the activity of the animal is determined by the Activity object. If too hot, the animal aestivates and if too cold it hibernates. In either case the animal dynamically sets its update interval to a week; otherwise it is set to a day. It then, through its associated Health object, eats, drinks, and determines changes to its age, weight, length, stress index, and satisfaction index. The Health object maintains information about the current state of the animal's hunger and blood concentration. If the stress level of the animal gets too low it can die based on a death potential that rises with increasing stress. A LearnSurround object then adjusts the animal's satisfaction with the surroundings by allowing it to "learn" a little more about its surroundings. This object simulates the ability for an animal to come to "know" its local terrain over time.
If the animal is of appropriate age, it engages in reproductive activity. For males this means fertilizing females of age who are not already fertilized and exist within his "home range". The probability of fertilizing a female is based on the distance between the female and the center of the male's range and the age of the male. More distant females are less likely to be encountered by the male and therefore less likely to be fertilize d. Males who have just entered their reproductive years are less likely to succeed in fertilizing a female than males in the middle of those years. Similarly, fertilization success decreases as a male gets very old. Fertilized females then give birth after a preset number of days required for gestation. In these animals the baby animals are provided no parental care after birth, as is the case with Desert Tortoises.
Finally the "Move" object then facilitates movement of the animal based on its home range and motivation to move which is a function of stress and satisfaction. After this is all accomplished, the animal schedules itself for another update at a later time in the simulation. The delay time is a function of the animal's activity as determined by the Activity object.
Look now at the two snapshots of the dynamic simulation that result from the above code representing day 3 (Figure 8) and day 155 (Figure 9), a span of about half a year. This demonstration shows that individual entities can be instantiated, placed on the landscape, and then interact with the landscape as defined by static GRASS maps accessed directly out of the GRASS database structure. Some animals have died and are indicated by locations in the second figure that have lost their "home range" circle. Some of the animals have moved very little and others quite a bit, reflecting different satisfactions of the animals with their initial positions. Females have been fertilized and have given birth to animals represented by very small home range circles. On day 155 there is only one fertilized female, number F-15, who is about a quarter of the image up from the bottom and a third of the way across from the left. Her range circle is slightly lighter in grey-scale images and green in colorimages.
This simulation can also be run with static landscape maps replaced by a dynamic landscape simulation defined by the Stella model described above (see Figure 3). This model was converted into C++ code using the Spatial Modeling Environment software and then compiled into a single program. IMPORT/DOME controlled the overall timing and facilitated information exchange between the two different simulations. Access to the SME model was facilitated by a dynamic MapManager class.
The animals of the previous demonstration have been turned into prey animals which have relatively rapid asexual reproduction and short life spans. They still must live off the vegetation represented by the static GRASS green and brown vegetation maps and can die of starvation as well as old age. A new predator animal has also been developed for this demonstration. It is larger, has a bigger range and its hunger, stress, and satisfaction indices. Attacks always result in death to the prey in this demonstration, but that is a decision made by the prey itself. Future demonstrations could easily allow prey to avoid being killed in an attack based on their local terrain, the weather, the predator itself, or other factors peculiar to that animal.
Figures 10 (day 13) and 11 (day 285) are taken from the dynamic landscape simulation based on the predator and prey animals developed. Note for day 13 that the single predator (F-51) has a much larger home range compared to the prey animals. The prey have varying sizes of home ranges based upon their ages, which are initialized at random. One prey animal, F-39, located just south of the predator has been killed by the predator and is associated with a pink dot (very light grey in gray-scale images) indicating a predator death. By day 285 the predator has killed a good number of prey and quite a few other prey have died either of starvation or old age. The prey items have increased in density in some areas of the simulation area, and are completely absent from others. This makes it difficult for the predator to locate prey, but once located it can remain nearby and feed for quite a while. Patterns of prey patches are developing based on a combination of food availability for the prey and predation patterns.
This project has developed a fundamental approach to facilitate modeling of dynamic mobile entities in combination with either static or dynamic, raster based landscape simulations. The approach provides significant flexibility in specifying a wide variety of entities captured as classes in the IMPORT/DOME object-oriented dynamic simulation language. At a more general level, an ecological landscape modeling paradigm has been demonstrated that not only allows, but encourages , the capturing of natural processes within simulation environments based on different software. This is the fundamental advantage that must be expected from future geographic modeling systems (GMS). The various simulation components operate separately, but communicate with each other during simulations.
This approach differs from the gap-based forest models wherein individual trees are simulated within square landscape patches, which themselves are arrayed upon the landscape. In those models a neighboring tree is treated differently based on whether or not it falls within the same patch. The square patches are imposed upon the fundamental data structure of the system that captures the location of and relationships between trees. In contrast, the approach to landscape simulation used in this project allows two disparate software simulation environment s to be used, each for what it is best designed to do, yet communicate with each other as appropriate. A powerful raster-based landscape simulation environment was used to capture the dynamics of weather, soil saturation, and vegetation densities, while an equally powerful object-oriented simulation language was used to capture the dynamics associated with individual animals acting within and upon the landscape. Neither environment is suitable for both applications, although a force fit is certainly possible. Neither is captured within the context of the other; each is provided equal status. Future GMS will provide a wide variety of interacting, yet distinct landscape simulation capabilities. Modelers and landscape managers will be able to match landscape processes with the most appropriate simulation module.
Two simulation environments SME, the Spatial Modeling Environment and the new system developed here to support the simulation of the behavior of individual animals were joined. The latter was developed with the IMPORT/DOME dynamic simulation language. Specific capabilities included:
Nature operates at a variety of different spatial and temporal scales, organized at a number of hierarchical levels. Using the integrated combination of SME and IMPORT/DOME, systems can be developed that explicitly simulate the behavior of organ systems through communities. The simulation focus here is the landscape, a "middle-number" system, which is not analyzed well with statistics, because it lacks a large enough sample size and is not easily simulated as a small set because there are too many distinct parts. The approach developed in this work embraces the hierarchy theory approach to dealing with middle number systems. System components at multiple hierarchy levels can be simultaneously simulated using software approaches that reflect the spatio-temporal scale of each level. No one level dominates the simulation. Instead, each is allowed to communicate with other simulations being conducted at different scales. For example, a simulated individual animal belonging to species A may interact with a population model of species A, an individual model of species B, or a population model of species B.
The power and potential of this combination of simulation approaches opens the door to completely new classes of dynamic, spatial, ecological models. Further, this new simulation environment opens the options for integrating knowledge and results gained through disparate environmental studies. It provides an interdisciplinary forum for formally capturing this information in a manner that increases its potential for affecting land management practices.
Gaur, N., & Vieux, B. (1992). r.fea (Version GRASS 4.1). Oklahoma City: US Army Construction Engineering Research Laboratory.
Maxwell, T., & Costanza, R. (1993). Spatial Ecosystem Modeling in a Distributed Computational Environment. In J. van den Berg & J. van der Straaten (Eds.), Concepts, Methods, and Policy for Sustainable Development, : Island Press.
Mitasova, H, Brown, W. M., Gerdesand, D. P., Kosinovsky, I., Baker, T., and Mitas, L. (1994). Modeling spatially and temporally distributed phenomena: New methods and tools for Open GIS, International Journal of GIS (8), 5
Morrison, V. P. (1995). Import/Dome Language Reference Manual (Unofficial software document ). ftp pike.cecer.army.mil:/pub/asset/import: Construction Engineering Research Laboratory.
Rewerts, C. C., & Engel, B. A. (1991). ANSWERS on GRASS: Integrating a watershed simulation with a GIS (ASAE Paper 91-2621): ASAE, St. Joseph, MI.
Saghafian, B. (1993). Implementation of a distributed hydrological model within Geographical Resources Analysis Support System (GRASS). Paper presented at the Second International Conference/Workshop on Integrating Geographic Information Systems and Environmental Modeling, Breckenridge, Colorado.
Vieux, B., & Westervelt, J. (1992). Finite element modeling of storm water funoff using GRASS GIS. Paper presented at the Computing in Civil Engineering and Geographic Information Systems Symposium, Dallas, Texas.
Westervelt, J. D., Hannon, B., Levi, S., & Harper, S. (in press). A Landscape Simulation Demonstration of the Desert Tortoise Habitat at Fort Irwin, California (USACERL Technical Report ): US Army Corps of Engineers' Construction Engineering Research Laboratories.
Westervelt, J. D., Shapiro, M., Goran, W. D., & Gerdes, D. P. (1992). Geographic Resources Analysis Support System (GRASS) Version 4.0 User's Reference Manual : US Army Corps of Engineers Construction Engineering Research Laboratory.