Main Page | Recent changes | View source | Page history

Printable version | All content dual-licensed under the GNU FDL and the Creative Commons Share-alike Attribution license. | Privacy policy

Not logged in
Log in | Help
 

Verifying Agent-based Simulations Through Steady State Analysis

From SwarmWiki

James E. Gentile, Gregory J. Davis, Gregory Madey

Computer Science and Engineering, University of Notre Dame; Notre Dame, Indiana

TITLE: Verifying Agent-Based Simulations Through Steady-State Analysis

ABSTRACT: Agent-based simulations are software implementations of a conceptual model. The conceptual model is a high-level representation of a complex system and its components. The conceptual model is expressed in the simulation as software code. The process of encoding the model is not impervious to errors. The developer(s) can be guilty of misinterpreting the conceptual model or improperly implementing the rules. These faults result in a software implementation that is incorrect relative to the concept it was designed around.

The merit of a simulation’s output depends on its conceptual model and the accuracy in which the conceptual model is implemented. Comparing the implementation to the concept is not a trivial task. In our work, we present several tools that are useful in verifying an implementation against its conceptual model. We show that it is possible to empirically derive some properties of the simulation a priori. The simulation’s output can be tested relative to the expected output. It is possible to empirically derive properties of a simulation by analyzing the core model. We show that by assuming system-wide equilibrium, it is possible to know the age structure of the agent population. Under the same assumption, the dynamic toxicity of an environment can be pre-determined. Finally, Fourier analysis is used to analyze populations to expose underlying factors governing agent reproduction. An example for each technique is presented using an agent-based simulation modeling mosquitoes’ life cycles.

In our development, we have found these techniques to be useful in understanding the model as well as debugging code. When several properties of the simulation can be abstracted, the developer gets a better sense of the overall system’s behavior. Knowing system-side attributes beforehand allowed us to more easily expose bugs in our code. We conclude this work by showing that these methods were useful to use during development and give us more confidence that the conceptual model was properly encoded into the simulation.

Back to Swarmfest2010_program


[Main Page]
Main page
About SwarmWiki
News
Recent changes
Random page
Help

View source
Discuss this page
Page history
What links here
Related changes

Special pages