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
 

Verification of an Agent-Based Model: Meeting the Challenge of Verifying Object-Oriented Code that Executes Stochastically

From SwarmWiki

Chirantan Ekbote1,2, John Doolittle1,2, Brian Block1,2, Clay Marsh, M.D. 1,3, Virginia A. Folcik, Ph.D.1,2,4

1 Department of Internal Medicine, Division of Pulmonary, Allergy, Critical Care and Sleep Medicine, The Ohio State University.

2 Department of Computer Science and Engineering, The Ohio State University

3 College of Medicine, The Ohio State University

4 Corresponding author: nivar.1@osu.edu

TITLE: Verification of an Agent-Based Model: Meeting the Challenge of Verifying Object-Oriented Code that Executes Stochastically

ABSTRACT: We have an agent-based model (ABM) created with RepastJ [1], the Basic Immune Simulator [2], with agents represented (and documented) as finite state automata. There are ten different agent types in three different worlds with up to twelve states each, and internal variables that may change value with the state. The internal variables of the agents include their location in the world and the size of the world that they occupy. Traditional methods for verification were used, including unit testing of all code modules as they were added, program walk-throughs, parameter sweeps, observation of the simulation running, and using a highly scrutinized, ABM software library [3, 4]. In order to address the stochastic nature of the agent execution of code for their behavior, we used a combination of the information documented in the state diagram for each agent and the technique of tracing the progression of each agent through its discrete time steps and recording its state and all of the relevant state variables to a text file that was then parsed by a program called the AgentVerifier. Automation of verification in agent-based modeling has been described [5]. What is different about our approach is the combined use of finite states and automation in a complex biological model. The AgentVerifier parses the output from multiple agents (of the same type, distinguished by indices) collected for the duration of a simulation run and produces a text file containing any errors found. The simulation is run repeatedly until all states are reached for the agent type. The cycle of running the simulation, parsing the output, and fixing any errors in either the simulation, the AgentVerifier or the state diagrams is repeated until the output from the AgentVerifier contains no errors. In this way we have been able to verify that the agents are executing their documented, imposed behavior and we have automated the verification process.

1. Repast. Recursive Porous Agent Simulation Toolkit. http://repast.sourceforge.net/repast_3/index.html.

2. Folcik VA, An GC, Orosz CG: The Basic Immune Simulator: An Agent-Based Model to study the interactions between innate and adaptive immunity. Theoretical Biology and Medical Modelling 2007, 4:39.

3. Law AM: Simulation Modeling and Analysis. 4th edn. Boston: McGraw-Hill; 2007.

4. North MJ, Collier NT, Vos JR: Experiences Creating Three Implementations of the Repast Agent Modeling Toolkit. ACM Transactions on Modeling and Computer Simulation 2006, 16:1-25.

5. North MJ, Macal CM: Managing Business Complexity. Discovering Strategic Solutions with Agent-Based Modeling and Simulation. New York: Oxford University Press 2007.

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