Top Banner
Wright State University Wright State University CORE Scholar CORE Scholar Browse all Theses and Dissertations Theses and Dissertations 2010 The History, Philosophy, and Practice of Agent-Based Modeling The History, Philosophy, and Practice of Agent-Based Modeling and the Development of the Conceptual Model for Simulation and the Development of the Conceptual Model for Simulation Diagram Diagram Brian L. Heath Wright State University Follow this and additional works at: https://corescholar.libraries.wright.edu/etd_all Part of the Engineering Commons Repository Citation Repository Citation Heath, Brian L., "The History, Philosophy, and Practice of Agent-Based Modeling and the Development of the Conceptual Model for Simulation Diagram" (2010). Browse all Theses and Dissertations. 982. https://corescholar.libraries.wright.edu/etd_all/982 This Dissertation is brought to you for free and open access by the Theses and Dissertations at CORE Scholar. It has been accepted for inclusion in Browse all Theses and Dissertations by an authorized administrator of CORE Scholar. For more information, please contact [email protected].
301

The History, Philosophy, and Practice of Agent-Based ...

Apr 19, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: The History, Philosophy, and Practice of Agent-Based ...

Wright State University Wright State University

CORE Scholar CORE Scholar

Browse all Theses and Dissertations Theses and Dissertations

2010

The History, Philosophy, and Practice of Agent-Based Modeling The History, Philosophy, and Practice of Agent-Based Modeling

and the Development of the Conceptual Model for Simulation and the Development of the Conceptual Model for Simulation

Diagram Diagram

Brian L. Heath Wright State University

Follow this and additional works at: https://corescholar.libraries.wright.edu/etd_all

Part of the Engineering Commons

Repository Citation Repository Citation Heath, Brian L., "The History, Philosophy, and Practice of Agent-Based Modeling and the Development of the Conceptual Model for Simulation Diagram" (2010). Browse all Theses and Dissertations. 982. https://corescholar.libraries.wright.edu/etd_all/982

This Dissertation is brought to you for free and open access by the Theses and Dissertations at CORE Scholar. It has been accepted for inclusion in Browse all Theses and Dissertations by an authorized administrator of CORE Scholar. For more information, please contact [email protected].

Page 2: The History, Philosophy, and Practice of Agent-Based ...

����

The History, Philosophy, and Practice of Agent-Based

Modeling and the Development of the Conceptual Model for

Simulation Diagram

A dissertation submitted in partial ful�llmentof the requirements for the degree

of Doctor of Philosophy

By

BRIAN L. HEATHB.S., Kettering University, 2006

M.S., Wright State University, 2008

2010Wright State University

Page 3: The History, Philosophy, and Practice of Agent-Based ...

WRIGHT STATE UNIVERSITY

SCHOOL OF GRADUATE STUDIES

February 15, 2010

I HEREBY RECOMMEND THAT THE DISSERTATION PREPARED UNDER MY SU-

PERVISION BY Brian L. Heath ENTITLED The History, Philosophy, and Practice of

Agent-Based Modeling and the Development of the Conceptual Model for Simulation

Diagram BE ACCEPTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS

FOR THE DEGREE OF Doctor of Philosophy.

Frank W. Ciarallo, Ph.D.

Dissertation Co-Adviser

Raymond R. Hill, Ph.D.

Dissertation Co-Adviser

Ramana V. Grandhi, Ph.D.

Director, Ph.D. in

Engineering Program

John A. Bantle, Ph.D.

V.P. for Research and

Graduate Studies and Interim

Dean of Graduate Studies

Committee on

Final Examination

Misty Blue, Ph.D.

Frank W. Ciarallo, Ph.D.

Thomas C. Hartrum, Ph.D.

Raymond R. Hill, Ph.D.

Yan Liu, Ph.D.

Ed Pohl, Ph.D.

Page 4: The History, Philosophy, and Practice of Agent-Based ...

ABSTRACT

�Heath, Brian L. PhD Dissertation, Department of Biomedical, Industrial and HumanFactors Engineering, College of Engineering and Computer Science, Wright StateUniversity, 2010. The History, Philosophy and Practice of Agent-Based Modelingand the Development of the Conceptual Model for Simulation Diagram.

���

This research advances ABM as a generic analysis tool such that ABM can reach

its full potential as a revolution in modeling and simulation. To achieve this goal,

the �eld of ABM is examined from many perspectives. The �rst perspectives exam-

ined are complex systems, the historical emergence of ABM, and philosophical issues

related to ABM. These topics establish some clear foundations for the �eld across

multiple disciplines. Next the current practice of ABM is investigated. Through a

comprehensive 279 article survey some current de�ciencies and opportunities in ABM

are identi�ed. Based on these opportunities, a new diagramming technique called the

Conceptual Model for Simulation (CM4S) Diagram is developed. Fundamentally, the

CM4S Diagram represents the �rst diagramming technique designed speci�cally for

the e�ective representation, construction, and sanctioning of ABM computer simula-

tions based on identi�ed needs in the ABM modeling �eld and simulation modeling

philosophy. Finally, the e�ectiveness of the CM4S Diagram is evaluated through the

development of social science, military, and supply chain ABM simulations.

iii

Page 5: The History, Philosophy, and Practice of Agent-Based ...

Contents

1 Introduction 1

I. The History, Philosophy, and Current Practice of Agent-Based Modeling 20

2 What are Complex Systems? 212.1 Understanding Systems and Their Complexity . . . . . . . . . . . . . 212.2 The Types of Model Systems and Their Complexity . . . . . . . . . . 262.3 Exploring the Landscape of Model Systems and Complexity . . . . . 302.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3 The Emergence of Agent-Based Modeling 373.1 The Beginning: Computers . . . . . . . . . . . . . . . . . . . . . . . . 383.2 The Synthesis of Natural Systems: Cellular Automata and Complexity 403.3 The Analysis of Natural Systems: Cybernetics and Chaos . . . . . . . 443.4 Towards Today's ABM: Complex Adaptive Systems . . . . . . . . . . 493.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4 Simulation and Agent-Based Modeling Validation Philosophy 544.1 Why All Simulations are Invalid . . . . . . . . . . . . . . . . . . . . . 564.2 What Does Simulation Validation Really Mean in Practice? . . . . . 634.3 What Good are Simulations? . . . . . . . . . . . . . . . . . . . . . . 684.4 What Good is ABM? . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5 A Survey of Agent-Based Modeling Practices 775.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

5.1.1 What is Holding Back ABM? . . . . . . . . . . . . . . . . . . 775.1.2 What is the Current State of ABM? . . . . . . . . . . . . . . 79

5.2 Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795.2.1 Collection of the Sample . . . . . . . . . . . . . . . . . . . . . 805.2.2 Categorization and Data Collection Strategy . . . . . . . . . . 83

5.2.2.1 Software . . . . . . . . . . . . . . . . . . . . . . . . . 835.2.2.2 Field of Study . . . . . . . . . . . . . . . . . . . . . 835.2.2.3 Reference to the Complete Model . . . . . . . . . . . 84

iv

Page 6: The History, Philosophy, and Practice of Agent-Based ...

5.2.2.4 Validation Technique(s) . . . . . . . . . . . . . . . . 845.2.2.5 Purpose of the Simulation . . . . . . . . . . . . . . . 86

5.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885.3.1 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885.3.2 Fields of Study . . . . . . . . . . . . . . . . . . . . . . . . . . 895.3.3 Purpose of the Simulation . . . . . . . . . . . . . . . . . . . . 895.3.4 Reference to the Complete Model . . . . . . . . . . . . . . . . 915.3.5 Validation (Not Considering Technique) . . . . . . . . . . . . 935.3.6 Validation Techniques . . . . . . . . . . . . . . . . . . . . . . 95

5.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975.4.1 Software and Veri�cation . . . . . . . . . . . . . . . . . . . . . 975.4.2 Addressing the Many Fields of Study or Creating a New One . 985.4.3 Rede�ning the Meaning of Results by Purpose . . . . . . . . . 995.4.4 Providing a Reference to the Complete Model . . . . . . . . . 1005.4.5 Complete Validation is Required for Every Model . . . . . . . 1015.4.6 Statistical vs. Non-Statistical Validation Techniques . . . . . . 102

5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

II. The Development of the Conceptual Model for SimulationDiagram 105

6 The Sanctioning Solution Concept and Why It is Required 1066.1 Exploring Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 107

6.1.1 How Simulations are Developed . . . . . . . . . . . . . . . . . 1076.1.2 Sanctioning Emphasis . . . . . . . . . . . . . . . . . . . . . . 1096.1.3 Conceptual Modeling . . . . . . . . . . . . . . . . . . . . . . . 1116.1.4 Di�culties in Modeling Organized Complex Systems . . . . . 1136.1.5 Re-visiting Peer-Level Sanctioning . . . . . . . . . . . . . . . . 1146.1.6 Summary of the Key Requirements . . . . . . . . . . . . . . . 115

6.2 Further Justi�cation and Insight into a New ABM Sanctioning Method-ology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

7 An Exploration of Diagramming Techniques and Their Capabilities 1237.1 An Overview of Diagrams . . . . . . . . . . . . . . . . . . . . . . . . 1237.2 Capabilities of Diagramming Techniques that Describe Model Systems 125

7.2.1 Organizational Diagramming Techniques . . . . . . . . . . . . 1257.2.2 Behavioral Diagramming Techniques . . . . . . . . . . . . . . 127

7.2.2.1 Process Flow Behavioral Diagramming Techniques . 1287.2.2.2 Machine Behavioral Diagramming Techniques . . . . 130

7.3 Capability Gap Analysis and Conclusions . . . . . . . . . . . . . . . . 134

8 The Conceptual Model for Simulation Diagram 1378.1 The Need for a New Diagramming Technique . . . . . . . . . . . . . 1378.2 Adapting Statecharts to Satisfy the Conceptual Sanctioning Require-

ments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1398.3 Description of the CM4S Diagram . . . . . . . . . . . . . . . . . . . . 141

v

Page 7: The History, Philosophy, and Practice of Agent-Based ...

8.3.1 Basic Syntax and Semantics . . . . . . . . . . . . . . . . . . . 1418.3.2 Shape Naming Conventions . . . . . . . . . . . . . . . . . . . 1458.3.3 Constructing a CM4S Diagram with Drawing/Diagramming

Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1478.4 A CM4S Diagram of the Sugarscape Simulation . . . . . . . . . . . . 148

8.4.1 Overview of the Sugarscape Simulation . . . . . . . . . . . . . 1498.4.2 Walk-through of the Sugarscape CM4S Diagram . . . . . . . . 1498.4.3 The E�ectiveness of the Sugarscape CM4S Diagram . . . . . . 166

8.5 Capabilities and Conclusions . . . . . . . . . . . . . . . . . . . . . . . 167

III. The Evaluation of the Conceptual Model for SimulationDiagram 168

9 The Proof of Concept: Replicating the Bay of Biscay Scenario withthe CM4S Diagram Prototype 1709.1 The Initial Design of the CM4S Diagram Prototype . . . . . . . . . . 172

9.1.1 Fundamental Characteristics . . . . . . . . . . . . . . . . . . . 1729.1.2 Basic CM4S Diagram Prototype Structure . . . . . . . . . . . 174

9.2 Scenario 1 of the Bay of Biscay ABM Simulation . . . . . . . . . . . 1779.3 Bay of Biscay CM4S Diagram Prototype Description . . . . . . . . . 1809.4 Identi�ed Improvement Areas for the CM4S Diagram Prototype . . . 1939.5 Sanctioning the Reproduced Bay of Biscay ABM Simulation . . . . . 194

10 Utilizing the CM4S Diagram for an ABM Simulation of Order Pick-ers in a Manual Low Picking, Picker-to-Parts Distribution Centerwith Congestion 20010.1 Background and Motivation . . . . . . . . . . . . . . . . . . . . . . . 20110.2 The Simulation Experimental Setup . . . . . . . . . . . . . . . . . . . 20310.3 The Conceptual Model . . . . . . . . . . . . . . . . . . . . . . . . . . 206

10.3.1 Revisions to the CM4S Diagram . . . . . . . . . . . . . . . . . 20710.3.2 Description of the Conceptual Model . . . . . . . . . . . . . . 20910.3.3 Sanctionability of the Conceptual Model . . . . . . . . . . . . 212

10.4 Construction and Operational Sanctionability of the Simulation . . . 21210.5 Key Results and Discussion . . . . . . . . . . . . . . . . . . . . . . . 21710.6 The E�ectiveness of the Revised CM4S Diagram . . . . . . . . . . . . 22310.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

11 Contributions and Future Research Opportunities 22611.1 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22611.2 Future Research Opportunities . . . . . . . . . . . . . . . . . . . . . . 231

Bibliography 232

Appendix A: Surveyed Articles 242

Appendix B: CM4S Diagram of DC Order Picker Simulation 262

vi

Page 8: The History, Philosophy, and Practice of Agent-Based ...

List of Figures

1 A Landscape of Model Systems . . . . . . . . . . . . . . . . . . . . . 82 The Roles of Simulations . . . . . . . . . . . . . . . . . . . . . . . . . 103 Screen shot of the DC Order Picker Simulation . . . . . . . . . . . . . 184 An Example Problem's Progression and the Complexity of the Model

System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 A Landscape of Model Systems and Complexity . . . . . . . . . . . . 316 Sample Model Systems Landscape for Solving the Ant Colony Problem 337 Relationship between a System, a Theory/Model, and a Simulation . 578 Di�erent Roles of a Simulation . . . . . . . . . . . . . . . . . . . . . . 739 Number of Articles per Year in the Sample . . . . . . . . . . . . . . . 8210 Articles per Publication Outlet in the Sample . . . . . . . . . . . . . 8211 A Simpli�ed Simulation Development Process . . . . . . . . . . . . . 8512 Purpose of the Simulation . . . . . . . . . . . . . . . . . . . . . . . . 8713 Histogram of Top Used Software . . . . . . . . . . . . . . . . . . . . . 8814 Breakdown of Articles by Field . . . . . . . . . . . . . . . . . . . . . 8915 Simulation Purpose by Year . . . . . . . . . . . . . . . . . . . . . . . 9016 Simulation Purpose by Field . . . . . . . . . . . . . . . . . . . . . . . 9017 Reference to Complete Model by Year . . . . . . . . . . . . . . . . . 9118 Reference to Complete Model by Field . . . . . . . . . . . . . . . . . 9219 Reference to the Complete Model by Purpose . . . . . . . . . . . . . 9220 Validation of the Simulations (Not Considering Technique) . . . . . . 9321 Validation by Year . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9422 Validation by Field of Study . . . . . . . . . . . . . . . . . . . . . . . 9423 Validation by Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . 9524 Validation Technique by Year . . . . . . . . . . . . . . . . . . . . . . 9625 Validation Technique by Field . . . . . . . . . . . . . . . . . . . . . . 9626 Validation Technique by Purpose . . . . . . . . . . . . . . . . . . . . 9727 A Simpli�ed Simulation Development Process . . . . . . . . . . . . . 10828 Relationship between System Understanding and Simulation Sanction-

ing Emphasis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11029 Current Practice Needs Mapped to Diagramming Technique Require-

ments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11730 Petri Net Example of a Chemical Reaction [91] . . . . . . . . . . . . 13131 State Diagram Example of a Telephone . . . . . . . . . . . . . . . . . 13232 Statechart Diagram Example of a Ceiling Fan . . . . . . . . . . . . . 13333 Sugarscape CM4S Diagram Example . . . . . . . . . . . . . . . . . . 14234 CM4S Diagram Shape Descriptions . . . . . . . . . . . . . . . . . . . 146

vii

Page 9: The History, Philosophy, and Practice of Agent-Based ...

35 Sugarscape CM4S Diagram Page 1 - Visual Representation . . . . . . 15136 Sugarscape CM4S Diagram Page 1 - Action Shape Data . . . . . . . 15237 Sugarscape CM4S Diagram Page 1 - Block Shape Data . . . . . . . . 15338 Sugarscape CM4S Diagram Page 1 - Decision Shape Data . . . . . . . 15439 Sugarscape CM4S Diagram Page 1 - Recorder Shape Data . . . . . . 15540 Sugarscape CM4S Diagram Page 1 - Variable Shape Data . . . . . . . 15641 Sugarscape CM4S Diagram Page 2 - Visual Representation . . . . . . 15942 Sugarscape CM4S Diagram Page 2 - Action Shape Data . . . . . . . 16043 Sugarscape CM4S Diagram Page 2 - Block Shape Data . . . . . . . . 16144 Sugarscape CM4S Diagram Page 2 - Decision Shape Data . . . . . . . 16245 Sugarscape CM4S Diagram Page 2 - Recorder Shape Data . . . . . . 16346 Sugarscape CM4S Diagram Page 2 - Variable Shape Data . . . . . . . 16447 Bay of Biscay Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17148 CM4S Diagram Prototype - Bay of Biscay Model View . . . . . . . . 18149 CM4S Diagram Prototype - Environment View . . . . . . . . . . . . 18250 CM4S Diagram Prototype - Uboat View . . . . . . . . . . . . . . . . 18351 CM4S Diagram Prototype - Aircraft View . . . . . . . . . . . . . . . 18452 Uboat Decision Shape Property Example . . . . . . . . . . . . . . . . 18653 Uboat Action Shape Properties . . . . . . . . . . . . . . . . . . . . . 18754 Uboat Block Shape Properties . . . . . . . . . . . . . . . . . . . . . . 18855 Uboat Decision Shape Properties . . . . . . . . . . . . . . . . . . . . 18956 Uboat Interaction Shape Properties . . . . . . . . . . . . . . . . . . . 19057 Bay of Biscay ABM Simulation Screen Shot . . . . . . . . . . . . . . 19558 Bay of Biscay ABM Simulation Results . . . . . . . . . . . . . . . . . 19759 Two-sided Two-Sample t-Test Results . . . . . . . . . . . . . . . . . . 19760 DC Order Picker ABM Simulation Environment . . . . . . . . . . . . 21161 Screen Shot of the DC Order Picker Simulation . . . . . . . . . . . . 21362 DC Order Picker Simulation - Total Mean Congestion Time vs. Item

Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21463 DC Order Picker Simulation - Total Mean Travel Time vs. Item Sort 21564 DC Order Picker Simulation - Total Mean Travel Time vs. Item Dis-

tribution, Tra�c Avoidance O� . . . . . . . . . . . . . . . . . . . . . 21665 DC Order Picker Simulation - Total Mean Travel Time vs. Item Dis-

tribution, Tra�c Avoidance On . . . . . . . . . . . . . . . . . . . . . 21666 Components of Congestion Pie Chart . . . . . . . . . . . . . . . . . . 21967 Impact of Congestion on DC Performance . . . . . . . . . . . . . . . 22068 Radar Chart of Mean Total Labor Time Under Various Conditions . 222

viii

Page 10: The History, Philosophy, and Practice of Agent-Based ...

List of Tables

1 Diagramming Technique Capability Analysis . . . . . . . . . . . . . . 142 Wolfram's Cellular Automata Classi�cations [124] . . . . . . . . . . . 433 Diagramming Technique Capability to Requirement Analysis . . . . . 1354 CM4S Diagram Prototype Shape Descriptions . . . . . . . . . . . . . 176

ix

Page 11: The History, Philosophy, and Practice of Agent-Based ...

Introduction

First emerging during the Industrial Revolution and initially concerned with manu-

facturing, Industrial Engineering is broadly de�ned as:

�[a �eld] concerned with the design, improvement, and installation of inte-grated systems of [people], material, equipment, and energy. . . [that]. . . drawsupon specialized knowledge and skill in the mathematical, physical, andsocial sciences together with the principles and methods of engineeringanalysis and design to specify, predict, and evaluate the results to beobtained from such systems.� [73]

Noticeably missing in this de�nition is the speci�c system that Industrial Engineers

are interested in understanding. However, this is an accurate description because

Industrial Engineering is primarily concerned with the design, understanding, and

analysis of arti�cial (or man-made [107]) systems as well as how they relate to other

systems. In other words, Industrial Engineering is not concerned with specializing in

any particular system, but is focused on having the capability to understand, design,

and evaluate any type of system. This does not mean that Industrial Engineers are

not technical experts for any particular system, only that they have adopted and

developed tools and techniques that aid in the understanding of systems in a holistic

sense. Furthermore, the tools used in Industrial Engineering can be categorized as

trying to solve one (or some) of the three problem types observed in systems.

In 1948, Weaver identi�ed three types of problems that are encountered in science,

and therefore in systems: Problems of Simplicity, Disorganized Complexity, and Or-

ganized Complexity [115]. In Problems of Simplicity, the abstraction of the system

is such that only a few variables are examined and the relationship between them

1

Page 12: The History, Philosophy, and Practice of Agent-Based ...

is determined. These types of systems are typically represented with mathematical

equations and were some of the �rst problems examined in Industrial Engineering.

For example, in 1898 Frederick Taylor, often called the Father of Industrial Engineer-

ing, analyzed workers shoveling coal to determine the relationship between worker

fatigue and how much they could shovel in a day. By focusing on a few variables

Taylor determined that a worker should only shovel 21.4 lbs of coal per shovel load

to minimize fatigue while maximizing output [33].

The second problem type identi�ed by Weaver are Problems of Disorganized Com-

plexity. In these problems, the abstracted system of interest is composed of hundreds

or thousands of variables and the characteristics of the whole abstracted system are

studied as opposed to the individual variables or entities. In other words, inferences

are made about the system based on the net e�ect of all the individual variables and

not from understanding each of the individual variables. Examples of these problems

abound in Industrial Engineering. Examining these problems requires only the obser-

vation of the input and output and does not require understanding how the internal

structure of the system creates the observed output [115]. For example, an Industrial

Engineer can measure thousands of parts to develop some distribution that describes

the net outcome of the quality of the parts for a manufacturing system to make an in-

ference about the probability that the next 100 parts will pass the quality inspection.

Notice that the Industrial Engineer does not need to understand all of the variables

that impact the quality of each part to make an inference about a future set of parts

[78]. Instead, the many disorganized variables impacting the parts create a simple

abstraction from a complex abstraction.

The emergence of simplicity from a problem of Disorganized Complexity brings up

an interesting question when considering the types of problems Industrial Engineers

face: are Problems of Simplicity and Problems of Disorganized Complexity any di�er-

ent? Note that the idea that simplicity emerges from complexity is not a foreign idea

2

Page 13: The History, Philosophy, and Practice of Agent-Based ...

[43]; we naturally observe this phenomena everyday in the way we abstract systems.

From a complex abstraction of atoms emerges a molecule abstraction and from many

molecules emerges a cell abstraction and so forth. In essence, simplicity and com-

plexity are a matter of abstraction. Therefore, it could be conjectured that Problems

of Simplicity and Disorganized Complexity are only di�erent in terms of abstracting

complexity (the structure) and not in the absolute complexity that they represent.

Any Simplicity problem can be broken into a Disorganized Complexity problem and

vice versa. A further similarity is that these problems describe the �what� relation-

ships at a given abstraction level. For example, these problems help answer questions

like what will happen when force is applied to this mass or what level of a factor

impacts the growth of a particular plant. Fundamentally, Problems of Simplicity and

Disorganized Complexity provide no insight into how the characteristics observed at

an abstraction level developed.

The �nal problem type identi�ed by Weaver are Problems of Organized Complex-

ity. In these problems, the system is abstracted into a medium number of highly

interrelated variables that together produce an organic whole of the system. This

type of problem is fundamentally di�erent from the previous two because it looks

across di�erent abstraction levels of the system. For example, a Problem of Orga-

nized Complexity could help try to understand how individual birds come together

to form a �ock with no clear leader [25]. This problem is not just concerned with

an individual bird's behavior or an entire �ock's behavior, which are two possible

independent abstraction levels, but with how the abstraction level of individual birds

leads to the abstraction level of a �ock. The key to Problems of Organized Complex-

ity is that their analysis results in �how� questions that are aimed at gaining insight

into the system of interest.

Industrial Engineering has many examples where analyzing Problems of Organized

Complexity would be valuable. For example, understanding how individual cars on

3

Page 14: The History, Philosophy, and Practice of Agent-Based ...

a road can result in tra�c jams can lead to better designed tra�c control systems

while understanding how individuals form groups to accomplish a task can lead to

better designed organizations. However, unlike Problems of Simplicity and Disorga-

nized Complexity, an extensive set of tools and techniques have not been thoroughly

developed to aid in analyzing Problems of Organized Complexity.

The lack of tools and techniques for Problems of Organized Complexity does not

mean a lack of interest. Many �classical� theories attempt to explain a Problem of

Organized Complexity. Darwinian Evolution describes how the actions and inter-

action of individuals over time results in the global adaptation of the group. Also,

Adam Smith's Invisible Hand in Economics describes an overall improvement in a

community that occurs when individuals each try to maximize their own utility [9].

A key reason for the lack of tool development in Problems of Organized Com-

plexity is their exhibited nonlinear behavior and the general lack of analytical tools

capable of analyzing nonlinear behavior. The computer has provided a tool capable

of �break[ing] the present stalemate created by the failure of the purely analytical

approach to nonlinear problems� [113]. The fundamental reason for this is the ca-

pability of computers to represent a natural process through time (Church-Turing

Hypothesis [70]). Thus, we can mimic a system with all of its non-linearities within a

computer and not be concerned with coming to formal, theoretical solutions; we can

understand the systems through empirical means.

With the tremendous growth in computing capabilities has come an ability to

simulate an abstracted system to help understand many di�erent types of problems.

The Discrete-Event Simulation Paradigm is quite a popular tool resulting in many

advances. These advances include steps to build a successful simulation, improvement

of technical aspects of simulation (e.g. random number generation), techniques to

analyze and produce better output measures, and methods to help validate and verify

that the simulation is an accurate representation of the system of interest [14, 69].

4

Page 15: The History, Philosophy, and Practice of Agent-Based ...

Although these advances improved computer simulation, they were mainly geared

for the Discrete-Event Simulation Paradigm, which is primarily used for Problems of

Simplicity or Disorganized Complexity.

A more recent development in simulation that is geared for Problems of Organized

Complexity is the Agent-Based Modeling (ABM) Paradigm. ABM is a computational

simulation paradigm composed of autonomous entities (agents) that interact with

each other and their environment [39, 76]. ABM is capable of representing the kinds

of systems that are encountered in Problems of Organized Complexity. They can

represent how one level of abstraction (individual agents) can generate a new level of

abstraction through the interactions that occur in the system, such as how individual

birds form a �ock. Due to ABM's ability to represent and analyze Problems of Orga-

nized Complexity, the ABM simulation paradigm has gained favor in many di�erent

�elds, from those that have traditionally used simulation to those that have not.

The ability of ABM to analyze Problems of Organized Complexity, its relatively

recent development, and its wide-spread use makes it an analysis tool rich in research

opportunities and challenges. Since ABM is capable of analyzing Organized Complex-

ity Problems, advancing the development of this tool allows science and engineering

to expand their understanding of how systems transition from one abstraction level to

another. Previously analytically unanswerable questions such as how do tra�c jams

form and how exactly do particular actions of individuals results in global adaptation

can be examined. As with any new tool or �eld, there are often many theoretical,

philosophical, and application questions that are not thoroughly addressed without a

signi�cant amount of research. The �eld of ABM is full of research and application

questions such as how is ABM di�erent from other simulation paradigms and what

implications do these have on ABM as an analysis tool? Establishing and answer-

ing some of the key research questions for ABM contributes to the development of

this important analysis and research tool by creating a more solid theoretical and

5

Page 16: The History, Philosophy, and Practice of Agent-Based ...

philosophical foundation that can lead to better ABM applications.

With these research opportunities and challenges in mind, the goal of this research

is to advance ABM as a generic analysis tool to help ABM reach its full potential as

a revolution in the modeling and simulation domain [13]. This document has three

main parts. Part I examines the history, philosophy, and current practice of ABM to

establish a philosophical foundation of ABM and to identify improvement opportuni-

ties in the domain. Part II discusses the development a new diagramming technique

called the Conceptual Model for Simulation (CM4S) Diagram to address the special

issues in validating agent-based models. Part III demonstrates the evolution and ef-

fectiveness the CM4S Diagram through the construction and evaluation of military

and supply chain warehousing ABM simulations. The �nal chapter concludes with

the contributions of this research as well as future research opportunities.

Part I: The History, Philosophy, and Current Practice of ABM

To advance ABM one must �rst understand that ABM is a generic analysis tool for

understanding complex systems. To develop ABM so that its scope extends beyond

one particular problem or domain of interest its practice must incorporate understand-

ing of the complex theories, tools, and methods of systems and emphasize systems

thinking rather than domain speci�c thinking. Developing ABM from the systems

perspective is vital since a commonality between all problems and disciplines is that

they all involve systems. For this reason, this research emphasizes ABM as an anal-

ysis tool used to understand complex systems. Chapter 1 describes the portion of

research on complex systems and reconcile the various de�nitions of complexity that

currently exist.

In Chapter 2, the meaning of complexity and complex systems is explored. First,

a system is de�ned as something that translates input into output. Second, there ex-

ist two types of systems: real systems and model systems. Real systems are in�nitely

6

Page 17: The History, Philosophy, and Practice of Agent-Based ...

complex and model systems are �nite abstractions that are used to understand real

systems. Thus, there are two types of systems people should refer to when discussing

complex systems. Since real systems are in�nitely complex and model systems can

range in complexity, the term �complex systems� actually refers to complex model

systems. Next, based upon Weaver's problems encountered in science, model systems

are decomposed into four main categories: Primitive Model Systems (PMSs), Simple

Model Systems (SMSs), Disorganized Complex Model Systems (DCMSs), and Or-

ganized Complex Model Systems (OCMSs). Both DCMSs and OCMSs are complex

model systems, but describe slight di�erences in the results produced from the model

system. Together DCMS and OCMSs e�ectively reconcile the di�erent meanings of

complex systems.

After creating a classi�cation of model systems a landscape is created to show the

relationship between model systems based on the number of components and under-

standing level of the real system problem. In this framework shown in Figure 1, PMSs

are found in the region where there are few number of components and understanding

levels are low, SMSs are found in the regions where the number of components is low

and understanding levels are high, DCMSs are found in the regions where the num-

ber of components is high and understanding levels are moderate, and OCMSs are

found in regions where the number of components is high and understanding levels

are low. This landscape also describes how real system problems are solved using

model systems. Therefore, it can aid in solving problems by connecting the current

level of understanding with appropriate model system tools to meet the objectives.

Finally, this framework e�ectively shows how the connection between model systems,

the number of components, and the level of understanding achieves the fundamental

goal of science to make the complex simple.

After establishing the meaning of complex systems and complexity, the next step

to advance ABM is to develop a sound understanding of how ABM came into exis-

7

Page 18: The History, Philosophy, and Practice of Agent-Based ...

Figure 1: A Landscape of Model Systems

Numb

er of

Comp

onen

ts in

the

Mode

l Sys

tem

UnderstandingLevel of the Real System

High

Low HighLow

Simple Model

Systems

OrganizedComplex

ModelSystems

DisorganizedComplex

ModelSystems

PrimitiveModel

Systems

Numb

er of

Comp

onen

ts in

the

Mode

l Sys

tem

UnderstandingLevel of the Real System

High

Low HighLow

Simple Model

Systems

OrganizedComplex

ModelSystems

DisorganizedComplex

ModelSystems

PrimitiveModel

Systems

8

Page 19: The History, Philosophy, and Practice of Agent-Based ...

tence. It seems that almost every article discussing ABM includes some account of the

historical development of ABM. Often this history does not discuss the fundamental

theories and diverse �elds of inquiry that eventually led to ABM's emergence and the

corresponding shift of emphasis from top-down to bottom-up analysis. To begin to

unfold and account for the detailed development of ABM, Chapter 3 explores some of

the scienti�c developments in computers, cybernetics, complexity, chaos, and systems

thinking that helped lead to the emergence of ABM. By connecting old theories to

several key principles of ABM, a historical perspective into ABM and complexity is

presented that provides a clearer understanding of the �eld, shows the bene�ts to be

gained by understanding the diverse origins of ABM, and can serve as a starting point

for others interested in exploring other theories and ideas that laid the foundation for

the ABM Paradigm.

Another important need to advance ABM is to explore the philosophical issues

related to simulation and particularly ABM. As the popularity and usage of simulation

and ABM continues to expand, it is valuable to establish the philosophical issues

related to computer simulation as well as its limitations. This is especially true

when considering that some believe that simulation is becoming the epistemological

engine of our time [65]. Chapter 4 establishes the relationship between simulation

and the philosophy of science, discusses the limitations of all simulations as invalid

representations of reality, rede�nes the process of simulation validation through the

new concept called sanctioning, and discusses the practical application of simulation

and validation.

This examination of the practical and philosophical application of simulation and

validation identi�es three primary roles of simulation: Generators, Mediators, and

Predictors. A Generator is a simulation where little is known about the system of

interest and it is used primarily to determine if a given conceptual model/theory is

capable of generating observed behavior of the system. A Mediator is a simulation

9

Page 20: The History, Philosophy, and Practice of Agent-Based ...

Figure 2: The Roles of Simulations

where the system is moderately understood and it is used primarily to establish the

capability of the conceptual model to represent the system and to then gain some

insight into the system's characteristics and behaviors. A Predictor is a simulation

where the system is well understood and it is used primarily to estimate or predict

a system's behavior with little time spent on ensuring that the conceptual model

is correct because this aspect of the simulation has already been established. A

framework shown in Figure 2 connects the role of a simulation with the level of

understanding about the real system. In turn this framework begins to de�ne the

appropriate roles, expectations, needs, and validation techniques for ABM.

Upon establishing philosophical and historical foundations, the next phase to ad-

vance ABM is to identify the current practice of ABM. Chapter 5 includes a com-

prehensive survey of 279 ABM articles conducted to identify opportunities that can

advance the �eld as well as to compare and contrast current ABM practices with the

key complexity, historical, and philosophical ABM concepts discussed in the previous

chapters.

The survey identi�ed six speci�c research directions, needs, and opportunities for

ABM. First, development and documentation tools for ABM need to be independent

of software. Second, ABM needs to be studied as an independent discipline yet also

as a subset of the simulation discipline. From this standard techniques, practices,

10

Page 21: The History, Philosophy, and Practice of Agent-Based ...

philosophies, and methodologies are needed to extend ABM as a functional analysis

tool. Third, simulationists should have appropriate expectations for ABM since ABM

is used for the nontraditional simulation role of a generator. Fourth, published articles

need to incorporate su�cient information about the model so other researchers can

independently develop and evaluate the e�ectiveness of these models. The �fth, and

most signi�cant, conclusion reached from the survey is that reviewers and publication

outlets must require the complete validation and documentation of model. Finally,

both statistical and non-statistical validation techniques speci�cally appropriate for

ABM need to be developed and become part of the training for those building these

models.

Part II: The Development of the Conceptual Model for Simu-lation Diagram

Based upon evaluating the current ABM practices and identifying opportunities that

could advance the �eld, Chapter 6 discusses the re�nement of the needs and identi�es

a solution concept with a set of detailed requirements. Here the key solution concept

is the development of a diagramming technique that impacts the way agent-based

models are constructed, validated, and reported. The major reason for considering a

diagramming technique as a solution concept is that diagrams are graphical languages

that can describe entities and processes, provide documentation, communicate ideas,

and emphasize important aspects of the artifacts being described [23]. These capa-

bilities accurately address issues identi�ed as needs in the ABM survey. Next, the

requirements of the diagramming technique are developed by further investigating/re-

investigating the process of simulation construction and �nding the appropriate em-

phasis when validating agent-based models. This chapter also describes identifying

the types of systems being simulated using the ABM paradigm.

By examining these topics, the following detailed requirements for a diagramming

technique are derived:

11

Page 22: The History, Philosophy, and Practice of Agent-Based ...

1. Aids in learning and conveying system knowledge

2. Incorporates proper engineering judgment

3. Aids in translating the conceptual model into a computerized model

4. Emphasizes the development and sanctioning of the micro-level behaviors

5. Displays the theories and assumptions built into the model for quantitative

analysis

6. Conveys the conceptual model's logic and structure for qualitative analysis

7. Completely represents the simulation so it can be reproduced by independent

evaluators

8. Provides justi�cation for all structures and actions in the simulation

9. Reviewable by evaluators of varied simulation and domain expertise levels

10. Can represent Disorganized and Organized Complex Systems

The key aspect of these requirements is the emphasis on the development and valida-

tion of the conceptual model of the simulation. This technique of ABM are primarily

used to explore real systems where the modeler has a low level of understanding. This

creates a need to place more validation emphasis on the conceptual model rather than

the output being correct. Thus, the diagramming technique must be able to aid in

the development, construction, validation, evaluation, and documentation of the con-

ceptual model of a computer simulation.

Chapter 7 explores diagramming techniques and their capabilities to determine

if any existing diagramming technique satis�es all of the requirements. First, dia-

gramming techniques are de�ned as graphical languages that communicate features

of an object or concept of interest. Next, a variety of diagramming techniques from

12

Page 23: The History, Philosophy, and Practice of Agent-Based ...

systems engineering and computer science domains are identi�ed and placed into two

categories based on their capabilities and objectives: Organizational Diagramming

Techniques (ODTs) and Behavioral Diagramming Techniques (BDTs). ODTs (e.g.

Entity-Relation Diagrams, N2 Charts, UML 2.0 Structural Diagrams, etc.) capture

static relationships and highlight the structure of various components of the model

system. The inability of ODTs to represent dynamic systems eliminates them from

consideration.

BDTs capture the dynamic control and execution of activities or functions of a

model system and describe the desired high-level capabilities sought after in candidate

diagramming techniques. Furthermore, BDTs are broken into two categories: Process

Flow Behavioral Diagramming Techniques (PFBDTs) and Machine Behavioral Dia-

gramming Techniques (MBDTs). PFBDTs (e.g. Functional Flow Block Diagrams,

Control Flow Diagrams, SysML Activity Diagrams, etc.) describe the �ow of control

of activities or functions of a model system, but do not describe precisely how inputs

are translated into outputs. The inherent inability of PFBDTs to provide a descrip-

tion of a model system such that others can mimic exactly how the model system

operates eliminates them from consideration. MBDTs (e.g. Petri Nets, State Tran-

sition Diagrams, Statecharts, and UML 2.0 and SysML State Machine Diagrams)

describe the dynamic modes of a model system and the events that cause the model

system to transition to other modes. MBDTs have additional syntax and semantics

to describe the engine of a model system that is missing in PFBDTs. Thus, MBDTs

satisfy more of the requirements than any other diagramming techniques. The capa-

bilities of each diagramming technique to satisfy the requirements is shown in Table

1 .

Despite MBDTs ability to satisfy many of the requirements, there are three re-

quirements they fail to satisfy. These unsatis�ed requirements are:

• The ability to emphasize the development and sanctioning of micro-level be-

13

Page 24: The History, Philosophy, and Practice of Agent-Based ...

Table 1: Diagramming Technique Capability Analysis

Fun

ctio

nal F

low

Blo

ck D

iagr

ams

Enh

ance

Fun

ctio

n F

low

Blo

ck D

iagr

ams

Beh

avio

r D

iagr

ams

Con

trol

Flo

w D

iagr

ams

UM

L 2.

0 &

Sys

ML

Act

ivity

Dia

gram

s

UM

L 2.

0 &

Sys

ML

Inte

ract

ion

Dia

gram

s

Pet

ri N

ets

Sta

te D

iagr

ams

Sta

tech

arts

UM

L 2.

0 &

Sys

ML

Sta

te M

achi

ne D

iagr

ams

1Aids in learning and conveying system knowledge � � � � � � � � � �

2 Incorporates proper engineering judgment � � � � � � � � � �3

Aids in translating the conceptual model into a computerized model � � � �

4Emphasizes the developing and sanctioning of micro-level behaviors

5Displays the theories and assumptions built into the model for quantitative analysis

6Conveys the conceptual model's logic and structure for qualitative analysis � � � � � � � � � �

7Completely represents the simulation so it can be reproduced by independent evaluators � � � �

8Provides justification for all structures and actions in the simulation

9Reviewable by evaluators of varied simulation and domain expertise levels � � � � � � � � � �

10Must be able to represent Organized and Disorganized Complex Systems � � � � � � � � � �

Behavioral Diagramming Technique

Req

uir

emen

ts

Process Flow Machine

Fun

ctio

nal F

low

Blo

ck D

iagr

ams

Enh

ance

Fun

ctio

n F

low

Blo

ck D

iagr

ams

Beh

avio

r D

iagr

ams

Con

trol

Flo

w D

iagr

ams

UM

L 2.

0 &

Sys

ML

Act

ivity

Dia

gram

s

UM

L 2.

0 &

Sys

ML

Inte

ract

ion

Dia

gram

s

Pet

ri N

ets

Sta

te D

iagr

ams

Sta

tech

arts

UM

L 2.

0 &

Sys

ML

Sta

te M

achi

ne D

iagr

ams

1Aids in learning and conveying system knowledge � � � � � � � � � �

2 Incorporates proper engineering judgment � � � � � � � � � �3

Aids in translating the conceptual model into a computerized model � � � �

4Emphasizes the developing and sanctioning of micro-level behaviors

5Displays the theories and assumptions built into the model for quantitative analysis

6Conveys the conceptual model's logic and structure for qualitative analysis � � � � � � � � � �

7Completely represents the simulation so it can be reproduced by independent evaluators � � � �

8Provides justification for all structures and actions in the simulation

9Reviewable by evaluators of varied simulation and domain expertise levels � � � � � � � � � �

10Must be able to represent Organized and Disorganized Complex Systems � � � � � � � � � �

Behavioral Diagramming Technique

Req

uir

emen

ts

Process Flow Machine

14

Page 25: The History, Philosophy, and Practice of Agent-Based ...

haviors (Req. #4);

• The ability to display the theories and assumptions built into the model for

quantitative analysis (Req. #5); and

• The ability to provide justi�cation for all structures and actions in the simula-

tion (Req. #8).

The common theme among requirements is their concern with the sanctioning and

documenting of the theories and assumptions built into the simulation. This leads

to the conclusion that current diagramming techniques focus primarily on describing

the whats and the hows. They do not provide the whys, which is an important aspect

of modeling and scienti�c evaluation. To �ll this capability gap, a new diagramming

technique is needed that describes the model system in a similar manner as MBDTs

and includes valuable conceptual sanctioning information.

In Chapter 8, justi�cation for the development of the CM4S Diagram is presented,

its semantics and syntax are de�ned, and an example of its use is demonstrated.

The goal of creating the CM4S Diagram is to address the unsatis�ed requirements

regarding the sanctioning and development of the conceptual model of ABM simula-

tions. Thus, the CM4S Diagram adapts the fundamental components of Statecharts

(a proven MBDT) to include new properties and shapes to distinguish elements that

are important in the development of the conceptual model for a simulation. The

unique element of the CM4S Diagram is inclusion of a database of properties that ex-

tends the diagramming technique to include a new dimension of information that aids

in the development, construction, documentation, and sanctioning of the conceptual

model.

To demonstrate the functionality and e�ectiveness of the CM4S Diagramming

Technique a CM4S Diagram of the Sugarscape ABM Simulation [35] is constructed.

The Sugarscape Simulation is selected because it is both instructive in how to con-

15

Page 26: The History, Philosophy, and Practice of Agent-Based ...

struct a CM4S Diagram for an ABM simulation and informative because it is a

well-known in the literature, fairly basic, and a purely notional simulation that uti-

lizes fundamental concepts found in the ABM Paradigm. This example demonstrates

how the diagramming technique is capable of representing the conceptual model of

an ABM simulation. It captures and documents the key activities, behaviors, tim-

ing, statistics, and characteristics of the conceptual model of the simulation as well

as documents the �why� information of each shape for sanctioning purposes. Thus,

the CM4S Diagram e�ectively satis�es all of the requirements based on the needs to

advance ABM as a generic analysis tool. Furthermore, the CM4S Diagram represents

the �rst diagramming technique designed speci�cally for the e�ective representation,

construction, and sanctioning of ABM computer simulations based on identi�ed needs

in the ABM modeling �eld and simulation modeling philosophy.

Part III: The Evaluation of the Conceptual Model for Simula-tion Diagram

In Chapter 8, the CM4S Diagram is presented in its �nal version. However, as with

any newly developed product, the CM4S Diagram went through several revisions and

evaluations prior to the �nal version. Part III of the document reviews the evolution

of the CM4S Diagram through two rounds of improvement studies where a version of

the CM4S Diagram is developed, used to construct an ABM simulation, evaluated for

�aws and overall e�ectiveness, and then improved. The revisions resulting from these

studies represents a signi�cant improvement and re�nement of the CM4S Diagram.

Furthermore, constructing unique ABM simulations from various domains and levels

of complexity highlights the robustness of the CM4S Diagram as well as the successful

application of the theories, principles, and philosophies developed and discussed in

Part I.

In Chapter 9, the prototype version of the CM4S Diagram is used as a proof-of-

concept to reproduce Scenario 1 of the Bay of Biscay Military ABM Simulation as

16

Page 27: The History, Philosophy, and Practice of Agent-Based ...

described by Champagne [26] to further advance the CM4S Diagram as a tool for

ABM and to evaluate its e�ectiveness. The main reason for replicating this agent-

based model is that it is well documented and validated. This places the emphasis not

on developing a new simulation model but on constructing and evaluating the CM4S

Diagram Prototype. In this WWII simulation, Allied Planes search the Bay of Bis-

cay for German U-boats (submarines) in an attempt to replicate historical results and

eventually improve aerial search patterns. Upon building the CM4S Diagram Proto-

type for this ABM simulation, it was found that the prototype was able to e�ectively

capture and convey the conceptual model of a complex system, provide justi�cation

for all behaviors and actions, and aid in translating the conceptual model into a val-

idated simulation model. However, several improvement opportunities for the initial

prototype were identi�ed. These included the need for more descriptive simulation

properties for shapes, new shapes describing data collection, and a better representa-

tion of interactions between blocks. By utilizing the CM4S Diagram Prototype, the

military ABM simulation is successfully and e�ectively sanctioned, documented, and

replicated. Therefore, the proof-of-concept study is deemed successful and provides

some evidence that the concept of the CM4S Diagram merits further development

and could aid in the advancement of ABM as an analysis tool.

In Chapter 10, a revised version of the CM4S Diagram is used to develop a new

ABM simulation of picking activities in a supply chain distribution center to further

advance and evaluate the e�ectiveness of the CM4S Diagram. The key motivation for

simulating this system is personal experience and the lack of literature discussing sim-

ulations capable of representing the congestion component of order pickers (something

ABM simulation is capable of capturing). In this simulation, order pickers traverse

the distribution center to pick all of the items on their order list while navigating to

avoid collisions. Thus, congestion and travel time are directly measured. A screen

shot of the simulation is shown in Figure 3. After constructing, sanctioning, running,

17

Page 28: The History, Philosophy, and Practice of Agent-Based ...

Figure 3: Screen shot of the DC Order Picker Simulation

18

Page 29: The History, Philosophy, and Practice of Agent-Based ...

and analyzing the results of this distribution center ABM simulation, the overall ef-

fectiveness of the revised CM4S Diagram is evaluated. It is found that the technical

revisions to the CM4S Diagram from the prototype are e�ective in documenting and

constructing the conceptual model and that throughout the use of the revised CM4S

Diagram no behavior or activity was encountered that could not be represented or

collected with the available shapes and properties. Therefore, no major technical

changes to the CM4S Diagram are needed at this point. Utilizing the revised CM4S

Diagram to construct this simulation demonstrated that its technical, sanctioning,

and documenting capabilities align with its intended purpose and design criteria to

advance ABM as a generic analysis tool.

19

Page 30: The History, Philosophy, and Practice of Agent-Based ...

I. The History, Philosophy, and

Current Practice of Agent-Based

Modeling

20

Page 31: The History, Philosophy, and Practice of Agent-Based ...

What are Complex Systems?

The process of science and engineering requires at least two things. The �rst is a

system. The second is the ability to abstract models of that system into what we

call model systems. While the process of modeling a system is discussed later (in

particular using an agent-based model to model a system), it is worth examining

the properties and characteristics of systems because �systems are as pervasive as

the universe in which they exist� [17]. If a goal of science and engineering is to

create models that explain and exploit our world, then understanding the properties

of the modeled systems is vital. This chapter presents a classi�cation scheme of model

systems and their properties to gain insights into factors in�uencing the complexity of

a model system and to develop the appropriate expectations of model systems. With

this objective in mind the remainder of this chapter is organized as follows. The �rst

section de�nes and discusses general properties and characteristics of systems and

complexity. The second section discusses the complexity of model systems. The third

section presents a model systems landscape that relates a model system classi�cation

to the number of components in the model system and the level of understanding of

the real system problem. The �nal section summarizes the key points of this chapter.

2.1 Understanding Systems and Their Complexity

A system has many de�nitions. The 2008 Webster English Dictionary gives �ve

primary de�nitions of a system [2]. These include de�ning a system as a �regularly

interacting or interdependent group of items forming a uni�ed whole,� as �a group

21

Page 32: The History, Philosophy, and Practice of Agent-Based ...

of interacting bodies under the in�uence of related forces,� and as �an organized

set of doctrines, ideas, or principles usually intended to explain the arrangement or

working of a systematic whole.� For this research, a system is de�ned as something

that transforms inputs into outputs. A car takes gas and produces locomotion, a

democratic government takes in their citizens' needs and produces programs to meet

those needs, and a person can take their thoughts and produce a book, a speech,

or some other form of communication. The transformation of input into output is a

fundamental characteristic of any system and describes what scientists and engineers

try to understand.

Within this system de�nition there are two main types of systems. The �rst type

of system is real systems; the systems that scientists and engineers try to understand.

Examples include both natural systems such as the solar system or the digestive

system of living animals, and arti�cial (man-made) systems such as cars and govern-

ments. A key characteristic of these real systems is that they are in�nitely complex;

we cannot completely understand them.

To cope with the in�nite complexity of real systems, scientists and engineers

use model systems to bound the in�nite complexity of the real system into a �nite

system (a model system) that is easier to comprehend. Models are also systems

because they translate input into output. However, not all systems are models since

models are truncated abstractions of a real system. It is through these models of real

systems that scienti�c and engineering progress is made. All science and engineering

theories and hypotheses that exist are models of real systems and are thus inaccurate

representations of the true system.

Real systems and model systems di�er in terms of their complexity. While real

systems are in�nitely complex, the complexity of model systems depends upon the

modeler and how much they know about the real system being modeled. Thus, the

complexity of a real system is absolute and the complexity of a model system is rel-

22

Page 33: The History, Philosophy, and Practice of Agent-Based ...

ative. Modelers can make a model system as �simple� or �complex� as they want or

need. The relative complexity of model systems indicates an inherent relationship

between the complexity of the model system and the real system problem it repre-

sents. To understand this relationship consider how one tries to solve a problem by

constructing a model system of the real system problem.

When trying to solve a problem using a model there are two important consider-

ations. The �rst is how much detail to include or which components from the real

system are required for an e�ective model system. Including more detail in the model

system may produce a more accurate solution, but at the cost of having a more com-

plex model system; since more details directly relates to more complexity in terms of

model system size and component interactions. Including less detail means that the

model system is inherently simpler, but this can come at the cost of representation

accuracy. This is the Size Component of a model system's complexity. Finding the

appropriate level of detail for the model system that best solves a given problem is

one driver determining a model system's complexity.

The second consideration is how much is understood about the real system. Fully

understanding the real system for a problem means the developed model system may

seem simpler relative to other model systems of less understood real systems. Con-

versely, understanding less about the real system means the model system developed

may seem more complex than model systems of the well understood real systems.

Any developed model system of an unexplored real system will inherently seem more

complex. This is called the Unexplored Component of a model system's complex-

ity. Together the number of components (or level of detail) of the model system

and the level of understanding of the real system problem drives two components of

complexity in a model system: the Size and Unexplored Components of Complexity.

Model system complexity evolves as scientists and engineers learn about the prob-

lem of interest and evolve the model system based their understanding of the system.

23

Page 34: The History, Philosophy, and Practice of Agent-Based ...

Considering each model system instance as separate entities means model systems

cannot always be directly compared to the older model systems due to changes in

assumptions and circumstances. This complexity framework does not contradict sci-

enti�c tradition, but focuses on how the model system for a particular problem of a

real system evolves based on the number of components and the understanding level.

Consider Figure 4 as a notional example of using model systems to understand a

problem. The top portion shows the progression of understanding a particular real

system problem. This continuous progression is broken into four sections depicting

the interplay between the understanding level of the real system (U) and the number

of components in the model system (C). The �rst block represents the starting point in

solving the problem. Here understanding and the number of components is relatively

low on the scale where the ratio represents a notional scale where 100/100 represents

complete understanding and all possible components included in the system. There

are only a few components here because not much is known about what in�uences

the real system. A model system at this level is likely not a very formal model, but

will be more primitive in nature. To progress, more information on the real system

is needed. Block 2 shows a signi�cant increase in the number of components in the

model system based on this data collection and a slight increase in the understanding

level that often comes from data collection. In Block 2 a formal model exists and can

be analyzed. Block 3 shows a signi�cant increase in the understanding level of the real

system due to interpreting the results from the model system. This understanding is

then utilized the reduce the number of components in the model system to only those

that are deemed signi�cant. Block 4 represents this re�nement of the model system.

The bottom portion of Figure 4 notionally shows the corresponding complexities

of the model systems as a solution to the real system problem progresses. The solid

line represents the Unexplored Component and the dashed line represents the Size

Component. Initially, the real system example is not well understood. Therefore,

24

Page 35: The History, Philosophy, and Practice of Agent-Based ...

Figure4:

AnExampleProblem

'sProgression

andtheCom

plexityof

theModelSystem

Prob

lem 1

Prog

ressio

nU:

25/

100

C: 1

5/10

0

U: 3

2/10

0

C: 5

0/10

0

U: 7

5/10

0

C: 5

0/10

0

U: 7

9/10

0

C: 3

0/10

0

12

34

U: Understanding Level of th

e Real SystemC: # of Compo

nents in the Model System

Comp

lex

Simple

Unexplored Component

Size Component

Refin

emen

t

Interp

retati

on

Data

Colle

ction Re

al Sy

stem

Unde

rstan

ding

Low

High

Prob

lem 1

Prog

ressio

nU:

25/

100

C: 1

5/10

0

U: 3

2/10

0

C: 5

0/10

0

U: 7

5/10

0

C: 5

0/10

0

U: 7

9/10

0

C: 3

0/10

0

12

34

U: Understanding Level of th

e Real SystemC: # of Compo

nents in the Model System

Comp

lex

Simple

Unexplored Component

Size Component

Refin

emen

t

Interp

retati

on

Data

Colle

ction Re

al Sy

stem

Unde

rstan

ding

Low

High

25

Page 36: The History, Philosophy, and Practice of Agent-Based ...

the model system is quite complex in the Unexplored Component, but less complex

in the Size Component. As the understanding level of the real system increases, the

model system becomes less complex in the Unexplored Component domain but more

complex in the Size Component as it is systematically re�ned to a simpler model

system.

Figure 4 demonstrates two key things. First, it demonstrates the impact that the

understanding level of the real system and the number of components in the model

system have on the complexity of the model system. Second, it demonstrates that the

complexity of a model system varies based on the perspective that the model system

is viewed from. This highlights the importance of precisely describing the complexity

of model systems and demonstrates that the complexity of model systems has at least

two dimensions (Size and Unexplored) that are inherently interrelated through the

process of solving a problem.

This example is only representative of the process of solving a real system problem

and certainly does not represent every possible case. For example, a certain model

system may fail at increasing understanding no matter how many components are

added. In these examples, new model systems may be required. However, under

these and other scenarios the fundamental components of the complexity of model

systems still apply. Only the rate and scale of progression changes for the given

problem with set assumptions and circumstances, but when the problem changes the

complexity of previously related model systems cannot be easily compared.

2.2 The Types of Model Systems and Their Com-

plexity

The fundamental goal of model systems is to provide solutions and insights to prob-

lems related to real systems. To solve such problems a series of model systems may be

constructed with varying levels of complexity with the model system deemed most �t

26

Page 37: The History, Philosophy, and Practice of Agent-Based ...

for use. Since problems partially dictate the model systems constructed, we next ex-

amine the types of problems encountered in science and engineering. These problems

are then connected to the types model systems typically used to represent them.

In 1948, Weaver identi�ed three types of problems encountered in science: Prob-

lems of Simplicity, Disorganized Complexity, and Organized Complexity [115]. Prob-

lems of Simplicity are characterized by having only a few variables that are typically

linearly related. Problems of Disorganized Complexity are characterized by thou-

sands of variables that when analyzed together create a whole entity. Typically these

problems are analyzed using statistical models; one can analyze all of the individ-

ual variables and predict an average outcome for the whole system. Problems of

Organized Complexity are characterized by a medium number of highly interrelated

variables that together produce a new organic whole problem and often exhibit non-

linear relationships. Examples of these problems include the �ocking behavior of birds

or the development of societies.

Each of these problem types identi�es several things that aid in characterizing

the model systems. The �rst is that each problem type de�nes an appropriate num-

ber of components. Problems of Simplicity have a few variables and Problems of

Disorganized and Organized Complexity have many variables. Each problem type

has associated characteristics or behaviors. Problems of Simplicity and Disorganized

Complexity have more linear relationships and Problems of Organized Complexity

have more non-linear relationships. Weaver created a framework to describe model

systems of problems and their associated complexity. His description of these prob-

lems are detailed enough to describe the number of components and characteristics of

the model systems used to understand these problems. Building on this framework, a

landscape of four types of model systems are identi�ed and characterized: Primitive

Model Systems (PMS), Simple Model Systems (SMS), Disorganized Complex Model

Systems (DCMS), and Organized Complex Model Systems (OCMS) (see Figure 5)

27

Page 38: The History, Philosophy, and Practice of Agent-Based ...

SMSs are model systems characterized as primarily representing problems having

linear relationships between a few essential variables. This requires relatively few

components and representations of well understood real systems. A prime example of

SMSs are basic mathematical models and equations. Note that SMSs are relatively

simple in both the Size and Unexplored Components of model system complexity.

Simplicity here does not mean the model system is insigni�cant and that the problem

is not worth studying. Here simplicity indicates the success of science and engineering

in e�ectively capturing the fundamental behavior of the real system for a particular

problem. As stated by Simon [107], �The goal of science is to make the wonderful

and complex understandable and simple-but not less wonderful.�

While simpler model systems, such as SMS, are useful, often more complex model

systems are needed to begin understanding the real system problem. Two categories

of complex model systems are DCMS and OCMS. This follows Weaver's lead by

breaking complex model systems into two categories, even though complex model

systems (or complex systems in most circles) are often discussed as a singular whole.

The meaning and associated characteristics of complex model systems di�ers across

disciplines despite similar de�nitions of complex model systems. A survey of complex

model systems today provides the singular de�nition of a complex model system as

being large, composed of many interacting parts, and producing a whole that is greater

than the sum of the parts [9, 17, 25, 51, 74, 106]. While `large' and `composed of many

interactions' is easy to interpret, di�erent interpretations of `the whole greater than

the sum of the parts' (the whole concept) can lead to very di�erent classi�cations

of a model system's complexity. For example, consider a model system of a car

that captures the interaction of the physical pieces of the car at the part level. A

mechanical or systems engineer may classify this as a complex model system because

it is large, has many interactions, and together the parts of the car produces results

that individually they could not obtain (i.e. the whole is greater than the sum of

28

Page 39: The History, Philosophy, and Practice of Agent-Based ...

the parts). Conversely, a complexity theorist likely would not consider this model

system complex because they de�ne the whole concept as being the production of

transportation behavior. To reconcile these two groups, complex model systems are

broken into two categories, DCMS and OCMS

DCMS are model systems characterized by being large, having many interactions,

and producing an abstractable macro-structure that can be analyzed as a whole. Such

model systems occur when the real system problem is moderately to well understood

and the number of components is relatively large. In general, DCMS are complex in

the Size Component and relatively simple in the Unexplored Component of model

systems complexity. Traditional DCMS's include statistical models or discrete event

simulations. The majority of engineering model systems today fall into this category.

OCMS are characterized by a large number of components, having many interac-

tions, and producing a surprising or unexpected abstractable macro-structure that is

often classi�ed as non-linear. The fundamental di�erence between DCMS and OCMS

is that OCMS produces what is often called emergent behavior; unexpected behavior

that results from a low level of understanding concerning the real system problem.

Examples of these model systems are found when the real system problem is not well

understood and when the number of components is relatively high. In general, OCMS

are complex in both the Size and Unexplored Components of the complexity of model

systems. Particular examples of OCMS include agent-based models and simulations

that capture the evolution and development of societies or model systems describing

shoppers' behavior in a store.

There are two advantages in breaking complex model systems into separate cat-

egories. First, it reconciles the two schools of thought concerning complex model

systems and establishes the relationship of OCMS and DCMS. Second, it de�nes the

di�erence between simple and complex in relative terms such as many and few, and

low and high. This ensures the framework is based on de�nitions of simplicity and

29

Page 40: The History, Philosophy, and Practice of Agent-Based ...

complexity that are enduring through time. Since our perception of what is few and

what is many is always changing, so too will the de�nitions of simple and complex.

Avoiding de�nitions that concretely de�ne complexity ensures the future relevance of

the framework.

The �nal model system category is PMS. A PMS arises when a problem is �rst

identi�ed and the model system has not been fully developed or even identi�ed. PMSs

exists when there is a low understanding of the real system and the model system

has only a few components. In general, PMSs are simple in the Size Component and

relatively complex in the Unexplored Component of model system complexity. Often

PMSs are only high-level mental abstractions and theories of a real system that are

needed to begin studying the problem. An example of a PMS is a child's under-

standing that letting go of an object means it falls to the �oor. There is no detailed

understanding in this real system, just the recognition of a natural phenomena. To-

gether PMS, SMS, DCMS, and OCMS cover the model system's landscape in terms

of complexity.

2.3 Exploring the Landscape of Model Systems and

Complexity

Figure 5 shows the landscape for model systems types and their complexity. In this

landscape there are two continuous axes. The horizontal axis represents the how

well the real system problem is understood (the Unexplored Component of model

system complexity). The vertical axis represents the number of components included

in the model system for a particular problem (the Size Component of model system

complexity). Both of these axes are scaled low to high, where low represents few com-

ponents and no understanding and high represents many components and complete

understanding of the real system problem. Within this two dimensional space are po-

sitioned the four types of model systems. PMSs are found in the regions where there

30

Page 41: The History, Philosophy, and Practice of Agent-Based ...

Figure 5: A Landscape of Model Systems and Complexity

Numb

er of

Comp

onen

ts in

the

Mode

l Sys

tem

UnderstandingLevel of the Real System

High

Low HighLow

Simple Model

Systems

OrganizedComplex

ModelSystems

DisorganizedComplex

ModelSystems

PrimitiveModel

Systems

Numb

er of

Comp

onen

ts in

the

Mode

l Sys

tem

UnderstandingLevel of the Real System

High

Low HighLow

Simple Model

Systems

OrganizedComplex

ModelSystems

DisorganizedComplex

ModelSystems

PrimitiveModel

Systems

31

Page 42: The History, Philosophy, and Practice of Agent-Based ...

are a lower number of components in the model system and understanding of the

real system is low. SMSs are found in the regions where there are a lower number of

components in the model systems and understanding levels of the real system is high.

DCMs are found in the regions where there are many components and understanding

levels are moderate. OCMSs are found in regions where there are many components

and understanding levels are low.

This landscape provides several interesting insights beyond showing the relation-

ships between model systems. The complexity of a model system is dependent upon

both a controllable and an uncontrollable factor. The controllable factor is the number

of components in the model system. Modelers determine the details and assumptions

included in the model system. Finding the right balance between details and results

is the art of modeling [104]. The uncontrollable factor is the level of understanding.

How much is understood about the real system problem depends upon previous work

and the current state of knowledge on that problem. By combining these two factors

together, one can begin to see how problems are solved and how the appropriate

model systems can be used to solve them. When faced with a real system problem

the �rst step is to establish the current level of understanding concerning that real

system. Once the level of understanding is �xed, the next step is determining the

appropriate level of detail to include. Collectively these determine the model system's

type, level and type of complexity, and ultimately the expectations from the model

system.

This landscape can also describe how model systems evolve when solving real sys-

tem problems. Consider the sample landscape in Figure 6. This landscapes demon-

strates using model systems to solve the real system problem of how an ant colony

retrieves a food source larger than any single ant can carry. Each arc represents a

new type of model system and the various segments of the arcs show the development

and advancements of that particular model system. The �rst model system starts

32

Page 43: The History, Philosophy, and Practice of Agent-Based ...

Figure 6: Sample Model Systems Landscape for Solving the Ant Colony Problem

Numb

er of

Comp

onen

ts in

the

Mode

l Sys

tem

Understandingof the Real

System

SMS

OCMS

DCMS

PMS12

3 45

DCMS

High

Low HighLow

Numb

er of

Comp

onen

ts in

the

Mode

l Sys

tem

Understandingof the Real

System

SMS

OCMS

DCMS

PMS12

3 45

DCMS

High

Low HighLow

33

Page 44: The History, Philosophy, and Practice of Agent-Based ...

in the low understanding and low number of components portion of the landscape

and is classi�ed as a PMS. Initially, the problem is just recognized and the model

system is an informal observation of the food collecting phenomena of ant colonies.

As more components are added and data is collected, the understanding of the real

system problem improves slightly. At the end of this model system's arc some key

components of the real system have been identi�ed such as individual ants and their

various classi�cations (worker, warrior, etc) and it is determined that a formal model

is needed to better understand this system problem.

The second model system arc adds components, further increases understanding,

and is now classi�ed as a OCMS. Here all of the components of the model system, such

as ants randomly walking around and carrying items, helps the modelers understand

that some sort of communication is occurring between the ants in order to coordinate

the carrying of a large object. Thus, at the end of this model system arc it is deter-

mined that a new model system is needed to better replicate the communication of

ants. In the third model system, data is collected on the stigmergistic communication

of ants via pheromones and these components are included in the model system. Here

the ants in the model system exhibit unexpected behavior, but they begin the mimic

real ant colony behavior. This represents a signi�cant increase in the understanding

of how ants coordinate their activities to collect food for the colony.

The fourth model system arc uses the increased understanding to reduce the num-

ber of components in the model system to those that are the most signi�cant. For

example, the size distribution of the ants, their age, and the physical attributes of the

ants are no longer modeled. This results in a slight improvement in the understand-

ing of the real system. The model system is now classi�ed as a DCMS because there

are still many components, the ant colony can now be observed as a whole entity to

study, and the understanding level is fairly high. From here the �fth model system

is developed that contains fewer components and is classi�ed as a SMS. Note that

34

Page 45: The History, Philosophy, and Practice of Agent-Based ...

this simpli�cation may not increase understanding and may decrease model system

explainability. However, this simpli�cation allows the representation of the key com-

ponents in a few short rules. Mainly, ants randomly travel out from their nest looking

for food and when they encounter food they return to the nest leaving a pheromone

trail that other ants then follow to bring the food back to the colony. Thus, the goal of

science to make the complex simple involves traversing this model system landscape.

Note that the discussion of model systems types do not map to speci�c modeling

paradigm techniques, such as simulation, statistics, rule-based logic, or mathematical

equations. The discussion simply classi�ed the model system in terms of complexity.

In fact, the ant colony example could be modeled completely using just the Agent-

Based Modeling (ABM) paradigm.

2.4 Conclusion

A hot topic in today's literature is the study of complex systems. However, under-

standing what complex systems are can be a challenging task. This is especially true

when discussing the di�ering opinions scientists and engineers have when trying to

determine the complexity of a system. A system translates input into output and

there are two main types of systems. The �rst are the in�nitely complex real systems

that scientists and engineers seek to understand and exploit. The second are �nite

abstractions of real system called model systems. Model systems are used by scien-

tists and engineers to solve real system problems. Both types of systems should be

understood when discussing complex systems and it should be recognized that often

the term �complex systems� refers to model systems.

A complexity landscape was introduced based upon the Size and Unknown Com-

ponents of model system complexity. In this framework, the four categories of model

systems (PMSs, SMSs, DCMSs, and OCMSs) are easily positioned. This landscape

helps to describe how real systems problems are progressively solved using model sys-

35

Page 46: The History, Philosophy, and Practice of Agent-Based ...

tems and e�ectively shows how the connection between model systems, their number

of components, and their real system understanding achieves the fundamental goal of

science to make the complex simple.

36

Page 47: The History, Philosophy, and Practice of Agent-Based ...

The Emergence of Agent-Based

Modeling1

Over the years Agent-Based Modeling (ABM) has become a popular tool used to

model and understand the many complex, nonlinear systems seen in our world [39].

As a result, many papers geared toward modelers discuss the various aspects and

uses of ABM. The topics typically covered include an explanation of ABM, when

to use it, how to build it and with what software, how results can be analyzed,

research opportunities, and discussions of successful applications of the modeling

paradigm. These papers usually include brief discussions about the origins of ABM,

discussions that tend to emphasize the diverse applications of ABM as well as how

some fundamental properties of ABM were discovered. However, these historical

discussions often do not go into much depth about the fundamental theories and

�elds of inquiry that led ABM's emergence. Thus, in this chapter I re-examine some

of the scienti�c developments in computers, complexity, and systems thinking that

helped lead to the emergence of ABM by shedding new light onto some old theories

and connecting them to several key ABM principles of today. This chapter is not

a complete account of the �eld, but instead a historical perspective into ABM and

complexity intended to provide a clearer understanding of the �eld, show the bene�ts

to be gained by understanding the diverse origins of ABM, and hopefully spark further

interest into the many other theories and ideas that laid the foundation for the ABM

paradigm of today.

1To be published in the Journal of Simulation, 4(2).

37

Page 48: The History, Philosophy, and Practice of Agent-Based ...

3.1 The Beginning: Computers

The true origins of ABM can be traced back hundreds of years to a time when

scientists �rst began discovering and attempting to explain the emergent and complex

behavior seen in nonlinear systems. Some of these more familiar discoveries include

Adam Smith's Invisible Hand in Economics, Donald Hebb's Cell Assembly, and the

Blind Watchmaking in Darwinian Evolution [9]. In each of these theories simple

individual entities interact with each other to produce new complex phenomena that

seemingly emerge from nowhere. In Adam Smith's theory, this emergent phenomena

is called the Invisible Hand, which occurs when each individual tries to maximize their

own interests and as a result tend to improve the entire community. Similarly, Donald

Hebb's Cell Assembly Theory posits that individual neurons interacting together form

a hierarchy that results in the storage and recall of memories in the human brain.

In this case, the emergent phenomena is the memory formed by the relatively simple

interactions of individual neurons. Lastly, the emergent phenomena in Darwinian

Evolution is that complex and specialized organisms resulted from the interaction of

simple organisms and the principles of natural selection.

Although these theories were brilliant for their time, in retrospect, they appear

marred by the prevalent scienti�c philosophy of the time. Newton's Philosophy, which

is still common today, posited that given an approximate knowledge of a system's ini-

tial condition and an understanding of natural law, one can calculate the approximate

future behavior of the system [44]. Essentially, this view creates the idea that na-

ture is a linear system reducible into parts that eventually can be put back together

to resurrect the whole system. Interestingly, it was widely known at the time that

there were many systems where this reductionism approach did not work. These

type of systems were called nonlinear because the sum output of the parts did not

equal the the output of the whole system. One of the more famous nonlinear systems

is the Three Body Problem of classical mechanics, which shows that it is impossi-

38

Page 49: The History, Philosophy, and Practice of Agent-Based ...

ble to mathematically determine the future states of three bodies given the initial

conditions.

Despite observing and theorizing about emergent behavior in systems, scientists of

the time did not have the tools available to fully study and understand these nonlin-

ear systems. Therefore, it was not until theoretical and technological advances were

made that would lead to the invention of the computer that scientists could begin

building models of these complex systems to better understand their behavior. Some

of the more notable theoretical advances that led to the invention of the computer

were �rst made by Gödel with his famous work in establishing limitations of math-

ematics [25] and then by Turing in 1936 with his creation of the Turing Machine.

The fundamental idea of the theoretical Turing Machine is that it can replicate any

mathematical process, which was a big step in showing that machines were capable of

representing systems. Furthermore, Turing and Church later developed the Church-

Turing Hypothesis which hypothesized that a machine could duplicate not only the

functions of mathematics, but also the functions of nature [70]. With these develop-

ments, scientists had the theoretical foundation onto which they could begin building

machines to try to recreate the nonlinear systems they observed in nature.

Eventually, these machines would move from theoretical ideas to the computers

that we are familiar with today. The introduction of the computer into the world

has certainly had a huge impact, but its impact in science as more than just a high

speed calculator or storage device is often overlooked. When the �rst computers were

introduced, Von Neumann saw them has having the ability to �break the present stale-

mate created by the failure of the purely analytical approach to nonlinear problems�

by giving scientists the ability to heuristically use the computer to develop theories

[113]. The heuristic use of computers, as viewed by Von Neumann and Ulam, is

very much like the traditional scienti�c method except that the computer replaces or

supplements the experimentation process [113]. By using a computer to replace real

39

Page 50: The History, Philosophy, and Practice of Agent-Based ...

experiments, Von Neumann's process would �rst involve making a hypothesis based

on information known about the system, building the model in the computer, run-

ning the computer experiments, comparing the hypothesis with the results, forming a

new hypothesis, and repeating these steps as needed [113]. The essential idea of this

empirical method is to understand that the computer serves as a simulation of the

real system, which allows more �exibility in collecting data and controlling conditions

as well as better control of the timeliness of the results.

3.2 The Synthesis of Natural Systems: Cellular Au-

tomata and Complexity

Once computers became established, several di�erent research areas appeared with

respect to understanding natural systems. One such area was focused primarily on

synthesizing natural systems [66] and was led primarily by the work of Von Neumann

and his theory on self-reproducing automata, which are self-operating machines or

entities. In a series of lectures, Von Neumann presents a complicated machine that

possesses a blueprint of information that controls how the machine acts, including

the ability to self-reproduce [113]. This key insight by Von Neumann to focus not on

engineering a machine, but on passing information was a precursor to the discovery

of DNA which would later inspire and lead to the development of genetic algorithm

search processes. However, despite his many brilliant insights, Von Neumann's ma-

chine was very complicated since he believed that a certain level of complexity was

required in order for organisms to be capable of life and self-reproduction [70]. Al-

though it is certainly true that organisms are fairly complex, Von Neumann seemed

to miss the idea that would later be discovered that global complexity can emerge

from simple local rules [44].

With the idea that complexity was needed to produce complex results, reduction-

ism still being the prevalent scienti�c methodology employed, and perhaps spurred

40

Page 51: The History, Philosophy, and Practice of Agent-Based ...

on by the idea of powerful serial computing capabilities, many scientists began trying

to synthesize systems from the top-down. As brie�y discussed earlier, the idea of top-

down systems analysis is to take the global behavior, discompose it into small pieces,

understand those pieces, and then put them back together to reproduce or predict

future global behavior. This top-down methodology was primarily employed in the

early applications of Arti�cial Intelligence, where the focus was more on de�ning the

rules of intelligence-looking and creating intelligent solutions rather than the focus

being on the structure that creates intelligence [25]. Steeped in the traditional idea

that systems are linear, this approach did not prove to be extremely successful in

understanding the complex nonlinear systems found in nature [66].

Although Von Neumann believed that complexity was needed to represent complex

systems, his colleague Ulam suggested that this self-reproducing machine could be

more easily represented using a Cellular Automata (CA) approach [66]. As the name

may suggest, CA are self-operating entities that exist in individual cells that are

adjacent to one another in a 2-D space like a checkerboard and have the capability

to interact with the cells around it. The impact of taking the CA approach was

signi�cant for at least two reasons. The �rst is that CA is a naturally parallel system

where each cell can make autonomous decisions simultaneously with other cells in the

system [66]. This change from serial to parallel systems was signi�cant because it is

widely recognized that many natural systems are parallel [113]. The second reason

the CA approach had a signi�cant impact on representing complex systems is that CA

systems are composed of many locally controlled cells that together create a global

behavior. This CA architecture requires engineering a cell's logic at the local level

in hopes that it will create the desired global behavior [66]. Ultimately, CA would

lead to the bottom-up approach now mainly employed by the �eld of Arti�cial Life

because it is more naturally inclined to produce the same global behavior that is seen

to emerge in complex, nonlinear systems.

41

Page 52: The History, Philosophy, and Practice of Agent-Based ...

Eventually Von Neumann and Ulam were able to successfully create a paper-based

self-reproducing CA system which was much simpler than Von Neumann's previous

e�orts [66]. As a result, some scientists began using CA systems to synthesize and

understand complexity and natural systems. Probably the most notable and famous

use of CA was Conway's �Game of Life.� In this CA system, which started out as

just a Go Board with pieces representing the cells, only three simple rules were used

by each cell to determine whether it would be colored white or black based on the

color of cells around it. Using this game, it was found that depending upon the

starting con�guration, certain shapes or patterns such as the famous glider would

emerge and begin to move across the board where it might encounter other shapes

and create new ones as if mimicking a very crude form of evolution. After some

research, a set of starting patterns were found that would lead to self-reproduction

in this very simple system [70]. For more information on the �Game of Life,� to

see some of the famous patterns, and to see the game in action the reader can go

to http://en.wikipedia.org/wiki/Conway's_Game_of_Life. However, this discovery

that simple rules can lead to complex and unexpected emergent behavior was not an

isolated discovery. Many others would later come to the same conclusions using CA

systems, including Schelling's famous work in housing segregation which showed that

the many micromotives of individuals can lead to macrobehavior of the entire system

[102].

Upon discovering that relatively simply CA systems were capable of producing

emergent behavior, scientists started conducting research to further determine the

characteristics and properties of these CA systems. One of the �rst of these scientists

was mathematician Wolfram, who published a series of papers in the 1980's on the

properties and potential uses of 2-dimensional CA. In his papers, Wolfram creates

four classi�cations into which di�erent CA systems can be placed based on their

long-term behavior [124]. A description of these classi�cations is found in Table

42

Page 53: The History, Philosophy, and Practice of Agent-Based ...

Table 2: Wolfram's Cellular Automata Classi�cations [124]

2. Langton would later take this research further and described that life, or the

synthesis of life, exists only in Class 4 systems, which is to say that life and similar

complex systems exist between order and complete instability [70]. As a result, it was

concluded that in order to create complex systems that exhibit emergent behavior,

one must be able to �nd the right balance between order and instability (termed the

�edge of chaos�) or else the system will either collapse on itself or explode inde�nitely.

It should be pointed out that the �edge of chaos� concept has been an issue of debate.

In particular, there are arguments that suggest that it is not well de�ned and that

experiments attempting to reproduce some of the earlier work concerning the �edge

of chaos� have failed [77]. Others, such as Czerwinski [28], de�ne nonlinear systems

with three regions of behavior with his transition between the Complex behavior

region and the Chaos region aligning with the �edge of chaos� concept. Hill et al.

[49] describe an ABM of two-sided combat whose behavior demonstrated the stage

transitions described in [28]. However, the debate is primarily focused on whether the

particular trade-o� mechanism used by natural systems is appropriately described by

the �edge of chaos� and not whether a trade-o� mechanism exists [9]. Thus, until the

debate comes to a conclusion, this document will take the stance that the �edge of

chaos� represents the idea of a trade-o� mechanism that is thought to exist in natural

systems.

43

Page 54: The History, Philosophy, and Practice of Agent-Based ...

Armed with these discoveries about synthesizing complex systems and emergent

behavior, many scientists in the �elds of ecology, biology, economics, and other so-

cial sciences began using CA to model systems that were traditionally very hard to

study due to their non-linearity [35]. However, as technology improved, the lessons

learned in synthesizing these nonlinear systems with CA would eventually lead to

models where autonomous agents would inhabit environments free from restriction of

their cells. One such models include Reynold's �boids� which exhibited the �ocking

behavior of birds [70]. Advanced studies include the in�uential Epstein and Axtell

[35] exposition of CA models involving their Sugarscape model and Illachinski's [55]

ISAAC e�ort that arguably introduced the military to the use of CA. However, to

better understand agents, their origins, and behaviors another important perspective

of agents, the analysis of natural systems, should be examined.

3.3 The Analysis of Natural Systems: Cybernetics

and Chaos

While Von Neumann was working on his theory of self-reproducing automata and

asking, �what makes a complex system,� Wiener and others were developing the

�eld of cybernetics [66] and asking the question, �what do complex systems do,� [6].

Although these two questions are related, each is clearly focused on di�erent aspects of

the complexity problem and led to two di�erent, but related, paths toward discovering

the nature of complexity, the latter course of inquiry becoming cybernetics. According

to Wiener, cybernetics is �the science of control and communication in the animal and

the machine� [117] and has its origins in the control of the anti-aircraft �ring systems

of World War II [66]. Upon �ne tuning the controls, scientists found that feedback and

sensitivity were very important and began formalizing theories about the control and

communications of these systems having feedback. Eventually they would discover

that the same principles found in the control of machines were also true for animals,

44

Page 55: The History, Philosophy, and Practice of Agent-Based ...

such as the activity of recognizing and picking up an object [117]. This discovery

would lead cybernetics to eventually be de�ned by Ashby as a ��eld concerned with

understanding complexity and establishing foundations to study and understand it

better� [6], which includes the study of both machines and organisms as one system

entity.

One of the main tools used in cybernetics to begin building theories about systems

was Information Theory as it allowed scientists to think about systems in terms of

coordination, regulation, and control. Armed with this new mathematical theory of

the time, those studying cybernetics began to develop and describe many theories

and properties of complex model systems. One of these discoveries about systems

was the importance of feedback on the long-term patterns and properties of systems.

In general, complex model systems consist of a large number of tightly coupled pieces

that together receive feedback in�uencing the system's future behavior. Based on

this information, Ashby explains that complex model systems will exhibit di�erent

patterns depending upon the type of feedback found in the system. If the feedback is

negative (i.e., the Lyapunov Exponent, λ < 0), then the patterns will become extinct

or essentially reach a �xed point. If the feedback is zero (λ = 0), then the pattern will

remain constant or essentially be periodic. Finally, if the feedback is positive (λ > 0),

then the patterns would grow inde�nitely and out of control [6].

However, just as Von Neumann failed to make certain observations about com-

plexity, so did the founders of cybernetics fail to consider what would happen if both

positive and negative feedback simultaneously existed in a system. It was not until

later that Shaw used Information Theory to show that if at least one component of

a complex model system has a positive Lyapunov Exponent, and was mixed with

other components with varying exponent values, then the system will exhibit chaotic

patterns [44]. With Shaw's discovery that complex model systems can exhibit chaotic

behavior, scientists began considering what further impacts Chaos Theory might have

45

Page 56: The History, Philosophy, and Practice of Agent-Based ...

on understanding systems.

In general, any model system exhibiting chaos will appear to behave randomly

while being completely deterministic in nature [25]. However, this does not mean

that the real system is completely predictable. As Lorenz was �rst to discover with

his simulation of weather patterns, it is impossible to make long-term predictions of

a system with a simulated model because it is infeasible to record all of the initial

conditions at the required level of signi�cance [44]. This sensitivity to initial condi-

tions results from the fact that all possible initial conditions are in�nite. Therefore,

collecting these initial conditions to the required level of signi�cance is impossible

without a measurement device capable of collecting an in�nite number of in�nitely

long numbers as well as �nding a computer capable of handling all of those in�nitely

long numbers.

It may seem that this property of chaos has at some level discredited the previ-

ously mentioned Church-Turing Hypothesis by suggesting that these types of natural

systems cannot be duplicated by a machine. However, there are several other prop-

erties of chaos that help those attempting to model and understand these complex

systems despite the inability to directly represent them. The �rst is that chaotic

systems have a strange attractor property that keep these aperiodic systems within

some de�nable region [44]. This is obviously good for those studying these complex

systems because it limits the region of study into a �nite space. The other property

of these systems is that they can be generated using a very simple set of rules or

equations. By using a small set of rules or equations, and allowing the results to act

as a feedback into the system, the complexity of these systems seems to emerge out

of nowhere. As one can recall, the same discovery was made in CA when cells with

simple rules were allowed to interact dynamically with each other [44]. Therefore, it

appears that although natural complex systems cannot be modeled directly, some of

the same emergent properties and behavior of these systems can be generated in a

46

Page 57: The History, Philosophy, and Practice of Agent-Based ...

computer using simple rules (i.e., the bottom-up approach) without complete knowl-

edge of the entire real system. Perhaps it is not surprising that the idea that systems

can be represented su�ciently with a simpler model, often called a Homomorphic

Model, has long been a fundamental concept when studying systems [6].

Whenever discussing the idea that simple rules can be used to model complex

systems it is valuable to mention fractals, which are a closely related to and often

a fundamental component of Chaos Theory. First named by Mandelbrot, fractals

are geometric shapes that regardless of the scale show the same general pattern [72].

The interesting aspect of fractals is that because of their scale-free, self-similar nature

they can both �t within a de�ned space and have an in�nite perimeter, which makes

them complex and relates them very closely to the e�ect strange attractors can have

on a system. Furthermore, forms of fractals can be observed in nature and, in turn,

generated in labs using very simple rules, which shows that they also exhibit the

same type of emergent behavior and properties as the previously discussed complex

systems [44]. As a result, although fractals, chaos, and complex systems have a lot

in common, fractals, due to their physical representation, provide an insightful look

into the architecture of complexity.

Fractals are composed of many similar subsystems of in�nitely many more similar

subsystems of the same shapes, which results in a natural hierarchy and the emergence

of other, similar shapes. The architecture of fractals directly shows why reductionism

does not work for nonlinear systems. With fractals, a scientist could forever break

the fractal into smaller pieces and never be able to measure its perimeter. Another

interesting aspect about the architecture of fractals is that they naturally form a

hierarchy, which means the properties of hierarchies could possibly be exploited when

attempting to model and understand complex systems. For example, the fact that

Homomorphic models are e�ective at modeling complex systems could come from the

fact that hierarchical systems are composed of subsystems such that the subsystems

47

Page 58: The History, Philosophy, and Practice of Agent-Based ...

can be represented not as many individual entities but as a single entity [106].

Besides showing that emergent behavior can be explained using chaos, which in

turn can be simply represented in a model, there are other properties of chaos which

give insight into complex natural systems and ABM. Returning to the idea that it

is impossible to satisfactorily collect all of the initial conditions to obtain an exact

prediction of a chaotic system, one might ask what would happen if the needed initial

conditions were collected, but not to the in�nite level of detail? It turns out that such

a model would be close for the very short term, but would eventually diverge from the

actual system being modeled. This example brings about another property of chaotic

systems; they are very sensitive to the initial conditions [25]. This sensitivity property

of chaos ultimately leads to unreliable results when comparing a homomorphic model

to the actual system. Thus, in general it can be seen that these computer models are

unlikely to aid any decision about how to precisely handle the real system. Instead, it

can be concluded that these models should be used primarily to provide insights into

the general properties of a complex system. Essentially, this methodology of using

a computer for inference and insight harps back to Von Neumann's idea of using a

computer to facilitate an experiment with hopes to gain insights about the system

rather than using the computer to generate exact results about the future states of

the system [113].

The �nal property of chaos that can give insight into complex natural systems and

ABM is that a strange attractor not only limits the state space of the system, but

it also causes the system to be aperiodic. In other words, the system with a strange

attractor will never return to a previous state, which results in tremendous variety

within the system [25]. In 1962, Ashby examined the issue of variety in systems and

posited the Law of Requisite Variety, which simply states that the diversity of an en-

vironment can be blocked by a diverse system [6]. In essence, Ashby's law shows that

in order to handle a variety of situations, one must have a diverse system capable of

48

Page 59: The History, Philosophy, and Practice of Agent-Based ...

adapting to those various situations. As a result, it is clear that variety is important

for natural systems given the diversity of the environment in which they can exist.

In fact, it has been seen that entities within an environment will adapt to create or

replace any diversity that have been removed, further enforcing the need and impor-

tance of diversity [51]. However, it has also been found that too much variety can be

counterproductive to a system because it can grow uncontrollably and be unable to

maintain improvements [9]. Therefore, it appears that complex natural systems that

exhibit emergent behavior need to have the right balance between order and variety,

or positive and negative feedback, which is exactly what a strange attractor does in

a chaotic system. By keeping the system aperiodic within de�nable bounds, chaotic

systems show that the battle between order and variety is an essential part of complex

natural systems. As a result, strange attractors provide systems with the maximum

adaptability.

3.4 Towards Today's ABM: Complex Adaptive Sys-

tems

After learning how to synthesize complex systems and discovering some of their prop-

erties, the �eld of Complex Adaptive Systems (CAS), which is commonly referenced

as the direct historical roots of ABM, began to take shape. Primarily, the �eld of

CAS draws much of its of inspiration from biological systems and is concerned mainly

with how complex adaptive behavior emerges in nature from the interaction among

autonomous agents [71]. One of the fundamental contributions made to the �eld of

CAS, and in turn ABM, was Holland's identi�cation of the four properties and three

mechanisms that compose all CAS [51]. Essentially, these items have aided in de�ning

and designing ABM as they are known today [71] because Holland takes many of the

properties of complex systems discussed earlier and places them into clear categories,

allowing for better focus, development, and research.

49

Page 60: The History, Philosophy, and Practice of Agent-Based ...

The �rst property of CAS discussed by Holland is Aggregation, which essentially

states that all CAS can be generalized into subgroups and similar subgroups can be

considered and treated the same. As can be seen, this property of CAS directly relates

to the hierarchical structure of complex systems discussed early. Furthermore, not

only did Simon in 1962 discuss this property of complex systems, he also discussed

several other hierarchical ideas about the architecture of complex systems [106] that

can be related to two other of Holland's mechanisms of CAS. The �rst is Tagging,

which is the mechanism that classi�es agents, allows the agents to recognize each

other, and allows easier observation of the system. Essentially, Tagging is nothing

more than a means of putting agents into subgroups within some sort of hierarchy.

The second mechanism is Building Blocks, which is the idea that simple subgroups

can be decomposed from complex systems that in turn can be reused and combined

in many di�erent ways to represent patterns. Besides being related to Simon's dis-

cussion of the decomposability of complex systems, this mechanism also re�ects the

common theme that simplicity can lead to emergent behavior and the theory behind

modeling a complex system. Therefore, it can be seen that the elements of Aggre-

gation, Tagging, and Building Blocks can be related back to Simon's results when

studying the architecture of complexity.

Another property of CAS is Non-linearity, which, as previously discussed, is the

idea that the whole system output is greater than the sum of the individual com-

ponent output. In essence, the agents in a CAS collectively to create a result that

cannot be attributed back just to the individual agents. Hopefully, it is now clear

that not only is this fundamental property the inspiration behind synthesizing and

analyzing complex systems, but that non-linearity can also be the result of dynamic

feedback and interactions. These causes of non-linearity can be related to two more

of Holland's CAS elements. The �rst is the property of Flow, which states that agents

in CAS communicate and that this communication can change with time. As was

50

Page 61: The History, Philosophy, and Practice of Agent-Based ...

seen in examples using CA, having agents communicate with each other and their

environment dynamically can lead to the non-linearity of emergent behavior. Also,

within the property of Flow, Holland discusses several interesting e�ects that can

result from changes made to the �ow of information such as the Multiplier E�ect

and the Recycling E�ect. In short, the Multiplier E�ect occurs when an input gets

multiplied many times within a system. An example of the Multiplier E�ect is the

impact made on many other markets when a person builds a house. Similarly, the

Recycling E�ect occurs when an input gets recycled within the system and the overall

output is increased. An example of the Recycling E�ect is when steel is recycled from

old cars to make more new cars [51]. Interestingly enough, both of these e�ects can

be directly related back to Information Theory and Cybernetics. The other element

that relates to non-linearity is the Internal Model Mechanism, which gives the agents

an ability to perceive and make decisions about their environment. It is easy to think

of this mechanism as being the rules that an agent follows in the model, such as

turning colors based on its surroundings or moving away from obstacles. As with

a CA, simple Internal Models can lead to emergent behavior in complex systems.

Therefore, the link between these three elements is the essential nature of complex

systems: non-linearity.

The �nal property discussed by Holland is Diversity. Essentially, Holland states

that agents in CAS are diverse, which means they do not all act the same way when

stimulated with a set of conditions. By having a diverse set of agents, Holland argues

that new interactions and adaptations can develop making the overall system more

robust. Of course, the idea that variety creates more robust systems relates directly

back to Ashby's Law of Requisite Variety, which in turn relates back to strange

attractors and Chaos Theory.

51

Page 62: The History, Philosophy, and Practice of Agent-Based ...

3.5 Conclusion

For the ABM modeler to successfully defend their model and have it be considered

worth any more than a new and trendy modeling technique, the modeler needs to have

a fundamental understanding of the many scienti�c theories, principles and ideas that

led to ABM and not just an understanding of the `how to' perspective on emergence

and ABM. By gaining deeper understandings of the history of ABM, the modeler can

better contribute to transforming ABM from a potential modeling revolution [13] to

an actual modeling revolution with real life implications. Understanding that ABMs

were the result of the lack of human ability to understand nonlinear systems allows

the modeler to see where ABM �ts in as a research tool. Understanding the role

that computers play in ABM shows the importance of understanding the properties

of computers and in turn their limitations. Understanding that the fundamental

properties of CAS have their origins in many di�erent �elds (Computers, CA, Cyber-

netics, Chaos, etc) gives the modeler the ability to better comprehend and explain

their model. Understanding each of these individual �elds and how they are interre-

lated means a modeler can potentially make new discoveries and better analyze their

model. Finally, understanding the history of ABM gives the modeler the ability to

discern between and develop new ABM approaches.

As it is often the case, examining history can lead to insightful views about the

past, present, and the future. It is the hoped that this chapter has shed some light

on the origins of ABM as well as the connections between the many �elds from which

it emerged. Starting with theories about machines, moving onto synthesis and anal-

ysis of natural systems, and ending with CAS, it is clear, despite this chapter being

primarily focused on complexity, that many �elds played an important role in devel-

oping the multidisciplinary �eld of ABM. Therefore, in accordance with the Law of

Requisite Variety, it appears wise for those wishing to be successful in ABM to also

be well versed in the many disciplines that ABM encompasses. Furthermore, many

52

Page 63: The History, Philosophy, and Practice of Agent-Based ...

insights can be discovered about the present nature of ABM by understanding the

theoretical and historical roots that compose the rules-of-thumb (for example Hol-

land's properties and mechanisms) used in today's ABM. For example, knowing the

theory behind Cybernetics and Chaos Theory could help a modeler in determining

the impact that certain rules may have on the system or in trouble shooting why the

system is not creating the desired emergent behavior. Finally, it could be postulated

that understanding the history of ABM presents one with a better ability to discern

between good and bad ABM approaches as well as in developing new ones. In conclu-

sion, this article has provided an abbreviated look into the emergence of ABM with

respect to complexity and has made some new connections to today's ABM that can

hopefully serve as a starting point for those interested in understanding the diverse

�elds that compose ABM.

53

Page 64: The History, Philosophy, and Practice of Agent-Based ...

Simulation and Agent-Based

Modeling Validation Philosophy2

Since their introduction, computer simulations have become popular in many scienti�c

and engineering disciplines. This is partly due to a computer simulation's ability to aid

in the decision making and understanding of relatively complex and dynamic systems

where traditional analytical techniques may fail or be impractical. As a result, the

use of simulations can be found in just about every �eld of study. These �elds range

anywhere from military applications [30] and meteorology [63] to management science

[93], social science [35], nanotechnology [57], and terrorism [96]. What can be inferred

from this wide spread use is that not only are simulations robust in their application,

but they are also practically successful. Due in large part to this robustness and

success, simulations are becoming a standard tool found in most analyst's toolbox.

In fact, proof that simulations are becoming more of a generic analysis tool and less

of a new technique can be found in the increasing number of published articles that

use simulations but do not mention it in the title [65].

However, despite their increasing popularity, a fundamental issue has continued to

plague simulations since their inception [82, 108]: is the simulation an accurate rep-

resentation of the reality being studied? This question is important because typically

a simulation's goal is to represent some abstraction of reality and it is believed that if

a simulation does not accomplish this representation, then information gained from

2Packaged with the History Chapter and published as a chapter in the Handbook of Research on

Discrete Event Simulation Environments: Technologies and Applications (2009).

54

Page 65: The History, Philosophy, and Practice of Agent-Based ...

the simulation is questionable. Therefore, one can understand why answering the

question of simulation validity is so important because having an accurate simulation

could improve the knowledge about reality without actually observing, experiment-

ing, and dealing with the constraints of reality [113]. Thus, many articles over the

years have been devoted to the topic of simulation validity. In particular they tend to

focus on some aspect of the following fundamental questions of simulation validity:

• Can simulations represent reality? If not, what can they represent?

• If a simulation cannot or does not represent reality, then is the simulation worth

anything?

• How can one show that a simulation is valid? What techniques exist for estab-

lishing validity?

• What roles do or should simulations play today?

Given the considerable amount of time and e�ort spent on simulation validity, a

reasonable question to ask is why is simulation validity still haunting simulationists

today? In short, the fundamental reason why it is still an issue, and will continue to

be one, is that the question of a simulation's validity is a philosophical question found

at the heart of all scienti�c disciplines [108]. By considering the above questions, one

will notice that they closely resemble some typical philosophy of science questions

[58]:

• Can scienti�c theories be taken as true or approximately true statements of

what is true in reality?

• What methods, procedures, and practices make scienti�c theories believable or

true?

55

Page 66: The History, Philosophy, and Practice of Agent-Based ...

Therefore, the philosophy of science can shed light on the nature of simulation va-

lidity and the nature of simulation itself as it is known today. It is from this funda-

mental philosophy of science perspective that this chapter provides insights into the

fundamental questions of simulation validity, where current practices in simulation

validation �t into the general framework of the philosophy of science, and what role

simulations play in today's world.

This chapter has four sections. The �rst section discusses how the relationship

between reality and simulation is �awed such that all simulations do not represent

reality. The second section describes what is currently meant by simulation validation

in practice. The third section discusses the usefulness of simulations today and how

simulations are becoming the epistemological tool of our time. The fourth section

discusses the usefulness, roles, and special issues in validating Agent-Based Models.

4.1 Why All Simulations are Invalid

There are many de�nitions of simulation. For this document a simulation is generi-

cally de�ned as a numerical technique that takes input data and creates output data

based upon a model of a system [69] (for this article the distinction between theory

and model will not be made, instead the term model will be used to represent them

together). In essence, a simulation attempts to show the nature of a model as it

changes over time. Therefore, it can be said that a simulation is a representation of

a model and not directly a representation of reality. Instead, it is the model's job to

attempt to represent some level of reality in a system. In this case, it would appear

that a simulation's ability to represent reality depends upon the model upon which

it is built [30]. Although this relationship between a real system, a model, and a

simulation has been described in many di�erent ways [14, 69, 108, 119], a simpli�ed

version of the cascading relationship is shown in Figure 7. Note that commonly sim-

ulations today are performed by computers because they are much more e�cient at

56

Page 67: The History, Philosophy, and Practice of Agent-Based ...

Figure 7: Relationship between a System, a Theory/Model, and a Simulation

numerical calculations. Therefore, we assume for this document that a simulation is

constructed within a computer and that a simulation is a representation of a model

which is a representation of a real system (as shown in Figure 7).

Now that the fundamental relationship between a real system, a model, and a

simulation have been de�ned, the implications of this relationship can be examined.

As was already discussed, a simulation's ability to represent reality �rst hinges on the

model's underlying ability to represent the real system. Therefore, the �rst step in

determining a simulation's ability to represent reality is to examine the relationship

between a real system and a model of that real system. To begin, it must be recognized

that a real system is in�nite in its input, how it processes the input, and its output,

and that any model created must always be �nite in nature given our �nite analytical

abilities [43]. A model can never be as real as the actual system and that instead

all that can be hoped for is that the model is at least capable of representing some

smaller component of the real system [7]. As a result, it can be said that all models

are invalid in the sense that they are not capable of completely representing reality.

57

Page 68: The History, Philosophy, and Practice of Agent-Based ...

The idea that all models are bad is certainly not a new idea. In fact, it is recognized

by many people that this is true [7, 43, 108] and there are even articles written which

discuss what can be done with some of these bad models to aid in our understanding

and decision making [50]. However, if all models are bad at representing a real system

and a model is only capable of representing a small portion of that real system, then

how will it be known if a model actually represents what happens in the system? In

essence, how can we prove that a model is valid at least in representing some subset

of a real system?

The basic answer to this question is that a model can never be proven to be

a valid representation of reality. This can be shown by examining several di�erent

perspectives. The �rst perspective can be explained using Gödel's Incompleteness

Theorems [42]. Through his theorems, Gödel showed that all propositions from a

theory cannot be proven or disproven from the axioms upon which the theory was

based. In essence, this means that because every model must be based upon some set

of axioms about the real system, there is no way to prove that any model is correct

[43]. Another perspective to consider is that there are an in�nite number of possible

models that can represent any system and it would therefore take an in�nite amount

of time to show that a particular model is the best representation of reality. Together

these perspectives hearken back to one of the fundamental questions found in the

philosophy of science; how can a model be trusted as representing reality?

Although a model cannot be proven to be a correct representation of reality, it

does not mean that the second fundamental question of the philosophy of science

(what methods and procedures make models believable?) has not been thoroughly

explored. There actually exist many belief systems developed by famous philosophers

that attempt to provide some perspective on this question [58, 60]. For instance, Karl

Popper believed that a theory could only be disproved and never proved (Falsi�ca-

tionism), others believe that a model is true if it is an objectively correct re�ection

58

Page 69: The History, Philosophy, and Practice of Agent-Based ...

of factual observations (Empiricism) [93]. However, no matter what one believes to

be the correct philosophy, the fundamental idea that remains is that all models are

invalid and impossible to validate. A shining example of this idea can be seen by the

fact that although both are considered geniuses, Einstein still showed that Newton's

model of the world was wrong and therefore it is likely that eventually someone will

come up with a new model that seems to �t in better with our current knowledge of

reality [58]. Therefore, regardless of how correct a model is believed to be, it is likely

that there will always exist another model which is better.

The analysis from the previous paragraphs on the relationship between a real

system and a model system have led to the following conjectures about models:

• Models cannot represent an in�nite reality and therefore all models are invalid

with respect to a complete reality;

• Models can only hope to represent some aspect of reality and be less incomplete;

• There are in�nitely many models that could represent some aspect of reality

and therefore no model can ever be proven to be the correct representation of

any aspect of reality; and

• A better model than the current model is always likely to exist in the future.

From these conjectures, it appears that a simulation's capability to represent a real

system is bleak based purely on the fact that a model is incapable of fully representing

reality. However, there is yet another issue with trying to represent a model with

a simulation. As seen graphically in Figure 7, another round of translation needs

to occur before the transition from the real system to the simulation is complete.

At �rst glance, translating a model into a computer simulation would seem to be

relatively straightforward. Unfortunately, this is not case even when programming

(veri�cation) issues are left out of the equation. This conclusion generally arises

59

Page 70: The History, Philosophy, and Practice of Agent-Based ...

from to the limitations of the computer. For example, because computers are only

capable of �nite calculations, often times truncation errors may occur in the computer

simulation when translating input into output via the model. Due to these truncation

errors alone, widely di�erent results can be obtained from a simulation of a model

with slightly di�erent levels of detail. In fact this result is often seen in chaotic

systems such as Lorenz's famous weather simulations, which would later lead to the

idea of the Butter�y E�ect [44].

Suppose, however infeasible it may be, that advances in computers would make

the issues of memory storage and truncation errors obsolete. The next issue in a

computer simulation's ability to represent a model is the computer's processing speed.

Given that computer processing speeds are getting increasingly faster with time, the

question about whether a computer can process the necessary information, no matter

how large and detailed the model, within an acceptable time seems to be answered

by just waiting until technology advances. Unfortunately, there is a conjecture which

states that there is a speed limit of any data processing system. This processing

speed limit, better known as Bremermann's Limit [7], is based upon Einstein's mass-

energy relation and the Heisenberg Uncertainty Principle and conjectures that no data

processing system whether arti�cial or living can process more than 2 ∗ 1047 bits per

second per gram of its mass [22]. From this conjecture, it can be seen that eventually

computers will reach a processing limit and that models and the amount of digits

processed in a respectable amount of time will dwarf Bremermann's Limit. Consider

for example how long it would take a computer approximately the size (6∗1027grams)

and age (1010years) of the Earth operating at Bremermann's Limit to enumerate all

of the approximately 10120 possible move sequences in chess [22] or prove the optimal

solution to a 100 city traveling salesperson problem (100! or approximately 9.33∗10157

di�erent routes). Given that this super e�cient Earth-sized computer would only be

able to process approximately 1093 bits to date, it would take approximately 1027 and

60

Page 71: The History, Philosophy, and Practice of Agent-Based ...

9.33 ∗ 1064 times longer than the current age of the earth to enumerate all possible

combinations for each problem respectively. From the human perspective it would

take too long and be too impractical to attempt to solve these problems using brute

force.

A computer's memory and processing limitations impede its ability to accurately

represent a model or provide accurate results in a practical amount of time. Thus,

simulationists will often build a simulation of a model that incorporates many assump-

tions, abstractions, distortions, and non-realistic entities that are not in the model

[63, 80, 108, 120, 121, 123]. Such examples include breaking continuous functions into

discrete functions [63], introducing arti�cial entities to limit instabilities [63], and cre-

ating algorithms which pass information from one abstraction level to another [122].

The limitations of computing makes translating a model into a simulation unlikely to

result in a completely valid representation of that model. Simulation building is often

considered more of an art than a science because getting a simulation to reasonably

represent a model in a computer may require tinkering with the simulation. As a

result of this discussion, it can be seen that not only are there an in�nite number of

models that can represent some aspect of reality, but there is probably also an in�nite

number of simulations that can represent some aspect of a model.

The following conjectures concern the ability of a computer simulation to represent

a model:

• Computers are only capable of �nite calculations and �nite storage, therefore

truncation errors and storage limitations may signi�cantly impact the ability of

a computer to represent a model;

• Computers can only process information at Bremermann's Limit, making it is

impossible for them to process large amounts of information about a model in

a practical amount of time;

61

Page 72: The History, Philosophy, and Practice of Agent-Based ...

• Representing a model with a computer simulation either requires sacri�cing

accuracy to get results or sacri�cing time to get better accuracy;

• The limitations of computing and the trade o� between accuracy and speed

means there are many ways to represent a model with a simulation; and

• There are many possible simulations that can represent an aspect of a model

meaning it is impossible to have a completely valid simulation of a model.

The conjectures above show why translating a model into a computer simulation is

not always easy. Many times a simulationist is simply trying to obtain a simulation

that is partially valid but useful to the analytical task at hand.

The following conjectures can be made about simulation validity:

1. A real system is in�nite.

2. A model cannot represent an in�nite real system and can only hope to be one

of any in�nite possible representations of some aspect of that real system.

3. A model is an invalid representation of the real system and cannot be proven

to be a valid representation of some aspect of the real system.

4. There are many possible computer simulations that can represent a model and

each computer simulation has trade o�s between the accuracy of the results and

time it takes to obtain those results.

5. A simulation cannot be said to be a completely valid representation of a model.

6. A computer simulation is an invalid representation of a complete real system

and at the very best cannot be proven to be a valid representation of some

aspect of a real system.

The above conjectures lay out the issues with a simulation's ability to represent reality.

Furthermore, it can be seen why simulation validation continues to be a major issue.

62

Page 73: The History, Philosophy, and Practice of Agent-Based ...

If simulations cannot be proven to be valid and are generally invalid representations

of a complete real system, then what value to they serve? However, this question

is not the primary source of research in simulation validation. Instead, much of the

focus still remains on how one can validate a simulation. Given the conjecture that

all simulations are invalid, or impossible to prove to be valid, what do all of these

authors mean when discussing simulation validation?

4.2 What Does Simulation Validation Really Mean

in Practice?

Although all simulations are invalid with respect to a real system, there is still a

signi�cant amount of literature that shows how a simulation can be validated. It may

initially appear that those involved in simulation building are unaware of the down-

falls facing simulation's ability to represent reality, but this is not the case [14, 69].

So what are these articles and books discussing when they are focused on simulation

validation? Insight into what practitioner's really mean by simulation validation can

be seen from the de�nitions of validation:

�Validation is the process of determining whether a simulation model isan accurate representation of the system, for the particular objectives ofthe study� [40, 69]

�Model Validation is substantiating that a model within its domain of ap-plicability, behaves with satisfying accuracy consistent with the modelsand simulations objectives...� [12, 101]

�Validation is concerned with building the right model. It is utilized todetermine that a model is an accurate representation of the real system.Validation is usually achieved through the calibration of the model, aniterative process of comparing the model to actual system behavior andusing the discrepancies between the two, and the insights gained, to im-prove the model. This process is repeated until the model accuracy isjudged to be acceptable.� [14]

63

Page 74: The History, Philosophy, and Practice of Agent-Based ...

�Validation is the process of determining the manner in which and degreeto which a model and its data is an accurate representation of the realworld from the perspective of the intended uses of the model and thesubjective con�dence that should be placed on this assessment.� [29]

These de�nitions clearly indicate that, in practice, simulation validation takes on

a subjective meaning. Instead of validation being the process of determining the

accuracy of a simulation to represent a real system, the clause �with respect to some

objectives� provides the caveat that a simulation can never accurately and completely

represent a real system. By adding this caveat, simulationists have inserted some

hope that a model is capable of being classi�ed as valid for a particular application

or purpose. This clause gives validation a completely new meaning. No longer is the

issue of absolute validity the problem, the problem is now proving the partial validity,

or relative validity, of a simulation model with respect to some set of objectives.

Many articles have been published which provide a di�erent perspective of this

relative validity problem. One of these perspectives is to attempt to evaluate the rela-

tive validity of the simulation by treating it not as a representation of a model/theory

but as a miniature scienti�c theory and then to use the principles from the philoso-

phy of science to aid in proving/disproving its validity [60, 61]. As �rst introduced by

Naylor and Finger in 1967 [82], many authors have thoroughly examined the many

beliefs from the philosophy of science and have related them to simulation validity

[15, 37, 59, 60, 93, 103]. Often these philosophical works provide insightful views into

simulation validation because the philosophy of science has been actively discussing

the validity of theories long before the inception of simulation [60].

Although the introduction of scienti�c philosophy has certainly provided new per-

spectives and points of view on the subject of validity to simulationists [60, 103], the

philosophy of science has brought with it more questions than answers. There are

several key reasons for this. The �rst is that every belief system in the philosophy of

science has both advantages and disadvantages. For example, simulation validation is

64

Page 75: The History, Philosophy, and Practice of Agent-Based ...

often favorably compared to Falsi�cationism because it states that a simulation can

only be proved false and that in order to consider a simulation scienti�c, it must �rst

undergo scrutiny to attempt to prove that it is false [59]. However, under this belief

system it is di�cult to determine whether a model was rejected based on testing and

hypothesis errors or whether the model is actually false [58]. Another reason of con-

cern for using the philosophy of science is that, as discussed earlier, it is impossible

to prove that a model/theory is valid. Therefore, using the philosophy of science to

aid in simulation validity is more applicable in providing insights into the fundamen-

tal philosophical questions stemming from validation as well as potential validation

frameworks than in actually proving the validity of a simulation.

Another perspective on simulation validation considers methods and procedures

to aid simulationists in proving the relative validity of their simulation given the

assumption that it can be proven. This assumption is by no means a radical one. If

one de�nes the objective of the simulation to include the fact that it cannot completely

represent the real system then it is possible for a simulation to meet the needs of a

well de�ned objective and therefore have relative validity. A plethora of techniques

have been developed within systematic frameworks to aid simulationists in validating

their models [12, 101]. Even the idea of validation itself has been reduced to many

di�erent types of validation such as replicative, predictive, structural, and operational

validity [36, 125].

A lot of research e�ort summarizes and de�nes how one can go about validating

a simulation given some objectives. A common theme in research is subjectivity.

Whether the validation technique is quantitative, pseudo-quantitative, or qualitative,

each technique has its advantages, disadvantages, and is subjective to the evaluator.

This subjectivity is found in beliefs of system similarity, levels of statistical signi�-

cance, and reasonableness of representations or results.

65

Page 76: The History, Philosophy, and Practice of Agent-Based ...

Since no technique can prove the relative validity of a simulation, the fundamental

question remains: what does simulation validation really mean in practice? In practice

simulationists attempt to validate the simulation according to some objective, which

cannot be systematically proven true. So what is really occurring when a simulationist

is trying to validate their model according to some objective? Simulation validation,

in practice, is really the process of persuading the evaluators to believe that the

simulation is valid with respect to the study objective; how well can the simulationist

�sell� the simulation's validity using the appropriate validation techniques that best

appeals to the evaluator's sense of accuracy and correctness.

The idea that simulation validation in practice is really the process of selling the

simulation to the evaluator may not appeal to scientists, engineers, and simulationists,

but there is a fair amount of evidence supporting this conclusion. First of all, any

simulation book or article focused on validation frequently stresses the importance

of knowing the evaluator's expectations and getting the evaluator to buy into the

credibility of the simulation [14]. Some works even explicitly state that one must sell

the simulation to the evaluator [69]. Others indicate that validating a simulation is

similar to getting a judicial court system to believe in the validity of the simulation

[37]. Generally those practicing simulation understand that validation is more about

getting the evaluators to believe in the simulation's validity and less about getting a

truly valid simulation (which is impossible). Therefore, simulation validation is not

completely removed from society and other social in�uences. In fact, it appears that

simulation validation in practice requires the simulationist to actively interact with

the community of evaluators to persuade that community to accept the simulation

as correct. As a result, some have argued that simulation validation in practice is

similar to how any social group makes a decision [93].

In trying to determine what simulation validation really means in practice, several

fundamental points have been made:

66

Page 77: The History, Philosophy, and Practice of Agent-Based ...

• In practice, a simulation is validated based on some objective and not on being

a true representation of the real system;

• All of the techniques developed to prove the validity of a simulation in practice

are subjective to the evaluator and therefore cannot systematically prove the

relative validity of the simulation; and

• Validating a simulation in practice depends upon how well the simulationist

sells the validity of the simulation by using the appropriate validation tech-

niques that best appeals to the evaluator's sense of accuracy and correctness.

Simulation validation in practice is susceptible to the social in�uences perme-

ating the society within which the simulation exists.

Simulation validation in practice seems to have little to do with actual validation,

where validation is the process of ensuring that a simulation accurately represents

reality. If simulation validation in practice is more concerned with getting approval

from evaluators and peers of a community relative to some overall objective for the

simulation, then simulation validation, in practice, is really the process of getting the

simulation sanctioned [119]. As a result,simulationists should consider adopting the

term simulation sanctioning instead of simulation validation since sanctioning implies

a better sense of what is actually occurring while validation implies that the truth is

actually being conveyed in the simulation. However, it is unlikely that this transition

will occur given the fact that simulation validation today is mainly concerned with

getting evaluators to buy into the results of the simulation, the current paradigm in

simulation has been established, and saying a simulation is valid sounds much better

to a seller than does saying a simulation is sanctioned. This brings up an interesting

dilemma for simulationists because if simulations cannot represent reality, then what

good are they?

67

Page 78: The History, Philosophy, and Practice of Agent-Based ...

4.3 What Good are Simulations?

Since simulations in practice are sanctioned and not validated, the next logical ques-

tion to ask is if simulations are incapable of representing reality and therefore are

incapable of providing true results with respect to the system, then what good are

simulations? This question is posed fully understanding that simulation is growing

in popularity based on noting its continuing widespread use in practice, the number

of commercial simulation software packages, and the number of academic publica-

tions using simulation. These are indications that simulation is robust enough to be

considered useful and indeed successful [65].

Even thought all simulations are invalid with respect to an absolute real system, a

simulation can, at some abstraction level, get relatively �close� to representing a small

portion of an absolute real system. For example, a simulation of a manufacturing

system may come very close to representing the outcome of a process. Simulations

get results close enough to true to become practically useful [62, 64]. Simulations are

useful because they are often capable of providing reliable results without having to

be a true representation of a real system [123].

The reliability and predictability of simulation results depends upon how well

the real system is understood and studied; a well understood system provides better

underlying theories that form the foundation of the simulation. A simulationist using

a simulation to represent a well understood system, really just takes advantage of

the processing power and memory of the computer as a computational device. The

simulation is likely to produce reliable results because it is simply being used to

express the calculations that result from a well-established theory. A typical example

of this can be found in a queuing simulation, which has been extensively studied and

has well-established theories [56]. For such well understood systems, the simulation

can provide predictive power.

As less is understood about the real system, a simulation becomes research in-

68

Page 79: The History, Philosophy, and Practice of Agent-Based ...

strument acting as a mediator between theory and the real system [80]; the theories

about the real system are not developed enough to provide reliable predictions about

future states of that system. The simulation in this case is a research tool in the same

sense, for example, that a microscope is a research tool [63]. While the microscope can

provide insight into the real system, it does not directly re�ect the nature of the real

system and cannot directly provide reliable predictions about the real system. Instead

the microscope provides a two-dimensional image of a dynamic three-dimensional real

system. The microscope mediates between existing theories about the real system and

the real system itself. Experiments are designed and hypotheses tested based on in-

formation gained from the microscope. Similarly, a mediating simulation is capable

of providing insight into the real system and the theory on which it was built without

being a completely valid representation of that real system. Although only formally

recognized recently [80], the idea that computers can be used to facilitate experiments

and mediate between reality and theory has existed for a long time. In the early years

of computing, John von Neumann and Stanislaw Ulam espoused the heuristic use of

the computer, which is an alteration of the scienti�c method to replace real system

experimentation with experiments performed within a computer [113].

An interesting aspect of mediating simulations is the interplay between the so-

phistication of the simulation and the real system. As the real system becomes better

understood, the simulation of that real system is improved thereby allowing new in-

sights into the real system. Examples of this mediating role of simulation is seen in

many di�erent �elds. One example can be found in the �eld of nanotechnology where

without computer simulations to aid in the complex and di�cult experiments, certain

advances in nanotechnology would not be possible [57]. Another example is found in a

complex production system, where the simulation provides insights into how the real

system might behave under di�erent operating circumstances. In the world of ABM,

�toy models� such as ISAAC (Irreducible Semi-Autonomous Adaptive Combat) have

69

Page 80: The History, Philosophy, and Practice of Agent-Based ...

been used as to explore and potentially exploit behavior that emerges in battle�eld

scenarios [55]. A �nal example can be seen in the �eld of physics where some �think

of sciences as a stool with three legs - theory, simulation, and experimentation - each

helping us to understand and interpret the others� [68].

While experiments on real systems are often preferred, experiments on sanctioned

simulations of real system often bene�ts. In simulations, errors are controllable and

in fact repeatable. Simulation experiments o�er greater control than in real systems

since simulation parameters are �xed. Thus, the simulation can mediate theories

about the real system.

The use of simulation to mediate despite the use of the real system abstraction

has led to black-box evaluations of the simulation. Generally, scientists prefer models

to structurally resemble the real system. A simulation has many assumptions and

falsi�cation and will generally not structurally resemble the real system. However,

a recent trend is to assess how well the simulation translates realistic input into

realistic output, as the fundamental benchmark in determining the usefulness of that

simulation [62, 63]. Indeed, many of the technical validation techniques proposed

today emphasize the use of this black-box paradigm [11, 14, 69, 101].

In general, this shift away from white-box evaluation (structural representation)

towards black-box evaluation (output is all that matters) [21] can lead to several

interesting conclusions. The �rst is that this shift indicates the general acceptance

of the idea found in Simon's The Sciences of the Arti�cial. Essentially, Simon argues

that arti�cial systems (ones man-made such as simulations) are useful because it is not

necessary to understand the complete inner workings of a real system due to the fact

that there are many possible inner workings of an arti�cial system that could produce

the same or similar results [107]. One way to think about this is to consider whether

the di�erences between the inner workings of a digital clock and an analog clock

really matter if they both provide the current time for the user. Another conclusion

70

Page 81: The History, Philosophy, and Practice of Agent-Based ...

that can be drawn by the shift towards black-box evaluation is that simulations are

beginning to catch up and pass the theoretical understanding of the systems that they

are being built to represent. The question now becomes, what possible usefulness can

a simulation be when little to nothing is known about the underlying principles of

the real system of interest?

At �rst glance, the usefulness of a simulation for a system that is not well-

understood appears nonexistent. However, it is from this lack of underlying theory

and understanding of the real system that the usefulness of this type of simulation

becomes evident. Consider what a simulationist would encounter if asked to build a

simulation of a poorly understood system. The �rst steps they would probably be

to observe the system and then attempt to generate the system behavior within the

simulation. The simulation that generates reasonable system behavior can then be

exercise to generate insights. Systematic input changes tot he simulation can gener-

ate resulting system outputs from which the simulationist might derive explanatory

theories.

This ability of a simulation to act as a medium in which new theories about a

real system are generated is the third role of simulation, which is that of a theory

or knowledge generator. Using a simulation as a medium to generate new theories

and ideas about the real system is no di�erent from using pencil and paper or simply

developing mental simulations about the real system [7]. One could observe a system

and attempt to test the implications of a theory by using pencil and paper or develop

elaborate thought experiments as those made famous by Einstein. Alternatively, one

could use a simulation to test whether a theory is capable of representing the real

system. Examples of simulations being used for this role abound in the new simulation

paradigm of Agent-Based Modeling (ABM), where simulationists are typically trying

to understand problems that are di�cult for us to grasp due to the large amount of

dispersed information and the high number of interactions that occur in these systems

71

Page 82: The History, Philosophy, and Practice of Agent-Based ...

(more about the special case that ABM simulations present to the world of simulation

is discussed in the next section) [35, 76, 83].

There are several advantages for using simulations as generators, the most impor-

tant of which is the ability of a simulation to create �dirty� theories of systems where

the simplicity of the real system eludes our grasp. Typically, scienti�c theories are

often idealized for a particular case and do not allow for deviations from these ideal-

izations. It could be thought that these idealizations are partly the result or desire of

humans to make simpli�cations and elegant equations to represent the complex world.

However, simulations allow theorists to build a representation of a system within a

simulation using less-elegant mechanisms, such as ad-hoc tinkering, engineering, and

the addition of logic controls such as if-then statements [64, 122]. This �exibility,

means that as more problems of interest fall into the realm of Organized Complexity

(medium number of variables that organize into a highly interrelated organic whole)

[115] the use of simulation to generate new �dirty� theories about the real system will

increase. These new systems of interest are irreducible and typically hard to under-

stand to the point that often simulationists are surprised about the results obtained

from these systems [25].

Simulationists using simulations as theory generators should not consider them-

selves disconnected from science, because there are no implications of using a simula-

tion as a generator to the philosophy of science [41]. Instead, they should ascribe to

the practices, rigor, and roles taken on by scientists to make true progress in the prac-

titioner's �eld of interest. Furthermore, as simulationists and scientists continue to

push the limits of simulations beyond that of the current knowledge of some system of

interest, it can be seen why some researchers consider simulation the epistemological

engine of our time [54].

Figure 8 connects the roles of a simulation with the simulationist's knowledge level

of the system of interest. Figure 8 shows that when much is known about the system,

72

Page 83: The History, Philosophy, and Practice of Agent-Based ...

Figure 8: Di�erent Roles of a Simulation

the simulation tends to take on more of a predictor role. As less is known about the

real system, the simulation begins to take on the role of being a mediator between

the system and the theory. Finally, when the understanding of the system is low, the

simulation can act as a generator of potential theories about the nature of the system.

The use of simulations as generators is of particular interest in this research. Since

ABM directly �ts into this role, the deeper issues involved with generator simulations

is discussed in the next section.

4.4 What Good is ABM?

Despite the fact that any simulation paradigm can be used in a generator role, prob-

ably the most popular paradigm used today is ABM. Emerging from Cellular Au-

tomata, Cybernetics, Chaos, Complexity, and Complex Adaptive Systems, ABM

helps to understand and explore complex, nonlinear systems where typically inde-

pendent and autonomous entities interact together to form a new emergent whole.

An example of such a system is the �ocking behavior of birds [70]. Although each

bird is independent, somehow they interact together to form a �ock, and seemingly

without any leading entity, manage to stay in tight formations. With this in mind,

simulationists using ABM attempt to discover the rules embedded in these individual

entities that could lead to the emergent behavior and eventually attempt to make in-

73

Page 84: The History, Philosophy, and Practice of Agent-Based ...

ferences about future states of these systems based on the simulations they developed.

ABM is often used as a generator of hypotheses for these type of complex systems.

ABM is often used to investigate problems where no micro-level theory exists (it

is not known how the individual entities operate) and where it is often very di�cult

to measure and collect macro-level data (the emergent behavior) from a real system

and compare it to the data generated from the simulation [13, 70, 76, 83]. Ultimately,

this characteristic of these complex problems means that the current traditional and

accepted quantitative sanctioning techniques which promote risk avoidance based on

performance and comparing outputs are not applicable [105], since too little is known

about these systems. From this statement, several interesting conclusions arise about

ABM and generator simulations.

First, since ABM is a relatively new paradigm, either accepted techniques to sanc-

tion these simulations have not yet been created to match the current sanctioning

paradigm or a new sanctioning paradigm with new sanctioning techniques is needed

speci�cally for generator simulations. In order for the �rst statement to be the case,

the underlying theory behind the real system being studied by these generator simula-

tions needs to be known to the point that the simulation is no longer a generator but

instead is a predictor; the current sanctioning paradigm has a majority of its interest

in predictability and has created sanctioning techniques that are mainly focused on

this predictability. Therefore, it is impossible for generator and ABM simulations, by

their nature, to �t into the current predictive sanctioning paradigm. Furthermore, if

a ABM simulation ever became predictable it would no longer be a generator simu-

lation and traditional quantitative sanctioning techniques could be used. As a result,

simulationists using ABM today as a generator should shift their focus to creating a

new generator sanctioning paradigm and developing new techniques to match. At-

tempting to create this new sanctioning paradigm will certainly not be easy, but is

necessary if ABM simulations as generators are to become acceptable. Only after this

74

Page 85: The History, Philosophy, and Practice of Agent-Based ...

sanctioning paradigm has been created can both simulationists and evaluators come

to �rm conclusions about whether a generator simulation should be sanctioned as a

scienti�c research tool or an engineering alternative analysis tool.

Until the complex systems simulated by ABM are well understood, ABM simu-

lations should be viewed as a research tool capable of providing insight into the real

system and identifying what needs to be understood about the real system in order

to develop a theory of the real system [13]. For the knowledge gained from ABM

simulations to be viewed as reliable, a new sanctioning paradigm is needed based on

precision and understanding as it relates to the more traditional methods employed

by scientists [105]. As this new sanctioning paradigm expands, new sanctioning tech-

niques can be created which provide value to the generator simulationist such that

the real system is understood to the point that generator simulation paradigms, such

as ABM, can evolve into mediator or predictor simulations.

4.5 Conclusion

As simulation continues to grow in popularity in scienti�c and engineering communi-

ties, it is valuable to re�ect upon the theories and issues that serve as the foundation

for simulation. This chapter added context and reconciled the practices of simulation

with the theory of simulation. In particular, this chapter built a framework describing

the crucial relationships that exist between simulation as a medium and real systems.

A fundamental conclusion is that simulations are not really validated in practice but

are instead sanctioned, which brings into question the usefulness of simulations in

general.

A simulation does not need to be a complete representation of some aspect of a real

system to be useful. Therefore, a general framework was developed that related the

role of simulation based on the level of understanding of the real system of interest. In

this continuous framework, a simulation can take on the role of generator, mediator,

75

Page 86: The History, Philosophy, and Practice of Agent-Based ...

or predictor as the level of understanding increases with regards to the real system. Of

particular interest are generators and how the epitome of this new use of simulation

as a theory generator and research tool has emerged in the form of ABM, because

ABM aids in the understanding of complex, nonlinear systems. However, because

ABM is a relatively new simulation paradigm, the current sanctioning practices are

not applicable. Therefore, the ABM community needs to develop a new sanctioning

paradigm for generator simulations, focused on understanding and accuracy of less

understood real system.

76

Page 87: The History, Philosophy, and Practice of Agent-Based ...

A Survey of Agent-Based Modeling

Practices3

5.1 Introduction

Emerging from the �elds of Complexity, Chaos, Cybernetics, Cellular Automata, and

Computers, the Agent-Based Modeling (ABM) simulation paradigm began gaining

popularity in the 1990's and represents a departure from the more classical simulation

approaches such as discrete-event simulation. A primary reason for the popularity of

ABM and its departure from other simulation paradigms is that ABM can simulate

and help examine organized complex systems (OCS). This means the ABM paradigm

can represent large systems consisting of many subsystem interactions. These sys-

tems are typically characterized as being unpredictable, decentralized, and nearly

decomposable. Although computer simulation as an analytical tool has been around

since the advent of computers, the ability of the ABM paradigm to simulate complex

systems has moved to �elds such as social science and economics where for the �rst

time they can utilize simulation to analytically explore these complex systems at a

level of detail that was di�cult or impossible previously.

5.1.1 What is Holding Back ABM?

Its characteristics and abilities have led some to claim that ABM represents a rev-

olution in modeling and simulation. However, this statement is based primarily on

the potential of ABM rather than results [13]. One reason for the lack of meaningful

3Published in the Journal of Arti�cial Societies and Social Simulation (2009).

77

Page 88: The History, Philosophy, and Practice of Agent-Based ...

results from ABM studies, in general, is due to the type of complex systems that

ABM is used to simulate and explore. Traditionally these types of systems are very

di�cult to analyze given their non-linear behavior and size [25]. Nevertheless, there

is no reason why analyzing these complex systems using ABM should not eventually

produce meaningful, model-based results. Systems that are large and di�cult can be

understood. History gives many examples of problems that seemed nearly impossible

to solve, but when given the proper tools scientists found solutions. For example, at

one point we did not understand why an apple fell to the ground from a tree. Newton,

and others, were able to develop theories and tools that helped them not only explain

but also predict the behavior of the falling apple. By extension meaningful results

regarding these complex systems will be gained when the proper tools and models are

in place, and ABM is, at least for the moment, the most suitable tool for analyzing

these types of the complex systems.

ABM as a modeling technique and paradigm is still a work in progress. This

statement is generally supported by the relatively recent development and popular-

ity of the paradigm, its departure from traditional simulation paradigms, and the

�new to simulation� �elds that are using ABM to study OCS. Whenever a new tool

or technique emerges, time is needed to �ush out the details of its application, ca-

pability, and limitations. For ABM, researchers must determine what simulation

techniques/philosophies are appropriate and what new techniques/philosophies are

needed speci�cally for ABM. Since ABM is being used in �elds that traditionally

have not used simulation, it will take some time for these researchers to hone their

simulation skills and to e�ectively develop appropriate analytic models for their do-

main.

Two key things are needed to mature the ABM paradigm. First, techniques,

philosophies, and methods need to be developed speci�cally for ABM and distin-

guished from other simulation techniques, philosophies, and methods. A fair amount

78

Page 89: The History, Philosophy, and Practice of Agent-Based ...

of research in this area has already been done (for a few examples see [10, 18, 34, 35,

51, 71, 76, 83]). Second, the teaching of ABM techniques, philosophies, and methods

must improve so those using ABM can build e�ective models. These key things are

independent of the speci�c scienti�c domain of interest.

5.1.2 What is the Current State of ABM?

Speci�cally what do ABM researchers need to focus on? What speci�c problems exist

in the ABM paradigm domain that are keeping ABM from reaching its full potential?

To help answer this question, we present a comprehensive review of the state of

ABM to determine research directions, needs, and opportunities. We surveyed 279

published articles in which agent-based models were built and used for analysis. The

survey helps to describe the last 10 years of the �eld's development as well as its

current state of the art.

The remainder of the chapter is divided into four sections. Section 2 discusses the

general survey methodology and provides justi�cation for the categorization strategy

employed. Section 3 discusses the results from the survey. Section 4 discusses the

implications the survey results have on identifying the research opportunities in the

ABM paradigm. Finally, Section 5 summarizes and concludes the chapter.

5.2 Methodology

Throughout the survey process every attempt was made to obtain ABM articles in

an unbiased manner. However, the ABM literature is vast and covers many scienti�c

domains of interest. Thus, it is quite likely that this survey will miss some domains

using ABM. However, the issues and challenges associated with ABM are likely quite

domain independent. Thus, our survey provides a starting point in determining the

state of the art and the common research challenges.

79

Page 90: The History, Philosophy, and Practice of Agent-Based ...

5.2.1 Collection of the Sample

The survey methodology involved obtaining a large sample of published works where

the authors built some agent-based models and reported their analytical �ndings.

There are several advantages to this approach. The �rst is that it more accurately

re�ects what simulationists are concerned with, the techniques they are using, and

what the publication outlets and reviewers deem acceptable practice. This type of

information directly represents the main thoughts, feelings, and techniques used by

those constructing �acceptable� agent-based models. This approach can also help cap-

ture trends by tracking when the works were published. Finally, this approach is less

subjective to author opinion and bias. A good representative sample of works can be

collected and a well de�ned categorization scheme can be implemented to objectively

capture the techniques used by the simulationists. Focus on articles discussing spe-

ci�c techniques or methods would yield limited information on ABM trends, issues,

and challenges.

The works included in this survey discuss development of an agent-based model,

the results they produced, were published by a peer-reviewed outlet, and were pub-

lished within an approximate 10 year time frame (January 1, 1998 to July 20, 2008).

Using this criteria, 279 works were obtain from a variety of outlets. The primary

source used to collect the samples was OhioLINK's Electronic Journal Center. Ohi-

oLINK is a consortium of 89 Ohio colleges and universities as well as the State of Ohio

Library. Speci�cally, the Electronic Journal Center (EJC) is one service of OhioLINK

that was established in 1998 and is a online full-text collection of over 7,750 journals

from many di�erent disciplines [1]. Using the EJC, the keyword search �agent-based�

provided the links to the works obtained.

In addition to the EJC, other sources were used to obtain samples from �elds that

are not as well represented within the EJC. One such source is the Journal of Arti�cial

Societies and Social Simulation (JASSS). JASSS is one of the few journals dedicated

80

Page 91: The History, Philosophy, and Practice of Agent-Based ...

to society and social computer simulations. All JASSS articles that met the search

criteria were also included in the survey sample. One �eld that was noticeably missing

in the original EJC sample was military applications of ABM. To incorporate some

of the military work involving ABM, Master's Theses from the Naval Postgraduate

School in Monterey, CA and the Air Force Institute of Technology in Dayton, OH

were also included into the survey. Although not published journal articles, they

are reviewed and deemed to be acceptable enough to award students with a Master

Degree. These works not only meet the survey criteria but often provide much more

detail about their models since they are not restricted by page limits. Appropriate

articles from the Winter Simulation Conference (WSC) were included to capture

ongoing work in simulation since WSC is one of the primary simulation conferences

in the world. Note, WSC articles are also reviewed before being published in the

proceedings. Finally, duplicate works were excluded. Duplicate works included papers

using a common model but for di�ering purposes. Removing duplicates helped avoid

skewing the survey results.

Altogether, a total of 279 samples were collected from 92 unique publication outlets

from the 10 year sampling period. The distribution of the number of articles per year is

shown in Figure 9. In general, this distribution appears appropriate; it re�ects what is

intuitively expected. Since ABM has become more popular over time, there should be

an increasing trend in the number of articles per year. Clearly the sample re�ects this.

Thus, this sample appears to be a relatively decent representation of the population.

Note 2008 data only includes article available before July 20, 2008. Projections of

�nal 2008 number are not made since the survey focus is not on projecting ABM

growth but on capturing ABM trends and research challenges.

The breakdown of the number of articles per publication outlet is shown in Figure

10. Figure 10 indicates that the majority of the samples come from publication

outlets with four or less articles in the sample. This means that many di�erent

81

Page 92: The History, Philosophy, and Practice of Agent-Based ...

Figure 9: Number of Articles per Year in the Sample

Figure 10: Articles per Publication Outlet in the Sample

82

Page 93: The History, Philosophy, and Practice of Agent-Based ...

outlets are accepting ABM articles, a nice trend for the �eld. Figure 10 also shows

that the sample represents a wide variety of topics including military applications,

biology, economic, social science, business, complexity theory, and simulation. This

topic diversity in the range of outlets further supports our claim that this sample

is a meaningful representation of the ABM �eld. A complete list of the 279 works

included in this sample is found in the Appendix.

5.2.2 Categorization and Data Collection Strategy

With a reasonable sample of literature, the next step was determining an appropriate

categorization and data collection strategy that would give insight into the progression

and current state of ABM. Some data is standard. For example, the author(s), pub-

lication outlet, general topic, and year of publication were easily recorded from each

sample. These data do not provide the insight needed into many of the techniques,

methods, and philosophies of the �eld. Therefore, other data were employed.

5.2.2.1 Software

Software data included whether general software packages or native languages were

used to realize the agent-based model. If authors mentioned a software package, for

example the ABM was built using Java or C++, the software package name used

was recorded. If the authors said they programmed their model directly, for example

by using Java or C++, then the programming language was recorded. This type of

information gives insight into the popularity of particular software packages and helps

to determine how modelers are creating their agent-based models.

5.2.2.2 Field of Study

Accurate information regarding the author's domain or �eld of study helps infer

whether di�erent �elds of study have di�erent ABM practices. Each article was

deemed from a �eld of study such as economics, social science, military, biology and

83

Page 94: The History, Philosophy, and Practice of Agent-Based ...

public policy. The �eld applied was judged to best describe the topic of the model.

Naturally, there were instances where a model could exist in multiple �elds of study;

only the best describing �eld was used. This categorization strategy gives insight into

the di�erences and similarities between and within domains that are using ABM.

5.2.2.3 Reference to the Complete Model

Science and engineering is the process of developing models/theories of real systems

for particular purposes. ABM is just a technique that aids science and engineering

in gaining insight into the real world and how the real world behaves. As with any

science or engineering model, ABM results must be independently replicated for the

results to be considered scienti�cally valuable. Each article was reviewed to see if

they provided some reference to the complete model, or at least some way to obtain

a complete description of the model.

5.2.2.4 Validation Technique(s)

To gain insight into a real system, a model must be an accurate representation of that

real system. Since all models are incorrect representations of reality [7, 108], the em-

phasis of simulation validation is ensuring the model is an appropriate representation

of the real system of interest for a given set of objectives [12, 14, 69, 101, 125].

There are two aspects when considering the validation of ABM, or any simula-

tion model. The �rst aspect is the piece of the simulation model being validated.

There are many pieces of a simulation. For simplicity this survey examined valida-

tion of the two most basic pieces: the conceptual model and the simulation output.

There are many di�erent representations of how to build a good simulation model

[12, 14, 69, 101, 125]. Figure 11 shows a simpli�ed simulation development process.

Notice there are two rounds of validation, each validating di�erent parts of the simu-

lation. The �rst round validates the conceptual model. The conceptual model is the

abstracted model of the real system, it relies upon known system theories, it drives

84

Page 95: The History, Philosophy, and Practice of Agent-Based ...

Figure 11: A Simpli�ed Simulation Development Process

model development, and dictates the variety of assumptions required in any model

abstraction process [14, 79, 98, 97, 101]. The conceptual model forms the foundation

of an ABM model; an invalid conceptual model indicates the model may not be an

appropriate representation of reality. The second round validates results of the sim-

ulation against results from the real system. For a model to be completely valid, it

must be validated both conceptually and operationally. For the survey, each article

in the sample was examined to check whether conceptual and operational validation

of the model occurred.

The second aspect is the techniques used to validate each piece of the simulation

model. Within the simulation domain are many di�erent validation techniques (for

several examples see [12]). This survey partitions these techniques into statistical and

non-statistical techniques. Statistical techniques are de�ned as techniques that use

formal statistical hypothesis tests to check the validity of some piece of the model.

Non-statistical techniques are techniques that do not use formal statistical hypothesis

85

Page 96: The History, Philosophy, and Practice of Agent-Based ...

tests, but rely instead on more qualitative assessments such as expert opinion. For the

survey, each piece (conceptual and operational) of a model was examined to determine

if a statistical technique, a non-statistical technique, some mixture, or no validation

technique was performed on that piece of the model.

All validation techniques involve the evaluator subjectivity in determining the

simulation is a valid representation of reality. Some say that validation, which implies

truth, should really be called sanctioning [119], which implies more of a process in

which evaluators agree that a model is close enough for useful purpose. For the survey,

an article was reviewed and data recorded when a validation technique was performed

within the framework established. No measure was assigned pertaining to the quality

of the validation process as such a measure would be inherently biased based on the

author's like or dislike of the technique.

5.2.2.5 Purpose of the Simulation

De�ning the purpose of the model can be subjective and ambiguous. However, know-

ing a models purpose allows conjectures regarding how di�erent ABM techniques and

model philosophies support di�ering ABM purposes. To reduce subjectivity and am-

biguity another framework describing the di�erent purposes simulation is established.

This framework is based upon the level of understanding associated with the system

of interest and more recent research concerning the role that simulation and modeling

plays in modern science [65].

Figure 12 relates the three de�ned roles or purposes of the simulation (Generator,

Mediator, and Predictor) with the level of understanding known about the real sys-

tem. When the system is well understood the simulation is called a Predictor; it is

used like a calculator to provide clear and concise predictions about the system. An

example of this could be a simple queuing system or a very well understood assembly

line activity. As less is understood about the real system, the simulation moves to-

ward a Mediator role. In this role the simulation provides insight into the system, but

86

Page 97: The History, Philosophy, and Practice of Agent-Based ...

Figure 12: Purpose of the Simulation

is not a complete representation of how that system actually behaves.When using a

simulation as a Mediator, theories can be put forth and tested and the simulation can

be subsequently improved. For more about simulations and models as Mediators see

[80]. When little is known about the real system of interest, the simulation takes on

the role of a Generator; the simulation acts as a generator of hypotheses and theories

about how the real system behaves. As a Generator, a simulation serves the same

purpose as other mediums where theories and hypotheses are proposed [7].

These three roles are not mutually exclusive. Figure 12 shows that these roles

exist on a continuum. Thus, simulations can exist between two di�erent roles. For

this survey, the model was recorded into the dominant role. For example, if a model

was 40% mediator and 60% generator, the model was classi�ed as a Generator. For

the survey, the following de�nitions were used:

• A Generator is a simulation where little is known about the system of interest

and it is used primarily to determine if a given conceptual model/theory is

capable of generating observed behavior of the system.

• A Mediator is a simulation where the system is moderately understood and it is

used primarily to establish the capability of the conceptual model to represent

the system and to then gain some insight into the system's characteristics and

behaviors.

87

Page 98: The History, Philosophy, and Practice of Agent-Based ...

Figure 13: Histogram of Top Used Software

• A Predictor is a simulation where the system is well understood and it is used

primarily to estimate or predict a system's behavior with little time spent on en-

suring that the conceptual model is correct because this aspect of the simulation

has already been established.

5.3 Results

This section provides the main results compiled from the survey. A further analysis

of each topic is discussed in the next section.

5.3.1 Software

Figure 13 displays a summary of the software packages or programming languages

used. Overall, 68 unique software packages or programming languages were referenced

with many of them (22.6%) being referenced less than three times overall. It is clear

that both ABM speci�c software packages and generic programming languages are

being used and that the most popular software packages are ones that are public

domain. In fact, only AnyLogic and Matlab are commercial packages listed in Figure

88

Page 99: The History, Philosophy, and Practice of Agent-Based ...

Figure 14: Breakdown of Articles by Field

13. A striking result is that 104 articles (37.3%) did not provide any details on what

package or programming language was used to construct and execute the simulation.

5.3.2 Fields of Study

The breakdown of the articles by domain is displayed in Figure 14. In the sample

the three most popular �elds of study using ABM are economics, social science,

and biology. In general, the �elds of study in the survey show ABM being used by

�elds whose systems involve many interacting autonomous entities. This supports

the fundamental belief that ABM is good at modeling and analyzing these systems.

Although the majority of the �elds of study in the survey are not traditional scienti�c

disciplines, there are still a signi�cant number of traditional disciplines using ABM.

This supports the wide appeal of ABM as a methodology.

5.3.3 Purpose of the Simulation

In terms of model purpose, 111 (39.8%) of the models surveyed were Generators,

168 (60.2%) were Mediators, and 0 (0.0%) were Predictors. This con�rms the belief

that agent-based models are used primarily to gain insight into the system of inter-

est. It is interesting to note an almost equal number of generators and mediators.

89

Page 100: The History, Philosophy, and Practice of Agent-Based ...

Figure 15: Simulation Purpose by Year

Figure 16: Simulation Purpose by Field

Simulationists are using agent-based models to generate theories about a system's

behaviors and as a mediating instrument to capture certain behaviors of the system

and to characterize how the system may behave under certain scenarios. This general

characteristic is relatively constant over the last 10 years, as shown in Figure 15.

There does appear to be di�ering model purposes by domain of interest. As shown

in Figure 16, the only domains where the majority of the models were generators are

social science (66.2%) and economics (65.8%). The domains with the lowest number of

generator models are business (0.0%), public policy (4.3%), and the military (5.6%).

90

Page 101: The History, Philosophy, and Practice of Agent-Based ...

Figure 17: Reference to Complete Model by Year

These di�erences are reasonable. Social science and economics are still new and in

the process of developing theories about how their systems of interest operate. Thus,

using agent-based models as generators allows them to explore hypotheses and ideas

that are not easily manipulated using other theory generating techniques. Conversely,

it makes sense that business, public policy, and the military are more interested in

mediating models that can be used to gain insight into the system in order to exploit

some aspect of the system's characteristics.

5.3.4 Reference to the Complete Model

Only 44 (15.8%) of the articles surveyed gave a reference for the reader to access

or replicate the model. This indicates that the majority of the authors, publication

outlets, and reviewers did not deem it necessary to allow independent access to the

models. This trend appears consistently over the last 10 years as shown in Figure 17.

Figure 18 depicts model references by domain. The domains with the most refer-

ences to the complete model are social science (26.5%) and economics (19.0%), while

those with the least are the military (2.8%) and business (0.0%). These results are

again reasonable. Social science and economics are scienti�c �elds interested in theory

91

Page 102: The History, Philosophy, and Practice of Agent-Based ...

Figure 18: Reference to Complete Model by Field

Figure 19: Reference to the Complete Model by Purpose

development, so they are more likely to provide their model to others. The military

and business �elds are secretive (e.g., security, competitive advantage) so less they

are less willing to share their complete model.

The de�ned purpose of the simulation generally has little impact on the whether

the complete model is referenced. Figure 19 indicates that only 21.6% of generator

models and only 11.9% of mediator models gave references to the complete model.

It may seem that this is a signi�cant di�erence, but the correlation between purpose

and domain better explains the di�erence depicted in Figure 19.

92

Page 103: The History, Philosophy, and Practice of Agent-Based ...

Figure 20: Validation of the Simulations (Not Considering Technique)

5.3.5 Validation (Not Considering Technique)

We next focus on whether a model was conceptually validated, operationally vali-

dated, conceptually and operationally validated, or not validated at all. Figure 20

indicates that 29% of the models were not validated, 17% only had their concep-

tual model validated, 19% only operationally validated their model, and 35% both

conceptually and operationally validated their model. A reasonable position is that a

model is only validated, or sanctioned, when it is both conceptually and operationally

validated. In this case, at least 65% of the models in the survey were incompletely

validated. This is alarming since most outlets for scienti�c publication insist on some

level of model validation.

Emphasis on model validation does seem to be changing. As seen in Figure 21, the

percentage of models not completely validated is declining. The di�erence between

the beginning and the end of the 10 year period is distinct and shows that the �eld

is improving in terms of completely validating their models. However, between 2005

and 2008 the number of articles that both conceptually and operationally validate

their model remains relatively constant and averages to just under 43%.

Breaking down model validation by domain reveals that some �elds are more con-

93

Page 104: The History, Philosophy, and Practice of Agent-Based ...

Figure 21: Validation by Year

Figure 22: Validation by Field of Study

cerned with validation than others. As shown in Figure 22, the �elds with the highest

percentage of completely validated models are ecology (77.8%) and biology (70.0%)

and the �elds with the lowest percentage of validated models are military (16.7%),

economics (20.3%), and social science (27.9%). A reasonable conjecture regarding the

di�erences is their scienti�c tradition. However, while military, economics, and social

science are relatively new �elds and not as well connected to the classical scienti�c

tradition the military has a long history of using computer simulation and their issues

with simulation validation are well documented [30]. Thus, this aspect of validation

94

Page 105: The History, Philosophy, and Practice of Agent-Based ...

Figure 23: Validation by Purpose

for military agent-based models is somewhat surprising.

There does appear to be a relationship between the purpose of the simulation

and whether it has validation e�orts. In Figure 23, 11.7% of generator models were

completely validated while 51.2% of mediator models were completely validated. Since

generator models are based on systems that are less understood, these models would

be harder to validate because there is less information available about the system.

Conversely, more �validation activities� should occur for mediator models because

more information is known about the system being modeled.

5.3.6 Validation Techniques

Of the models validated in some way, 0.5% used only statistical validation techniques,

95.0% used only non-statistical validation techniques and 4.5% used a combination

of statistical and non-statistical validation techniques. Thus, it appears that in ABM

the primarily validation techniques employed are expert opinion and qualitative com-

parisons of behaviors. The statistical validation techniques often taught in basic

simulation courses are not as popular. This result may be due in part to di�culties

capturing statistics from the ABM simulation as well as the system. Furthermore,

it can be more challenging to analyze due to nonlinear output. When examining

95

Page 106: The History, Philosophy, and Practice of Agent-Based ...

Figure 24: Validation Technique by Year

Figure 25: Validation Technique by Field

validation techniques by year, as shown in Figure 24, a trend shows a decreasing

number of models not using any validation technique. For the most part the use of

non-statistical validation techniques are being employed.

Figure 25 breaks out the validation technique used by �eld and again the most

commonly used are non-statistical validation techniques, but with no strong rela-

tionship between validation technique and the �eld of study. Figure 26 displays

validation techniques by model purpose. The most popular validation techniques are

non-statistical techniques while for mediator models there is a slightly higher use of

96

Page 107: The History, Philosophy, and Practice of Agent-Based ...

Figure 26: Validation Technique by Purpose

statistical validation techniques; this is expected since more is understood about the

real system.

5.4 Discussion

These survey results provide information about the development and current state

of ABM. From this data research directions, needs, and opportunities are identi�ed.

While there are many di�erent implications these results may have depending upon

a researcher's interest, in this section just some of the most important implications

of these results on developing and maturing the �eld of ABM are discussed.

5.4.1 Software and Veri�cation

With 68 unique software packages or programming languages used to build and ex-

ecute the surveyed simulations it is clear that there are many ways that a model

can be represented in a computer simulation. This variety is likely attributed to

the background of the simulationist, programmer, or non-programmer. Thus, no

software package or programming language will likely ever become the standard in

building agent-based models. This means that tools developed to aid in constructing

97

Page 108: The History, Philosophy, and Practice of Agent-Based ...

and documenting agent-based models as well as teaching techniques, should not be

speci�cally geared towards a software package or programming language. Instead, de-

velopment and documentation tools and teaching techniques should be independent

of software and programming languages. Also, they should be focus on the issues in-

volved in the construction and execution of an agent-based model while emphasizing

the fundamental methods and issues of building a simulation.

There are also implications for reviewers and evaluators of agent-based models

when there is a lack of common software packages. ABM evaluators must understand

basic simulation programming techniques. Since agent-based models can address a

wide range of problems it is essential that researchers provide su�cient discussion of

their application for the evaluator to assess the realization of the system abstraction

into the simulation. Publication outlets, and their reviewers, do not seem to be

requiring such detail.

5.4.2 Addressing the Many Fields of Study or Creating a NewOne

ABM is connecting diverse �elds. The �elds of biology, business, ecology, economics,

the military, public policy, social science, and tra�c, among others, all use ABM.

These diverse �elds are trying to understand complex systems and are using ABM as a

common tool. If it holds that complex systems generally have similar properties, then

these diverse �elds should be actively sharing insights about their complex systems.

Naturally, ABM publications promote sharing. However, after reviewing the surveyed

articles it is clear that each �eld has developed their own ABM terminology to describe

techniques, applications, and results, have their own ABM standards, and their own

ABM philosophies.

Observing the growth of multiple ABM theories points to a fundamental need

for ABM to be studied as an independent discipline, a subset of simulation, such

that standard ABM techniques, practices, philosophies, and methodologies can be

98

Page 109: The History, Philosophy, and Practice of Agent-Based ...

established. A common ABM theory means all disciplines could speak the same

ABM language and develop techniques and models based on proven and accepted

approaches. To gage the depth of this division one only needs to realize that even

the de�nition of an agent is not clear, depends upon who is the author, and can vary

widely. Bringing together the �eld of ABMwill result in a better analysis tool for every

�eld of study. It is important that some standards be established when considering

that some believe that ABM and simulation is becoming the epistemological engine

of our time [65].

5.4.3 Rede�ning the Meaning of Results by Purpose

Those considering ABM, as a simulationist or evaluator, must re-consider how they

de�ne the results of the model. ABM naysayers argue the models do not produce

results while this survey found otherwise. This contradiction is likely the result of

di�erent de�nitions of �results� and the various expectations associated with simu-

lation. There is a general belief that simulations should produce clear predictions

and estimations of system behaviors to be considered successful. This expectation

�ts well with the long standing ability of discrete-event simulations, but it does not

necessarily �t well with the kind of systems that an agent-based models simulate.

It could be conjectured that the majority of simulations developed throughout

history are of fairly well understood systems and that their general purpose was to

provide some estimation or prediction about the behaviors of a particular system. In

other words, the majority of past simulations are held up to predictor expectations.

But from the survey it is clear that agent-based models are being used as mediators

(60.2%) and generators (39.8%). This survey �nds that ABM is living up to its

potential as a revolution in modeling and simulation by extending the applicability

of simulation to new �elds of studies and complex system abstractions. As the use of

ABM expands, and complex systems become more understood, it is conjectured that

99

Page 110: The History, Philosophy, and Practice of Agent-Based ...

eventually the ability of an agent-based model to provide predictions will improve as

more is understood about the complex systems they are simulating.

5.4.4 Providing a Reference to the Complete Model

A low value of 15.8% of the surveyed articles provided a reference to the complete

model. If the reader or evaluator does not have access to a complete model, how

can they verify the results produced? In other sciences, such shortfalls would give

the article little or no chance of publication. This prompts the question of why such

limited model descriptions are allowed?

There are probably several main reasons why references to the complete model in

ABM are not considered an important part of the article. The �rst is that simula-

tionists may not be willing or able, due to propriety issues, to provide their complete

model to the public. This is unlikely to change. However, a potential remedy to

this problem is to require authors to provide enough of a description of the model

such that independent evaluators can reconstruct the model. Such detail could allow

others to quickly review the logic and execution of the model and reproduce it in their

choice of software package or programming language. For this to occur some model

describing tools or diagrams from the �elds of systems engineering or computer sci-

ence may help by providing rich and complete descriptions of these models su�cient

for independent evaluation and replication.

An ABM developmental tool o�ers other bene�ts to the ABM community. First,

methods could help enforce good simulation programming practices by emphasiz-

ing particular aspects of the model that must be described. This information aids

those building the model and provides evaluators a way to evaluate and validate ev-

ery model. The tool could also be used as a teaching aid to help researchers build

more e�ective models. This could mean more e�ective ABM employment resulting

in improved understanding of modern complex systems.

100

Page 111: The History, Philosophy, and Practice of Agent-Based ...

5.4.5 Complete Validation is Required for Every Model

It could be argued that validation is one of the most important aspects of model

building because it is the only means that provides some evidence that a model can

be used for a particular purpose. Without validation a model cannot be said to

be representative of anything real. However, 65% of the surveyed articles were not

completely validated. This is a practice that is not acceptable in other sciences and

should no longer be acceptable in ABM practice and in the publications associated

with ABM. One of the other potential reasons why models are not being completely

validated is that the authors may consider that just conceptually or operationally

validating their model is good enough. This survey found that overall 36% (the

majority) of the articles only validated one aspect of the model. Our position is that

both conceptual and operational validity are required for complete validity.

If a model is only conceptually validated, then it unknown if that model will

produce correct output results. For example, consider a scienti�c experiment. In

this experiment a hypothesis about some macro-level behavior is made based on

some conceptual model that appears valid based on what is known about the system.

However, when the experiment is performed the hypothesis is rejected because it

did not properly predict the macro-level behavior. The operational-level hypothesis

based on the conceptual model is invalid even though the conceptual model of the

hypothesis appears valid prior to the experiment.

Conversely, if a model is only operationally validated, then it is unknown whether

that model is based on any appropriate representation of reality. For example, con-

sider a simulation of a standard single server queuing model where the objective is

to achieve the theoretical performance [56]. Typical performance measures are the

average time in the queue or system throughput. The standard approach to build this

simulation is to observe the real system, measure arrival rates, measure server process-

ing times, and then build a realistic representation of the system using some discrete

101

Page 112: The History, Philosophy, and Practice of Agent-Based ...

event simulation packages. It would be expected for the simulation to behave like

the real system and therefore the simulation would be both conceptually and opera-

tionally validated. Now consider using an ABM simulation with reproducing bugs to

model the queue. In this simulation, the bugs move about their environment looking

for food and reproduce with other bugs, much like those of the Sugarscape agent-

based model [35]. Key measures about the bugs, such as lifespan and birthrate, are

mapped to the goal performance measures of the single server queuing model. Param-

eters concerning the bugs and their environment are adjusted using some algorithm

until the simulation's performance measures match the expected queuing performance

measures. The bug model is then deemed useful for queuing analysis, even though it

is unlikely that anyone would accept this conceptual construct as a queuing system

construct. Although this is an extreme example, without complete validation the

e�ectiveness and ability of the model to represent a system is unknown.

The importance of validation in science and simulation cannot be overstated.

Not enough scientists using ABM as an analysis tool are properly validating and

documenting their model. It is absolutely essential that all models be completely

validated and that the articles associated with them clearly document the validation

techniques used and their results. Likewise, publication outlets and reviewers should

be stringent in their validation requirements in order to produce better models and

to advance not only their �eld of interest but also the �eld of ABM.

5.4.6 Statistical vs. Non-Statistical Validation Techniques

It is surprising that so few of the articles surveyed used statistical validation tech-

niques given the widespread use of statistical validation techniques in other simulation

paradigms. Two conjectured reasons are that ABM is used to simulate systems whose

output are not conducive to statistical analysis and that those building and evaluating

these agent-based models have validation criteria that di�ers from validation criteria

102

Page 113: The History, Philosophy, and Practice of Agent-Based ...

used in other simulation paradigms. The surveyed models are primarily being used

in non-traditional simulation �elds that may not be as in�uenced by the statistical

validation standard of other simulation paradigms. Further, the surveyed models gen-

erally re�ect using a simulation for generator and mediator purposes, as opposed to

predictor purposes that are more focused on matching system outputs and therefore

more conducive to statistical analysis.

The popularity of non-statistical validation techniques in ABM, highlights poten-

tial research opportunities. First, the e�ectiveness of statistical validation techniques

for ABM needs to be further explored and evaluated. Second, there is a need for new

statistical validation and data collection techniques speci�cally for ABM. Unlike non-

statistical techniques, which requires evaluator knowledge of the domain modeled,

statistical techniques do not require domain knowledge about the system or �eld for

the evaluator to judge the validity of the model. Finally, the �eld must develop more

standardized and comprehensive non-statistical validation techniques speci�cally for

ABM. Fundamentally, by developing and discussing the use of both statistical and

non-statistical validation techniques for ABM, the resulting models will be validated

to a higher standard, yielding more robust models that can advance the knowledge

of the system being modeled and the �eld of ABM.

5.5 Conclusion

It has been conjectured that ABM is an immature method and that standard practices

promoting e�ective ABM modeling are neither clearly established nor accepted. This

survey supports that conjecture. The lack of maturity and standard practices in

the ABM �eld is re�ected by the lack of models that were completely validated, the

lack of references to the complete model, and what is accepted as publishable. A

remedy is that techniques, philosophies, and methods need to be adopted from other

simulation paradigms, or developed speci�cally for ABM, and that these techniques,

103

Page 114: The History, Philosophy, and Practice of Agent-Based ...

philosophies, and methods need to be taught to those using ABM such that they can

build more e�ective models. Based on a survey of 279 published articles this article

portrayed the state-of-the-art in ABM and identi�ed key research directions.

Six speci�c research directions, needs, and opportunities for ABM were identi�ed

in the survey. First, development and documentation tools for ABM need to be

independent of software and published articles should detail the software package or

programming language used in to build and execute the simulation. Second, since

ABM is a departure from other simulation paradigms, it needs to be studied as

an independent discipline yet also as a subset of the simulation discipline. From

this standard techniques, practices, philosophies, and methodologies are needed to

extend ABM as a functional analysis tool. Third, since ABM is used for di�erent

purposes, simulationists should have di�erent expectations for ABM. Fourth, articles

need su�cient information about the model so other researchers can independently

develop and evaluate the e�ectiveness of these models. The �fth, and most signi�cant,

conclusion reached from the survey is that reviewers and publication outlets must

require that the model be completely validated and documented in the article. Finally,

both statistical and non-statistical validation techniques speci�cally for ABM need to

be developed and conveyed e�ectively to those building these models.

These six research directions, needs, and opportunities represent just some of the

things needed to mature and help establish standard practices for ABM. If ABM is

to reach its full potential as a modeling and simulation paradigm, these fundamental

opportunities must be addressed. This is especially true as simulation takes on new

roles and begins to extend our limited ability to comprehend and mentally analyze

modern complex systems. By establishing clear research goals and standards, the

�eld of ABM will continue to mature and progress and every �eld exploring complex

systems is better equipped to understand, evaluate, and predict these systems through

the exploitation of more appropriate and e�ective agent-based models.

104

Page 115: The History, Philosophy, and Practice of Agent-Based ...

II. The Development of the

Conceptual Model for Simulation

Diagram

105

Page 116: The History, Philosophy, and Practice of Agent-Based ...

The Sanctioning Solution Concept

and Why It is Required

Based upon the six identi�ed needs of the ABM survey and the philosophical and

historical foundations developed in Part I, it is clear that there are opportunities

to develop a diagramming technique that will have a signi�cant impact on the way

agent-based models are constructed, validated, and reported. The major reason for

considering a diagramming technique as a potential solution concept is that diagrams

are graphical languages that can describe entities and processes, provide documen-

tation, communicate ideas, and emphasize important aspects of the artifacts being

described [23]. These general capabilities accurately describe the kinds of needs iden-

ti�ed in Part I. A su�cient diagramming technique for ABM has the potential to

meet many of the identi�ed needs and thereby satisfy the objective of helping to ad-

vance ABM as an analysis tool. However, developing a new diagramming technique,

particularly one suited for ABM, should be based on more speci�c requirements. In

this chapter I further investigate/re-investigate the process of constructing simula-

tions, examine the appropriate emphasis when sanctioning agent-based models, and

consider what types of systems are being simulated using ABM. By examining these

topics, a series of detailed requirements for a diagramming technique are identi�ed.

106

Page 117: The History, Philosophy, and Practice of Agent-Based ...

6.1 Exploring Requirements

6.1.1 How Simulations are Developed

There are a wide variety of step-by-step instructions, and associated �gures, that

authors propose as a guide for the simulationist to create a good simulation and

conduct a simulation study. Some guides are fairly linear in nature with iterative

steps to ensure that the model meets the objectives of the project and is properly

sanctioned [14, 69]. Other guides are more complicated in structure, emphasizing

the need for continuous sanctioning and they attempt to convey the complex task

that is required if one wishes to build a good simulation [12, 101]. Even though

all of these simulation development processes di�er, they contain similar fundamental

elements of simulation building. Based upon these similarities, a simpli�ed simulation

development process is shown in Figure 27. This simpli�ed process emphasizes the

role of sanctioning (both conceptual and operational) in simulation building.

The �rst step, as shown in Figure 27, is to formulate the problem and set the

objectives to be achieved by the simulation study. In this step, arguably the most

important step, the overall idea is to determine whether the simulation paradigm is

a good �t for the problem, determine the proper abstraction level for the simulation,

and clearly de�ne the expectations of the simulation project. The second step is

to build the conceptual model. There is currently no clear and concise de�nition

of what exactly is a conceptual model [97]. However, a conceptual model can be

described as �the process of abstracting a model from a real or proposed system�

[97] and it is typically a mathematical, logical, and/or verbal representation of the

real system of interest [101]. A conceptual model is the abstracted model intended

to mimic the desired behaviors of the real system. This is often referred to as the

�art� portion of the model building process [14, 79]. This second step relies heavily

upon any known system theories driving the model development and the variety of

assumptions required in the model abstraction process. Sanctioning in this step is

107

Page 118: The History, Philosophy, and Practice of Agent-Based ...

Figure 27: A Simpli�ed Simulation Development Process

referred to as Conceptual Sanctioning.

Upon successfully sanctioning the conceptual model, the next part of building a

simulation is to translate the conceptual model into a computerized model. This is

where veri�cation issues come into consideration [12, 14, 69, 101]. Once the computer-

ized model is veri�ed, the �nal step of this process is to run the simulation and obtain

results which can then be used to gain insights into the real system. However, before

the simulation can reasonably be used as a proxy of the real system, it must �rst

undergo another round of sanctioning called Operational Sanctioning. For the simu-

lation to be operationally sanctioned, its output behavior must su�ciently match the

real system's output behavior at the desired abstraction level and intended purpose

[101]. Although this simulation development process appears simple, it highlights the

major steps involved in building a good simulation.

108

Page 119: The History, Philosophy, and Practice of Agent-Based ...

6.1.2 Sanctioning Emphasis

Some key aspects about simulation building with respect to sanctioning arise by ex-

amining the simulation development process. First, there are two types of sanctioning

processes that occur during the building of any simulation. Second, the two sanc-

tioning processes occur at di�erent points in the simulation development process and

as a result have very di�erent objectives. While Conceptual Sanctioning occurs at

the beginning of development process, and is concerned with how well the conceptual

model matches the theory and assumptions of the real system, Operational Sanction-

ing occurs at the end of the simulation building process and is concerned with how

well the output of the simulation matches the output of the real system.

One can compare Conceptual versus Operational Sanctioning with white-box ver-

sus black-box evaluation, respectively. Both Conceptual Sanctioning and white-box

evaluation place more emphasis on understanding the details of how the system works

while both Operational Sanctioning and black-box evaluation place more emphasis

on matching results (performance) rather than the internal structure of the system.

This comparison highlights where Conceptual and Operational Sanctioning �t into

the simulation framework. If the major emphasis of a simulation study is on per-

formance (Operational Sanctioning), and not on understanding the theories of the

system, then one could assume that the simulation is based upon a well understood

system (otherwise the simulation study would have failed the Conceptual Sanction-

ing phase). Conversely, if the emphasis of a simulation study is on understanding

the system (Conceptual Sanctioning) and not on how well the outputs match reality,

then one could assume the simulation is based upon a less understood system. It is

unlikely that a simulation would be sanctioned based purely on performance when

the entire simulation is built upon a soft and assumption-laden conceptual model

(this has been called the Base of Sand Problem [30] in a military modeling context).

The framework in Figure 8 on page 73 is modi�ed to relate the appropriate emphasis

109

Page 120: The History, Philosophy, and Practice of Agent-Based ...

Figure 28: Relationship between System Understanding and Simulation SanctioningEmphasis

of sanctioning of a simulation based upon how much is understood about the real

system and is shown in Figure 28. It still holds that regardless of the level of system

understanding, any simulation should undergo both types of sanctioning to provide

reasonable con�dence in ABM results. Figure 28 indicates which sanctioning type is

most crucial in the simulation development process with speci�c emphasis dictated

by the criticality of the ABM component.

To re-enforce this idea, consider the emphasis within a typical scienti�c article.

Even though the literature review is always a crucial part of any article, the time

spent critiquing and testing past work depends upon how well the foundational issues

concerning the system of interest are generally understood. It is unlikely that a physi-

cist using Newton's Laws for an experiment will spend much time on the conceptual

validity of Newton's Laws if they are already accepted as applicable for the system,

especially if the experimental results contributes to the �eld. As Hooker states with

respect to the analysis of algorithms [52], and as extended to ABM for my case,

emphasis should be to the degree dictated by the critically of the ABM component.

A conclusion from Figure 28 is that simulations of poorly understood systems re-

quire more Conceptual Sanctioning emphasis than Operational Sanctioning emphasis.

The previous survey of current ABM practices found that most systems being simu-

lated using the ABM paradigm are not well understood. Therefore, it appears that

110

Page 121: The History, Philosophy, and Practice of Agent-Based ...

the natural sanctioning emphasis for the ABM community is Conceptual Sanctioning.

Thus, the next section further explores the process of conceptual modeling and what

Conceptual Sanctioning techniques currently exist.

6.1.3 Conceptual Modeling

Despite the fact that conceptual modeling is probably one of the most important as-

pects of building an e�ective simulation, there is actually little literature that speci�-

cally address how to build a conceptual model [98, 97], particularly for an agent-based

model. There seems to be two main reasons for this. The �rst is that the guideline

for building a conceptual model come in literature that discuss how to generally build

a model; a conceptual model is traditionally an assumed part of the model building

process. A conceptual model de�nes what is going to be modeled and how it is going

to be modeled. While there is often no direct discussion of conceptual modeling,

there is a fair amount of literature that discusses the essence of conceptual modeling

as part of how one should build a model [98]. These model building articles also

touch on the second point of why there are not many of articles discussing concep-

tual modeling; conceptual modeling is more of an art than a science [14, 79, 98, 97].

Conceptual modeling cannot be detailed into a step-by-step process that guarantees

some particular result. Instead, all that can be o�ered to those attempting to build a

conceptual model are general guidelines, such as keeping things simple and creating

analogies to other developed structures [79]. The fundamental conclusions that can

be drawn about conceptual modeling is that �conceptualizing a model requires system

knowledge, engineering judgment, and model-building tools� [95]. Thus, examining

the process of conceptual modeling reveals some important considerations for a new

ABM sanctioning technique: the need to understand and have system knowledge,

engineering judgment, and access to model-building tools.

In a 2005 article, Sargent identi�es two focuses that together encompass the idea

111

Page 122: The History, Philosophy, and Practice of Agent-Based ...

of Conceptual Sanctioning [101]. The �rst part is ensuring that �the theories and

assumptions underlying the conceptual model are correct� by using mathematical

analyzes and statistical methods as well as ensuring that the theories are properly

applied [101]. Sargent suggests using empirical sanctioning techniques to ensure that

all assumptions and theories of the conceptual model match that of the real system.

Thus, there are certain aspects of any conceptual model that are quantitative in

nature and therefore the more traditional Operational Sanctioning techniques focused

on quantitative sanctioning can be used.

The next part of Conceptual Sanctioning is ensuring that �the model's represen-

tation of the problem entity and the model's structure, logic, and mathematical and

causal relationships are `reasonable' for the intended purpose of the model� which are

primarily evaluated using face validation and program traces [101]. Face validation

and program traces involve subject matter experts to examine all of the logic of the

conceptual model, typically via some �owchart or other graphical device, in order to

sanction the conceptual model. Note that program traces often require the simula-

tion code, which emphases the need for both conceptual and operational sanctioning.

This means there is a qualitative aspect of Conceptual Sanctioning that requires an

expert to subjectively review the structure and logic of the conceptual model.

To summarize, three key ideas regarding Conceptual Sanctioning and concep-

tual modeling were identi�ed. First, Conceptual Sanctioning should be emphasized

when little is understood about the system. Second, conceptual modeling is not a

straightforward process but requires system knowledge, engineering judgment, and

model-building tools. Finally, Conceptual Sanctioning involves both quantitative

evaluation and a qualitative evaluation, with each of these types of evaluations hav-

ing long-standing sanctioning techniques. The next section section considers ABM

application in more detail.

112

Page 123: The History, Philosophy, and Practice of Agent-Based ...

6.1.4 Di�culties in Modeling Organized Complex Systems

The ABM paradigm is a relatively new simulation paradigm that emerged out of need

to understand Organized Complexity Problems, or problems with a medium number

of highly interrelated variables causing the system to be highly nonlinear [115]. With

these new types of problems in mind, consider the following general conditions that

make modeling a system easier and in turn make developing a conceptual model easier

[95]:

• Physical laws are available that pertain to the system;

• A pictorial or graphical representation can be made of the system; and

• The uncertainty in system inputs, components, and outputs is quanti�able.

With Organized Complexity Systems the above conditions do not always hold. Al-

though general progress is being made in de�ning laws and theories governing Or-

ganized Complex Systems (such as found in the �elds of Chaos, Cybernetics, and

Complexity), these types of systems are not yet so well understood that there are

solid physical laws available from which to build a model. Since this is a new type of

problem, there are not many pictorial or graphical representations one can use to rep-

resent a Organized Complex System. Attempting to use traditional two dimensional

graphs with arcs and nodes to represent nonlinear, complex, and highly interrelated

states can get cumbersome, even infeasible, and too often increases confusion and

complexity, the opposite intention of having the graphical representation [46, 47].

Attempting to quantify the uncertainty of inputs, components, and outputs can be a

challenging task simply because Organized Complex Systems are not well understood.

Not having the tools or methods to build a conceptual model of these systems makes

sanctioning of the entire simulation extremely di�cult and can immediately bring

into question how well the simulationist understands the system being modeled.

113

Page 124: The History, Philosophy, and Practice of Agent-Based ...

6.1.5 Re-visiting Peer-Level Sanctioning

Simulations are becoming the epistemological engine of our time because they can

be used to represent complex nonlinear systems and show the implications of those

systems. As an epistemological engine, simulations have almost become the theories

of the systems they are intended to mimic and therefore should be treated the same

way as other scienti�c theories. This means the simulation must survive peer scrutiny

and be reproducible for scienti�c progress to be made.

This conclusion that ABM simulations of real systems need to be independently

peer evaluated is not new. Several articles discuss the need for independent evaluation

or peer sanctioning [8, 10, 118]. Hindrances to independent peer sanctioning include

ambiguity in published papers, gaps in published descriptions or unclear descriptions,

and technical di�culties related to simulation [8]. Since these simulation-based the-

ories cannot be represented in simple equations or descriptions, attempts to describe

them completely in words in a journal paper is either impossible or extremely di�-

cult. This may be the reason why only 15.8% of the surveyed articles gave reference

to the complete model in their article. However, this should not be a surprise given

the di�culty of representing the complex non-linearity of these systems and the fact

that journals are probably not willing to publish an article long enough to completely

describe a simulation.

One natural solution to this problem is for the authors to provide their peers

access to their simulation model; this, however, raises several issues. First of all

obtaining a copy of the simulation model may be di�cult due to proprietary issues.

Even if the simulation is obtained, there are many simulation languages and packages

that the simulationist could have used. If the evaluator is not familiar with the

simulation language of the simulation, then understanding the simulation can be a

problem. Even if the evaluator is familiar with the simulation language and can run

the simulation independently, the evaluator may be able answer the �how� questions

114

Page 125: The History, Philosophy, and Practice of Agent-Based ...

of the simulation but they still cannot e�ectively answer the �why� questions. For

example, the evaluator knows how an entity A behaves when it encounters an entity

B, but the evaluator does not know why or with what justi�cation entity A's behavior

was de�ned.

To evaluate simulation, an evaluator must understand the micro-level details of

the simulation. This means the evaluator must have simulation and system domain

knowledge. The evaluator must abstract their domain knowledge into a simulation

paradigm and use this abstraction to understand the conceptual model for the simu-

lation under evaluation.

A diagramming technique describing an ABM simulation could be e�ective in

this capacity. A diagramming technique could provide information on such things

as initial conditions, all logic associated with the micro-level entities and justi�cation

behind the logic, how the entities interact and the justi�cation, variables, parameters,

probability distributions, random number generators, and terminating conditions.

The diagramming technique could also be independently evaluated by experts of

varied simulation experience levels and provide both the hows and justi�cation at

various levels of detail.

6.1.6 Summary of the Key Requirements

The following are key requirements for a diagramming technique for ABM:

1. Aids in learning and conveying system knowledge

2. Incorporates proper engineering judgment

3. Aids in translating the conceptual model into a computerized model

4. Emphasizes the development and sanctioning of the micro-level behaviors

5. Displays the theories and assumptions built into the model for quantitative

analysis

115

Page 126: The History, Philosophy, and Practice of Agent-Based ...

6. Conveys the conceptual model's logic and structure for qualitative analysis

7. Completely represents the simulation so it can be reproduced by independent

evaluators

8. Provides justi�cation for all structures and actions in the simulation

9. Reviewable by evaluators of varied simulation and domain expertise levels

10. Can represent Disorganized and Organized Complex Systems

Complete systematic design maps requirements to the identi�ed needs to keep the

design focused and to maintain design traceability. The mapping of these design re-

quirements to the needs in ABM are shown in Figure 29. In Figure 29 each line type

is connected to a need and to the requirements derived from that need. The goal

of this �gure is to demonstrate exactly how the needs are connected to the require-

ments. With these requirements the next step is to reviewing diagramming concepts,

investigate appropriate existing diagrams based on the needs and requirements, eval-

uate their capabilities, and identify gaps between the capabilities of those diagrams

and the derived requirements. The following chapter discusses this in more detail.

The derived requirements indicate that what is needed to improve ABM is a holistic

methodology that incorporates the needs of building a conceptual model of complex

systems with the needs to conceptually sanction models. The next section details how

this methodology �ts into the current practice of ABM, and simulation in general, to

provide further insight into and justi�cation concerning this sanctioning methodology.

6.2 Further Justi�cation and Insight into a New ABM

Sanctioning Methodology

In general, there are two main sanctioning foci for those currently building ABM sim-

ulations: model �tting and model testing (this terminology and fundamental concept

116

Page 127: The History, Philosophy, and Practice of Agent-Based ...

Figure29:Current

PracticeNeeds

Mapped

toDiagram

mingTechn

ique

Requirements

117

Page 128: The History, Philosophy, and Practice of Agent-Based ...

is borrowed from [109], however there is no direct correlation with Stasser's de�nitions

and the ones used here). For both foci the ultimate goal is to have a simulation that

appropriately mimics the real system macro behavior; matching the macro behavior

indicates that the simulation could be operationally e�ective, however each focus has

a di�erent way to achieve this. In the model �tting focus, the parameters and the-

ories that compose the micro-level of the model are �optimized� via some algorithm.

The optimization is not based on observations from the real system. In essence, the

micro-level portion of the model is systematically changed until the macro-level re-

sults are achieved. Conversely, in the model testing focus, the parameters and theories

that compose the micro-level of the model are based on observations and experiments

performed on the real system.

Even though these foci are at opposite ends of the spectrum, and certainly hybrids

of these focuses exist, each extreme focus addresses the fundamental problem with

ABM today; not much is understood about the real system. Model testing directly

attacks the lack of knowledge by using the more traditional scienti�c method. Model

�tting synthetically generates a feasible model to produce macro-level behavior. An

advantage of using model �tting is potentially obtaining novel micro-level theories

about how the real world operates. However, an in�nite number of models could

represent a real system and thus it is impossible to prove that any model is an

accurate representation of the real system; in fact one can only disprove that a model

does not represent the real system of interest. Therefore, even if the model �tting

focus results in a good representation of the macro-level system behavior it does not

mean that the model accurately re�ects the real system. Instead, the simulation is

only a proposed theory that needs to be thoroughly tested to determine if it is feasible

in reality, which means that model testing will still be required.

If the simulation exhibits the intended macro level behavior then what does it

matter if the micro-level behavior is correct? There are several examples that highlight

118

Page 129: The History, Philosophy, and Practice of Agent-Based ...

why strict model �tting without empirical evidence can be problematic. One example

comes from professional car racing where prior to the race crews can make adjustments

to their car to attempt to optimize the car's performance for that particular track.

After considering the layout of the track, road conditions, and after making several

trial runs, suppose the crew out�ts their car such that maximum performance is

achieved during the race and the car ends up winning. As a result, for the next race

the crew decides to use the same car adjustments because they would expect to see

the same performance. However, each track and race condition is di�erent. Thus,

using the same car adjustments may result in poor performance for the next race.

In the same way, adjusting a simulation until it matches one particular performance

measure from one particular real system may only be a good result for that one

real system. The problem here is ensuring that the extendability and robustness of

the simulation exists in order to explore and extrapolate implications of other real

systems in the same domain [14, 30, 69]. Having a micro-level model that is not

properly sanctioned can ultimately lead to unreliable simulation results beyond the

particular performance measures obtained for that particular real system modeled.

Another example to consider is a standard single server queuing model where the

objective of the simulation is to achieve the theoretical queue performance [56]. For

example, typical performance measures are the average time in the queue or system

throughput. The standard approach to build this simulation is to observe the real

system, measure arrival rates, measure server processing times, and then build a real-

istic representation of the system using some discrete event simulation packages. Now

consider utilizing a model �tting focus using an ABM simulation with reproducing

bugs. In this simulation, the bugs move about their environment looking for food

and reproduce with other bugs, much like those of Sugarscape [35]. Key measures

about the bugs, such as lifespan and birthrate, are mapped to the goal performance

measures of the single server queuing model. Then, in the spirit of model �tting,

119

Page 130: The History, Philosophy, and Practice of Agent-Based ...

parameters concerning the bugs and their environment are adjusted using some al-

gorithm until the simulation's performance measures match the expected queuing

performance measures. The bug model is then deemed useful for queuing analysis.

Although these are extreme examples, both approaches can meet the expected theo-

retical performance measures. However, when it comes to sanctioning, the ABM bug

simulation does not really represent the real system and therefore it is unlikely that

anyone should sanction this simulation.

What emerges from analyzing these two sanctioning foci is two conditional state-

ments about sanctioning ABM simulations. The �rst condition comes from model

�tting: if the macro behavior is sanctioned, then the micro behavior may be sanc-

tionable. However, taking this approach requires one to also ensure that the micro

behavior is sanctionable or else the simulation as a whole may not be sanctionable.

The second condition comes from model testing: if the micro behavior is sanctioned,

then either the macro behavior will be generated by the simulation or the appro-

priate micro behavior has not been captured by the simulation. This is a strong

condition particularly if macro behavior, sometimes referred to as emergent behavior,

is unexpected and surprising by de�nition.

ABM emergent and macro-level behavior is only surprising or counter intuitive

to us because of the way in which we can generate that behavior and not in the fact

that the phenomena exists in �rst place. Within the short history of ABM, the initial

belief was that to generate complex and emergent behaviors a complex model was

required. The true surprise came when it was found that very simple models could

generate emergent behavior. Since this discovery, discussion of emergent behavior has

proliferated and has resulted in some terminology confusion [34]. However, the idea

of emergent behavior is not new and it can be observed in every scienti�c discipline

in the form of abstraction levels. For example, from atoms emerge molecules, from

molecules emerge cells, from cells emerge organisms, and etc. Therefore, the issue with

120

Page 131: The History, Philosophy, and Practice of Agent-Based ...

this statement should not be with the fact that emergent behavior is surprising, but

with how one can say that the macro-level behavior will appear when the appropriate

micro-level behavior is included in the model.

Micro-level behavior naturally leads to macro-level behavior. In any system, enti-

ties can be identi�ed that exhibit micro-level behavior that when examined together

create macro-level behavior. In fact, the fundamental di�erence between micro-level

behavior and macro-level behavior is the abstraction level of interest, even though

both belong to the same system. Every macro-level behavior is the result of some

micro-level behavior. If one can appropriately mimic the micro-level behavior then

the macro-level behavior should follow. Even though emergent behavior appears un-

predictable, it is not unexplainable [34]. Thus, each ABM simulation study should

begin by coming up with some statement similar to: we want to model these entities

and their interactions in this environment to get appropriate macro-level behavior.

While model �tting is a useful model generating tool, it is not a proper sanctioning

technique because it can generate one of the in�nite models that does not represent

the real system. Model testing should be the focus of any sanctioning methodology

because it emphasizes the need for the model to represent some abstraction of reality.

Furthermore, sanctioning should focus on the micro-level behavior; having an appro-

priate micro-level behavior helps ensure that the complete model is sanctionable. If

only the macro-level behavior is sanctioned, then considerable e�ort is still be required

to ensure that the micro-level behavior is sanctionable. Up front, e�ort in micro-level

sanctioning pays o� in the long run as the complete model is sanctionable. If it turns

out that the macro-level behavior is not emerging from the micro-level behavior, then

there is some fundamental part of the puzzle missing from the micro-level model. This

missing result will encourage designers to further research the micro-level behaviors,

which is more in line with the spirit behind the scienti�c revolution. Since, simula-

tions of less understood systems are becoming scienti�c theories in themselves, it is

121

Page 132: The History, Philosophy, and Practice of Agent-Based ...

vitally important they be based on some representation of reality. Therefore, more

emphasis needs to be on conceptual modeling (micro-level) of these less understood

systems. A survey of literature regarding how ABM simulations are sanctioned today

indicates that there is too much focus is on exclusively obtaining macro-level behav-

iors that match those of the real system. In fact, the survey discussed in the previous

chapter indicated that 48% of the articles did not consider micro-level sanctioning at

all. Although 52% of the articles indicate some micro-level sanctioning, this number

should be at 100% given all of the systems being simulated are not well understood.

122

Page 133: The History, Philosophy, and Practice of Agent-Based ...

An Exploration of Diagramming

Techniques and Their Capabilities

This chapter explores existing diagramming techniques and matches their capabil-

ities with requirements to identify if any individual technique, or permutations of

individual techniques, can meet these requirements. The following section de�nes

diagrams, relates them to models, and discusses their limitations and roles. Next this

chapter develops a classi�cation scheme for techniques based on what they objectives

and capabilities. This development supports the idea that behavioral diagramming

techniques have capabilities that match closely with ABM needs and requirements.

The �nal section identi�es capability gaps of current diagramming techniques and

concludes that a new diagramming technique is needed to �ll this gap.

7.1 An Overview of Diagrams

A diagramming technique is a graphical language that communicates features of an

object or concept of interest. As with any language, each speci�c diagramming tech-

nique has a set of semantics (symbols used to form expressions) and syntax (rules

de�ning the ways symbols combine to form concepts) that allow people to share their

thoughts with others in standard ways [23, 24]. This is a primary reason why a

diagramming technique has the potential to advance ABM; many of the needs and

requirements are related to communication. Another characteristic of diagramming

techniques is that they are designed to emphasize particular aspects of the concept

or object being described. For example, a typical �ow chart diagramming technique

123

Page 134: The History, Philosophy, and Practice of Agent-Based ...

emphasizes when and under what conditions activities execute, but there is often no

information concerning who or what executes the activity or how long the activity will

execute. Similarly, a diagramming technique can be designed to emphasize important

ABM features such as conceptual sanctioning.

The types of diagramming techniques of particular interest are those capable of

describing features of model systems to be simulated. This important capability is

used to screen candidate techniques based on the de�ned requirements. In support

of this goal it is important to carefully de�ne and di�erentiate diagrams and models.

In the simplest sense diagrams are graphical descriptions of features of models and

models are abstractions of real or soon-to-be real systems. Distinguishing between a

model and a diagram can become di�cult when models resemble diagrams such as

when models are graphic abstractions of systems. For example, an ARENA simula-

tion model visually looks like a diagram describing the �ow of entities. However, a

complete ARENA model has enough detail speci�ed in addition to its visual compo-

nents to be translated and executed into Siman code. Here the distinction is that a

model is a representation of a system, it translates input into output, and a diagram

of that model describes the process of translating input into output; diagrams are

graphical descriptions of features or information. Thus, models can be associated

directly with an "engine" that allows it to be "run". The goals of a diagram are

less ambitious, and may only describe select model features, rather than the more

complete description of a "model".

In working with di�erent diagramming techniques, it can be di�cult to clearly

prove that one technique is better than another; there is a lot of subjectivity involved.

For example, comparing diagramming techniques (graphical languages) can be like

comparing English and German (verbal languages). Individuals may prefer one over

the other, but saying that English is better than German is subjective. Thus, to ob-

jectively examine di�erent diagramming techniques one must compare their intended

124

Page 135: The History, Philosophy, and Practice of Agent-Based ...

purpose, capabilities, and limitations. Examining diagramming techniques in this

manner will e�ectively eliminate personal biases and allow a technique's capabilities

determine how well the technique can satisfy the de�ned requirements.

7.2 Capabilities of Diagramming Techniques that De-

scribe Model Systems

For this research, a key requirement of a diagramming technique is the ability to

e�ectively describe the conceptual model of a simulation. Thus, the diagramming

technique must be capable of describing model systems as they move through time.

This requirement has two important features. The �rst is that the diagramming tech-

nique must describe dynamic relationships. Here dynamic relationships are de�ned

as conditional and time dependent relationships such as those seen in a part �owing

through a manufacturing facility. The second is that the technique must have a for-

malism that allows elaboration of how the model system is executed by a computer.

These factors point to the diagramming techniques developed in the �elds of Systems

Engineering and Computer Science because both utilize diagramming techniques and

both are concerned with designing and documenting dynamic systems. In partic-

ular, the techniques developed in Computer Science are concerned with designing

systems that are computer executable. Therefore, diagramming techniques used in

these �elds are likely candidates capable of e�ectively describing a conceptual model

of a simulation.

7.2.1 Organizational Diagramming Techniques

Systems Engineering and Computer Science have two general categories of diagram-

ming techniques used to describe model systems. The �rst set of techniques describe

the organizational structure of a model system. These organizational diagramming

techniques (ODTs) capture static relationships and highlight the structure of various

125

Page 136: The History, Philosophy, and Practice of Agent-Based ...

components of the model system. Some common OTDs include:

• Entity-Relationship Diagrams [27]

• Higraphs [46]

• Data Flow Diagrams [110]

• IDEF0 Diagrams [23, 24]

• N2 Charts [67]

• UML 2.0 Structural Diagrams (including SysUML equivalents) [4, 5, 24, 19, 94,

116]

� Class Diagrams (Block Diagrams)

� Component Diagrams

� Composite Structure Diagrams (Internal Block Diagrams)

� Package Diagrams

� Object Diagrams

• UML 2.0 Use Case Diagrams (including SysUML equivalent) [4, 5, 19, 24, 94,

116]

• SysML Requirement Diagrams [24, 116]

• SysML Parametric Diagrams [24, 116]

While these diagramming techniques are e�ective at describing static relationships

and organizational structure, they do not capture the dynamic behavior of a model

system. Since this is a key requirement in ABM, ODTs are eliminated as possible

candidate techniques. Despite this, understanding these diagrams is valuable since

126

Page 137: The History, Philosophy, and Practice of Agent-Based ...

some of their best practices and unique structures can be utilized in the develop-

ment of a new diagramming technique. For example, naming conventions could be

adopted from IDEF0 as well as other �standard� and �accepted� practices such are

arcs representing relationships.

7.2.2 Behavioral Diagramming Techniques

A second set of diagramming techniques in Systems Engineering and Computer Sci-

ence describe the dynamic behavior of the model system. These behavioral diagram-

ming techniques (BDTs) capture the dynamic control and execution of activities or

functions of a model system and describe the desired high-level capabilities sought

after in candidate diagramming techniques. The remainder of this section explores

speci�c types of BDTs and evaluates their individual capabilities against the detailed

requirements. These techniques have:

• The capability to aid in learning and conveying system knowledge (Req. #1);

• The capability to incorporate proper engineering judgment (Req. #2);

• The ability to convey the conceptual model's logic and structure for quantitative

analysis (Req. #6);

• The capability to be reviewable by evaluators of various simulation and domain

expertise levels (Req. #9); and

• The ability to represent Organized and Disorganized Complex Systems (Req.

#10).

BDTs are separated into two categories and evaluations in each category occur sep-

arately. This is more e�cient because the speci�c techniques in each category have

very similar objectives and components and evaluating each technique individually

would be repetitive. The two categories of BDTs further clari�es a framework that

127

Page 138: The History, Philosophy, and Practice of Agent-Based ...

describes diagramming techniques, their capabilities, and their di�erences. The two

categories of BDTs are process �ow behavioral diagramming techniques (PFBDTs)

and machine behavioral diagramming techniques (MBDTs).

7.2.2.1 Process Flow Behavioral Diagramming Techniques

PFBDTs describe the �ow of control of activities or functions of a model system. They

describe the order and conditions in which activities or functions are performed. They

do not describe how the model system actually executes. PFDBTs do not contain

the semantics and syntax to relate the process �ow activity to the model system's

�engine,� how the model system transitions, and what impact that action/activity

has on the current status of the model system. Some common PFBDTs include the

following:

• Functional Flow Block Diagrams (FFBDs) were originally developed in the 1950's

and 1960's by TRW to describe the order that functions of the system are

executed by adding semantics in conjunction with ODTs. FFBDs emphasize

functional decomposition of a system [23, 24, 116].

• Enhanced Functional Flow Block Diagrams (EFFBDs) are similar to FFBDs,

but with added syntax to describe iterations, loops, and replications [23, 24].

• Behavior Diagrams (BDs) were developed in conjunction with the Distributed

Computer Design System for the Department of Defense and have similar fea-

tures and capabilities as FFBDs (in some cases they have the exact same se-

mantics). BDs are also focused on functional decomposition of a system and

utilize ODTs [3, 23, 24].

• Control Flow Diagrams (CFDs) incorporate similar semantics and syntax of

Data Flow Diagrams (an ODT) with the addition of broken arcs to show some

functions being turned on or o� to indicate changes in the operating mode of

128

Page 139: The History, Philosophy, and Practice of Agent-Based ...

the model system [23, 24]. CFDs show where the �ow of control can change,

but they do not describe what causes these changes.

• UML 2.0 Activity Diagrams (UADs) and SysML Activity Diagrams (SADs) are

similar to �ow charts except with well de�ned semantics and syntax. UADs and

SADs capture the �ow of control or the data passing between components of a

model system and often represent high-level business and operational processes

[4, 5, 19, 24, 94, 116].

• UML 2.0 Interaction Diagrams (UIDs) and SysML Interaction Diagrams (SIDs)

[4, 5, 19, 24, 94, 116]

� Communication Diagrams describe the relationships between components

in terms of the order that messages are passed between them. These di-

agrams are primarily used in UML 2.0 and SysML to describe the rela-

tionships between other diagramming techniques within the UML 2.0 and

SysML paradigm.

� Sequence Diagrams describe the �ow of logic between various components

of the model system as it executes.

� Timing Diagrams are a variation of Sequence Diagrams that focus speci�-

cally on the order and duration of activities occurring within a set period of

time. While time is explicitly captured, Timing Diagrams do not capture

what causes these changes as needed when replicating the model system.

� Interaction Overview Diagrams are closely related to UADs and describe

the �ow of control of other UIDs.

A shortcoming of PFDBTs is that they do not provide structures for indicating more

detailed operations in translating input into output for the model system. This ca-

pability is critical in order to simulate a model system. For example, consider a

129

Page 140: The History, Philosophy, and Practice of Agent-Based ...

manufacturing system that converts raw materials into a �nished product with two

machines in series. A PFBDT would describe this system in terms of the order re-

quired to produce �nished products. First, raw material arrives, then machine one

processes it, then machine two processes it, and �nally �nished goods are produced.

In this example there is no description of how the manufacturing system's operations

are changing. A PFBDT does not describe the changes each machine makes to a

piece, the time to execute these machine actions, the events that cause a piece to go

from one machine to another, and many other simulation �engine� related details. All

that is given is the order of activities required to produce �nished goods from raw

material. More information would be needed for a person or machine to mimic this

process.

There are two requirements that PFBDTs cannot satisfy. The �rst is it cannot aid

in translating the conceptual model into a computerized model (Req. #3). A PFBDT

lacks enough information to capture the conceptual model that is to be mimicked by

a computerized model. The second is its inability to completely represent a model

and its simulation so it can be reproduced by independent evaluators (Req. #7). Not

being able to satisfy these important requirements indicates that PFBDTs are not

e�ective candidate diagramming techniques.

7.2.2.2 Machine Behavioral Diagramming Techniques

MBDTs describe the dynamic modes of a model system and the events that cause

the model system to transition between modes. MBDTs have the additional syntax

and semantics to describe the �engine� of a model system that is missing in PFBDTs.

This additional information provides the capability to mimic the model system's

translation of input into output and how it changes over time. Various MBDTs are

discussed in the following paragraphs.

130

Page 141: The History, Philosophy, and Practice of Agent-Based ...

Figure 30: Petri Net Example of a Chemical Reaction [91]

C Trans 1

O2

CO2

NaOH

Trans 2

NaHCO3

HCl

Trans 3 NaCl

H20

CO2

C Trans 1

O2

CO2

NaOH

Trans 2

NaHCO3

HCl

Trans 3 NaCl

H20

CO2

Petri Nets

Petri Nets (PNs) were �rst formally introduced by Carl Petri in 1962 and are

used to describe systems in terms of places, transitions, tokens, and arcs. Here

places are where tokens can reside and describe the modes of the system, transitions

represent events or activities, tokens describe the current state of the system, and

arcs represent the relationships between places and/or transitions. PNs are capable

of representing systems that exhibit concurrent, asynchronous, distributed, parallel,

non-deterministic, and/or stochastic characteristics. However, PNs do not have any

structures to modularize large and complex systems. This makes PNs challenging to

to construct and understand when the system is large and complex. Since PNs are

based on strict mathematical de�nitions and formulations, PNs can be both simulated

and analyzed mathematically [23, 24, 81, 90, 92]. Figure 30 displays a simple PN

diagram of a chemical reaction.

State Diagrams

State Diagrams (SDs) or State-Transition Diagrams (STDs) were introduced by

Taylor Booth in 1967 to represent Finite-State Machines and are used to describe the

states and events of systems in terms of boxes and arcs. Here boxes represent a mode

of the system and arcs represent the transition between modes of the system. Arcs

are often accompanied by events that trigger the transition of the system to a new

131

Page 142: The History, Philosophy, and Practice of Agent-Based ...

Figure 31: State Diagram Example of a Telephone

PhoneIdle

PhoneWaiting

Receiving& Transmitting

Incoming Call

Start Ringing

Picked Up

Stop RingingBegin Transmission

Hung Up

Stop Transmission

PhoneIdle

PhoneWaiting

Receiving& Transmitting

Incoming Call

Start Ringing

Picked Up

Stop RingingBegin Transmission

Hung Up

Stop Transmission

mode and the action taken by the system when that event occurs [20, 23, 24, 32].

Although they are technically capable of representing large and complex systems, one

criticism of SDs is that they do not e�ectively display these systems very well because,

similar to PNs, they have no structures to represent modular hierarchies [46]. Figure

31 displays a simple example of a SD of a basic telephone system.

Statecharts

Statecharts were created by David Harel in 1987 in response to criticisms that

SDs cannot represent large and complex systems e�ectively. Statecharts extend SDs

by adding syntax and semantics to better handle issues of hierarchy, concurrency,

and communication seen in large and complex systems. A key idea in Statecharts is

that states (blocks with rounded corners and representing modes of the system) can

exist within each other to display concurrency and hierarchies. Statecharts also allow

activities to be performed not only when arcs are activated but also when entering,

exiting, and/or residing within a state. Another feature of Statecharts is that an arc

emanating from a black dot indicates the initial state when a state containing that

black dot is initialized. Although this is not a complete description of Statecharts,

these additional features allow Statecharts to be a powerful and easy-to-understand

diagramming technique when attempting to describe abstract complex systems that

exhibit concurrency and hierarchies [23, 24, 46, 47]. Figure 32 displays an example of

a Statechart Diagram for a ceiling fan with two speeds and a light.

132

Page 143: The History, Philosophy, and Practice of Agent-Based ...

Figure 32: Statechart Diagram Example of a Ceiling Fan

Basic Ceiling Fan

Alive

DeadNo Power Power Restored

Light Alive

Light On

Light Off

Light Cord Pulled

Light DeadBurnt Bulb

New Bulb

Fan Alive

Power Restored

Fan Off

Fan On Low Fan On High

Fan Cord Pulled

Fan DeadMotor Dies Motor Replaced

Basic Ceiling Fan

Alive

DeadNo Power Power Restored

Light Alive

Light On

Light Off

Light Cord Pulled

Light DeadBurnt Bulb

New Bulb

Fan Alive

Power Restored

Fan Off

Fan On Low Fan On High

Fan Cord Pulled

Fan DeadMotor Dies Motor Replaced

UML 2.0 and SysML State Machine Diagrams

UML 2.0 State Machine Diagrams (USMDs), and equivalently SysML State Ma-

chine Diagrams (SSMDs), are based upon the fundamental elements and ideas of SDs

and Statecharts but have more formally de�ned syntax and semantics that �t into

the overall UML 2.0 or SysML frameworks. Thus,USMDs and SSMDs have the same

general capabilities of SDs and Statecharts, but are positioned to address the particu-

lar domains of each framework. For UML 2.0 and SysML these domains are software

development and systems development, respectively [4, 5, 19, 24, 94, 116]. While

the speci�c and formalized semantics and syntax of USMDs and SSMDs are valuable

for their domains, selecting either as a candidate ABM technique would require users

become familiar with UML 2.0 and SysML rather than the fundamental diagramming

semantics and syntax that these techniques are based on. This requires that a user

learn additional and potentially unnecessary elements to utilize USMDs or SSMDs.

Furthermore, the requirements and needs do not specify that a diagramming tech-

nique need to develop a software or systems speci�c architecture. In some cases this

may make USMDs and SSMDs inappropriately geared for the purposes of the user

133

Page 144: The History, Philosophy, and Practice of Agent-Based ...

or model they are developing. Based on these factors USMDs and SSMDs are not

considered as candidate diagrams, but are represented under the SD and Statechart

banners with their formal semantics and syntax noted for potential adoption in a new

diagramming technique.

While composed of many individual diagramming techniques, UML 2.0 and SysML

diagramming techniques are intended to be utilized as a integrated diagramming tech-

nique. This means that as a whole UML 2.0 and SysML diagramming techniques are

capable of representing a speci�c behavior, characteristic, or relationship where in-

dividual diagramming techniques fail. This ability highlights one of the key design

goals of UML 2.0 and SysML, which is to describe in detail the architecture of any

system. However, this ability adds a signi�cant amount of complexity to these tech-

niques and can take the focus away from building a model or system and place it

more on building the diagram. While capable of representing many if not all systems,

UML 2.0 and SysML were not designed for the ABM analyst.

Since MBDTs have the syntax and semantics to describe the execution of the

model system there are additional requirements they can satisfy beyond those satis�ed

by PFBDTs. The �rst is the ability to aid in the translation of a conceptual model into

a computerized model (Req. #3). The second is the ability to completely represent

a simulation so that it can be reproduced by independent evaluators (Req. #7).

7.3 Capability Gap Analysis and Conclusions

A summary of the requirements that each speci�c BDT satisfy is shown in Table 3.

Table 3 indicates that MBDTs satisfy more requirements than PFBDTs, but overall

there are still three requirements that have not been satis�ed by any diagramming

technique. These unsatis�ed requirements are:

• The ability to emphasize the development and sanctioning of micro-level be-

haviors (Req. #4);

134

Page 145: The History, Philosophy, and Practice of Agent-Based ...

Table 3: Diagramming Technique Capability to Requirement Analysis

Fun

ctio

nal F

low

Blo

ck D

iagr

ams

Enh

ance

Fun

ctio

n F

low

Blo

ck D

iagr

ams

Beh

avio

r D

iagr

ams

Con

trol

Flo

w D

iagr

ams

UM

L 2.

0 &

Sys

ML

Act

ivity

Dia

gram

s

UM

L 2.

0 &

Sys

ML

Inte

ract

ion

Dia

gram

s

Pet

ri N

ets

Sta

te D

iagr

ams

Sta

tech

arts

UM

L 2.

0 &

Sys

ML

Sta

te M

achi

ne D

iagr

ams

1Aids in learning and conveying system knowledge � � � � � � � � � �

2 Incorporates proper engineering judgment � � � � � � � � � �3

Aids in translating the conceptual model into a computerized model � � � �

4Emphasizes the developing and sanctioning of micro-level behaviors

5Displays the theories and assumptions built into the model for quantitative analysis

6Conveys the conceptual model's logic and structure for qualitative analysis � � � � � � � � � �

7Completely represents the simulation so it can be reproduced by independent evaluators � � � �

8Provides justification for all structures and actions in the simulation

9Reviewable by evaluators of varied simulation and domain expertise levels � � � � � � � � � �

10Must be able to represent Organized and Disorganized Complex Systems � � � � � � � � � �

Behavioral Diagramming Technique

Req

uir

emen

ts

Process Flow Machine

Fun

ctio

nal F

low

Blo

ck D

iagr

ams

Enh

ance

Fun

ctio

n F

low

Blo

ck D

iagr

ams

Beh

avio

r D

iagr

ams

Con

trol

Flo

w D

iagr

ams

UM

L 2.

0 &

Sys

ML

Act

ivity

Dia

gram

s

UM

L 2.

0 &

Sys

ML

Inte

ract

ion

Dia

gram

s

Pet

ri N

ets

Sta

te D

iagr

ams

Sta

tech

arts

UM

L 2.

0 &

Sys

ML

Sta

te M

achi

ne D

iagr

ams

1Aids in learning and conveying system knowledge � � � � � � � � � �

2 Incorporates proper engineering judgment � � � � � � � � � �3

Aids in translating the conceptual model into a computerized model � � � �

4Emphasizes the developing and sanctioning of micro-level behaviors

5Displays the theories and assumptions built into the model for quantitative analysis

6Conveys the conceptual model's logic and structure for qualitative analysis � � � � � � � � � �

7Completely represents the simulation so it can be reproduced by independent evaluators � � � �

8Provides justification for all structures and actions in the simulation

9Reviewable by evaluators of varied simulation and domain expertise levels � � � � � � � � � �

10Must be able to represent Organized and Disorganized Complex Systems � � � � � � � � � �

Behavioral Diagramming Technique

Req

uir

emen

ts

Process Flow Machine

135

Page 146: The History, Philosophy, and Practice of Agent-Based ...

• The ability to display the theories and assumptions built into the model for

quantitative analysis (Req. #5); and

• The ability to provide justi�cation for all structures and actions in the simula-

tion (Req. #8).

The commonality of these requirements is that they all are concerned with the sanc-

tioning and documenting of the theories and assumptions built into the simulation.

This leads to the conclusion that current diagramming techniques focus primarily on

describing the �whats� and the �hows�. They do not provide the �whys,� which have

been identi�ed as being a very important aspect of modeling and scienti�c evalua-

tion. To �ll this capability gap, a new diagramming technique is needed that not only

describes the model system in a similar manner as MBDTs but also includes valuable

conceptual sanctioning information. Only then will a diagramming technique be able

to satisfy the requirements in an e�ort to advance ABM.

136

Page 147: The History, Philosophy, and Practice of Agent-Based ...

The Conceptual Model for Simulation

Diagram

This chapter presents a new diagramming technique, the Conceptual Model for Sim-

ulation (CM4S) Diagram, that ful�lls the requirements for a ABM simulations. This

chapter contains four main sections. First the basic motivation behind the CM4S

Diagram is discussed. Next the key structures, semantics, and syntax of the diagram-

ming technique are presented. Then a CM4S Diagram of the well known Sugarscape

Simulation [35] is presented to demonstrate how the diagramming technique is used

and to demonstrate its overall e�ectiveness at representing the conceptual model and

the appropriate validationg technique. Finally, the capabilities of the CM4S Diagram

are discussed and it is shown that the CM4S Diagram meets all of the requirements

identi�ed in chapter seven.

8.1 The Need for a New Diagramming Technique

From chapter seven, it is clear that a new Machine Behavioral Diagramming Tech-

nique (MBDT), that includes important conceptual sanctioning information, is needed.

In particular the new MBDT needs the following abilities:

• The ability to emphasize the development and sanctioning of micro-level be-

haviors (Req. #4);

• The ability to display the theories and assumptions built into the model for

quantitative analysis (Req. #5); and

137

Page 148: The History, Philosophy, and Practice of Agent-Based ...

• The ability to provide justi�cation for all structures and actions in the simula-

tion (Req. #8).

There are two key ways to develop a new MBDT with these capabilities. The �rst

is to construct a completely new MBDT to satisfy these three conceptual sanction-

ing requirements as well as the other seven requirements discussed in the previous

chapter. The key advantage of this approach is a diagramming technique designed

speci�cally for the purposes identi�ed in the requirements. The main disadvantage

of this approach is appropriately de�ning a completely new set of semantics and

syntax when only three of the ten requirements were not satis�ed. The second ap-

proach is take an existing MBDT and extend that MBDT to satisfy the conceptual

sanctioning requirements. Selecting this approach minimizes new developments while

re-using fundamental concepts from an already proven MBDT. The second approach

was selected based on these advantages.

There are three main MBDT candidates upon which to develop a new MBDT:

Petri Nets, State Diagrams, and Statecharts (Note: UML 2.0 and SysML State Dia-

grams are based on State Diagrams and Statecharts). Upon examining each of these

MBDTs it is clear that Statecharts has several advantages over Petri Nets and State

Diagrams that make it a logical choice to begin developing a new MBDT. First, Stat-

echarts have the same capabilities of State Diagrams, but State Diagrams cannot

represent large and complex systems as e�ectively as Statecharts. Similarly, State-

charts have many of the same capabilities of Petri Nets, but Petri Nets do not have

the structures to help modularize large and complex systems as do Statecharts. Based

on these features to easily represent large and complex systems, Statecharts were se-

lected to provide the foundational starting point of a new MBDT that focuses on the

conceptual sanctioning requirements.

138

Page 149: The History, Philosophy, and Practice of Agent-Based ...

8.2 Adapting Statecharts to Satisfy the Conceptual

Sanctioning Requirements

A new MBDT, based on Statecharts, must convey more information than previous

MBDTs. Statecharts and the other MBDTs primarily convey �how� information and

the conceptual sanctioning requirements de�ne the need for conveying �why� informa-

tion. To adapt the Statechart diagramming technique key features need to be added

that describe the �why� information that is associated with the �how� information;

the new MBDT needs to include another dimension of information.

This new dimension of information can exist in many forms. For example, the

�why� information could be a written explanation, a reference to an experimental

study, academic work, accepted theory, or a mathematical proof. Therefore, a feature

capable of capturing this information must accommodate many possible inputs. A set

of properties associated with each diagramming element that convey that element's

�why� information can satisfy the conceptual sanctioning requirements without sac-

ri�cing the �how� information. Furthermore, each property's �eld can allow variable

input to handle the various needed inputs.

There are issues with adding properties to each element in any MBDT. First,

all of the properties needed for each element must be clearly de�ned to completely

describe the needed information. This issue is easily addressed through the de�ned

requirements and through testing and development. The second is to e�ectively

create and retrieve the associated properties from an element since these properties

cannot be e�ciently represented visually. These two issues are addressed through the

utilization of modern drawing and diagramming software products such as MS Visio

or SmartDraw. Each product can associate properties to shapes and elements. By

creating the appropriate elements and properties using one of these products the issues

with property entry, management, and reporting as well as diagram construction,

storing, and sharing are minimized.

139

Page 150: The History, Philosophy, and Practice of Agent-Based ...

The other major issue with adding properties to each element is ensuring that

each individual state, condition, event, and action has a distinct set of properties.

Currently, Statecharts have only three major shapes: rounded rectangles to repre-

sent states, arcs with an arrow to represent transitions between states, and circles for

pointing to initial states. Each of these shapes describe the �ow of control through

the system and are associated with events, conditions, and/or actions. The close con-

nection between the visual �ow of control with activities or conditions to be executed

or evaluated is one of the hallmarks of diagramming techniques. However, it presents

a problem when trying to include �why� information because there are times when

the justi�cation of an action may not be the same as the justi�cation of the state

that contains that action. For example, deciding to decompose a system in di�erent

states with di�erent grouping of activities may have signi�cant consequences on the

conceptual model and would require justi�cation in the new diagramming technique.

Thus, several additional features and changes are needed to e�ectively di�erentiate

between �ow of control and activities.

The key additional features included are a rectangle shape to represent actions, a

diamond shape to represent conditions/events, circles shapes to represent important

variables in the simulation, and a pentagon shape to represent how, when, and why

data is collected. These new shapes clearly distinguish elements and their justi�cation.

They also provide fundamental building blocks for constructing the conceptual model

and they provide a more familiar abstract representation of the conceptual model for

those not familiar with the syntax and semantics of Statecharts.

The Conceptual Model for Simulation (CM4S) Diagram was created by adapting

the fundamental components of Statecharts with new information properties and

creating new shapes to clearly distinguish elements.

While the CM4S Diagram is based on Statecharts, it is not intended to be used

as a replacement of Statecharts or any software design diagramming technique. The

140

Page 151: The History, Philosophy, and Practice of Agent-Based ...

CM4S Diagram is best utilized in the early development of a simulation because it

emphasizes validation and highlights the issues commonly encountered in building

computer simulations. Furthermore, the CM4S Diagram provides vital information

concerning assumptions and purpose of the simulation and can be used throughout the

life-cycle of a simulation. Therefore, the CM4S Diagramming Technique �ts into the

niche of agent-based modeling e�orts and frameworks, early simulation prototyping

and experimentation, and as a reference point throughout the life of the simulation.

8.3 Description of the CM4S Diagram

In this section the key aspects of the CM4S Diagram are described. This includes a

review of the diagramming technique's syntax and semantics, shape naming conven-

tions, and its use in conjunction with drawing/diagramming software. An example

of a CM4S Diagram is shown in Figure 34.

8.3.1 Basic Syntax and Semantics

The CM4S Diagram consists of arcs, history pointers, and initial pointers. Initial

pointers indicate what block is initially active whenever the block containing that

initial pointer is activated. History pointers work in a similar fashion except they

indicate that the current active block is the one that was last visited when the block

containing the history pointer was last exited.

Arcs in the CM4S Diagram only show the �ow of control between pointers and

blocks; they do not contain any information concerning events, triggers, and/or

guards. The CM4S Diagram arcs act the same ways as �ow chart arcs. Arcs can

only emanate from pointers, blocks, and decision shapes connected to block shapes

and arcs can only point to history pointers and blocks. Arcs emanating from pointers

and blocks are followed once all of the activities associated with the emanating shape

are complete. However, arcs emanating from decision shapes are followed based the

141

Page 152: The History, Philosophy, and Practice of Agent-Based ...

Figure 33: Sugarscape CM4S Diagram Example1 Sugarscape Conceptual Model1 Build the EnvironmentAAssign Environment Coordinates BAssign Lattice Max & Current Sugar LevelsCAssign Lattice Sugar Growth Rates3 Time Progression2 Assign Agent ParametersAAssign Start Coordinates BAssign Metabolism CAssign Life Span DAssign Vision ERandomly Assign Agent Number

DCreate the Agents

1 Wait For Step AStep Done? 2 Prepare for Next Time StepCReset Agent Numbers

BIncrement Time StepAGrow Lattice Sugar3 Agent

ACol Number of Agents

FAssign Initial Sugar Level

ALattice X-coord BLattice Y-coord CLattice Max Sugar DLattice Cur Sugar ELattice Growth Rate FAgent Metab. RangeGAgent Vision Range HAgent Life Span Range INumber Agents KCurrent Active Agent LCurrent Time MAgent Ini Sugar Range

4 End Simulation

NStop Time

AStop?142

Page 153: The History, Philosophy, and Practice of Agent-Based ...

condition in the decision shape. The only way to transition between blocks is via

arcs.

There are �ve other shapes in the CM4S Diagram: Blocks, Actions, Decisions,

Recorders, and Variables. The Block Shape is a rounded rectangle that represents

an abstraction of the system that is composed of actions, decisions, recorders, and

variables. Blocks can exist within each other to represent hierarchies of a system's

abstraction and blocks can be partitioned with dotted lines to represent concurrent

abstractions within a higher level abstraction. The Block Shape has seven properties.

The From property describes the blocks that point to the current block. The To

property describes the blocks that are pointed to by the current block. The Actions

property describes actions that are members of the block. The Decisions property

describes the decisions that are members of the block. The Variables property de-

scribes variables that are members of the block. The Recorders property describes

the recorders that are members of the block. Finally, the Basis property describes

the rationale for the block for clari�cation and sanctioning purposes.

The Action Shape is a rectangle that describes the general actions and activities

that occur within the system. Actions can only exist within a block and have many

properties to describe the activities executed as well as when and how often to execute

them. The Action Shape has nine properties. The Member Of property describes

the block where the action is directly residing. The Behavior property is the written

description of the behavior that the action is to achieve. The Pseudo Code - Function

property is the pseudo code that represents the key behavior of the action. The Pseudo

Code - Update property is the pseudo code of how often or under what conditions the

Pseudo Code - Function updates. The Pseudo Code - Start property is the pseudo

code of when the Pseudo Code - Function begins execution. The Pseudo Code - Stop

property is the pseudo code of when the Pseudo Code - Function stops execution.

The purpose of these pseudo code family of properties is to provide details how the

143

Page 154: The History, Philosophy, and Practice of Agent-Based ...

behavior is achieved computationally. The Variables property describes the variables

utilized or changed by the action. The Sequence within Block property is the order

that the action is executed within the block and is used primarily for breaking ties

with other shapes. Finally, the Basis property describes the rationale for the behavior

of the action for clari�cation and sanctioning purposes.

The Decision Shape is a diamond that describes the conditions for transitioning

between blocks. Decisions are associated with blocks and are outside their associated

block, but touch it. Decisions have properties describing the conditions to evaluate,

when and how often to evaluate them. The Decision Shape has nine properties. The

Member Of property describes the block where the decision resides. The Behavior

property is the written description of the conditional behavior that the decision is

trying to achieve. The Pseudo Code - Condition property is the pseudo code that

represents the key conditions of the decision. The Pseudo Code - Update property

is the pseudo code of how often or under what conditions the Pseudo Code - Condi-

tion is re-evaluated. The Pseudo Code - Start property is the pseudo code of when

the Pseudo Code - Condition is evaluated. The Pseudo Code - Stop property is

the pseudo code of when the Pseudo Code - Condition stops being evaluated. The

Variables property describes the variables utilized or changed by the decision. The

Sequence within Block property is the order of decision execution within the block

and is primarily used for breaking processing ties with other shapes. Finally, the

Basis property describes the basis for the conditional behavior of the decision for

clari�cation and sanctioning purposes.

The Recorder Shape is a pentagon that describes how and when data is collected

within the system being simulated. Recorders only exist within a block. The Recorder

Shape has nine properties. The Member Of property describes the block where the

recorder resides. The Behavior property is the written description of the collection

behavior the recorder achieves. The Pseudo Code - Function property is the pseudo

144

Page 155: The History, Philosophy, and Practice of Agent-Based ...

code that represents the key behavior of the recorder. The Pseudo Code - Update

property is the pseudo code of how often or under what conditions the Pseudo Code

- Function is updated. The Pseudo Code - Start property is the pseudo code of when

the Pseudo Code - Function begins execution. The Pseudo Code - Stop property is

the pseudo code of when the Pseudo Code - Function stops execution. The Variables

property describes the variables used by the recorder. The Sequence within Block

property is the execution order within the block and is primarily used for breaking

processing ties with other shapes. Finally, the Purpose property describes the purpose

for collecting the data for clari�cation and sanctioning purposes.

The Variable Shape is a circle that describes a key variable of the system. Variables

only exist within a block. The Variable Shape has four properties. The Member Of

property describes the block where the variable resides. The Behavior property is the

written description of what the variable represents. The Value property is the initial

value of the variable. Finally, the Basis property describes the basis for the variable

for clari�cation and sanctioning purposes.

A summary of these shapes is shown in Figure 34. See [46, 47] for a more complete

and formalized description of the syntax and semantics of the fundamental structure

of Statecharts.

8.3.2 Shape Naming Conventions

The naming convention for the shapes in the CM4S Diagram ensures the uniqueness of

each shape, provides hierarchical information, and further determines how execution

ties are broken. Every shape in a diagram has an alpha-numeric name along with a

descriptive name that appropriately describes the shape. The alpha-numeric name

of a shape is determined by its location within and relationship to other shapes in

the diagram. The descriptive name should concisely describe the shape's high-level

purpose.

145

Page 156: The History, Philosophy, and Practice of Agent-Based ...

Figure 34: CM4S Diagram Shape DescriptionsName Shape Properties Definition

Block FromToActionsDecisionsVariablesRecordersBasis

Represents an abstraction of the system that is composed of actions, decisions, recorders, and variables. Blocks can exist within each other to represent heirarchies of a system's abstraction and blocks can be partitioned with dotted lines to represent concurrent abstractions within a higher level abstraction.

Action Member OfBehaviorPseudo Code - FunctionPseudo Code - UpdatePseudo Code - StartPseudo Code - StopVariablesSequence within BlockBasis

Describes the general actions and activities that occur within the system. Actions can only exist within a block.

Decision Member OfTransitions ToBehaviorPseudo Code - ConditionPseudo Code - UpdatePseudo Code - StartPseudo Code - StopVariablesSequence within BlockBasis

Describes the conditions to transition between blocks. Decisions can only be associated with blocks and must be outside their associated block but still be touching it.

Recorder Member OfBehaviorPseudo Code - FunctionPseudo Code - UpdatePseudo Code - StartPseudo Code - StopVariablesSequence within BlockPurpose

Describes how and when data is collected within the system being simulated. Recorders can only exist within a block

Variable Member OfBehaviorValueBasis

Describes a key variable of the system. Variables can only exist within a block.

146

Page 157: The History, Philosophy, and Practice of Agent-Based ...

The alpha-numeric conventions for the CM4S Diagram are similar to standard

outlining formats. Shapes have the same alpha-numeric name as the shape that it

exists within, but with the addition of an extra alpha-numeric character. For example,

if the block shape �Move� is the �rst block shape that exists within the block shape

�1.2 Agent� then the appropriate name for the block shape would be �1.2.1 Move�.

It should be pointed out that block shapes can only be given numeric characters.

All other shapes are given alphabetic characters. For example, if the action shape

�Scan Ahead 3 Spots� is the �rst action shape to appear in the �1.2.1 Move� block

shape then action shape should be named �1.2.1.A Scan Ahead 3 Spots�. Each Action,

Decision, Variable, and Recorder shape has its own independent naming sequence, but

Action, Decision, Variable, and Recorder shapes that exist in the same block will have

similar alpha-numeric names. If only one of all four of these shapes existed within the

the �1.2.1 Move� block shape, then each would have the same alpha-numeric name

of �1.2.1.A�. In the event of an execution tie the shapes are sorted in alpha-numeric

order to determine execution order. A complete example of these naming conventions

follows.

8.3.3 Constructing a CM4S Diagram with Drawing/DiagrammingSoftware

The CM4S Diagram was designed for use with computer drawing/diagramming soft-

ware such as SmartDraw and MS Visio. A MS Visio template for the CM4S Dia-

gramming Technique is available for download at http://www.CM4SDiagram.com.

There are several things to keep in mind when using software tools to construct a

CM4S Diagram. The �rst is consider how the diagram will be displayed on paper or

in a presentation. While the computer can show the diagram on one page, it is often

valuable to break the diagram into multiple pages to allow for larger font sizes and to

highlight distinct components of the conceptual model. To accommodate this several

syntax and semantic components have been added to the diagramming technique.

147

Page 158: The History, Philosophy, and Practice of Agent-Based ...

First, new pages are only needed to show the contents of block shapes. Second, if

the full contents of a block shape is shown on another page the name of that block

shape is underlined. Finally, all arcs leaving and entering a block shape are shown

on all of the pages where the block shape is present. Furthermore, to help shorten

the length of alpha-numeric names only the �lowest� block shape on a page needs the

complete alpha-numeric name. The remaining shapes only need the last character of

their alpha-numeric name displayed for each page.

Another consideration when using software tools to construct a CM4S Diagram is

balancing the visual construction with the detailed information construction. When

constructing a diagram to focus �rst on building the shapes and signifying the �ow of

control and then to focus on �lling in the detailed information. Also, when �lling in

the detailed information it is important to be consistent in descriptions and level of

detail. Following these suggestions will allow for an e�ective development of a CM4S

Diagram using software tools.

8.4 A CM4S Diagram of the Sugarscape Simulation

To demonstrate the functionality and e�ectiveness of the CM4S Diagramming Tech-

nique a CM4S Diagram of the Sugarscape ABM Simulation [35] is constructed. The

Sugarscape Simulation is a good choice for a number of reasons. First, it is a well-

known, fairly basic, and a purely notional simulation that utilizes fundamental con-

cepts found in the ABM paradigm. Using Sugarscape provides a clear example of how

the CM4S Diagram captures common conceptual ABM paradigm behaviors while

showing how these behaviors are executed within a computer simulation without re-

quiring extensive domain-speci�c knowledge. Constructing a CM4S Diagram of the

Sugarscape Simulation also provides the modeler and evaluators with concise, de-

tailed and easily accessible written documentation of the simulation; one could read

an entire book on this simulation [35]. This allows for modelers and evaluators to

148

Page 159: The History, Philosophy, and Practice of Agent-Based ...

see the direct translation between the written conceptual model and the constructed

CM4S Diagram. Thus, a Sugarscape Simulation example of the CM4S Diagram is

both instructive and informative.

8.4.1 Overview of the Sugarscape Simulation

In the book Growing Arti�cial Societies: Social Science from the Bottom Up the

authors present a notional ABM simulation called Sugarscape to demonstrate the

usefulness of the ABM paradigm in social science [35]. In the most basic scenario of

Sugarscape (found in chapter 2) agents exist in a two-dimensional lattice environment

(50 by 50 discrete cells in a torus shape with two �mountains� of sugar) where sugar

grows as the only source of food. In each time step, agents are randomly selected

to take turns visually searching for an unoccupied neighboring lattice position, con-

taining the most sugar that they can move to. Once at the new position the agents

consume the sugar and, based on their time step metabolism, either survive to the

next time step or die and are removed from the simulation. After each time step the

environment grows new sugar at some set rate.

The version of the Sugarscape Simulation in chapter two of the book adds several

other agent features. Agents are provided randomly assigned values for movement

direction, vision range, metabolism range, initial starting position, initial endowment

of sugar, and life span. If the agent reaches its life span, then it is removed from the

simulation and a new agent with similarly random attributes enters the simulation.

There are several other attributes and features in the actual Sugarscape simulation

but they are not utilized in the current example for simplicity.

8.4.2 Walk-through of the Sugarscape CM4S Diagram

The CM4S Diagram of the Sugarscape Simulation is composed of two main pages.

The �rst page describes the high-level execution and construction of the simulation.

The visual representation of the �rst page of the CM4S Diagram is shown in Figure

149

Page 160: The History, Philosophy, and Practice of Agent-Based ...

35. The corresponding data for the Action, Block, Decision, Recorder, and Variable

Shapes on the �rst page are shown in Figures 36, 37, 38, 39, 40, respectively.

Figure 35 depicts several important parts of the simulation. At the highest level of

abstraction is the block called Sugarscape Conceptual Model. Everything within this

block represents the conceptual model and how the simulation executes. The Basis

property data associated with this block (Figure 37) provides a high-level justi�cation

for building this model and documents its purpose. Within the Sugarscape Concep-

tual Model block are 13 variables (circles) that are used throughout the simulation.

Beyond these variables, no other shapes belong to the Sugarscape Conceptual Model

block.

Four blocks are a single abstraction level lower within the Sugarscape Conceptual

Model block: Build the Environment, Assign Agent Parameters, Time Progression,

and End Simulation. The block executed �rst is indicated by the initial pointer

(dark circle) at that level of abstraction. Thus, the Build the Environment block

is executed �rst. There are four actions that belong to the Build the Environment

block. Each action helps in initializing the sugarscape environment. The execution

sequence is de�ned by their Sequence within Block property (see Figure 36). The

de�ned sequence of these actions is as follows: Assign Environment Coordinates,

Assign Lattice Max & Current Sugar Levels, Assign Lattice Sugar Growth Rates, and

Create the Agents. Once all of these initialization actions are executed, control passes

to the Assign Agent Parameters block, where all of the agent parameters/variables

are appropriately assigned, after which control passes to the Time Progression block.

The Time Progression block introduces several new features into the Sugarscape

simulation. First, the block is divided into two areas. This indicates that while the

Time Progression block is active both areas of the block are executed �concurrently�.

The upper area of the block shows simulation time step management and the agents in

the model shown in the lower area of the block. Together these areas represent model

150

Page 161: The History, Philosophy, and Practice of Agent-Based ...

Figure 35: Sugarscape CM4S Diagram Page 1 - Visual Representation1 Sugarscape Conceptual Model1 Build the EnvironmentAAssign Environment Coordinates BAssign Lattice Max & Current Sugar LevelsCAssign Lattice Sugar Growth Rates3 Time Progression2 Assign Agent ParametersAAssign Start Coordinates BAssign Metabolism CAssign Life Span DAssign Vision ERandomly Assign Agent Number

DCreate the Agents

1 Wait For Step AStep Done? 2 Prepare for Next Time StepCReset Agent Numbers

BIncrement Time StepAGrow Lattice Sugar3 Agent

ACol Number of Agents

FAssign Initial Sugar Level

ALattice X-coord BLattice Y-coord CLattice Max Sugar DLattice Cur Sugar ELattice Growth Rate FAgent Metab. RangeGAgent Vision Range HAgent Life Span Range INumber Agents KCurrent Active Agent LCurrent Time MAgent Ini Sugar Range

4 End Simulation

NStop Time

AStop?151

Page 162: The History, Philosophy, and Practice of Agent-Based ...

Figure36:Su

garscapeCM4S

Diagram

Page1-ActionSh

apeData

Master NameDisplayed TextMember Of

BehaviorPseudo Code - Functi

onPseudo Code - UpdatePseudo Code - StartPseudo Code - StopVariab

lesSequence within BlockBasis

ActionA Assign Environment Coordinates1. Build the EnvironmentSets the x and y coordinates of each

lattice point (2500 in total)i=1; For (x=1 to x=50) { For

(y=1 to y=50) {A. Lattice X-coord[i]=x; B. Lattic

e Y-coord[i]=y; i=i+1;}}

on entryA. Lattice X-coord, B. Lattice Y-coord

1"Growing Artificial Societies" by Epstein & Axtell, 1996 p. 21

ActionB Assign Lattice Max & Current Sugar LevelsBuild the EnvironmentSets the maximum and current sugar level

to the appropriate values;For (i=1 to i=2500) {C. Lattic

e Max Sugar[i]="two peak distribution"; D. Lattice

Cur Sugarr[i]=C. Lattice Max Sugar[i];}

On EntryC. Lattice Max Sugar, D. Lattice Cur Sugar

2"Growing Artificial Societies" by

Epstein & Axtell, 1996 p. 21. For "two

peak distribution" of sugar see page

7.ActionC Assign Lattice Sugar Growth Rates1. Build the EnvironmentSets the current rate of suga

r growth based on the particular expe

rimentE. Lattice Growth Rate="user selected val

ue"On Entry

E. Lattice Growth Rate3"Growing Artificia

l Societies" by Epstein & Axtell, 1996 p. 26.ActionA Assign Start Coordinates2. Assign Agent ParametersAssigns each agent a startin

g x and y coordinate that is not occupi

ed and sets the current lattice location nu

mber.For each 1.3.3. Agent {A. Cur X-coord = random

empty x coordinate; B. Cur Y-coord = random

empty y coordinate; Update K. Cur Lattice

Position}On Entry

1.3.3.A. Cur X-coord, 1.3.3.B. Cur Y-coord, 1.3.3.K. Cur Lattice Position1"Growing Artificia

l Societies" by Epstein & Axtell, 1996.ActionB Assign Metabolism2. Assign Agent ParametersRandomly assigns each age

nt a metabolism based on the ra

nge of values.For each 1.3.3. Agent {D. Metab = random(F.

Agent Metab. Range)}On Entry

1.3.3.D. Metab, 1.F. Agent Metab. Range2"Growing Artificia

l Societies" by Epstein & Axtell, 1996.ActionC Assign Life Span2. Assign Agent ParametersRandomly assigns each age

nt a life span based on the range of value

s and sets the start of life date.

For each 1.3.3. Agent {E. Life Span = random(H.

Agent Life Span Range); F. Start of Life=1}

On Entry1.3.3.E. Life Span, 1.H. Agent Life Span Range, 1.3.3.F. Start of Life

3"Growing Artificial Societies" by Epstein & Axtell, 1996.

ActionD Assign Vision2. Assign Agent ParametersRandomly assigns each agent a vision

based on the range of values.For each 1.3.3. Agent {C. Vi

sion = random(G. Agent Vision Range)}

On Entry1.3.3.C. Vision, 1.G. Agent Vision Range

4"Growing Artificial Societies" by Epstein & Axtell, 1996.

ActionE Randomly Assign Agent Number2. Assign Agent ParametersRandomly assigns each agent a number

which defines the order in which it will

execute.For each 1.3.3. Agent {J. Ag

ent Number = random_unique_number(1 t

o I. Number Agents)}On Entry

1.3.3.J. Agent Number, 1.I. Number Agents5An interpretation

of "Growing Artificial Societies" by Epstein & Axtell, 1996.

ActionD Create the Agents1. Build the EnvironmentCreates the agent constructs

Create I. Number Agents instances of 1.3.3 Agent

On EntryI. Number Agents

4Based on "Growing Artificial Societies" by Epstein & Axte

ll, 1996.ActionC Reset Agent Numbers2. Prepare for Next Time StepReset each agent's number

to account for agents that were removed fr

om the simulation. Also, reset the cu

rrent active agent number to 1.

I. Number Agents = Count(1.3.3. Agent); For each

1.3.3. Agent {J. Agent Number =

random_unique_number(1 to I. Number Agents)};

K. Current Active Agent=1;On Entry

1.I. Number Agents, 1.3.3.J. Agent Number, 1.K. Current Active Agent4"Growing Artificia

l Societies" by Epstein & Axtell, 1996.ActionB Increment Time Step2. Prepare for Next Time StepMoves th

e clock ahead one.L. Current Time = L. Curren

t Time + 1;On Entry

1.L. Current Time3"Growing Artificia

l Societies" by Epstein & Axtell, 1996.ActionA Grow Lattice Sugar2. Prepare for Next Time StepEach lattice grows the set am

ount of sugar for a time step. Canno

t exceed the maximum amount.

For (i=1 to 2500) {D. Lattice Cur Sugar[i]=D.

Lattice Cur Sugar[i] + E. Lattice Growth Rate; If

(D. Lattice Cur Sugar[i] > C. Lattice Max Sugar[i])

then D. Lattice Cur Sugar[i] = C. Lattice Max

Sugar[i];}On Entry

1.D. Lattice Cur Sugar, 1.E. Lattice Growth Rate, 1.C. Lattice Max Sugar2"Growing Artificia

l Societies" by Epstein & Axtell, 1996.ActionF Assign Initial Sugar Level2. Assign Agent ParametersRandomly assigns each age

nt an initial sugar level.

For each 1.3.3. Agent {G. Sugar Level =

random(M. Agent Ini Sugar Range)}

On Entry1.3.3.G. Sugar Level, 1.M. Agent Ini Sugar Range

6"Growing Artificial Societies" by Epstein & Axtell, 1996.

152

Page 163: The History, Philosophy, and Practice of Agent-Based ...

Figure37:Su

garscapeCM4S

Diagram

Page1-Block

ShapeData

Master NameDisplayed TextTo

FromActions

DecisionsRecordersVariab

lesBasis

Block1 Sugarscape Conceptual Model

A. Lattice X-coord, B. Lattice Y-coord, C. Lattice M

ax Sugar, D. Lattice Cur Sugar, E. L

attice Growth Rate, F. Agent

Metab. Range, G. Agent Vision Range, H. Agent Life

Span Range, I. Number Agents

, K. Current Active Agent, L.

Current Time, M. Agent Ini Sugar Range, N. Stop T

imeThis conceptual model is based on

the Sugarscape simulation in

chapter 2 of "Growing Artificial

Societies" by Epstein & Axtell,

1996.Block1 Bu

ild the Environment2. Assign Agent ParametersA. Assign Environment C

oordinates, B. Assign Lattice Max & Cur

rent Sugar Levels, C. Assign Lattice Sugar G

rowth Rates, D. Create the Agents

Here all of the environmental

arrays are assigned and the agent

constructs are created.Block3 Tim

e Progression4. End Simulation2. Assign Agent

ParametersA. Stop?

Block2 Assign Agent Parameters3. Time Progression1. Build the EnvironmentA. Assign Start Coordinat

es, B. Assign Metabolism, C. Assign Lif

e Span, D. Assign Vision, Randomly Assign

Agent Number, F. Assign Initial Sugar Level

Here the agent parameters are

assigned according to chapter 2 of

"Growing Artificial Societies" by

Epstein & Axtell, 1996.Block1 Wa

it For Step2. Prepare for Next Time Step2. Prepare for Next Time Step

A. Step Done?This block waits for all of

the agents to execute before advancing the clock to the

next step.

Block2 Prepare for Next Time Step1.

Wait for Step1. Wait for StepA. Grow Lattice S

ugar, B. Increment Time Step, C. Reset Agent Numbers

A. Col Number of AgentsThis state conducts time

step and simulation maintanence a

nd collects data.

Block3 Agent

This describes the behavior of the

agents. See the Agent page for

more information.Block4 En

d Simulation3. Time Progression

This represents the end of the

simulation's execution.

153

Page 164: The History, Philosophy, and Practice of Agent-Based ...

Figure38:Su

garscapeCM4S

Diagram

Page1-DecisionSh

apeData

Master NameDisplayed TextMember OfTransitions To

BehaviorPseudo Code - Conditio

nPseudo Code - UpdatePseudo Code - StartPseudo Code - StopVariableSequence w

ithin BlockBasis

DecisionA Step Done?1. Wait For Step2. Prepare for Next Time StepIf all of the agents currently ru

nning in the simulation have execut

ed, then prepare for the next time

step.If (K. Current Active Agent > I.

Number Agents) then transition to 2.

Prepare for Next Time Step;Every change in K. Current Active Agent;On

EntryK. Current Active Agent, I. Number Agents

1Based on "Growing Artificial Societies" by Epstein & Axtell,

1996.DecisionA Stop?3. Time Progression4. End S

imulationIf the stopping time has been reach then stop executing the simul

ation.If (L. Current Time > N. Stop Time)

then transition to 4. End SimulationChange of L. Current Time

1.L. Current Time, 1.N. Stop Time1

154

Page 165: The History, Philosophy, and Practice of Agent-Based ...

Figure39:Su

garscapeCM4S

Diagram

Page1-RecorderSh

apeData

Displayed TextMaster NameMembe

r OfBehaviorPseudo Code - Function

Pseudo Code - UpdatePseudo Code - StartPseudo Code - StopSequence within BlockVariablesPurpose

A. Col Number of AgentsRecorder2. Prepar

e for Next Time StepCount the number of agents

for each time step.Count(1.3.3. Agent)

On Entry1Obtain performance da

ta concerning the number

of agents to be analyzed l

ater.

155

Page 166: The History, Philosophy, and Practice of Agent-Based ...

Figure40:Su

garscapeCM4S

Diagram

Page1-VariableSh

apeData

Displayed TextMas

ter NameMember Of

BehaviorBasis

A Lattice X-coordVariable1.

Sugarscape Conceptual ModelAn array descr

ibing the x-coordinates (1-50)

of each latice location i

n the environment. Size=2500

."Growing Artificial Societies" b

y Epstein & Axtell, 1996

p. 21B Lattice Y-coord

Variable1. Sugarscape Conceptual Mo

delAn array describing the y-coo

rdinates (1-50) of each

latice location in the environm

ent. Size=2500."Growing Artific

ial Societies" by Epstein

& Axtell, 1996 p. 21

C Lattice Max SugarVari

able1. Sugarscape Conceptual Mo

delAn array describing the maxim

um sugar level (0-4) of

each latice location in the envi

ronment. Size=2500."Growing Artific

ial Societies" by Epstein

& Axtell, 1996 p. 21-22

D Lattice Cur SugarVaria

ble1. Sugarscape Conceptual Mo

delAn array describing the curren

t sugar level of each

latice location in the environm

ent. Size=2500."Growing Artific

ial Societies" by Epstein

& Axtell, 1996 p. 21-22

E Lattice Growth RateVari

able1. Sugarscape Conceptual Mo

delA value describing the growth

rate of the sugar per

time step."Growing Artific

ial Societies" by Epstein

& Axtell, 1996 p. 21-22

F Agent Metab. RangeVaria

ble1. Sugarscape Conceptual Mo

delAn array of values describing

the range of metabolisms

for all of the agents.

"Growing Artificial Societies" b

y Epstein & Axtell, 1996

p. 24G Agent Vision R

angeVariable1. Sug

arscape Conceptual ModelAn array of val

ues describing the range of vi

sion for all of the agents.

"Growing Artificial Societies" b

y Epstein & Axtell, 1996

p. 24H Agent Life Spa

n RangeVariable1. Sug

arscape Conceptual ModelAn array of val

ues describing the range of lif

e spans for all of the ag

ents."Growing Artific

ial Societies" by Epstein

& Axtell, 1996 p. 26

I Number AgentsVari

able1. Sugarscape Conceptual Mo

delThe number of agents in

the simulation."Growing Artific

ial Societies" by Epstein

& Axtell, 1996 p. 21

K Current Active AgentVari

able1. Sugarscape Conceptual Mo

delA number describing the

agent that is currently active

Based on "Growing Artificial S

ocieties" by Epstein & A

xtell, 1996.L Current Time

Variable1. Sugarscape Conceptual Mo

delThe current time step of

the simulationBased on "Gro

wing Artificial Societies"

by Epstein & Axtell, 1996.

M Agent Ini Sugar RangeVari

able1. Sugarscape Conceptual Mo

delAn array of values describing

the range of initial sugar

endowed to the agents.

"Growing Artificial Societies" b

y Epstein & Axtell, 1996.

N Stop TimeVariable1.

Sugarscape Conceptual ModelThe value of ho

w long the simulation is to run

before being stopped

156

Page 167: The History, Philosophy, and Practice of Agent-Based ...

progression through time. The CM4S Diagram indicates the Sugarscape Simulation

approach that advances the model time step once all of the agents have executed in the

current time step. Recall that when constructing and/or reviewing a CM4S Diagram

is that there are many ways to represent a system. This is just one representation. As

a modeler, creating a good abstraction and representation using the CM4S Diagram

is the art of modeling. As an evaluator of a CM4S Diagram, the goal is to determine

the sanctionability of the abstraction and representation of the conceptual model.

Note the series of stacked blocks in the Agent block of the lower area in the Time

Progression block. This represents multiple copies of a block that has the same basic

internal structure. All agents in the Sugarscape simulation are structurally the same

but di�erentiated by the unique variable values associated with each agent. Since

the CM4S Diagram is a representation of a conceptual model of a simulation, not

a simulation, the CM4S Diagramming Technique takes advantage of variables and

similar structures to reduce the amount of documentation required. Furthermore,

when a block's title is underlined as in the Agent block, it means that its internal

structure is represented on another page. The details of the Agent block is discussed

later.

There are two other features of not within the Time Progression block. The �rst

is an instance of the decision shape called Stop. This decision belongs to the Time

Progression block and updates after every time step (see Figure 38) to determine if

it is time to pass control to the End Simulation block. The End Simulation block

represents the end of the simulation. The second feature is the �rst instance of the

recorder shape within the Prepare for Next Time Step block called Col Number of

Agents. The primary function of this recorder is to collect data on the agents in the

model at a particular time step and to document exactly when this data are collected.

Too often simulation designs fail to specify when data are collected. Thus, recorder

shapes are very important in any CM4S Diagram.

157

Page 168: The History, Philosophy, and Practice of Agent-Based ...

The second page of the CM4S Diagram describes the activities, characteristics,

and behaviors of the agents in the Sugarscape Simulation. The visual representation

of the second page of the CM4S Diagram is shown in Figure 41. The corresponding

data for the Action, Block, Decision, Recorder, and Variable Shapes on the second

page are shown in Figures 42, 43, 44, 45, and 46, respectively.

As described earlier, all of the agents in the Sugarscape Simulation are structurally

similar but have di�erent variable values making each agent unique. Hence, only one

page is needed to conceptually describe all of the agents in the simulation. Note

the Sugarscape CM4S Diagram name of the highest level block on the page. In this

case the Block's name is Agent, but its number is �1.3.3.-�. The dash indicates that

there are multiple instances of the Agent block. Each shape lower than, or contained

within, the Agent block has a number starting with �1.3.3.-� and followed by their

unique number/alphabet character. While executing this model an agent's unique

number would replace the dash to act as a place holder and determine how execution

ties are broken. Following this convention means that the action shape named Scan

North has the number �1.3.3.-.2.B�. Because all of the remaining shapes, features,

and �ows of control displayed on Page 2 have been introduced, the remainder of this

section reviews the contents of the Agent block.

There are many elements within the Agent block that describe the conceptual

model of the agents in the Sugarscape Simulation. First, there are many variables

that uniquely de�ne the agent. These variables capture key components of the agent

including location, capabilities, and status. All of the shapes within the Agent block

reference and update these variables.

The Sugarscape Simulation is turn based; each agent must wait their turn within

a time step before executing. This design element is re�ected in the initial block of

the agent called Wait for Turn. In this block, data on the vision and metabolism of

each agent is collected and the agent does not proceed further until the 1.K Current

158

Page 169: The History, Philosophy, and Practice of Agent-Based ...

Figure 41: Sugarscape CM4S Diagram Page 2 - Visual Representation1.3.3.- Agent1 Wait for Turn

AMy Turn?2 Look for SugarAScan This Location BScan North CScan SouthDScan East EScan West

3 Move to SugarAJump to Goal Loc4 Collect SugarACollect the Sugar5 Consume SugarAAdjust sugar level

7 Agent DiesARemove Agent6 Check Life Span BCon’t LivingAPast Life Span8 Make ReplacementARandomly Reset Variables

ASugar Level >= 0? BSugar Level < 0?9 Agent Turn OverAReady for the Next AgentBJump to New Empty Location

ACollect Sugar Level

AVision at step BMetab at stepACur X-coord BCur Y-coord CVision DMetab ELife Span FStart of Life GSugar Level HGoal X-coordIGoal Y -coord JAgent Number

ATemp Sugar Level

KCur Lattice Position

159

Page 170: The History, Philosophy, and Practice of Agent-Based ...

Figure42:Su

garscapeCM4S

Diagram

Page2-ActionSh

apeData

Master NameDisplayed TextMember OfBehavior

Pseudo Code - FunctionPseudo Code

- UpdatePseudo Code - StartPseudo Code - StopVariables

Sequence within BlockBasisActionA Scan This Location2. Look for SugarCheck the c

urrent location of the agent for the amount of sugar in their location.A. Temp Sugar Level = 1.D. La

ttice Cur Sugar[K. Cur Lattice Position];

H. Goal X-Coord = A. Cur X-coord; I. Goa

l Y-coord = B. Cur Y-coord;

On EntryA. Temp Sugar Level, 1.D. Lat

tice Cur Sugar, K. Cur Lattice Position,

H. Goal X-Coord, A. Cur X-coord, I. Go

al Y-coord, B. Cur Y-coord

1Sets the goal lattice location to the curr

ent position as a starting point.

ActionB Scan North2. Look for SugarCheck all lattice positions nort

h of the agent's current location and w

ithin their vision range to check for suga

r. If the sugar amount is larger than th

e previous and it is empty, then set goal t

o go there.For (all positions north within vision and

position is empty) [If (1.D. Lattice Cur

Sugar[north lattice position]>=A. Temp

Sugar Level) then (A. Temp Sugar

Level=1.D. Lattice Cur Sugar[north

lattice position]; H. Goal X-Coord = A.

Cur X-coord; I. Goal Y-cOn Entry

A. Temp Sugar Level, 1.D. Lattice Cur

Sugar, K. Cur Lattice Position, H. Goal

X-Coord, A. Cur X-coord, I. Goal Y-

coord, B. Cur Y-coord2Based on "Growing Artificial S

ocieties" by Epstein & Axtell, 1996. NOTE:

The top and bottom of the environment are

connect as per documentation.

ActionC Scan South2. Look for SugarCheck all lattice positions sout

h of the agent's current location and w

ithin their vision range to check for suga

r. If the sugar amount is larger than th

e previous, then set goal to go th

ere.For (all positions south within vision and

position is empty) [If (1.D. Lattice Cur

Sugar[south lattice position]>=A. Temp

Sugar Level) then (A. Temp Sugar

Level=1.D. Lattice Cur Sugar[south

lattice position]; H. Goal X-Coord = A.

Cur X-coord; I. Goal Y-cOn Entry

A. Temp Sugar Level, 1.D. Lattice Cur

Sugar, K. Cur Lattice Position, H. Goal

X-Coord, A. Cur X-coord, I. Goal Y-

coord, B. Cur Y-coord3Based on "Growing Artificial S

ocieties" by Epstein & Axtell, 1996. NOTE:

The top and bottom of the environment are

connect as per documentation.

ActionD Scan East2. Look for SugarCheck all lattice positions east

of the agent's current location and w

ithin their vision range to check for suga

r. If the sugar amount is larger than th

e previous, then set goal to go th

ere.For (all positions east within vision and

position is empty) [If (1.D. Lattice Cur

Sugar[east lattice position]>=A. Temp

Sugar Level) then (A. Temp Sugar

Level=1.D. Lattice Cur Sugar[east lattice

position]; H. Goal X-Coord = A. Cur X-

coord; I. Goal Y-coorOn Entry

A. Temp Sugar Level, 1.D. Lattice Cur

Sugar, K. Cur Lattice Position, H. Goal

X-Coord, A. Cur X-coord, I. Goal Y-

coord, B. Cur Y-coord4Based on "Growing Artificial S

ocieties" by Epstein & Axtell, 1996. NOTE:

The sides of the environment are connect as pe

r documentation.ActionE Scan West2. Look for S

ugarCheck all lattice positions west of the

agent's current location and within their

vision range to check for sugar. If the

sugar amount is larger than the

previous, then set goal to go there.For (all positions west within v

ision and position is empty) [If (1.D. Latt

ice Cur Sugar[west lattice position]>=A

. Temp Sugar Level) then (A. Temp S

ugar Level=1.D. Lattice Cur Sugar[w

est lattice position]; H. Goal X-Coord = A

. Cur X-coord; I. Goal Y-coor

On EntryA. Temp Sugar Level, 1.D. Lat

tice Cur Sugar, K. Cur Lattice Position,

H. Goal X-Coord, A. Cur X-coord, I. Go

al Y-coord, B. Cur Y-coord

4Based on "Growing Artificial Societies" by

Epstein & Axtell, 1996. NOTE: The sides of the

environment are connect as per documentation.

ActionA Jump to Goal Loc3. Move to SugarMove the agent the goal location.A. Cur X-coord = H. Goal X-co

ord; B. Cur Y-coord = I. Goal Y-coord

; Update K. Cur Lattic Position;

On EntryA. Cur X-coord, H. Goal X-coo

rd, B. Cur Y-coord, I. Goal Y-coord K

. Cur Lattic Position;

1Based on "Growing Artificial Societies" b

y Epstein & Axtell, 1996.

ActionA Collect the Sugar4. Collect SugarRemove the sugar from t

he lattice position.G. Sugar Level = G. Sugar Lev

el + 1.D. Lattice Cur Sugar[K. Cur Lattic

e Position]; 1.D. Lattice Cur Sug

ar[K. Cur Lattice Position]=0;

On EntryG. Sugar Level, 1.D. Lattice C

ur Sugar, K. Cur Lattice Position

1Based on "Growing Artificial Societies" b

y Epstein & Axtell, 1996.

ActionA Adjust sugar level5. Consume SugarConsume the sugar due to metabolism.G

. Sugar Level = G. Sugar Level - D.

MetabOn Entry

G. Sugar Level, D. Metab1Based on

"Growing Artificial Societies" by

Epstein & Axtell, 1996.ActionA Remove Agent7. Agent Die

sRemove the agent from taking turns

once the agent has died from lack of

sugar.J. Agent Number=-1; A. Cur X

-Coord=-1; B. Cur Y-coord=-1;

On EntryJ. Agent Number, A. Cur X-Co

ord, B. Cur Y-coord

1Agents are moved off the screen and no longer

given turns. An interpretation from completely

removing agents as found in "Growing Artificial

Societies" by Epstein & Axtell, 1996.

ActionA Randomly Reset Variables8. Make ReplacementRandomly generate new starting

variables for this agent to represent a

new agent being introduced in to the

environment and another one dying.Randomly set according to set

ranges: C. Vision, D. Metab, E. Life Sp

an, G. Sugar Level; F. Start of Life =

1.L. Current Time;

On EntryC. Vision, D. Metab, E. Life Sp

an, G. Sugar Level, F. Start of Life, 1

.L. Current Time;

1This agent dies and replaces itself with random

settings. An interpretation from completely

removing agents as found in "Growing Artificial

Societies" by Epstein & Axtell, 1996.

ActionA Ready for the Next Agent9. Agent Turn OverSignal that it is the next agent's turn.1

.K. Current Active Agent = 1.K. Current

Active Agent + 1;On Entry

1.K. Current Active Agent1Based on

"Growing Artificial Societies" by

Epstein & Axtell, 1996.ActionB Jump to New Empty Location8. Make ReplacementFind a random empty lattice po

sition and move there.

Randomly select empty location; A. Cur

X-coord = random empty location; B.

Cur Y-coord = random empty location;

Update K. Cur Lattice Position;

On EntryA. Cur X-coord, B. Cur Y-coor

d, K. Cur Lattice Position;

2Based on "Growing Artificial Societies" b

y Epstein & Axtell, 1996.

160

Page 171: The History, Philosophy, and Practice of Agent-Based ...

Figure43:Su

garscapeCM4S

Diagram

Page2-Block

ShapeData

Master NameDisplayed TextFromToA

ctionsDecisionsR

ecordersVariables

BasisBlock1.3.3.

- AgentA. Cur X-coord, B. Cu

r Y-coord, C. Vision, D. Metab, E. L

ife Span, F. Start of Life, G. Sugar

Level, H. Goal X-coord, I. Goal Y-coo

rd, J. Agent Number

This block describes the behavior of all of th

e agents in the Sugarsc

ape Simulation. Based on

"Growing Artificial Societies" by Epstein & A

xtell, 1996.

Block1 Wait for Turn2. Look for Sugar

A. My Turn?A. Vision at step, B. Metab at stepRecord the vision and

metabolism of the agent

at that step and wait for its turn before exec

uting further. Time step is b

ased on "Growing Artificial

Societies" by Epstein & Axtell, 1996.

Block2 Look for Sugar1. Wait for Turn3. Move to SugarA. Scan This Location, B. Scan

North, C. Scan South, D. Scan

East, E. Scan WestA. Temp Sugar Level

Look in all four lattice directions to determin

e which possible lattice

location has the most

sugar. Based on "Growing Artificial Societie

s" by Epstein & Axtell, 1996

.Block3 Move to Sugar2 Look for Sugar4. Collect SugarA

. Jump to Goal LocAfter determining the

best sugar lattice position,

move to that position.Block4 Collect Sugar3. Move to Sugar5. Consume SugarA

. Collect the SugarAfter moving to the ne

w position, remove the

sugar from the current lattice position.

Block5 Consume Sugar4. Collect Sugar6. Check Life Span, 7. Agent DiesA. Adjust sugar levelA. Sugar Level>=0?, B. Sugar Level<0?A. Collect Sugar Level

Reduce the sugar level due to metabolism,

record the current lev

el of sugar, and proceed

accordingly based on the agent's current su

gar level.

Block7 Agent Dies5. Consume Sugar9. Agent Turn OverA

. Remove AgentRemove the agent on

ce it has died.Block6 Check Life Span5. Consume Sugar8. Make Replacement, 9. Agent Turn Over

A. Past Life Span, B. Con't LivingChecking if the life sp

an of the agent is exceeded and procee

ding appropriately.Block8 Make Replacement6. Check Life Span9. Agent Turn OverA. Randomly Reset V

ariables, B. Jump to New Loca

tionBased on "Growing A

rtificial Societies" by Epstein & Axtell, 1996

.Block9 Agent Turn Over6. Check Life Span

A. Ready for the Next Agent

This represents the end of the agent's turn a

nd the start of the next ag

ent's turn.

161

Page 172: The History, Philosophy, and Practice of Agent-Based ...

Figure44:Su

garscapeCM4S

Diagram

Page2-DecisionSh

apeData

Displayed TextMaster NameMember OfTransitions To

BehaviorPseudo Code - ConditionPseudo Code - UpdatePseudo Code - StartPseudo Code - StopVa

riableSequence within BlockBasis

A My Turn?Decision1. Wait for Turn2. Look f

or SugarWhen it is the agent's turn to execute based on its num

ber, then begin executing.

If (1.K. Current Active Agent == J. Agent Number) then transition.Every change of 1.K. Curren Active Agent.On Entry

1.K. Current Active Agent, J. Agent Number3This turn-based strategy i

s based on "Growing Artificial Soc

ieties" by Epstein & Axtell, 1996.

B Con’t LivingDecision6. Check Life Span9. Agent

Turn OverIf the agent has not exceeded their life span, then the ag

ent's turn is over.

If (1.L. Current Time - F. Start of Life <= E. Life Span) then transition to 9. Agent Turn OverOn Entry

1.L. Current Time, F. Start of Life, E. Life Span2Based on "Growing Artific

ial Societies" by Epstein & A

xtell, 1996.

A Past Life SpanDecision6. Check Life Span8. Make Replace

mentIf the agent has exceeding their

life span, then insert a replacement agent for them.If (1.L. Current Time - F. Start of Life > E. Life Span) then transition to 8. Make Replacement

On Entry1.L. Current Time, F. Start of Life, E. Life Span1

Based on "Growing Artificial

Societies" by Epstein & Axtell,

1996.A Sugar Level >= 0?Decision

5. Consume Sugar6. Check Life SpanIf the sugar level of the ag

ent is greater than or equal to z

ero, then check whether the a

gent has exceeded it's life spa

n.If (G. Sugar Level>=0) then transition to 6. Check Life SpanOn Entry

G. Sugar Level3Based on "Growing Artific

ial Societies" by Epstein & A

xtell, 1996.

B Sugar Level < 0?Decision5. Consume Sugar7. Agent

DiesIf the sugar level of the agent is less than zero, then the a

gent dies

If (G. Sugar Level>=0) then transition to 7. Agent DiesOn Entry

G. Sugar Level4Based on "Growing Artific

ial Societies" by Epstein & A

xtell, 1996.

162

Page 173: The History, Philosophy, and Practice of Agent-Based ...

Figure45:Su

garscapeCM4S

Diagram

Page2-RecorderSh

apeData

Displayed TextMaster NameMember OfBeha

viorPseudo Code - FunctionPseudo Code - UpdatePseudo Code - StartPseudo Code - StopV

ariablesSequence within BlockPurposeA Collect Sugar LevelRecord5. Co

nsume SugarRecord the amount of sugar

for each agent at each time

step.Record the value of G. Sugar Level

On EntryG. Sugar Level2

Obtain performance data

concerning the sugar level of

agents to be analyzed later.

A Vision at stepRecord1. Wait for T

urnRecord this agent's current vision at each time ste

pRecord the value of C. VisionOn Entry

C. Vision1Obtain performance d

ata concerning the vision

of agents to be analyzed later.

B Metab at stepRecord1. Wait for T

urnRecord the agent's current

metabolism at each time

stepRecord the value of variable D. Metab

On EntryD. Metab2

Obtain performance data

concerning the vision of agents

to be analyzed later.

163

Page 174: The History, Philosophy, and Practice of Agent-Based ...

Figure46:Su

garscapeCM4S

Diagram

Page2-VariableSh

apeData

Displayed TextMaste

r NameMember OfB

ehaviorBasis

A Cur X-coordVariable1.3.

3.- AgentThis is the curren

t x-coordinate of this agent

"Growing Artificial Societies" by

Epstein & Axtell, 1996.

B Cur Y-coordVariable1.3.

3.- AgentThis is the curren

t y-coordinate of this agent

"Growing Artificial Societies" by

Epstein & Axtell, 1996.

C VisionVariable1.3.

3.- AgentThis is the curren

t vision of the agent, which def

ines how far it can see an

d move."Growing Artific

ial Societies" by Epstein &

Axtell, 1996.D Metab

Variable1.3.3.- AgentT

his is the current metabolism of

the agent. This is how

much sugar they consume in o

ne time step."Growing Artific

ial Societies" by Epstein &

Axtell, 1996.E Life Span

Variable1.3.3.- AgentT

his is the current life span of the

agent. Exceeding these

number of steps will result in th

e agent dying."Growing Artific

ial Societies" by Epstein &

Axtell, 1996.F Start of Life

Variable1.3.3.- AgentT

his is when the agent's life beg

an."Growing Artific

ial Societies" by Epstein &

Axtell, 1996.G Sugar Level

Variable1.3.3.- AgentT

his is current sugar level of the

agent."Growing Artific

ial Societies" by Epstein &

Axtell, 1996.H Goal X-coord

Variable1.3.3.- AgentT

his is goal x-coordiante of the

agent."Growing Artific

ial Societies" by Epstein &

Axtell, 1996.I Goal Y-coord

Variable1.3.3.- AgentT

his is goal y-coordiante of the

agent."Growing Artific

ial Societies" by Epstein &

Axtell, 1996.J Agent Number

Variable1.3.3.- AgentT

his is the agent's unique numb

er."Growing Artific

ial Societies" by Epstein &

Axtell, 1996.A Temp Sugar Le

velVariable2. Look for Sug

arThis is a temporary variable

to store the maximum amount

of sugar encou

ntered so far."Growing Artific

ial Societies" by Epstein &

Axtell, 1996.K Cur Lattice Pos

itionVariable1.3.3.- Agent

This is the current lattice posit

ion of the agent."

Growing Artificial Societies" by

Epstein & Axtell, 1996.

164

Page 175: The History, Philosophy, and Practice of Agent-Based ...

Active Agent variable equals the Agent Number variable.

When allowed to proceed, the agent executes a series of activities de�ned by the

Sugarscape Simulation rules. First, the agent proceeds to the Look for Sugar block

where a series of actions are performed to look for a lattice position (within their

visual range) that has the most sugar. These series of actions could be represented

in one action shape, but are detailed here to better highlight the sequence of these

actions. This block not only represents a �state� of the agent, but also de�nes the

algorithm and temporary variable used by the agent to �nd the most sugar. First,

the agent scans their location and then the agent sequentially scans north, south,

east, and west, as per the Sequence within Block property of these actions. The

Pseudo Code - Function property of each action e�ectively and easily conveys how

the relatively complex scanning task is executed without being overly technical or

formally complete.

After all of the actions in the Look for Sugar block have executed, control is

passed to the Move to Sugar block where the agent moves to the neighboring location

with the most sugar. The agent collects and consumes the sugar dictated by their

metabolism; the net level of sugar obtained by the agent is recorded. At this point

two related conditions are evaluated: is the sugar level of the agent greater than or

equal to zero or is it less than zero? If it is less than zero, then the agent dies and is

removed from the simulation. If the sugar level of the agent is greater than or equal

to zero, then another series of activities occur before the agent's turn is over.

Evaluating two decisions determines how to proceed based on the agent's life span

and current length of life in the Check Life Span block. If the agent is past its life

span then a replacement agent is created and the old agent is removed. Once the

replacement agent is created or the agent is within its life span the agent's turn is

over and the agent signals the next agent's turn via adjusting the 1.K Current Active

Agent variable.

165

Page 176: The History, Philosophy, and Practice of Agent-Based ...

This section highlighted some of the key aspects of the CM4S Diagram represen-

tation of the Sugarscape simulation. One should spend time reviewing the diagram to

completely understand the Sugarscape scenario, the Sugarscape Simulation, and how

the CM4S Diagram represents the simulation. A key purpose of the diagram is to

provide a wealth of information that is often either not conveyed or not conveyed well

with traditional model description techniques. Thus, any written description is likely

to be inherently incomplete when compared to the CM4S Diagram. Walking through

this example is the best way to fully understand the CM4S Diagram's functionality.

8.4.3 The E�ectiveness of the Sugarscape CM4S Diagram

The CM4S Diagramming Technique can represent the conceptual model of an ABM

simulation. It captures and documents the key activities, behaviors, timing, statistics,

and characteristics of the conceptual model of the simulation and documents the �why�

information of each shape for sanctioning purposes. However, note that even for this

relatively simple simulation, a signi�cant amount of work was required to actually

build the CM4S Diagram. This is not a drawback of the CM4S Diagram, but is a

re�ection of the di�culty and complexity required to truly document the execution

and sanctioning criteria of a simulation model. A simple written description only

begins to capture the simulation and building an e�ective simulation that executes

in a computer is not a simple task.

Further evaluation of the e�ectiveness of the CM4S Diagram is discussed in Part

III: The Evaluation of the CM4S Diagram, where two ABM simulation projects (mil-

itary and supply chain examples) are constructed and analyzed using the CM4S Di-

agram.

166

Page 177: The History, Philosophy, and Practice of Agent-Based ...

8.5 Capabilities and Conclusions

The fundamental goal of the CM4S Diagram is to advance ABM as an analysis tool.

The CM4S Diagram satis�es all 10 requirements of the ABM diagramming technique

solution concept. The basic syntax of the CM4S Diagram was described and used

to build a conceptual model of Epstein and Axtell's Sugarscape Simulation. The

CM4S Diagram represents the �rst diagramming technique designed speci�cally for

the e�ective representation, construction, and sanctioning of ABM computer simula-

tions based on identi�ed needs in the ABM modeling �eld and simulation modeling

philosophy.

167

Page 178: The History, Philosophy, and Practice of Agent-Based ...

III. The Evaluation of the Conceptual

Model for Simulation Diagram

168

Page 179: The History, Philosophy, and Practice of Agent-Based ...

In Chapter 8 of Part II, the CM4S Diagram is presented in its �nal version.

However, as with any newly developed product, the CM4S Diagram went through

several revisions and evaluations prior to the �nal version. This part of the document

reviews the evolution of the CM4S Diagram through two rounds of improvement

studies where a version of the CM4S Diagram was developed, used to construct an

ABM simulation, evaluated for �aws and overall e�ectiveness, and then improved.

The revisions resulting from these studies represents a signi�cant improvement and

re�nement of the CM4S Diagram. Furthermore, constructing unique ABM simula-

tions from various domains and levels of complexity highlights the robustness of the

CM4S Diagram as well as the successful application of the theories, principles, and

philosophies developed and discussed in Part I.

169

Page 180: The History, Philosophy, and Practice of Agent-Based ...

The Proof of Concept: Replicating

the Bay of Biscay Scenario with the

CM4S Diagram Prototype 4

In this chapter the initial prototype of the CM4S Diagram is described and evaluated

by constructing an ABM simulation that replicates Scenario 1 of Champagne [26]

Bay of Biscay ABM Simulation as a proof of concept study. One of the primary

reasons for selecting this scenario is that it can be represented as a complex ABM

Simulation and has had real implications on past, present, and even future military

strategies. The Bay of Biscay Scenario took place in WWII when German Uboats,

or submarines, would cross the Bay of Biscay (as shown in Figure 47) from captured

French Ports to disrupt logistical forces in the North Atlantic that were supporting

the Allied war e�ort. To combat this the Allies sent Airplanes to search the Bay

for surfaced Uboats and destroy them. Although on the surface this scenario may

seem relatively simple, it demonstrates complexity due to technological developments,

possible searching strategies, and various tactical policies. Uboat search operations

helped develop the �eld of Operations Research and since that time several books

were written and models developed to gain further insight into this scenario [75, 114].

Another reason for selecting this simulation was the amount of available docu-

mentation. Many aspects required to reproduce the simulation are included because

a signi�cant portion of Lance Champagne's dissertation was spent describing the Bay

4Paper submitted to ACM: Transactions on Modeling and Computer Simulation featuring CM4SDiagram and the Bay of Biscay proof-of-concept.

170

Page 181: The History, Philosophy, and Practice of Agent-Based ...

Figure 47: Bay of Biscay Map

of Biscay ABM Simulation. As discussed earlier, this amount of documentation is

rarely provided for published simulation projects. With abundant details, one could

more e�ectively develop an example within the CM4S Diagram Prototype as a proof

of concept, describe the functionality of the prototype, more e�ectively show the use-

fulness and application of the CM4S Diagram Prototype, and further improve the

CM4S Diagram Prototype and identify shortcomings. Ultimately, deciding to repro-

duce another simulation puts more emphasis on the CM4S Diagram Prototype and

less emphasis on creating an entirely new simulation.

Finally this ABM Simulation leads to a more meaningful discussion regarding the

sanctionability of the reproduced ABM Simulation using the CM4S Diagram Pro-

totype. In his dissertation, Champagne provides both conceptual and operational

benchmarks that can help gauge the sanctionability of the ABM Simulation. For

example, Champagne provides justi�cation and documentation regarding the logic

171

Page 182: The History, Philosophy, and Practice of Agent-Based ...

of how Aircraft searched for Uboats and how the Uboats responded to the Aircraft.

Using this documentation a better conceptual model can be constructed and some

claims about the sanctionability of the conceptual model can be made. Also, Cham-

pagne provides key operational measures such as Number of Sightings and Number of

Kills that can be used to operationally sanction our simulation. Being able to make

these comparisons will further support the e�ectiveness and justi�cation of the CM4S

Diagram Prototype. It should be made clear that this chapter does not directly com-

pare this simulation with the real system. It compares a new Bay of Biscay model

with with another well documented and sanctioned simulation.

9.1 The Initial Design of the CM4S Diagram Proto-

type

Before proceeding with the description of the simulation it is worthwhile to describe

the initial design of the CM4S Diagram Prototype. In the following subsections

the fundamental characteristics of the CM4S Diagram Prototype are described along

with the basic structure. The purpose of describing these elements is to aid in the

understanding of the CM4S Diagram Prototype as it existed during this simulation

development e�ort.

9.1.1 Fundamental Characteristics

A prototype design of a new ABM modeling tool was developed to have the appro-

priate capabilities to meet the de�ned needs. This new ABM tool, the Conceptual

Model for Simulation Diagram Prototype or CM4S Diagram Prototype, is based pri-

marily on the structure of Statecharts because of their ability to visually represent

structures and relationships of complex systems [46]. However, the CM4S Diagram

Prototype only borrows the fundamental structural pieces from Statecharts for vi-

sual representation purposes and does not incorporate many of the de�nitions that

172

Page 183: The History, Philosophy, and Practice of Agent-Based ...

compose and de�ne a Statechart. For example, the CM4S Diagram Prototype uses

arcs to represent the movement from one block of activities to another, but unlike

Statecharts arcs, CM4S Diagram Prototype arcs do not determine when to transition

among blocks or states.

The CM4S Diagram Prototype also incorporates some of the basic shapes and

properties of Flowcharts for the purpose of simplifying and providing �exibility to

those using the CM4S Diagram Prototype. For example, within each block or state,

there are a set of actions, interactions, or decisions shapes that de�ne the activities

occurring when the modeled entity is in that block or state. Without requiring the

users to speci�cally de�ne events and the transitions to new states, the CM4S Dia-

gram Prototype allows some �exibility to rede�ne the activities without needing to

completely build a new model. Having simple shapes representing di�erent activities

within a block allows evaluators or builders to quickly determine what is occurring in

that block without the need for dealing with the detailed logic of the model. Incorpo-

rating these simple shapes allows users to spend more time focusing on behaviors and

activities and less time worrying about how best to design the logic of the computer

simulation. Even with these change, the CM4S Diagram Prototype remains formal

and provides enough information to translate the diagram into a simulation.

The CM4S Diagram Prototype incorporates visual aspects to aid the user in de�n-

ing and understanding the hierarchical structure, relationships, and activities that

occur in each block or state. The CM4S Diagram Prototype also incorporates a

database of properties for each shape to provide details necessary to properly sanc-

tion and build the simulation. For example, an Action shape has �ve properties that

de�ne its relationship to other shapes, the behavior of the real system it is trying

to mimic, pseudo code to help to translate that real system behavior into a simula-

tion, and a reference to the source that describes that behavior occurring in the real

system. With these properties, the CM4S Diagram Prototype contains much of the

173

Page 184: The History, Philosophy, and Practice of Agent-Based ...

�why� information that is often lacking in other modeling techniques. This de�nes

why the CM4S Diagram Prototype can be translated into a simulation and provide

enough information for evaluators to review the sanctionability of the simulation.

9.1.2 Basic CM4S Diagram Prototype Structure

There are �ve shapes that are used to construct the CM4S Diagram Prototype. The

�rst shape is the Block, visually represented as a rectangle, which de�nes a collec-

tion of shapes. The Block is the fundamental shape that describes the hierarchical

relationship and structure of the system being simulated and it can be used to de-

scribe that state of the system at any point in time. For example, a Block called

Environment could describe the collection of shapes that describe the environment

within which the agents operate. Activities or behaviors within a Block could be

de�ned to occur �synchronously� or �concurrently,� which is a fundamental property

of Statecharts. Actions within a Block could de�ne the creation of more instances of

Blocks. For example, in a Build Agents Block there could be an action that creates

40 agents.

The CM4S Diagram Prototype has shapes to describe the micro-level behaviors

that occur within the model. The Action shape describes an activity that changes

an entity or variable and is visually represented with a block arrow. An example of

an Action may be the consumption of food or moving to a new location. A special

case of the Action shape is called the Interaction Shape, visually represented by a

circle. The Interaction Shape de�nes the exchange of information between agents. For

example, an Interaction could be the communication of the location of an important

resource between two agents. There are two fundamental reasons the existence of

the Interaction shape. First, when evaluating or building an ABM simulation it is

important to understand the interactions that occur between agents; making it a

special shape makes the identi�cation of this behavior easier. Second, the interaction

174

Page 185: The History, Philosophy, and Practice of Agent-Based ...

between agents within a simulation often requires special programming attention;

explicitly capturing this behavior can aid in translating the CM4S Diagram Prototype

into a simulation. The �nal shape that describes micro-level behavior is the Decision

shape, visually represented with a diamond. A Decision shape examines a set of

conditions and determines whether to transition to another block. For example, a

Decision could be to transition from a Move Block to a Stop Block if an obstacle in

encountered by some moving agent.

The �nal shape used in the CM4S Diagram Prototype is the Information Shape,

visually represented with an horizontally elongated circle. The Information shape

provides information referenced by the Behavior Shapes. For example, an Information

shape could represent the simulation clock that a Decision shape references to see if

the simulation should terminate. An Information shape could represent the schedule

by which Agents are created or destroyed. The Information shape is included in the

CM4S Diagram Prototype to convey key information that the simulationist does not

want to represent using Blocks, Actions, Decisions, and Interactions.

These shapes, also have speci�c properties. A Block shape has �ve properties.

The From property describes which blocks transition to it. The To property describes

blocks that can transition to it. The Decisions, Actions, and Interactions properties

describe the respective shapes that are directly contained within the block. The

fundamental properties of the Block shape describes its relationships to other shapes.

The Behavior Shapes (Action, Decision, and Interaction) also have �ve properties

that are closely related to each other. The �rst property is the Member Of prop-

erty, which describes the direct block that the shape belongs to. The next property

describes the activity being performed. For the Action shape, the Impacts Decision

property describes any Decision shape that is being impacted by the action. For the

Decision shape, the Transitions To property describes blocks that can be transitioned

to as a result of the decision. For the Interaction shape, the Interacts With property

175

Page 186: The History, Philosophy, and Practice of Agent-Based ...

Table 4: CM4S Diagram Prototype Shape Descriptions

describes the blocks or shapes that the interaction impacts. The �nal three properties

for the Behavior Shapes are exactly the same. The Behavior property describes a

behavior of the real system that the shape is attempting to mimic. The Pseudo Code

property describes the pseudo code intended to facilitate translating the behavior into

the simulation. Finally, the Source property is a reference to a source that provides

the justi�cation for that behavior.

The �nal shape, the Information shape, has three properties; Member Of, Be-

havior, and Source. Each of these properties are as previously de�ned for Behavior

Shapes. A complete summary of the shapes, their visual representation, properties,

de�nition, and some examples are shown in Table 4. Although the CM4S Diagram

Prototype is still in the early stages of development, the fundamental shapes and

the structure associated with Statecharts can e�ectively provide rich descriptions of

most ABM simulations. As a proof of concept, to further describe the functionality

of the CM4S Diagram Prototype, and to show CM4S Diagram Prototypes e�ective-

176

Page 187: The History, Philosophy, and Practice of Agent-Based ...

ness at sanctioning, a CM4S Diagram Prototype will be developed for the Bay of

Biscay ABM Simulation Scenario 1. Furthermore, a template of the CM4S Diagram

Prototype was developed using Microsoft Visio 2007 that will have all of the CM4S

Diagram Prototype shapes and properties.

9.2 Scenario 1 of the Bay of Biscay ABM Simulation

In Champagne's Bay of Biscay ABM Simulation there are two scenarios that approx-

imately correspond to the developments that occurred in WWII. For simplicity only

Scenario 1 is replicated. However, the changes presented in Scenario 2 could easily be

incorporated in the CM4S Diagram Prototype and the resulting ABM Simulation. In

the next few paragraphs, a general description of the modeled Scenario 1 is provided

as given in Champagne's Dissertation. For more detailed information see [26].

Scenario 1 takes place over the six month period from October 1942 to March

1943 and is proceeded by a 12 month warm-up period where only the Uboats travel

between the North Atlantic and French Ports. After the 12 month warm-up period

the Aircraft take o� from England and search for the Uboats in a 50 NM by 50 NM

search area using the Modi�ed Barrier Search Pattern. The Aircraft are randomly

assigned to search 200 NM x 350 NM area that is not within a 100 NM of the

French coast and are schedule to take o� uniformly throughout a 24 hour period.

Furthermore, they must be at the base for a 12 hour period before taking o� again.

Throughout the simulation there are 19 Aircraft such that the number of sortie hours

approximately correspond to the historical number of sortie hours �own during that

six month period. Aircraft travel at 120 knots and search for Uboats for 7 hours and

then return to the base. If at anytime the Aircraft detects a Uboat and �res, the

Aircraft will immediately return to the base.

During this Scenario the Uboats observe the maximum submergence and nighttime

surfacing policy. Day is de�ned as the time between Nautical Dawn and Nautical Dusk

177

Page 188: The History, Philosophy, and Practice of Agent-Based ...

and Night is the the time between Nautical Dusk and Nautical Dawn. While on the

surface the Uboats will scan for Aircraft and upon detection will submerge until it is

nighttime. On the surface the Uboats travel at 10 knots and while submerged they

travel at 2.5 knots. They can only travel 3 hours submerged before they must surface

to recharge their batteries if they wish to continue moving. For every hour traveled

on the surface, the batteries have one more hour of submerged travel time up to a

total of 3 hours of submerged travel. When they are within a 100 NM of the French

coast they will travel on the surface because they will have German Aircraft support.

During the warm up period the 70 Uboats are randomly distributed across the Bay of

Biscay and are set to either head towards their home port or the North Atlantic. Once

the warm up period is over, at the beginning of each month a scheduled number of

Uboats enters the simulation at their home port and heads toward the North Atlantic.

While in the North Atlantic the Uboats have 30 days worth of provisions and have a

25% chance of extending their time in the North Atlantic by another 30 days. Once

the Uboats reach their port they will uniformly depart again after 25 to 40 days.

For detection both the Aircraft and the Uboats used the Inverse Cube Law, which

incorporates the use of multiple sensors to create a positive probability of detection

regardless of the distance away from the target. Although the sensors and their range

was not directly provided by Champagne for the Aircraft and the Uboats, Champagne

did reference [75, 114] which gave the breakdown of the sensors. Based on those refer-

ences, the sweep width and detection probability was calculated. Furthermore, when

an Aircraft detects a Uboat it has a 0.02 probability of killing the Uboat regardless

of the time of day.

Although many details of the simulation that were given by Champagne are be-

yond what is typically encountered in the modeling literature, there were still many

aspects of his simulation that were not completely clear. There are several reasons

for this lack of clarity. First, Champagne primarily relies on written descriptions to

178

Page 189: The History, Philosophy, and Practice of Agent-Based ...

convey the logic and activities of the simulation supplemented with logic �owcharts.

This means of communication can be fairly confusing if the sentence is not worded

e�ectively. For example, saying Uboats submerge after detecting an Aircraft and

then resurface at night could be interpreted several di�erent ways. Do they resurface

immediately if it is night time? Do they resurface after 3 hours and it is still night

time? Unless the written description is in a clear structure and formalism there is

ambiguity. This problem with written descriptions further indicates that some sort of

formal description of the model is required to support attempts to reproduce a model

or even interpret the model's sanctionability as part of the scienti�c or engineering

process.

Closely related to the lack of formal description is that the written description

provides no structure that allows the author to describe all of the necessary details

in order for others to reproduce their work. After spending a signi�cant amount of

time building a simulation it is likely that small, yet critical, pieces of the simulation

are left out of written descriptions. For example, Champagne did not include critical

information regarding the detailed sensor data in his descriptions of the model. In

this particular case I was able to �nd the sensor data that I believe he used, however

I cannot be 100% certain. It could be conjectured that if a more formal description

was supplied, then some of these unintentional omissions would be averted.

Overall, the description of the simulation given in Champagne's Dissertation pro-

vided most of the information needed in order to reproduce both the conceptual and

operational aspects of the simulation. When something was encountered that was

unclear I attempted to review any references given for clari�cation. However, if no

reference were given reasonable assumptions were made and were recorded in the

CM4S Diagram Prototype that was developed.

179

Page 190: The History, Philosophy, and Practice of Agent-Based ...

9.3 Bay of Biscay CM4S Diagram Prototype De-

scription

Based on Champagne's Dissertation, a CM4S Diagram Prototype was developed to

serve as a medium between the real world system and the simulation model. The

CM4S Diagram Prototype is the descriptive and de�nitional abstraction of the real

system that serves as a translator between the in�nitely complex real world and the

�nitely de�ned simulation. This section describes the CM4S Diagram Prototype's

functionality and explains how the CM4S Diagram Prototype aids in building better

simulation models.

A CM4S Diagram template was built using Microsoft Visio 2007. The CM4S

Diagram Prototype of the Bay of Biscay ABM Simulation was built using this basic

template. This Visio �le is available to download at www.cm4sdiagram.com. The

reason for selecting Visio to develop the CM4S Diagram Prototype was the ease of

use, the ability to run reports to obtain the properties of all the shapes, and the

general industry knowledge of Visio.

There are four di�erent sheets or views of the simulation within the CM4S Diagram

Prototype �le. The �rst view is the �Bay of Biscay Model� shown in Figure 48. This

view shows the model-level abstraction of the simulation and includes initialization

blocks and execution blocks. Also, this view shows the major actions taken to initialize

and run the simulation. The second view called �Environment� shows the environment

level of abstraction and is in Figure 49. This includes the Uboats and the Aircraft

that exist in the environment, their basic interaction, and the progression between

night and day. Note that the �Environment� view is part of the �Bay of Biscay Model�.

Having separate views aids the user in viewing di�erent levels of abstraction in the

CM4S Diagram Prototype. The �nal two views are the �Uboat� (Figure 50) and

�Aircraft� (Figure 51) views, which display the detailed behaviors of each agent.

Collectively these views display hierarchical structure of the actions that take

180

Page 191: The History, Philosophy, and Practice of Agent-Based ...

Figure 48: CM4S Diagram Prototype - Bay of Biscay Model View

181

Page 192: The History, Philosophy, and Practice of Agent-Based ...

Figure 49: CM4S Diagram Prototype - Environment View

182

Page 193: The History, Philosophy, and Practice of Agent-Based ...

Figure 50: CM4S Diagram Prototype - Uboat View

183

Page 194: The History, Philosophy, and Practice of Agent-Based ...

Figure 51: CM4S Diagram Prototype - Aircraft View

184

Page 195: The History, Philosophy, and Practice of Agent-Based ...

place in the real world and the simulation. For example, in the Uboat view (Figure

50) there are many actions that can happen while the Uboat is crossing the Bay,

such as they can be surfaced, submerged and moving, submerged and stopped, or

be destroyed. Furthermore, the boundaries of the real world abstraction and the

simulation are clearly seen. One can observe in the Environment view (Figure 49)

that the agents involved are the Aircraft and Uboats and that the time of day plays a

role. In the Model view (Figure 48) one can see the simulation details, the building of

the environment, the creation of new agents, and other important simulation aspects

that de�ne when the simulation begins and ends.

Although the visual aspects of the CM4S Diagram prototype provides ample in-

formation, it does not provide enough information for the purposes of sanctioning

this conceptual model or building the simulation. This is where the database of

information/properties related to each shape �lls in the details. For each shape in

the CM4S Diagram Prototype there are a series of properties that further de�ne the

details of that shape. In the Visio �le of the CM4S Diagram Prototype, whenever

a shape is selected, a Shape Data Window opens and prompt the user to �ll out

the properties associated with that shape. For example, a screen shot of the CM4S

Diagram Prototype in Visio shows the Shape Data Window for the �Depart Port�

decision shape in the Uboat block in Figure 52. In the �Depart Port� shape there are

�ve associated properties: Member Of, Transitions To, Behavior, Pseudo Code, and

Source. The associated value of the Member Of properties is In_Port because this

describes the block that the decision shape resides in. Furthermore, the Transitions

To property is set to Cross_Bay because this describes the block transitioned to as

the result of the decision. The Behavior property describes the behavior that the

decision shape executes and in turn the Pseudo Code property lists the pseudo code

that more precisely describes the behavior. Finally, the Source property describes the

source of the behavior and in this case Champagne's 2003 Dissertation is referenced.

185

Page 196: The History, Philosophy, and Practice of Agent-Based ...

Figure 52: Uboat Decision Shape Property Example

For more details on all of the properties associated with each shape, see the earlier

section discussing the CM4S Diagram Prototype design.

The remainder of this section describes in detail just the Uboat block of the CM4S

Diagram Prototype. This detailed discussion illustrates how to read and interpret a

CM4S Diagram Prototype. Although ideally done dynamically within the Visio �le,

all of the necessary information pertaining to the Uboat block is provided in this

chapter. The visual of the Uboat block is shown in Figure 50. The list of action

properties, block properties, decisions properties, and interaction properties of the

shapes within the Uboat block are shown in Figures 53, 54, 55, and 56, respectively.

Based on the real world description of the Bay of Biscay and the provided behavior

of the Uboats, a conceptual model was developed of the Uboat behavior that captures

the desired level of abstraction, provides documentation of that conceptual model,

and is designed for simulation. Notice in the description that there are 70 Uboats.

However, in the CM4S Diagram Prototype there is only one Uboat block. This

does not mean that all of the Uboats are homogeneous or that there is only one

Uboat. In fact, the Uboats are heterogeneous because each Uboat is assigned to have

di�erent home ports and destinations in the North Atlantic (this aspect is de�ned in

the Initialization block). However, while some of the parameters of the Uboats are

186

Page 197: The History, Philosophy, and Practice of Agent-Based ...

Figure53:UboatActionSh

apeProperties

187

Page 198: The History, Philosophy, and Practice of Agent-Based ...

Figure54:UboatBlock

ShapeProperties

188

Page 199: The History, Philosophy, and Practice of Agent-Based ...

Figure55:UboatDecisionSh

apeProperties

189

Page 200: The History, Philosophy, and Practice of Agent-Based ...

Figure56:UboatInteractionSh

apeProperties

190

Page 201: The History, Philosophy, and Practice of Agent-Based ...

heterogeneous, their behavior logic is homogeneous. Therefore, we can represent all

Uboats with a single conceptual block with generic parameters that can be adjusted

for each individual Uboat.

For simplicity I will describe the behavior of a Uboat as starting at its home port

and about to cross the Bay of Biscay in route to the North Atlantic. Therefore, we

will begin in the In_Port block, which has one action shape, Set Departure, and one

decision shape, Depart Port. While in this block the Uboat executes the Set Departure

action, which sets a departure time to be 25 to 40 days into the future, and the Uboat

evaluates whether it is time to depart based on the Depart Port decision shape. As

described in the Depart Port decision shape properties, the Uboat transitions to the

Cross_Bay block when the current simulation time is equal to the departure time.

When the Uboat transitions to the Cross_Bay block, it will immediately transition

to the On_Surface block within the Cross_Bay block. This behavior is indicated by

the circle with the arc pointing to the On_Surface block. Note that there are two

shapes that are members of the Cross_Bay block which have precedence over all of

the shapes within the On_Surface block, the Submerged and Destroyed blocks, which

are at a higher level of aggregation. Further, even though the Uboat can be crossing

the bay in many di�erent states, once they reach their goal they will automatically

transition to the In_Atlantic block. This idea of hierarchy is very important in the

CM4S Diagram Prototype because it helps capture and convey complex behaviors.

Within the Cross_Bay block the Set Goal action shape sets a goal location in the

North Atlantic and the Goal Reached decision shape evaluates when that goal is

reached and to then transition to the In_Atlantic block.If the goal has not been

reached, then the internal blocks of the Cross_Bay continue to execute.

Within the On_Surface block there are several di�erent shapes. The Charge

Battery action shape is a reoccurring action shape that charges the batteries for up to

3 hours. The Travel action shape is a reoccurring shape that moves the Uboat towards

191

Page 202: The History, Philosophy, and Practice of Agent-Based ...

the goal at 10 knots. The Travel action shape updates the location, which is evaluated

by the higher level Goal Reached decision shape. The Scan for Aircraft interaction

shape is a reoccurring action that accesses all of the Aircraft in the simulation location

and calculates whether the Uboat can detect any aircraft in their area. For more

details, see the Uboat Interaction Shape Properties in Figure 56. The Bombed by

Aircraft interaction shape checks to see if any Aircraft have recorded hitting the

Uboat. Finally, the Surface Policy decision shape determines whether it is time to

transition to the Destroyed block of the Submerged Block. If the Uboat has been

hit, then it transitions to the Destroyed block. If the Uboat has spotted an Aircraft,

or if the sun is up, then the Uboat will transition to the Submerged block. (Uboats

preferred submerged operations as they were harder to locate by aircraft).

Within the Destroyed block there is one action block: End Uboat. The End Uboat

action shape removes the Uboat from the simulation after it has been destroyed.

Inside the Submerged block, there is another level of blocks as well as the di�erent

Surface Policy decision shape. This Surface Policy decision shape evaluates when it is

time to transition to the On_Surface block based on the surfacing policy set forth in

Scenario 1. Once the Uboat has transitioned to the Submerged block it immediately

transition to the internal Moving block. Thus, in this case, the Uboat is crossing

the bay, submerged. Within the Moving block there are two action shapes and one

decision shape. The Travel action shape is a reoccurring shape that moves the Uboat

towards the goal at 2.5 knots. The Deplete Batteries action shape is also a reoccurring

shape that depletes the battery charge. The Battery Life decision shape determines

if the batteries have been completely depleted and then transitions the Uboat to the

Stopped block. Within the Stopped block the Travel action shape moves the Uboat

towards the goal at 0 knots.

When the Uboat reaches its goal coordinates the Uboat transitions to the In_Atlantic

block. Within the In_Atlantic block the Set Departure action shape sets the time

192

Page 203: The History, Philosophy, and Practice of Agent-Based ...

at which the Uboat begins heading back toward its home port. The Depart Port

decision shape evaluates whether the current time equals the departure time at which

point the Uboat will transition to the Cross_Bay block. The goal coordinates at this

time are the Uboat's home port and not the North Atlantic.

Although this description of the Uboat's CM4S Diagram Prototype behavior is

at a relatively high level, describing it has provided a better understanding of how to

read and interpret a CM4S Diagram Prototype. More detail about the Uboat and

the entire Bay of Biscay simulation, and the �whys� for each behavior as it supported

Champagne's goals, is available in the CM4S Diagram Prototype �le. The ability of

the CM4S Diagram Prototype to provide both high and low levels of details further

�lls the need for evaluators of various level of expertise to understand the conceptual

model of the simulation. Thus, the CM4S Diagram Prototype can be used as a tool

for sanctioning and as a tool for verifying simulation performance.

9.4 Identi�ed Improvement Areas for the CM4S Di-

agram Prototype

The Bay of Biscay proof of concept shows the CM4S Diagram Prototype useful as a

tool for sanctioning and verifying that a simulation performs as intended. However,

the need for several additions to the CM4S Diagram Prototype were apparent. These

include:

1. An additional property for the action and interaction shapes that de�nes time

and frequency of occurrence. While attempting to reproduce the Bay of Biscay

simulation, there was a glaring need to better de�ne the timing aspect of the ac-

tions within CM4S Diagram Prototype for simulation. For example, the notion

of travel is easy to conceptually comprehend, but abstracting this continuous

action into a discrete action was a critical part of building the simulation.

2. An additional shape or property that completely de�nes the collection of a key

193

Page 204: The History, Philosophy, and Practice of Agent-Based ...

statistics used to evaluate the operational e�ectiveness of the simulation. As

discussed earlier, not de�ning how statistics from the simulation are de�ned can

be just as troublesome as not de�ning behaviors of the simulation.

3. A naming or numbering convention for the shapes was needed to better show

the hierarchy of the shapes, relationships between them, and to allow for easier

identi�cation of unique shapes. A naming or numbering convention such as the

one in IDEF0 was needed.

4. The representation of the interactions and coordination between agents needs

improvement and better de�nition. At the prototype state, a dotted line rep-

resents the passing of information between the Aircraft block and the Uboat

block (see Figure 49). The coordination of the Aircraft search areas was also

represented by a dotted block. Whether this is the best way approach is de-

batable, however parallel actions on the Agent level are not well represented by

the CM4S Diagram Prototype.

9.5 Sanctioning the Reproduced Bay of Biscay ABM

Simulation

Using the CM4S Diagram Prototype as a guide and veri�cation tool, the reproduced

Bay of Biscay ABM Simulation was constructed using AnyLogic simulation software.

Figure 57 shows a screen shot of the simulation in action (the dark ellipses are sub-

merged Uboats). From this screen shot, it can be seen that Uboats are crossing the

Bay of Biscay and Aircraft are searching 50 NM by 50 NM areas denoted by the

squares in the bay. Furthermore, because it is night (indicated by the dark circle at

the bottom of the �gure) most of the Uboats are surfaced while some are submerged

because they have spotted a plane.

The CM4S Diagram Prototype was then used to verify and sanction the sim-

194

Page 205: The History, Philosophy, and Practice of Agent-Based ...

Figure 57: Bay of Biscay ABM Simulation Screen Shot

195

Page 206: The History, Philosophy, and Practice of Agent-Based ...

ulation. The CM4S Diagram Prototype helped determine that the simulation was

running as intended (veri�cation). The simulation was then sanctioned against the

results of Champagne's Dissertation based on both conceptually and operationally

sanctioning. To conceptually sanction the simulation, the CM4S Diagram Prototype

documented and described how the conceptual model from Champagne's Dissertation

was abstracted. For behavior in the CM4S Diagram Prototype of the Bay of Biscay,

and therefore executed by the simulation, a source that provides the �why� justi�ca-

tion for each of those behaviors was provided. The few behaviors where Champagne's

description is unclear are documented in the Source property. Therefore, based on

the documentation within the CM4S Diagram Prototype, we have a sanctionable con-

ceptual model of the Bay of Biscay simulation that closely mimics the model from

Champagne's 2003 Dissertation.

To operationally sanction the simulation three key statistics were collected and

compared to the results published in Champagne's Dissertation. These statistics were

the total number of Uboat kills, the total number of Uboat sightings, and the total

number of sortie hours �own at the end of the simulation. A total of 20 replications of

the simulation were performed and the results are shown in Figure 58. From this data,

several two-sided Two-Sample t-Tests assuming unequal variances were performed at

95% level of signi�cance. The results from these tests are displayed in Figure 59.

The conclusions that can be drawn from the statistical tests are that the repro-

duced simulation is not signi�cantly di�erent in terms of the number of kills and the

number of sightings. However, it is signi�cantly di�erent in terms of the number of

sortie hours �own. There are several possible reasons for this discrepancy. The �rst

is that it is unclear exactly how Champagne modeled the Aircraft schedules. In his

dissertation he mentions that there are weather delays, however he does not mention

the frequency of these delays. Also, there are several di�erent ways one could inter-

pret his description of the Aircraft scheduling procedure and length of �ight time. For

196

Page 207: The History, Philosophy, and Practice of Agent-Based ...

Figure 58: Bay of Biscay ABM Simulation Results

Figure 59: Two-sided Two-Sample t-Test Results

197

Page 208: The History, Philosophy, and Practice of Agent-Based ...

example, he says that Aircraft searched the Bay until 70% of their fuel was depleted.

Based on a few sentences we interpreted this to mean that the Aircraft were searching

for 7 hours until they began to return to the base, but one could interpret this aspect

of the Aircraft �ight time di�erently. For example, we could attempt to calculate the

actual fuel level based on the �ight of the Aircraft.

Another potential reason for this discrepancy is that Champagne does not discuss

how he collected the number of sorties hour �own. Di�erent interpretations of when

the Aircraft are taking part in searching for Uboats could result in di�erent number

of sortie hours �own. This point brings up an unforeseen need that a future version of

the CM4S Diagram Prototype needs to incorporate and clearly de�ne how measures

of performance are captured.

A third potential reason for this discrepancy is the way in which Champagne

arrived at getting his number of sortie hours to match the historical results. The

number of Aircraft in his simulation was set to 19 because it resulted in his simulation

obtaining �ying hour results that were close to the historical �gures. This modeling

�tting aspect of his simulation could present further di�culties and complexities to

the problem of reproducing his simulation because I am not 100% certain how he

modeled every single aspect of the airplane and furthermore I cannot be 100% certain

that his given descriptions were accurately executed in his simulation. Reproducing a

simulation when the original simulation used model �tting may be a more challenging

task than reproducing a simulation that is built using model testing.

Although one of the three measures of operational performance was signi�cantly

di�erent, it was one of the least critical measures in terms of the objective of the

original simulation which was to evaluate strategies of the Aircraft and Uboats. As

a result, a reasonable conclusion is that the CM4S Diagram based simulation is both

conceptually and operationally sanctioned.

This proof of concept study provides evidence that the the CM4S Diagram is very

198

Page 209: The History, Philosophy, and Practice of Agent-Based ...

promising and could aid in the advancement of ABM as an analysis tool.

199

Page 210: The History, Philosophy, and Practice of Agent-Based ...

Utilizing the CM4S Diagram for an

ABM Simulation of Order Pickers in

a Manual Low Picking,

Picker-to-Parts Distribution Center

with Congestion 5

This chapter describes the revised CM4S Diagram and corresponding ABM Simu-

lation of a Distribution Center (DC). In particular, the simulation represents the

behaviors of the order pickers in a Picker-to-Part, Low Picking DC and focuses on rep-

resenting the goals, movements, and interactions of the pickers. The key motivation

for simulating this system is personal experience and the lack of literature discussing

simulations capable of representing the congestion component of order pickers. The

conceptual model of the simulation is described and justi�ed using the CM4S Dia-

gram and the simulation is constructed using the simulation software AnyLogic. To

operationally sanction the simulation a series of experiments are performed to test

the simulation's results against the expected dynamics of the system as described in

[112]. After operationally sanctioning the simulation, the key results are discussed,

the e�ectiveness of the in CM4S Diagram in representing the conceptual model is

evaluated, and suggestions to improve the diagramming technique are made.

5To be submitted for publication consideration to the International Journal of Production Re-

search.

200

Page 211: The History, Philosophy, and Practice of Agent-Based ...

10.1 Background and Motivation

The primary reason for studying order pickers in a DC comes from my previous work

experience in the domain. While employed as an industrial engineering consultant, I

worked on several DC projects where I was predominantly responsible for developing

labor standards for powered truck (i.e. forklift, pallet lifts) operators in DCs [48].

Typically, these DCs are classi�ed as Manual Low Level, Picker-to-Parts because

items are manually picked from the ground level and the order pickers drive low lift

pallet trucks to pick items [31], respectively. During these projects it quickly became

evident that the amount of time it takes for an average skilled operator to perform a

task (drive to the next item on their order list and pick the item) depended in part

on the tra�c congestion of their work space. The more order pickers and/or forklift

operators in the area, or along their traveled path, the longer it would take them to

complete a task.

There are several ways to account for the extra time required to complete a task

due to congestion. The most common ways involve observing how much time, on

average, an order picker is delayed due to tra�c. However, these techniques often

become educated guesses because congestion is dynamic and the delay due to con-

gestion is a mixture of many di�erent elements. In short, it is hard to know based on

pure observation how much congestion truly impacts the time it takes to complete a

task across various dynamic conditions. Thus, there is an opportunity to utilize an

analytical tool to gain insights into the impact congestion has on the time it takes to

complete a task as well as how the congestion factor changes over time and conditions.

A simulation allows for a variety of experiments in silico to examine the impact

that congestion has on ordering picking task completion time. Such experiments

would otherwise be extremely costly or impossible to conduct with the real system.

For example, it is impossible in the real system for the order pickers to �ignore� each

other and proceed as if there was no congestion. However, in a simulation this can

201

Page 212: The History, Philosophy, and Practice of Agent-Based ...

easily be done since the representation of physical space in the simulation is not �xed.

Simulations are often utilized for these reasons and to represent dynamic systems.

One reason for studying the congestion of order pickers in a Manual Low Level,

Picker-to-Parts DC comes from academic literature on the subject. While the litera-

ture on order picking and DCs is fairly extensive, there are aspects of these systems

that lack detailed study. First, the majority of the literature focuses on types of DC

systems that compose only 20% of all the observed systems. In other words, the

literature is studying some of the least popular systems being utilized today. Con-

versely, the Manual Low Level, Picker-to-Parts DC system comprise up to 80% of the

observed DC systems [31]. Study of these types of systems thus expand upon the

literature in this area.

The second area in the academic literature lacking detailed study is the impact

congestion has on DC performance, design, and evaluation. The DC or Warehouse

design problem has many facets that are highly interconnected, making it a complex

problem [100]. As a result, much of the literature is spent identifying and tack-

ling various sub-problems such as determining layout, routing strategy, process �ow,

allocation of resources, storage and sorting systems, or release strategy for orders

[31, 100, 112]. A search of the literature within the general order picking in Man-

ual Low Level, Picker-to-Parts DC domain yielded articles focused on similar sub-

problems [38, 53, 31, 89, 88, 99, 112], but often the authors either assume congestion

is not a consideration or neglect it in their mathematical or simulation model. In

several studies where congestion is considered [45, 84, 85, 86], the mathematical mod-

els or simulation models utilized are typically restricted by assumptions such as a

limited routing strategy, aisle restrictions, picking strategy, DC type, and/or move-

ment parameter values. One of the main reasons for the limiting assumptions of

these analyses is that the types of models being used are not conducive to naturally

representing congestion. For example, representing congestion using mathematical

202

Page 213: The History, Philosophy, and Practice of Agent-Based ...

models (e.g. math programming models) before general congestion factors are under-

stood is challenging since mathematical models typically take a very high-level view of

the problem. Similarly, process-�ow simulation models have trouble representing the

micro-level details o picker interactions as the model incorporates these and relaxes

assumptions. Thus, another modeling technique is needed to represent and more fully

explore the congestion problem.

A more natural way of representing the congestion and movement aspects of the

order pickers in this system is the ABM paradigm. The ABM paradigm is de�ned as

representing abstractions of distributed autonomous entities (agents) that are capable

of interacting with others and their environment. For the DC system it is easy to

envision order pickers as agents since they are distributed, autonomous, and interact

with each other (congestion) and their environment (items, aisles, etc.). With the

ABM paradigm, a simulation can be constructed that focuses on appropriately repre-

senting the observed micro-level behavior of the order pickers in an attempt to obtain

the overall macro-level behavior (congestion) of the system. Furthermore, there are

examples of utilizing the ABM paradigm in similar systems involving congestion in

the road tra�c domain [16, 87, 111]. Thus, an ABM Simulation of this system should

provide more general insights into congestion than attainable using other modeling

paradigms.

10.2 The Simulation Experimental Setup

The objective of this study is to build a generic yet representative ABM Simulation

of order pickers in a Manual Low Picking, Picker-to-Parts DC to gain general insight

into congestion and to demonstrate the e�ectiveness of the ABM paradigm for simu-

lating these kind of systems. The conceptual model of this simulation is constructed

and sanctioned using the revised CM4S Diagram. The simulation is then constructed

based upon the CM4S Diagram and implemented within AnyLogic. Upon verifying

203

Page 214: The History, Philosophy, and Practice of Agent-Based ...

that the simulation is working as intended, experiments are performed to �rst opera-

tionally sanction the simulation and then to gain insight into congestion and the role

it plays in order picking.

The experiments performed are based on several principles of order picking that

involve congestion as discussed in the widely accepted and referenced textbook Facil-

ities Planning by Tompkins et al. [112]. The �rst of these principles is that spreading

out picking locations across the DC will reduce congestion. The second is to use a

presorted picking document to control the order that the order picker picks items.

It is implied that presorting a list accordingly will reduce travel time. The third is

to utilize Pareto's rule to choose storage locations for the items in the DC such that

the most popular items are located together to reduce the total travel time of the

order pickers. The fourth is to choose storage locations for the items in the DC such

that the most popular items are in the most easily accessed locations to reduce the

travel time of the order pickers. From these general rules-of-thumb an experiment

was created to operationally sanction the simulation by verifying adherence to these

intuitive rules. Next, the results from the same experiment can be used to learn the

impact congestion has on these systems.

To test these rules-of-thumbs and to gain further insight into congestion, the

experiment is designed with four factors. The �rst factor (SList) describes how the

list of items for each order is sorted and also describes the process used to determine

the sequence of locations visited by order picker. The order picker always follows the

sequence on the list. The levels of SList are as follows:

1. The list of items is not sorted in any systematic way. The order picker may

visit the same aisle multiple times. (Random)

2. The list of items is only sorted by aisle such that items within the same aisle

are grouped together and sorted such that the item in that aisle that is closest

to the order picker is picked �rst. The order picker can visit each aisle once at

204

Page 215: The History, Philosophy, and Practice of Agent-Based ...

most, however the sequence that the aisles are visited is not sorted. (Aisle)

3. The list of items is sorted by aisle as described in 2, but the sequence of the

aisles visited is sorted from left to right (based on physical location in the DC)

and aisles with no items to pick are skipped. (Complete)

The second factor (SLoc) describes how the location of each item in the DC is deter-

mined. The levels of SLoc are as follows:

1. The locations of the items are not sorted and items are randomly distributed

across the entire DC. (Random)

2. The locations of the items are sorted such that the most popular items are

placed in the center most aisles. The top 80% of the most popular items are

randomly distributed in aisle 3 and 4 and the remaining items are randomly

distributed between aisle 1, 2, 5, and 6. (Center)

3. The locations of the items are sorted such that the most popular items are

placed in locations that are closest to the shipping area in the front of the DC.

The top 80% of the most popular items are randomly distributed across all of

the aisles and placed in the 3 to 4 locations closest to the shipping area. The

remaining items are randomly distributed in the remaining locations. (Front)

The third factor (TAvoid) describes whether the order pickers attempts to avoid

collisions with any order pickers in their path. When the level of TAvoid is set to 0

the order pickers do not attempt to avoid collisions. Thus, congestion delay will not

occur. When the level of TAvoid is set to 1 the order pickers will attempt to avoid

collision and congestion delay will occur. The �nal factor (NPickers) describes the

number of pickers in the simulation. There are six levels of NPickers that correspond

to 2, 4, 6, 8, 10, or 12 pickers in the simulation. There are 108 factor combinations

for this full-factorial experiment.

205

Page 216: The History, Philosophy, and Practice of Agent-Based ...

For each factor combination the simulation is replicated 30 times for a total of

3240 runs for the entire experiment. Each run ends when 100 orders of 10 items

are picked. Selecting this stopping condition helps determine the impact the number

of pickers, and the resulting congestion, have on the time it takes to pick same set

number of orders and items.

The raw data collected from each run are as follows:

1. total labor time to pick all of the orders;

2. total time spent traveling;

3. total time spent picking;

4. total time spent setting up between orders;

5. total time stopped due to congestion delays; and

6. total number of times the order picker stopped to walk to the pick location.

To capture the impact of congestion, runs with the same NPickers, SLoc, and SList

settings and common random numbers are directly compared when TAvoid is on and

o�. Thus, all aspects of congestion are directly measured.

10.3 The Conceptual Model

This section discusses the conceptual model of the simulation and presents sanctioning

criteria in the form of the revised CM4S Diagram. First, the major revisions to the

CM4S Diagram based on the Bay of Biscay Scenario proof of concept are discussed.

Next, a high level written description of the conceptual model is presented with a full

representation of the CM4S Diagram located in Appendix B. Finally, basic sanctioning

criteria of the conceptual model are discussed.

206

Page 217: The History, Philosophy, and Practice of Agent-Based ...

10.3.1 Revisions to the CM4S Diagram

Key revisions were made to the CM4S diagramming technique based on the proof-of-

concept e�ort on the Bay of Biscay Simulation. The changes and additions made to

the CM4S Diagram are as follows:

1. The interaction shape (circles) are removed and interactions are simply rep-

resented using the action shape; interactions are just special cases of actions.

Eliminating the interaction shape simpli�es the diagramming technique. The

complexity of interactions between blocks is captured and can be appropriately

de�ned using standard Statechart semantics.

2. Decisions shapes (diamonds) are no longer located within the block shape from

which they are active. Decisions shapes are now located outside, but still touch-

ing, the block from which they are active and arcs are extended from each deci-

sion shape to the block shape to which it transitions when triggered. This keeps

with the �standard� practices in diagramming techniques and visually represents

the transitioning between blocks with the appropriate decision shape.

3. Information shapes are now called variable shapes and are represented as circles.

Their primary purpose is to highlight key variables being updated and referenced

throughout the simulation.

4. A recorder shape (pentagon) was added to represent how and when data from

the simulation is collected.

5. A naming convention was added to all of the shapes making it easier to dis-

tinguish between hierarchical levels and to identify what shapes are associated

with each other. Block shapes are identi�ed with numbers and all other shapes

are identi�ed with letters. The naming convention treats numbers and letters of

each shape in a similar manner as in an outline. The top level block is numbered

207

Page 218: The History, Philosophy, and Practice of Agent-Based ...

1 and blocks within this block are numbered 1.1, 1.2, 1.3, etc. This numbering

continues for each block within a block. Each action, variable, decision, and

recorder shape that belongs to a block has the block's number along with a dis-

tinct letter in alphabetical order. For example, action shapes within the block

numbered 1.1 would be numbered 1.1.A, 1.1.B, 1.1.C, etc. Also, each shape

category has their own series of letters. For example, a block with a single

action, variable, decision, and recorder shape could all be numbered 1.1.A. To

abbreviate the length of the each shape's name only the last number or letter

of each shape shown on a page of a diagram is needed.

6. Many properties were added to each shape to provide more �exibility and com-

pleteness in how the simulation is executed and to provide more documentation

to each shape. The new properties for each shape include:

(a) New Block Shape Properties: Recorders (list of the recorder shapes that

belong to the block shape)

(b) New Action Shape Properties: Pseudo Code - Function (the pseudo code

of the function), Pseudo Code - Update (how frequently the function is

updated or executed) , Pseudo Code - Start (when the function begins

execution), Pseudo Code - Stop (when the function stops executing), Vari-

ables (a list of variables being utilized by the action shape), and Sequence

Within Block (a number associated with an action that describes the order

that it is executed within the block, one purpose of this is to de�ne how

ties are broken).

(c) New Decision Shape Properties: Pseudo Code - Condition (the pseudo

code of the condition evaluated), Pseudo Code - Update (how frequently

the condition is evaluated) , Pseudo Code - Start (when the condition is

evaluated), Pseudo Code - Stop (when the condition stops being evalu-

208

Page 219: The History, Philosophy, and Practice of Agent-Based ...

ated), Variables (a list of variables being utilized by the decision shape),

and Sequence Within Block (a number associated with a decision that de-

scribes the order that it is executed within the block; one purpose of this

is to de�ne how ties are broken).

(d) Recorder Shape Properties: Member Of (the block the recorder shape

belongs to), Behavior (written description describing the data being col-

lected), Pseudo Code - Function (the pseudo code of the function to be

executing), Pseudo Code - Update (how frequently the function is to be

updated or executed) , Pseudo Code - Start (when the function begins exe-

cution), Pseudo Code - Stop (when the function stops execution), Variables

(a list of variables utilized by the recorder shape), Sequence Within Block

(a number associated with a recorder that describes the order that it is

executed within the block; one purpose of this is to de�ne how ties are bro-

ken), and Purpose (description of the purpose of the data being collected,

not to be confused with Source, which is justi�cation of that behavior).

These revisions help CM4S Diagram more e�ectively capture, describe, and aid in

sanctioning the conceptual model of a simulation.

10.3.2 Description of the Conceptual Model

Next a high level description of the conceptual model of the simulation is presented to

highlight key features of the simulation. A more complete description of the concep-

tual model using the CM4S Diagram is provided in Appendix B. The CM4S Diagram

presents all of the variables, behaviors, decisions, justi�cations, and other elements

of the simulation.

The goal of this simulation to capture the congestion factors of a generic, yet

realistic, DC. The conceptual model focuses on appropriately capturing the key be-

haviors, characteristics, and activities performed by the order pickers. The order

209

Page 220: The History, Philosophy, and Practice of Agent-Based ...

pickers are viewed as autonomous entities (agents) that are given an order with list

of items to pick and move through the DC to pick these items. After picking all of

the items on the list the order pickers drop the items o� at their assigned shipping

location and then receive another order of items to pick. It is assumed that the order

pickers know the location of each item on their list and can navigate the DC to get

from one location to the next. Also, each order picker has the capability to detect

and avoid running into other order pickers based on the rules of their current location

while traveling between locations.

Picker movement and collision avoidance is not complex. First, the order pickers

determine the next item's location with respect to their current location. Next, they

set an intermediate goal location to get them closer to their next item's location and

they begin to move towards that goal location. While traveling they scan forward to

check for other order pickers. If an order picker is in their path, then, based on a

series of conditions, the order picker will either slow down, stop and wait, stop and

walk to pick a close item, or attempt to switch lanes to pass the order picker in their

path. Tra�c deadlocks are broken by a pre-determined wait time and then the order

pickers in deadlock are ordered to move to their intermediate goal location without

regard to the congestion around them. As a result, they will travel over each other.

The order pickers move at various speeds depending upon how long they have

been moving, the distance to their goal location, and tra�c around them. If the

order picker is just beginning to move they will move at a slower speed to mimic

acceleration. Once they have traveled the acceleration distance they travel at full

speed. If the order pickers are approaching a stop, they move at a slower rate for the

deceleration distance. Note that order pickers cannot travel in reverse and cannot

turn around in the aisle. In practice, traveling in reverse is di�cult and it is di�cult

to turn around when the aisle width is limited in relation to the length of the picker

trucks.

210

Page 221: The History, Philosophy, and Practice of Agent-Based ...

Figure 60: DC Order Picker ABM Simulation Environment

The modeled DC has six wide aisles with a total of 168 picking locations and six

general shipping locations. Each aisle is wide enough that order pickers can pass each

other; however, there are no directional rules in the aisles. So order pickers can travel

either on the left or right side of the aisle. To save time and minimize worker fatigue

order pickers attempt to get as close as possible to the item location before picking

the item. Outside of the aisle are two �highways� that do have directional rules; order

pickers only travel on the right side of the road in their direction of travel. At the

end of the aisles are intersection points to allow for the order pickers to see tra�c in

the highways. A picture of the simulated DC environment is shown in Figure 60.

In the conceptual model each item's location is �xed. The items within each

211

Page 222: The History, Philosophy, and Practice of Agent-Based ...

order are randomly generated when an order picker needs a new order. However, the

probability of including an item in an order is based upon the level of SLoc, which

determines the popularity of the item based on its current location. Once the order

list is generated the order is sorted based on the level of SList.

The complete CM4S Diagram description of the conceptual model is found in

Appendix B.

10.3.3 Sanctionability of the Conceptual Model

The sanctionability of the conceptual model of this simulation is primarily based on

expert opinion. All of the behaviors captured in the conceptual model are based on

personal observations of similar systems or from general observations discussed in

various published sources. The CM4S Diagram of the conceptual model in Appendix

B details and justi�es each behavior captured in the simulation.

10.4 Construction and Operational Sanctionability

of the Simulation

The simulation was constructed using AnyLogic, a Java-based simulation software.

To verify that the simulation was executing as intended the simulation was executed

over many di�erent conditions to watch for bugs and unintended behaviors. This

involved over 3000 di�erent runs of the simulation after which the simulation model

was tentatively veri�ed for its intended purposes. A screen shot of the simulation

running is shown in Figure 61.

The operational sanctionability of the simulation is determined by checking if gen-

erally accepted rules-of-thumb for order picking operations are followed. The remain-

der of this section discusses each operational sanctionability test and demonstrates

that the simulation is operationally sanctionable. For each rule-of-thumb the data

from all 3240 runs in the experimental setup are utilized unless otherwise noted.

212

Page 223: The History, Philosophy, and Practice of Agent-Based ...

Figure 61: Screen Shot of the DC Order Picker Simulation

213

Page 224: The History, Philosophy, and Practice of Agent-Based ...

Figure 62: DC Order Picker Simulation - Total Mean Congestion Time vs. ItemDistribution

Item DistributionT. Congestion

RandomFrontCenter 100007500500025000RandomFrontCenter

100007500500025000 RandomFrontCenter

2 4 68 10 12

95% CI for the Mean

Panel variable: Num of Pickers

Interval Plot of Total Congestion (sec) vs Item Distribution

The �rst order picker rule-of-thumb is that spreading out picking locations across

a warehouse should reduce congestion. In the simulation experiment items are dis-

tributed in three di�erent ways: popular items are placed in the center aisles (Center),

popular items are placed in the front of the DC near the shipping locations (Front),

and the items are randomly distributed (Random). If this rule-of-thumb holds, then

the Random setting will have the lowest mean congestion time. In Figure 62 it is clear

that, in general, distributing the items across the DC reduces the total mean conges-

tion time. This is especially true when more pickers are in the system. Therefore,

this rule-of-thumb holds in the simulation.

The second order picker rule-of-thumb is that presorting an order appropriately

reduces the travel time of the order pickers. In the simulation experiment the order

list is sorted in three di�erent ways: only items within the same aisle are sorted

appropriately (Aisle), the entire list is sorted such that aisle one is visited �rst and

aisle six is visited last (Complete), and the items are not sorted at all (Random). If

this rule-of-thumb holds, then the Random setting will have the highest total mean

214

Page 225: The History, Philosophy, and Practice of Agent-Based ...

Figure 63: DC Order Picker Simulation - Total Mean Travel Time vs. Item Sort

Item SortT. Travel Time

RandomCompleteAisle 3000025000200001500010000RandomCompleteAisle

3000025000200001500010000 RandomCompleteAisle2 4 68 10 12

95% CI for the MeanTraf Avoid = On

Panel variable: Num of Pickers

Interval Plot of T. Travel Time (sec) vs Item Sort

travel time. In Figure 63 it is clear that not sorting the items in the order signi�cantly

increases the total mean travel time to pick all of the orders. Therefore, this rule-of-

thumb holds in the simulation.

The third order picker rule-of-thumb is placing the most popular items together

in a few aisles will reduce the travel time of the order pickers. Once again, items

are distributed in three di�erent ways: popular items are placed in the center aisles

(Center), popular items are placed in the front of the DC near the shipping locations

(Front), and the items are randomly distributed (Random). If this rule-of-thumb

holds, the Center setting will have the lower total mean travel time when compared

to the Random setting. In Figure 64 it is clear that placing the most popular items

in a few aisles has a smaller total mean travel time than randomly distributing the

items when tra�c avoidance is turned o�. However, this rule-of-thumb does not hold

when tra�c avoidance is turned on, as shown in Figure 65. As more order pickers

are inserted into the system, causing more congestion, the advantage of the Center

setting is lost because more pickers are being forced to navigate a highly congested

215

Page 226: The History, Philosophy, and Practice of Agent-Based ...

Figure 64: DC Order Picker Simulation - Total Mean Travel Time vs. Item Distri-bution, Tra�c Avoidance O�

Item DistributionT. Travel Time

RandomFrontCenter 2200020000180001600014000RandomFrontCenter

2200020000180001600014000 RandomFrontCenter2 4 68 10 12

95% CI for the MeanTraf Avoid = Off

Panel variable: Num of Pickers

Interval Plot of T. Travel Time (sec) vs Item Distribution

Figure 65: DC Order Picker Simulation - Total Mean Travel Time vs. Item Distri-bution, Tra�c Avoidance On

Item DistributionT. Travel Time

RandomFrontCenter 2200020000180001600014000RandomFrontCenter

2200020000180001600014000 RandomFrontCenter2 4 68 10 12

95% CI for the MeanTraf Avoid = On

Panel variable: Num of Pickers

Interval Plot of T. Travel Time (sec) vs Item Distribution

216

Page 227: The History, Philosophy, and Practice of Agent-Based ...

area. While this result is counter to the rule-of-thumb, it intuitively makes sense and

only highlights why congestion should be further studied.

The �nal order picker rule-of-thumb is that placing the most popular items in the

front of the DC near the shipping location will reduce the travel time. As in rule-of-

thumb three, items are distributed in three di�erent ways: popular items are placed

in the center aisles (Center), popular items are placed in the front of the DC near

the shipping locations (Front), and the items are randomly distributed (Random). If

this rule-of-thumb holds, the Front setting will have the lower total mean travel time

when compared to the Random setting. However, upon examining Figure 64 and 65

it is clear that this is not the case. The key reason for this is that the order pickers

in the simulation are not allowed to turn around in an aisle, or move in reverse. The

majority of the academic literature and textbooks assume that order pickers can turn

around in the aisle. Thus, distributing the items in the front in the simulation forces

each order picker to traverse the entire DC. Our result is counter to this rule-of-thumb,

but based on personal observations of such a DC it is unrealistic for order pickers to

turn around in an aisle. Therefore, this result again highlights some de�ciencies of

these general rules-of-thumb and the need for new study methods.

Based on these four rules-of-thumb evaluations, we generally conclude that the

DC Order Picker ABM Simulation is operationally sanctionable under the given con-

ditions and purposes. These evaluations also highlight some of the de�ciencies in

understanding the operations of order picking and the in�uence of congestion. Some

of the key results of the operationally sanctioned simulation are reviewed in the next

section.

10.5 Key Results and Discussion

A primary goal of this simulation is to determine the impact of congestion on an

order picking system. From the series of simulation experiments the components of

217

Page 228: The History, Philosophy, and Practice of Agent-Based ...

congestion are not only identi�ed but also quanti�ed. The �rst main component

of congestion is Blocking. Blocking is de�ned as the time the order picker is at a

complete stop due to tra�c. There are subcategories of Blocking that are captured

in the simulation. These include Blocking in the Aisle, Blocking at an Intersection,

and Blocking in the Highway. Previous to this experiment the majority of academic

papers on Blocking focused on only estimating Blocking in the Aisle [45, 85, 86].

In future experiments these Blocking subcategories will be explicitly collected and

analyzed.

Another major component of congestion is Extra Walking. Extra Walking is

the extra time spent walking to pick an item because the location of the item to

be picked is blocked. This congestion component is directly related to the Pick-to-

Walk distance, which is the distance the order picker is willing to walk to pick an

item. Understanding this component of congestion, and its in�uence on the total

congestion time, is an important avenue of research. For example, setting the Pick-

to-Walk distance to zero means the order picker can only pick an item that they are

directly next to, which should drastically increase congestion time. However, setting

the Pick-to-Walk distance to a large distance may increase the total labor time to

pick all of the orders because walking to an item is slower than driving. Certainly,

there exists some trade-o� relationship between congestion time and the Pick-to-Walk

time. This aspect of a DC does not seem to have been studied in any detail.

The �nal major component of congestion is Travel Related. Travel Related is the

extra travel time associated with attempting to avoid tra�c and collisions. Two main

subcategories of Travel Related congestion are the extra distance to drive around

tra�c and the slower rate of travel due to tra�c. It is clear that order pickers travel

longer distances to avoid tra�c, however the impact of slower rate of travel due to

tra�c is often not considered. In the simulation when an order picker encounters

tra�c in their path they must slow down to avoid collisions. Once the tra�c has

218

Page 229: The History, Philosophy, and Practice of Agent-Based ...

Figure 66: Components of Congestion Pie Chart

Components of Congestion

Blocking82.7%

Extra Walking15.9%

Travel Related1.4%

cleared, they must re-accelerate from that slow speed. The constant stopping and

starting means they cannot travel at full speed and the more tra�c they encounter the

longer it will take for them to complete their order. Often in the academic literature

travel speed is considered constant, which is unrealistic. Acceleration and deceleration

of order pickers has a signi�cant impact on their performance.

In addition to identifying these components of congestion, the simulation can

quantify the components. Figure 66 show the three key components of congestion

and quanti�es their percent contribution to the mean congestion time. This pie chart

indicates that Blocking is the largest contributor of congestion time at 82.7% with

Extra Walking at 15.9% and Travel Related at 1.4%. Although Travel Related is only

a small component of congestion in these experiments, I believe that in a larger DC

this would comprise a larger percentage of congestion because the current modeled

DC is not large enough to allow for order pickers to regularly reach full speed. In

219

Page 230: The History, Philosophy, and Practice of Agent-Based ...

Figure 67: Impact of Congestion on DC Performance

Cost/Order vs. Orders/Hour vs. Congestion Considerationswith 95% Confidence Intervals around the Means

$1.30

$1.35

$1.40

$1.45

$1.50

$1.55

$1.60

$1.65

$1.70

10 20 30 40 50 60 70 80 90 100 110 120 130 140

Orders/Hour

Co

st/O

rder

With CongestionWithout Congestion

2

4

4

6

6

8

8

10

10

12

12

future experiments the size of the DC will be increased to more accurately represent

this size component. Fundamentally, I am unaware of any simulation or mathematical

model previous to this one that is capable of representing and quantifying all of these

components of congestion.

The results from the simulation experiment can also be used to learn how conges-

tion impacts a DC's operational performance. Figure 67 compares the performance

of the simulated DC when tra�c avoidance is on and o�. On the x-axis is the number

of order-per-hour achieved in the simulation, on the y-axis is the labor cost per order,

the number next to each data point is the number of order pickers in the simulation

at the marked point, and the star data points represent the upper and lower 95%

con�dence intervals for each mean data point on both the x- and y-axis. From this

graph it is clear that there are diminishing returns as more order pickers are inserted

into the simulation due to congestion for both the number of orders per hour and the

220

Page 231: The History, Philosophy, and Practice of Agent-Based ...

labor cost per order. Thus, this simulation highlights that not considering congestion

in DC analysis can result in unachievable performance and cost expectations. In anal-

yses of actual DCs, graphs such as this could be used by managers and supervisors to

make operational decisions, such as assessing the real value of adding another picker.

This kind of DC simulation can also determine the impact that various operating

strategies have on the DC, and determine which ones are the best. A radar chart

in Figure 68 shows the impact that various strategies have on the mean total labor

time to pick the orders. In this chart each axis represents the number of order pickers

in the simulation, traveling along each axis represents the mean total labor time to

pick all of the orders, and each series represents a di�erent combination of order

sorting and item location distribution levels. This chart provides useful insights. For

instance, sorting the order list signi�cantly reduces the total labor time. The best

set of strategies to reduce total labor time across all picker levels is to combine either

the Aisle or Complete sorting strategy with the Center distribution policy. Note that

statistical tests also indicate that these two cases are the best and their di�erence is

statistically insigni�cant across all picker levels, at an alpha of 0.05. Further, the total

mean labor time increases as the number of pickers increase for any particular level.

These results once again con�rm the impact congestion has on system performance.

Overall, this simulation study demonstrates the ability of the ABM paradigm

to aid in the understanding and quantifying of congestion in a DC Order Picker

system. This study has also shown the ability to determine the impact of congestion

on the operational performance of these systems as well as the ability to quantify the

diminishing rate of return that congestion causes in these systems. Finally, simulation

allows one to analyze the more holistic impact that various DC operational strategies

have on the DC's performance.

221

Page 232: The History, Philosophy, and Practice of Agent-Based ...

Figure68:Radar

Chart

ofMeanTotal

Labor

Tim

eUnd

erVarious

Conditions

222

Page 233: The History, Philosophy, and Practice of Agent-Based ...

10.6 The E�ectiveness of the Revised CM4S Dia-

gram

After constructing, running, and analyzing the results of this simulation, the overall

e�ectiveness of the revised CM4S Diagram in representing the conceptual model and

appropriate validation emphasis is evaluated. From a technical stand point it is clear

that the technical revisions to the CM4S Diagram were e�ective in documenting

and constructing the conceptual model. The added properties and revised shapes

made it much easier to document and construct dynamic and complex behaviors

for a simulation. Throughout the use of the revised CM4S Diagram no behavior or

activity was encountered that could not be represented or collected with the available

shapes and properties. Thus, no major technical changes to the CM4S Diagram are

needed at this point.

Another important area to evaluate the diagramming technique's e�ectiveness

is its ability to concisely and completely document the conceptual model. This DC

Order Picker simulation is much larger and has many more complicated behaviors and

activities to capture, computerize, and document than in the proof of concept e�ort.

However, just as with the Bay of Biscay Scenario Simulation, the CM4S Diagram

performed well. The combination of visual formalisms with the data base allows for

someone attempting to better understand the conceptual model to gain both deep

and shallow knowledge concerning the execution of the conceptual model and the

simulation. Attempting to fully document the conceptual model of this simulation to

the extent of the CM4S Diagram in only 25 pages would be extremely di�cult; the

CM4S Diagram is concise yet complete.

The �nal area to evaluate the CM4S Diagram's e�ectiveness is its ability to aid

in sanctioning the conceptual model. While the Source property certainly provides

key justi�cations for each action, decision, and variable that aided in the sanctioning

of this conceptual model, the revised version of the CM4S Diagram does miss the

223

Page 234: The History, Philosophy, and Practice of Agent-Based ...

ability to convey justi�cation or reasoning for abstracting a system a certain way. For

example, in this simulation there is no way in the revised CM4S Diagram to justify

or convey why I chose to represent order pickers in the way that I did. To rectify this

problem the Source property was added to the Block shape. Adding this property

allows for a more complete documentation of the justi�cations for representing a

system a certain way. This also allows for the motivation of the conceptual model

and/or the simulation itself to be documented in the diagram.

Utilizing the revised CM4S Diagram to construct this simulation demonstrated

that its technical, sanctioning, and documenting capabilities align with its intended

purpose and design criteria. Thus, adding the aforementioned Source property to the

Block shape represents the �nal major change to the �rst publicly released version

of the CM4S Diagram. Note that the CM4S Diagram is an evolving diagramming

technique that will change and improve over time and application. There will likely

be new versions of the CM4S Diagram to be released in the future.

10.7 Conclusions

This chapter demonstrates the e�ectiveness of the CM4S Diagram using the con-

struction of a sanctionable ABM Simulation of order pickers in a DC. As a result

of the CM4S Diagram's evaluated capabilities only minor changes are needed before

the �rst version of the diagramming technique is publicly released. This chapter also

demonstrated the capabilities of the ABM paradigm to represent DC and warehous-

ing systems, which has not been done before. This simulation e�ectively captures

and quanti�es the impact of congestion on a DC's operational performance and can

be utilized to both improve the research in and practice of DC and warehousing man-

agement strategies at a level that has not been previously achieved. Fundamentally,

this simulation demonstrates how the ABM paradigm with proper tools, sanctioning

practices, and system abstraction can help explore and analyze di�cult to understand

224

Page 235: The History, Philosophy, and Practice of Agent-Based ...

systems from both a research and practice perspective.

225

Page 236: The History, Philosophy, and Practice of Agent-Based ...

Contributions and Future Research

Opportunities

This dissertation advances ABM as a generic analysis tool such that ABM can reach

its full potential as a revolution in modeling and simulation. To achieve this goal, the

�eld of ABM was examined from many perspectives to provide contributions to each

perspective. The �rst three perspectives of ABM examined were complex systems, the

historical emergence of ABM, and philosophical issues related to ABM. Investigating

these ABM topics established clear foundations for the �eld across multiple disci-

plines. Next, the current practice of ABM was investigated. Through a comprehen-

sive 279 article survey current de�ciencies and opportunities in ABM were identi�ed.

Based on these de�ciencies, a new diagramming technique called the CM4S Diagram

was developed. The CM4S Diagram represents the �rst diagramming technique de-

signed speci�cally for the e�ective representation, construction, and sanctioning of

ABM computer simulations based on identi�ed needs in the ABM modeling �eld and

simulation modeling philosophy. Finally, the e�ectiveness of the CM4S Diagram is

evaluated through the development of social science, military, and supply chain ABM

simulations.

11.1 Contributions

The contributions of the research towards advancing ABM as a generic analysis tool

are as summarized:

1. Complex Systems.

226

Page 237: The History, Philosophy, and Practice of Agent-Based ...

(a) Clari�ed the meaning and di�erences between real systems and model sys-

tems.

(b) Described the independent components that are used to measure complex-

ity (Size and Unexplored) and related them to a problem solving process

using model systems.

(c) Extended Weaver's problems framework into model systems by further

de�ning the di�erences, similarities, and relationships between Primitive

Model Systems, Simple Model Systems, Disorganized Complex Model Sys-

tems, and Organized Complex Model Systems.

(d) Reconciled the various de�nitions of complex systems by incorporating

Weaver's framework and breaking complex systems into two sub categories

depending upon the observed properties of the abstracted complex system

problem.

2. The Emergence of Agent-Based Modeling. To be published in the Journal of

Simulation 4(2). Presented at the Industrial Engineering Research Conference

(2008).

(a) Explored how the development of computers, cybernetics, complexity, cel-

lular automata, and chaos as well as the quest to understand natural sys-

tems led to the emergence of ABM today.

(b) Connected fundamental ABM behaviors and properties to key theories to

provide ABM developers with a clearer understanding of the �eld and its

scienti�c roots.

3. Simulation and Agent-Based Modeling Validation Philosophy. Packaged with

the History Chapter and published as Chapter 3 in the Handbook of Research

227

Page 238: The History, Philosophy, and Practice of Agent-Based ...

on Discrete Event Simulation Environments: Technologies and Applications

(2009).

(a) Established the process of `sanctioning' as a re�nement of the process of

`validation.' Sanctioning better describes the process of ensuring that a

simulation is an appropriate representation of reality.

(b) Established and de�ned the three roles of simulation: Generators, Media-

tors, and Predictors.

(c) Created a framework that relates the role of a simulation to the level of

understanding about the system to be simulated and discussed the various

implications that this has on expectations, appropriate sanctioning em-

phasis, the evolution of simulation models, and the role that simulations

will take on in the future.

4. Current Agent-Based Modeling Practices. Published in the Journal of Arti�cial

Societies and Social Simulation (2009). Partially presented at the Industrial En-

gineering Research Conference (2009) and the Institute for Operations Research

and Management Science Conference (2009).

(a) Conducted an extensive 279 article survey to establish the practices in

ABM from 1998 to 2008 that to my knowledge is the only such survey

of its kind for ABM. In particular, data was collected and reported for

each article including the year, author(s), journal, �eld of study, employed

software, validation techniques and standards, complete description, and

purpose.

(b) Derived six fundamental needs for ABM based on current practice de�-

ciencies and opportunities. Including:

228

Page 239: The History, Philosophy, and Practice of Agent-Based ...

i. The need for development and documentation tools for ABM that

are independent of software such that proper simulation programming

techniques are being utilized;

ii. The need for ABM study as an independent discipline that is a subset

of the simulation discipline such that standard techniques, practices,

philosophies, and methodologies can be established extending ABM

as a functional analysis tool;

iii. The need for di�erent expectations for ABM based upon the level of

understanding concerning the system that is being simulated;

iv. The need for complete references to a model in all articles in the form

of the actual simulation or some other descriptive tool that can be

used to independently develop and evaluate the e�ectiveness of the

model;

v. The need for reviewers and publication outlets to require that all mod-

els be completely sanctioned and documented; and

vi. The need for statistical and non-statistical sanctioning techniques to

be speci�cally developed for ABM and e�ectively conveyed to those

building agent-based models.

5. Diagramming Techniques. Partially presented at the Institute for Operations

Research and Management Science Conference (2009).

(a) Clari�ed the di�erences between diagramming techniques, models, and

simulations.

(b) Created three distinct classi�cations of diagramming techniques based on

their objectives and capabilities: Organizational Diagramming Techniques,

Process Flow Behavioral Diagramming Techniques, and Machine Behav-

ioral Diagramming Techniques.

229

Page 240: The History, Philosophy, and Practice of Agent-Based ...

6. The Conceptual Model for Simulation Diagram. Partially presented at the

Institute for Operations Research and Management Science Conference (2009).

(a) Extended my simulation framework to relate the level of understanding

about the real system to the appropriate sanctioning emphasis and dis-

cussed the implications of this addition in terms of how the understand-

ing of the system dictates whether conceptual or operational sanctioning

should be the focus of sanctioning activities.

(b) De�ned why �tting a model to the real world results is not an appropriate

sanctioning technique for simulation and ABM.

(c) Identi�ed the inability of existing diagramming techniques for satisfying

the identi�ed requirements.

(d) Designed, tested, and implemented the Conceptual Model for Simulation

Diagram, which is the �rst diagramming technique designed speci�cally for

the e�ective representation, construction, and sanctioning of ABM com-

puter simulations based on identi�ed needs in the ABM modeling �eld and

simulation modeling philosophy.

(e) Paper submitted to ACM: Transactions on Modeling and Computer Sim-

ulation featuring CM4S Diagram and the Bay of Biscay proof-of-concept.

7. Supply Chain Distribution Center Operations.

(a) Implemented and analyzed an ABM simulation of order picker activities

to capture the e�ects of congestion on the operational performance of the

Distribution Center.

(b) To be submitted for publication consideration to the International Journal

of Production Research.

230

Page 241: The History, Philosophy, and Practice of Agent-Based ...

11.2 Future Research Opportunities

The breath of this research presents many future research opportunities. Some of

them are summarized below:

1. Explore and re�ne the framework of model systems and complexity to better

understand how model systems are utilized in solving problems.

2. Further integrate the history and philosophy of ABM with the model systems

complexity framework.

3. Investigate opportunities to develop quantitative measures or tests speci�cally

for the unique needs of ABM paradigm.

4. Explore the use and usefulness of the CM4S Diagram for representing conceptual

models from other simulation paradigms as well as other modeling paradigms

such as mathematical programs.

5. Explore the usability of the CM4S Diagram in terms of application, learning,

and improved coding practice

6. Investigate creating an a tool that automatically creates code based on the

CM4S Diagram syntax and semantics.

7. Investigate creating a tool that guides and forces modelers to build the CM4S

Diagram in a correct and standard way.

8. Explore the utilization of history tracking methods to manage versions of the

CM4S Diagram over the history of a simulation.

9. Examine the use of the CM4S Diagram as a simulation educational tool.

10. Use the ABM Distribution Center simulation to further examine the impact of

congestion and similar measures on various scenarios of warehousing operations.

231

Page 242: The History, Philosophy, and Practice of Agent-Based ...

Bibliography

[1] The ohio library and information network. Internet, September 2008.http://www.ohiolink.edu.

[2] Webster's New College Dictionary. Houghton Mi�in Harcourt, 3rd edition,2008.

[3] Mack W. Alford. A requirements engineering methodology for real-time pro-cessing requirements. IEEE Transactions on Software Engineering, 3(1):60�69,1977.

[4] Scott W. Ambler. The Object Primer: Agile Model Driven Development withUML 2. Cambridge University Press, 3rd edition, 2004.

[5] Scott W. Ambler. The Elements of UML 2.0 Style. Cambridge University Press,2005.

[6] W. Ross Ashby. An Introduction to Cybernetics. John Wiley and Sons, Inc.,New York, 1956.

[7] W. Ross Ashby. Analysis of the system to be modeled. In The Process ofModel-Building in the Behavioral Sciences, chapter 6, pages 94�114. Ohio StateUniversity Press, 1999.

[8] Robert Axelrod. Advancing the art of simulation in the social sciences. Simu-lating Social Phenomena, pages 21�40, 1997.

[9] Robert Axelrod and Michael D. Cohen. Harnessing Complexity: OrganizationalImplications of a Scienti�c Frontier. Basic Books, New York, 2000.

[10] Robert Axtell, Robert Axelrod, Joshua M. Epstein, and Michael D. Cohen.Aligning simulation models: A case study and results. Computational andMathematical Organization Theory, (1):123�141, 1996.

[11] Osman Balci. Principles and techniques of simulation validation, veri�cation,and testing. In W.R. Lilegdon C. Alexopoulos, K. Kang and D. Goldsman,editors, Proceedings of the 1995 Winter Simulation Conference, pages 147�154,1995.

[12] Osman Balci. Veri�cation, validation, and accreditation. In J.S. CarsonD.J. Medeiros, E.F. Watson and M.S. Manivannan, editors, Proceedings of the1998 Winter Simulation Conference, pages 41�48, 1998.

232

Page 243: The History, Philosophy, and Practice of Agent-Based ...

[13] Steven C. Bankes. Agent-based modeling: A revolution? In Proceedings ofthe National Academy of Sciences of the United States of America, volume 99,pages 7199�7200. Sackler Colloquium on Adaptive Agents, Intelligence, andEmergent Human Organizations: Capturing Complexity through Agent-BasedModeling, May 2002. Supplement 3: Arthur M. Sackler Colloquium of theNational Academy of Sciences.

[14] Jerry Banks, John S. Carson, Barry L. Nelson, and David M. Nicol. Discrete-Event System Simualtion. Prentice-Hall, Upper Saddle River, NJ, 3rd edition,2001.

[15] Yaman Barlas and Stanley Carpenter. Philosophical roots of model validation:two paradigms. System Dynamics Review, 6(2):148�166, 1990.

[16] Ana L.C. Bazzan and Frankziska Klugl. Case studies on the braess paradox:Simulating route recommendation and learning in abstract and microscopicmodels. Transportation Research Part C, 13:299�319, 2005.

[17] Benjamin S. Blanchard and Wolter J. Fabrycky. Systems Engineering and Anal-ysis. Pearson Prentice Hall, 4th edition, 2006.

[18] Eric Bonabeau. Agent-based modeling: Methods and techniques for simulatinghuman systems. In Proceedings of the National Academy of Sciences of theUnited States of America, volume 99, pages 7280�7287. Sackler Colloquium onAdaptive Agents, Intelligence, and Emergent Human Organizations: CapturingComplexity through Agent-Based Modeling, May 2002. Supplement 3: ArthurM. Sackler Colloquium of the National Academy of Sciences.

[19] Grady Booch, James Rumbaugh, and Ivar Jacobson. The Uni�ed ModelingLanguage User Guide. Addison-Wesley, 1999.

[20] Taylor Booth. Sequential Machines and Automata Theory. John Wiley andSons, 1967.

[21] Marcel Boumans. The di�erence between answering a 'why' question and an-swering a 'how much' question. In Gunter Kuppers Johannes Lenhard and TerryShinn, editors, Simulation: Pragmatic Construction of Reality, volume 25 of So-ciology of the Sciences Yearbook, chapter 7, pages 107�124. Springer, Dordrecht,The Netherlands, 2006.

[22] H.J. Bremermann. Optimization through evolution and recombination. InF.T. Jacobi M.C. Yovits and G.D. Goldstein, editors, Self-Oganizing Systems,chapter 7, pages 93�106. Spartan Books, Washington D.C., 1962.

[23] Dennis M. Buede. The Engineering Design of Systems: Models and Methods.John Wiley and Sons, 2000.

[24] Dennis M. Buede. The Engineering Design of Systems: Models and Methods.John Wiley and Sons, 2009.

233

Page 244: The History, Philosophy, and Practice of Agent-Based ...

[25] John L. Casti. Complexi�cation: Explaining a Paradoxical World Through theScience of Surprise. HarperPerennial, 1 edition, 1995.

[26] Lance E. Champagne. Development Approaches Coupled with Veri�cation andValidation Methodologies for Agent Based Mission-Level Analytical CombatSimulations. PhD thesis, Air Force Instititute of Technology, Wright-PattersonAir Force Base, OH, November 2003.

[27] Peter Chen. The entity-relationship model-toward a uni�ed view of data. ACMTransactions on Database Systems, 1(1):9�36, 1976.

[28] T. Czerwinski. Coping with the Bounds: Speculations on Nonlinearity in Mili-tary A�airs. National Defense University Press, Washington D.C., 1998.

[29] Paul K. Davis. Generalizing concepts and methods of veri�cation, validation,and accreditation for military simulations. Technical report, RAND, SantaMonica, CA, December 1992.

[30] Paul K. Davis and Donald Blumenthal. The base of sand problem: A whitepaper on the state of military combat modeling. Technical report, RAND, SantaMonica, CA, 1991.

[31] Rene de Koster, Tho Le-Duc, and Kees Jan Roodbergen. Design and control ofwarehouse order picking: A literature review. European Journal of OperationalResearch, 182:481�501, 2007.

[32] Peter J. Denning, Jack B. Dennis, and Joseph E. Qualitz. Machines, Langauges,and Computation. Prentice-Hall, 1978.

[33] H.P. Emerson and D.C.E Naehring. Origins of Industrial Engineering. IIE,Atlanta, 1988.

[34] Joshua M. Epstein. Agent-based computation models and generative socialscience. Complexity, 4(5):41�60, May 1999.

[35] Joshua M. Epstein and Robert Axtell. Growing Arti�cial Socieities: SocialScience from the Bottom Up. Brookings Institution Press, Washington, D.C.,1996.

[36] Adrew H. Feinstein and Hugh M. Cannon. Constructs of simulation evaluation.Simulation and Gaming, 33(4):425�440, December 2002.

[37] Andrew Hale Feinstein and Hugh M. Cannon. A hermeneutical approach toexternal validation of simulation models. Simulation and Gamming, 34(2):186�197, June 2003.

[38] Ling feng Hsieh and Lihui Tsai. The optimum design of a warehouse systemon order picking e�ciency. International Journal of Advance ManufacturingTechnology, 28:262�637, 2006.

234

Page 245: The History, Philosophy, and Practice of Agent-Based ...

[39] Jacques Ferber. Multi-Agent Systems: An Introduction to Distributed Arti�cialIntelligence. Addison-Wesley, Harlow, England, 1999.

[40] G.S. Fishman and P.J. Kiviat. The statistics of discrete-event simulation. Sim-ulation, 10:185�195, 1968.

[41] Roman Frigg and Julian Reiss. The philosophy of simulation: Hot new issuesor same old stew? Forthcoming in Synthese, Jan 2008.

[42] Kurt Gödel. Über formal unentscheidbare sätze der principia mathematica undverwandter systeme. Monatshefte für Mathematik und Physik, (38):173�198,1931.

[43] Carlos Gershenson. Complex philosophy. In Pedro Sotolongo, editor, The FirstBiennial Seminar on the Philosophical, Methodological, and Epistemologic Im-plications of Complexity Theory, La Habana, Cuba, 2002.

[44] James Gleick. Chaos: Making a New Science. Viking, New York, NY, 1987.

[45] Kevin R. Gue, Russel D. Meller, and Joseph D. Skufca. The e�ects of pickdensity on order picking areas with narrow aisles. IIE Transactions, 38:859�868, 2006.

[46] David Harel. Statecharts: A visual formalism for complex systems. Science ofComputer Programming, 8(3):231�274, 1987.

[47] David Harel. On visual formalisms. Communications of the ACM, 31(5):514�530, 1988.

[48] Brian L. Heath. Developing engineered standards for powered trucks. Master'sthesis, Kettering University, 2006.

[49] R.R. Hill, G.A. McIntyre, T.R. Tighe, and R.K. Bullock. Some experimentswith agent-based combat models. Military Operations Research, 8(3):17�28,2003.

[50] James S. Hodges. Six or so things you can do with a bad model. OperationsResearch, 39(3):355�365, May 1991.

[51] John H. Holland. Hidden Order: How Adaptation Builds Complexity. HelixBooks, Cambridge, MA, 1995.

[52] J.N. Hooker. Needed: An emprical science of algorithms. Operations Research,42(2):201�212, 1996.

[53] Heung Suk Hwang and Gyu Sung Cho. A performance evaluation model fororder picking warehouse design. Computers and Industrial Engineering, 51:335�342, 2006.

235

Page 246: The History, Philosophy, and Practice of Agent-Based ...

[54] Don Ihde. Models, models everywhere. In Gunter Kuppers Johannes Lenhardand Terry Shinn, editors, Simulation: Pragmatic Construction of Reality, vol-ume 25 of Sociology of the Sciences Yearbook, chapter 5, pages 79�86. Springer,Dordrecht, The Netherlands, 2006.

[55] Andrew Ilachinski. Irreducible semi-autonomous adaptive combat (isaac): Anarti�cial-life approach to land warfare. Military Operations Research, 5(3):29�47, 2000.

[56] P.A. Jensen and J.F. Bard. Operations Research Models and Methods. JohnWiley & Sons, 2003.

[57] Ann Johnson. The shape of molecules to come. In Gunter Kuppers Jo-hannes Lenhard and Terry Shinn, editors, Simulation: Pragmatic Constructionof Reality, volume 25 of Sociology of the Sciences Yearbook, chapter 2, pages25�39. Springer, Dordrecht, The Netherlands, 2006.

[58] Harold Kincaid. Philsophy: Then and Now, chapter 5, pages 321�338. BlackwellPublishers Ltd, Malden, MA, 1998. Mill and the Nature of Science.

[59] Esther E. Klein and Paul J. Herskovitz. Philosophical foundations of computersimulation validation. Simulation & Gaming, 36(3):303�329, 2005.

[60] George B. Kleindorfer and Ram Ganeshan. The philosophy of science and vali-dation in simulation. In E.C. Russel W.E. Biles G.W. Evans, M. Mollaghasemi,editor, Proceedings of the 1993 Winter Simulation Conference, pages 50�57,1993.

[61] George B. Kleindorfer, Liam O'Neill, and Ram Ganeshan. Validation in sim-ulation: Various positions in the philosophy of science. Management Science,44(8):1087�1099, Aug 1998.

[62] Tarja Knuuttila. From representation to production: Parsers and parsing inlanguage technology. In Gunter Kuppers Johannes Lenhard and Terry Shinn,editors, Simulation: Pragmatic Construction of Reality, volume 25 of Sociologyof the Sciences Yearbook, chapter 3, pages 41�55. Springer, Dordrecht, TheNetherlands, 2006.

[63] Günter Küppers and Johannes Lenhard. Validation of simulation: Patternsin the social and natural sciences. Journal of Arti�cial Societies and SocialSimulation, 8(4):3, 2005.

[64] Gunter Kuppers and Johannes Lenhard. From hierarchical to network-like inte-gration: A revolution of modeling style in computer-simulation. In Gunter Kup-pers Johannes Lenhard and Terry Shinn, editors, Simulation: Pragmatic Con-struction of Reality, volume 25 of Sociology of the Sciences Yearbook, chapter 6,pages 89�106. Springer, Dordrecht, The Netherlands, 2006.

236

Page 247: The History, Philosophy, and Practice of Agent-Based ...

[65] Gunter Kuppers, Johannes Lenhard, and Terry Shinn. Computer simula-tion: Practice, epistemology, and social dynamics. In Gunter Kuppers Jo-hannes Lenhard and Terry Shinn, editors, Simulation: Pragmatic Constructionof Reality, volume 25 of Sociology of the Sciences Yearbook, chapter 1, pages3�22. Springer, Dordrecht, The Netherlands, 2006.

[66] Christopher G. Langton. Arti�cial life. In Christopher G. Langton, editor,Arti�cial Life, pages 1�48, Redwood City, CA, 1989. Addson-Wesley PublishingCompany, Inc.

[67] R. Lano. The n2 chart. Technical report, TRW Software Series, Redondo Beach,CA, 1977.

[68] B. Latane. Dynamic social impact: Robust preditions from simple theory. InU. Mueller R. Hegselmann and K. Triotzsch, editors, Modelling and Simulatiionin the Social Sciences fromthe Philosophy of Science Point of View, chapter 15.Springer-Verlag, New York, NY, 1996.

[69] Averill M. Law. Simulation, Modeling, and Analysis. McGraw-Hill, New York,NY, 4 edition, 2007.

[70] Steven Levy. Arti�cial Life: A Report from the Frontier where Computers MeetBiology. Vintage Books, New York, NY, 1992.

[71] Charles M. Macal and Michael J. North. Tutorial on agent-based modeling andsimulation part 2: How to model with agents. In J. Liu B.G. Lawson D.M. NicolL.F. Perrone, F.P. Wieland and R.M. Fujimoto, editors, Proceedings of the 2006Winter Simulation Conference, pages 73�83. Winter Simulation Conference,2006.

[72] Benoit B. Mandelbrot. The Fractal Geometry of Nature. W.H. Freeman, 1982.

[73] Louis A. Martin-Vega. Maynard's Industrial Engineering Handbook, chapterThe Propose and Evolution of Industrial Engineering, pages 1.3�1.19. McGraw-Hill, 5th edition, 2001.

[74] Robin Matthews. A note on complex adaptive systems. busi-ness.kingston.ac.uk/research/intbus/notesfordbatobt.pdf, 5 2003.

[75] Brian McCue. U-Boats in the Bay of Biscay: an essay in Operations Analysis.National Defense University Press, Washington, DC, 1990.

[76] John H. Miller and Scott E. Page. Complex Adaptive Systems: An Introductionto Computational Models of Social Life. Princeton University Press, Princeton,NJ, 2007.

[77] M. Mitchell, J.P. Crutch, and P.T. Hraber. Dynamics, computation, and the"edge of chaos": A re-examination. In G. Cowan, D. Pines, and D. Melzner,editors, Complexity: Metaphors, Models and Reality, volume 19 of Santa FeInstitute Studies in the Sciences of Complexity, Reading, MA, 1994. Addison-Wesley.

237

Page 248: The History, Philosophy, and Practice of Agent-Based ...

[78] Douglas C. Montgomery and George C. Runger. Applied Statistics and Proba-bility for Engineers. Wiley, 4th edition, 2006.

[79] William T. Morris. On the art of modeling. Management Science, 13(12):707�717, 1967.

[80] Margaret Morrison and Mary S. Morgan. Models as mediating instruments. InMary S. Morgan and Margaret Morrison, editors, Models as Mediators, chap-ter 2, pages 10�37. Cambridge University Press, Cambridge, 1999.

[81] Tadao Murata. Petri nets: Properties, analysis and applications. Proceedingsof the IEEE, 77(4):541�580, 1989.

[82] Thomas H. Naylor and J.M. Finger. Veri�cation of computer simulation models.Management Science, 14(2):92�106, October 1967.

[83] Michael J. North and Charles M. Macal. Managing Business Complexity: Dis-covering Strategic Solutions with Agent-Based Modeling and Simulation. OxfordUniversity Press, New York, NY, 2007.

[84] Jason Chao-Hsien Pan and Po-Hsum Shih. Evaluation of the throughput of amultiple-picker order picking system with congestion consideration. Computersand Industrial Engineering, 55:379�389, 2008.

[85] Pratik J. Parikh and Russell D. Meller. Selecting between batch and zone orderpicking strategies in a distribution center. Transportation Research Part E,44:696�719, 2008.

[86] Pratik J. Parikh and Russell D. Meller. Estimating picker blocking in wide-aisleorder picking systems. IIE Transactions, 41:232�246, 2009.

[87] Srinivas Peeta, Pengcheng Zhang, and Weimin Zhou. Behavior-based analysis offreeway car-truck interactions and related mitigation strategies. TransportationResearch Part B, 39:417�451, 2005.

[88] Charles G. Petersen, Gerald R. Aase, and Daniel R. Heiser. Improving order-picking performance through the implementation of class-based storage. Inter-national Journal of Physical Distribution and Logistics Management, 34(7):534�544, 2004.

[89] Charles G. Peterson and Gerald Aase. A comparison of picking, storage, androuting policies in manual order picking. International Journal of ProductionEconomics, 92:11�19, 2004.

[90] James L. Peterson. Petri Net Theory and the Modeling of Systems. Prentice-Hall, 1981.

[91] C.A. Petri and Wolfgang Reisig. Petri net. Scholarpedia, 3(4):6477, 2008.

[92] Carl Petri. Communication with automata. Technical report, DTIC ResearchReport, 1966.

238

Page 249: The History, Philosophy, and Practice of Agent-Based ...

[93] Michael Pidd. Tools for Thinking: Modelling in Management Science, chap-ter 11, pages 289�312. John Wiley and Sons, 2nd edition, 2003.

[94] Dan Pilone and Neil Pitman. UML 2.0 in a Nutshell. O'Reilly, 2005.

[95] Alan Pritsker. Handbook of Simulation: Princples, Methodology, Advances,Applications, and Practice, chapter 2: Principles of Simulation Modeling, pages31�51. John Wiley & Sons, Inc., 1998.

[96] L. Resnyansky. Integration of social sciences in terrorism modelling: Issues,problems, and recommendations. Technical report, Australian GovernmentDepartment of Defence: DSTO Command and Control Division, Edinburgh,Australia, February 2007.

[97] S. Robinson. Conceptual modelling for simulatin part i: de�nition and require-ments. Journal of Operational Research Society, 59:278�290, 2008.

[98] Steward Robinson. Conceptual modeling for simulation: Issues and researchrequirements. In L.F. Perrone, F.P. Wieland, J. Liu, B.G. Lawson, D.M. Nicol,and R.M. Fujimoto, editors, Proceedings fo the 2006 Winter Simulation Con-ference, pages 792�800, 2006.

[99] Kees Jan Roodbergen and Rene de Koster. Routing order pickers in a warehousewith a middle aisle. European Journal of Operational Research, 133:32�43, 2001.

[100] B. Rouwenhorst, B. Reuter, V. Stockrahm, G.J. van Houtum, R.J. Mantel, andW.H.M. Zijm. Warehour design and control: Framework and literature review.European Journal of Operational Research, 122:515�533, 2000.

[101] Robert G. Sargent. Veri�cation and validation of simulation models. InF. B. Armstrong M. E. Kuhl, N. M. Steiger and J. A. Joines, editors, TheProceedings of the 2005 Winter Simulation Conference, pages 130�143, 2005.

[102] Thomas C. Schelling. Micromotives and Macrobehavior. WW Norton and Com-pany, New York, 2 edition, 2006.

[103] Alex Schmid. What is the truth of simulation? Journal of Arti�cial Societiesand Social Simulation, 8(4):5, 2005.

[104] R.E. Shannon. Systems Simulation: The Art and Science. Prentice-Hall, 1975.

[105] Terry Shinn. When is simulation a research technology? practices, markets,and lingua franca. In Gunter Kuppers Johannes Lenhard and Terry Shinn,editors, Simulation: Pragmatic Construction of Reality, volume 25 of Sociologyof the Sciences Yearbook, chapter 12, pages 187�203. Springer, Dordrecht, TheNetherlands, 2006.

[106] Herbert A. Simon. The architecture of complexity. In Proceedings of the Amer-ican Philosophical Society, volume 106, pages 467�482. American PhilosophicalSociety, American Philosophical Society, December 1962.

239

Page 250: The History, Philosophy, and Practice of Agent-Based ...

[107] Herbert A. Simon. The Sciences of the Arti�cial. The MIT Press, Cambridge,MA, 3rd edition, 1996.

[108] Harold Stanislaw. Tests of computer simulation validation: What do they mea-sure? Simulation and Games, 17(2):173�191, June 1986.

[109] Garold Stasser. Computer simulation as a research tool: The discuss model ofgroup decision making. Journal of Experimental Social Psychology, 24(5):393�422, September 1988.

[110] W.P Stevens, G.J. Myers, and L.L. Constantine. Structured design. IBMSystems General, 13(2), 1974.

[111] Takeshi Takama and John Preston. Forecasting the e�ects of road user chargeby stochastic agent-based modelling. Transportation Research Part A, 42:738�749, 2008.

[112] James A. Tompkins, John A. White, Yavuz A. Bozer, and J.M.A. Tanchoco.Facilities Planning. John Wiley and Sons, 3rd edition, 2003.

[113] John von Neumann. Theory of Self-Reproducing Automata. University of IllinoisPress, Urbana and London, 1966.

[114] C.H. Waddington. O.R. In World War 2: Operational research against theU-boat. Paul Elek (Scienti�c Books) Ltd, 1973.

[115] Warren Weaver. Science and complexity. American Scientists, 36, 1948.

[116] Tim Weilkiens. Systems Engineering with SysML/UML: Modeling, Analysis,Design. Morgan Kaufmann Publishers, Inc., 2008.

[117] Norbert Wiener. Cybernetics, or control and communication in the animal andthe machine. The MIT Press, Cambridge, MA, 2nd edition, 1962.

[118] Paul Windrum, Giorgia Fagiolo, and Alessio Moneta. Empirical validation ofagent-based models: Alternatives and prospects. Journal of Arti�cal Societiesand Social Simulation, 10(2), 2007.

[119] Eric Winsberg. Sanctioning models: The epistemology of simulation. Sciencein Context, 12(2):275�292, 1999.

[120] Eric Winsberg. Simualtions, models, and theories: Complex physical systemsand their representations. Philosophy of Science, 68(3):442�454, Sep 2001.

[121] Eric Winsberg. Simulated experiments: Methodology for a virtual world. Phi-losophy of Science, 70:105�125, January 2003.

[122] Eric Winsberg. Handshaking your way to the top: Simulation at the nanoscale.In Gunter Kuppers Johannes Lenhard and Terry Shinn, editors, Simulation:Pragmatic Construction of Reality, volume 25 of Sociology of the Sciences Year-book, chapter 9, pages 139�151. Springer, Dordrecht, The Netherlands, 2006.

240

Page 251: The History, Philosophy, and Practice of Agent-Based ...

[123] Eric Winsberg. Models of success versus the success of models: Reliabilitywithout truth. Synthese, 152:1�19, 2006.

[124] Stephen Wolfram. Cellular Automata and Complexity: Collected Papers.Addison-Wesley Publishing Company, 1994.

[125] Bernard P. Zeigler, Herbert Praehofer, and Tag Gon Kim. Theory of Modelingand Simulation. Academic Press, 2nd edition, 2000.

241

Page 252: The History, Philosophy, and Practice of Agent-Based ...

���

Appendix A: Surveyed Articles

[1] M.H. Agar. Another complex step: A model of heroin experimentation. FieldMethods, 13:353�369, 2001.

[2] M.H Agar. Agents in living color: Towards emic agent-based models. Journalof Arti�cal Societies and Social Simulation, 8(1), 2005.

[3] Jin Akaishi and Takaya Arita. Agent-based modeling for investigating adaptiv-ity of misperception. Systems and Computers in Japan, 37(12):482�491, 2006.

[4] C.A. Aktipis. Know when to walk away: contingent movement and the evolutionof cooperation. Journal of Theoretical Biology, 231:249�260, 2004.

[5] S.I. Alam, R. Meyer, G. Ziervogel, and S. Moss. The impact of hiv/aids inthe conext of socioeconomic stressors: An evidence-driven approach. Journal

of Arti�cal Societies and Social Simulation, 10(47), 2007.

[6] S.J. Alam and Bogdan Werth. Study emergence of clusters in a bus passengersseating preference model. Transportation Research Part C, 16:593�614, 2008.

[7] Vito Albino, Nunzia Carbonara, and Ilaria Giannoccaro. Innovation in in-dustrial districts: An agent-based simulation model. International Journal of

Production Economics, 104:30�45, 2006.

[8] Manuel Alfonseca and Juan de Lara. Two-level evolution of foraging agentcommunities. BioSystems, 66:21�30, 2002.

[9] Gary An and Irene Anne Lee. Computer simulation to study in�ammatoryresponse. Simulation and Gaming, 32(3):344�361, 2001.

[10] Li An, Marc Linderman, Jiaguo Qi, Ashton Shortridge, and Jianguo Liu. Ex-ploring complexity in a human-environment system: An agent-based spatialmodel for multidisciplinary and multiscale integration. Annals of the Associa-

tion of American Geographers, 85(1):54�79, 2005.

[11] James Anderson, Alok Chaturvedi, and Mike Cibulskis. Simulation tools fordeveloping policies for complex systems: Modeling the health and safety ofrefugee communities. Health Care Management Science, 10:331�339, 2007.

242

Page 253: The History, Philosophy, and Practice of Agent-Based ...

[12] Martin R. Andersson and Tuomas W. Sanholm. Leveled commitment contractswith myopic and strategic agents. Journal of Economic Dynamics and Control,25:615�640, 2001.

[13] Peter Andras, John Lazarus, Gilbert Roberts, and Steven J. Lynden. Un-certainty and cooperation: Analytical results and a simulated agent society.Journal of Arti�cal Societies and Social Simulation, 9(1), 2006.

[14] Han Hiong Ang. The e�ects of military tactics, techniques, and procedures onpeace support election operations ni representative iraqi towns. Master's thesis,Naval Postgraduate School, Monterey, CA, 2005.

[15] Chaitanya Athale, Yuri Mansury, and Thomas S. Deisboeck. Simulating theimpact of a molecular 'decision-process' on cellular phenotype and multicellularpatterns in brain tumors. Journal of Theoretical Biology, 233:469�481, 2005.

[16] Ioannis N. Athanasiadis, Alexandros K. Mentes, ericles A. Mitkas, and Yian-nis A. Mylopoulos. A hybrid agent-based model for estimating residential waterdemand. Simulation, 81(3):175�187, 2005.

[17] Karla Atkins, Achla Marathe, and Chris Barret. A computational approach tomodeling commodity markets. Computational Economics, 30:125�142, 2007.

[18] Marcel Ausloos and Andrzej Pekalski. Model of wealth and goods dynamics ina closed market. Physica A, 373:560�568, 2007.

[19] Mehmet Aydin. An exploratory analysis of village search operations. Master'sthesis, Naval Postgraduate School, Monterey, CA, 2004.

[20] Michael Babilot. Comparison of a distributed operations force to a traditionalforce in urban combat. Master's thesis, Naval Postgraduate School, Monterey,CA, 2005.

[21] Jun-Geol Baek and Chang Ouk Kim. Learning single-issue negotiation strate-gies using hierarchical clustering method. Expert Systems with Applications,32:606�615, 2007.

[22] R. Bagni, R. Berchi, and P. Cariello. A comparison of simulation models appliedto epidemics. Journal of Arti�cal Societies and Social Simulation, 5(3), 2002.

[23] A. Bah, I. Toure, C. Le Page, A. Ickowicz, and A.T. Diop. An agent-basedmodel to understand the multiple uses of land resources around drillings insahel. Mathematical and Computer Modelling, 44:513�534, 2006.

[24] Alexander M. Bailey, Bryan C. Thorne, and Shayn M. Peirce. Multi-cell agent-based simulation of the microvasculature to study the dynamics of circulatingin�ammatory cell tra�cking. Annals of Biomedical Engineering, 35(6):916�936,2004.

243

Page 254: The History, Philosophy, and Practice of Agent-Based ...

[25] Matthew D. Bain. Supporting a marine corps distribution operations platoon:A quantitative analysis. Master's thesis, Naval Postgraduate School, Monterey,CA, 2005.

[26] Johnrob Bantang and Caesar Saloma. Co-existence of poisson and non-poissonprocesses in ordered parallel multilane pedestrian tra�c. Complexity, 11(5):35�42, 2006.

[27] Olivier Barreteau, Patrice Garin, Alexandre Dumontier, and Geraldine Abrami.Agent-based facilitation of water allocation: Case study in the drome rivervalley. Group Decision and Negotiation, 12:441�461, 2003.

[28] M. Le Bars, J.M. Attonaty, S. Pinson, and N. Ferrand. An agent-based sim-ulation testing the impact of water allocation on farmers' collective behaviors.Simulation, 81(3):223�235, 2005.

[29] Cem Baydar. Agent-based modeling and simulation of store performance forpersonalized pricing. In Proceedings of the 2003 Winter Simulation Conference,pages 1759�1764, 2003.

[30] Ana L.C. Bazzan and Frankziska Klugl. Case studies on the braess paradox:Simulating route recommendation and learning in abstract and microscopicmodels. Transportation Research Part C, 13:299�319, 2005.

[31] Catherine Beauchemin, John Samuel, and Jack Tuszynski. A simple cellularautomaton model for in�uenza a viral infections. Journal of Theoretical Biology,232:223�234, 2005.

[32] Jessica Beck, Ruud Kempener, Brett Cohen, and Jim Petrie. A complex systemsapproach to planning, optimization and decision making for energy networks.Energy Policy, 36:2803�2813, 2008.

[33] Francesc S. Beltran, Laura Salas, and Vicenc Quera. Spatail behavior in groups:an agent-based approach. Journal of Arti�cal Societies and Social Simulation,9(3), 2006.

[34] Katie Bentley, Holger Gerhardt, and Paul A. Bates. Agent-based simulation ofnotch-mediating tip cell selection in agiogenic sprout initialisation. Journal ofTheoretical Biology, 250:25�36, 2008.

[35] R. Alexander Bentley, Mark W. Lake, and Stephen J. Shennan. Specialisationand wealth inequality in a model of a clustered economic network. Journal ofArchaeological Science, 32:1346�1356, 2005.

[36] Johannes Berg, Matteo Marsili, Aldo Rustichini, and Riccardo Zecchina. Are�nancial markets e�cient? phase transition in the aggregation of information.Complexity, 8(2):20�23, 2003.

[37] Margo Bergman. Examining risk attitudes. Complexity, 9(5):25�30, 2004.

244

Page 255: The History, Philosophy, and Practice of Agent-Based ...

[38] Robert N. Bernard. Using adaptive agent-based simulation models to assistplanners in policy development: the case of rent control. Working paper, SanteFe Institute, August 1999.

[39] Sukaina Bharwani, Mike Bithell, Thomas E. Downing, Mark New, RichardWashington, and Gina Ziervogal. Multi-agent modeling of climate outlooksand food security on the community garden scheme in limpopo, south africa.Philosohpical Transactions of the Royal Society B, 360:2183�2194, 2005.

[40] Ravi Bhavnani. Adaptive agents, political institutions and civic traditions inmodern italy. Journal of Arti�cial Societies and Social Simulation, 6(4), 2003.

[41] Janice A. Black, Richard L. Oliver, Jon P. Howell, and J. Phillip King. Adynamic system simulation of leader and group e�ects on contect for learning.The Leadership Quarterly, 17:39�56, 2006.

[42] Niels Blaum and Matthias C. Wichmann. Short-term transformation of ma-trix into hospitable habitat facilitates gene �ow and mitigates fragmentation.Journal of Animal Ecology, 76:1116�1127, 2007.

[43] Riccardo Boero, Macro Castellani, and Flaminio Squazzoni. Micro behaviouralattitudes and macro technological adaptation in industrial districts: an agent-based prototype. Journal of Arti�cial Societies and Social Simulation, 7(2),2004.

[44] Max Boisot, Ian C. MacMillan, and Kyeong Seok Han. Property rights andinformation �ows: a simulation approach. Journal of Evolutionary Economics,17:63�93, 2007.

[45] Francesca Borrelli, Cristina Ponsiglione, Luca Iandoli, and Giuseppe Zollo.Inter-organizational learning and collective memory in small �rms clusters: anagent-based approach. Journal of Arti�cial Societies and Social Simulation,8(3), 2005.

[46] John Bower and Derek Bunn. Experimental analysis of the e�ciency of uniform-price versus discriminatory auctions in the england and wales electricity market.Journal of Economic Dynamics and Control, 25:561�592, 2001.

[47] Ralph Bradburd, Stephen Sheppard, Joseph Bergeron, Eric Engler, and EvanGee. The distributional impact of housing discrimination in a non-walrasiansetting. Journal of Housing Economics, 14:61�91, 2005.

[48] Markus Brede, Fabio Foschetti, and David McDonald. Strategies for resourceexploitation. Ecological Complexity, 5:22�29, 2008.

[49] Daniel G. Brown, Scott E. Page, Rick Riolo, and William Rand. Agent-basedand analytical modeling to evaluate the e�ectiveness of greenbelts. Environ-

mental Modelling and Software, 19:1097�1109, 2004.

245

Page 256: The History, Philosophy, and Practice of Agent-Based ...

[50] Lloyd P. Brown. Agent based simulation as an exploratory tool in the study ofthe human dimension of combat. Master's thesis, Naval Postgraduate School,Monterety, CA, 2000.

[51] Christian Buchta, David Meyer, Alexander P�ster, Andreas Mild, and AlfredTaudes. Technological e�ciency and organizational inertia: A model of theemergence of disruption. Computational and Mathematical Organization The-

ory, 9:127�146, 2003.

[52] Richard K. Bullock, Gregory A. McIntyre, and Raymond R. Hill. Using agent-based modeling to capture airpower strategic e�ects. In J.A. Joines, R.R. Baron,K. Kang, and P.A. Fishwick, editors, Proceedsing of the 2000 Winter Simulation

Conference, pages 1739�1746, 2000.

[53] Derek W. Bunn and Fernando S. Oliveira. Evaluating individual market powerin electricity markets via agent-based simulation. Annals of Operations Re-

search, 121:57�77, 2003.

[54] Stephen E. Cabaniss, Greg Madey, Laura Le�, Patricia A. Maurice, and RobertWetzel. A stochastic model for the synthesis and degradation of natural organicmatter. part i. data structures and reaction kinetics. Biogeochemistry, 76:319�347, 2005.

[55] Enrique Canessa and Rick L. Riolo. The e�ect of organizational communicationmedia on organizational culture and performance: An agent-based simulationmodel. Computational and Mathematical Organization Theory, 9:147�176, 2003.

[56] Javier Carrillo-Hermosilla. A policy approach to the environmental impacts oftechnological lock-in. Ecological Economics, 58:717�742, 2006.

[57] Arancha Casal, Cenk Sumen, Timothy E. Reddy, Mark S. Alber, and Peter P.Lee. Agent-based modeling of the context dependency in t cell recognition.Journal of Theoretical Biology, 236:376�391, 2005.

[58] Rajesh Chakrabarti. Just another day in the inter-bank foreign exchange mar-ket. Journal of Financial Economics, 56:29�64, 2000.

[59] Damien Challet. Inter-pattern speculation: Beyond minority, majority andmoney-games. Journal of Economics Dynamics and Control, 32:85�100, 2008.

[60] Lance E. Champagne and Raymond R. Hill. Agent-model validation basedon historical data. In S.G. Henderson, B. Biller, M.H. Hsieh, J. Shortle, J.D.Tew, and R.R. Barton, editors, Proceedings of the 2007 Winter Simulation

Conference, pages 1223�1231, 2007.

[61] Kok Meng Chang. The peformance of edge organizations in a collaborativetask. Master's thesis, Naval Postgraduate School, Monterey, CA, 2005.

246

Page 257: The History, Philosophy, and Practice of Agent-Based ...

[62] S.H. Chen and C.H. Yeh. Modeling the expectations of in�ation in the olgmodel with genetic programming. Soft Computing, 3:53�62, 1999.

[63] Shu-Heng Chen and Bin-Tzong Chie. Lottery markets design, micro-structure,and macro-behavior: an ace approach. Journal of Economic Behavior and

Organization, 67:463�480, 2008.

[64] Shu-Heng Chen and Ya-Chi Huang. Relative risk aversion and wealth dynamics.Information Sciences, 177:1222�1229, 2007.

[65] Shu-Heng Chen and Chung-Chih Liao. Agent-based computational modelingof the stock price-volume relation. Information Sciences, 170:75�100, 2005.

[66] Xuwei Chen, John W. Meaker, and F. Benjamin Zhan. Agent-based modelingand analysis of hurricane evacuation procedures for the �orida keys. Natural

Hazards, 38:321�338, 2006.

[67] Wan Szu Ching. An exploratory analysis on the e�ects of human factors oncombat outcomes. Master's thesis, Naval Postgraduate School, Monterey, CA,2002.

[68] David R. Cope. Individuality in modeling: a simplifying assumption too far?Nonlinear Analysis: Real World Applications, 6:691�704, 2005.

[69] Romulus-Catalin Damaceanu. An agent-based computational study of wealthdistribution in function of resource growth interval using netlogo. Applied Math-

ematics and Computation, 201:371�377, 2008.

[70] Patrick D'Aquino, Christophe Le Page, Francois Bousquet, and Alassane Bah.Using self-designed role-playing games and a multi-agent system to empowera local decision-making process for land use management: The selfcormas ex-periment in senegal. Journal of Arti�cial Societies and Social Simulation, 6(3),2003.

[71] Herbert Dawid and Joern Dermietzel. How robust is the equal split norm?responsive strategies, selection mechanisms and the need for economic interpre-tation of simulation parameters. Computational Economics, 28:371�397, 2006.

[72] Herbert Dawid and Marc Reimann. Evaluating market attractiveness: Individ-ual incentives versus industry pro�tability. Computational Economics, 24:321�355, 2004.

[73] Juan de Lara and Manuel Alfonseca. Some strategies for the simulation of vo-cabulary agreement in multi-agent communities. Journal of Arti�cial Societiesand Social Simulation, 3(4), 2000.

[74] Juan de Lara and Manuel Alfonseca. The role of oblivion, memory size andspatial separation in dynamic language games. Journal of Arti�cial Societies

and Social Simulation, 5(2), 2002.

247

Page 258: The History, Philosophy, and Practice of Agent-Based ...

[75] S.A. Delre, W. Jager, T.H.A. Bijmolt, and M.A. Janssen. Targeting and timingpromotional activities: An agent-based model for the takeo� of new products.Journal of Business Research, 60:826�835, 2007.

[76] R. Donangelo, A. Hansen, K. Sneppen, and S.R. Souza. Need, greed, and noise:competing strategies in a trading model. Physica A, 348:496�504, 2005.

[77] Giovanni Dosi, Giorgio Fagiolo, and Andrea Roventini. An evolutionary modelof endogenous business cycles. Computational Economics, 27:3�34, 2006.

[78] John Du�y. Learning to speculate: Experiments with arti�cial and real agents.Journal of Economic Dyanmics and Control, 25:295�319, 2001.

[79] John Du�y and M. Utka Unver. Internet auctions with arti�cial adaptive agents:A study on market design. Journal of Economic Behavior and Organization,67:394�417, 2008.

[80] John Du�y and M. Utku Unver. Asset price bubbles and crashes near-zero-intelligence traders. Economic Theory, 27:537�563, 2006.

[81] Mark J.R. Ebben, Luitzen de Boer, and Corina E. Pop Sitar. Multi-agentsimulation of purchasing activities in organizations. In E. Yucesan, C.H. Chen,J.L. Snowdonw, and J.M. Charnes, editors, Proceedings of the 2002 Winter

Simulation Conference, 2002.

[82] Bruce Edmonds. Towards a descriptive model of agent strategy search. Com-putational Economics, 18:113�135, 2001.

[83] Motela E. E�mba. An exploratory analysis of littoral combat ships' abilityto protect expenditionary strike groups. Master's thesis, Naval PostgraduateSchool, Monterey, CA, 2003.

[84] Mark A. Ehlen, Andrew J. Scholand, and Kevin L. Stamber. The e�ects of res-idential real-time pricing contracts on transco laods, pricing, and pro�tability:Simulations using the n-able agent-based model. Energy Economics, 29:211�227, 2007.

[85] Benjamin M. Eidelson and Ian Lustick. Vir-pox: An agent-based analysis ofsmallpox preparedness and response policy. Journal of Arti�cial Societies andSocial Simulation, 7(3), 2004.

[86] Lisa Elliston and Liangyue Cao. An agent-based bioeconomic model of �sherywith input controls. Mathematical and Computer Modelling, 44:565�575, 2006.

[87] Joshua M. Epstein. Learning to be thoughtless: Social norms and individualcomputation. Computational Economics, 18:9�24, 2001.

[88] Thomas Erlenbruch. Agent-based simulation of german peacekeeping opera-tions for units up to platoon level. Master's thesis, Naval Postgraduate School,Monterey, CA, 2002.

248

Page 259: The History, Philosophy, and Practice of Agent-Based ...

[89] Michel Etienne, Christopher Le Page, and Mathilde Cohen. A step-by-stepapproach to building land management scenarios based on multiple viewpointson multi-agent system simulations. Journal of Arti�cial Societies and Social

Simulations, 6(2), 2003.

[90] Tom P. Evans and Hugh Kelley. Multi-scale analysis of a household levelagent-based model of landcover change. Journal of Environmental Manage-

ment, 72:57�72, 2004.

[91] Manuel Fehler, Marco Kleinhenz, Franziska Klugl, Frank Puppe, and JurgenTautz. Caps and gaps: a computer model for studies on brood incubationstrategies in honeybees (apis mellifera carnica). Naturwissenchaften, 94:675�680, 2007.

[92] Guido Fioretti and Alessandro Lomi. The garbage can model of organizationalchoice: An agent-based reconstruction. Simulation Modelling Practice and The-

ory, 16:192�217, 2008.

[93] Andreas Flache and Michael Mas. Why do faultlines matter? a computationalmodel of how strong demographic faultlines undermine team cohesion. Simula-tion Modelling Practice and Theory, 16:175�191, 2008.

[94] Anselm Fleischmann. A model for a simple luhmann economy. Journal of

Arti�cial Societies and Social Simulation, 8(2), 2005.

[95] Felix Flentge, Daniel Polani, and Thomas Uthmann. Modelling the emergenceof possession norms using memes. Journal of Arti�cial Societies and Social

Simulation, 4(4), 2001.

[96] H. Fort. Exploring the cooperative regimes in an agent-based model: indirectreciprocity vs. sel�sh incentives. Physica A, 326:286�298, 2003.

[97] Christopher S. Fowler. Taking geographical economics out of equilibrium: im-plications for theory and policy. Journal of Economic Geography, 7:265�284,2007.

[98] Lana X. Garmire, David G. Garmire, and C. Anthony Hunt. An in silicotranswell device for the study of drug transport and drug-drug interactions.Pharmaceutical Research, 24(12):2171�2186, 2007.

[99] Domenico Delli Gatti, Corrado Di Guilmi, Edoardo Ga�eo, Gianfranco Giulioni,Mauro Gallegati, and Aontonio Palestrini. A new approach to business �uc-tuations: heterogeneous interacting agents, scaling laws and �nancial fragility.Journal of Economic Behavior and Organization, 56:489�512, 2005.

[100] Martin P. Gaupp and Raymond R. Hill. Using adaptive agents in java tosimulate u.s. air force pilot rentention. In P.A. Farrington, H.B. Nembhard, D.T.Sturrock, and G.W. Evans, editors, Proceedings of the 1999 Winter Simulation

Conference, pages 1152�1159, 1999.

249

Page 260: The History, Philosophy, and Practice of Agent-Based ...

[101] Irene Giardina and Jean-Philippe Bouchaud. Volatility clustering in agent basedmarket models. Physica A, 324:6�16, 2003.

[102] Onofrio Gigliotta, Orazio Miglino, and Domenico Parisi. Groups of agents witha leader. Journal of Arti�cial Societies and Social Simulation, 10(4), 2007.

[103] Andrew W. Gill, Richard R. Egudo, Peter J. Dortmans, and Dion Grieger.Using agent based distillations in support of the army capability developmentprocess - a case study. Technical report, DSTO Systems Sciences Laboratory,2002.

[104] Juan Carlos Gonzalex-Avella, Mario G. Cosenza, Konstantin Klemm, Victor M.Equiluz, and Maxi San Miguel. Information feedback and mass media e�ects incultural dynamics. Journal of Arti�cial Societies and Social Simulation, 10(39),2007.

[105] Alexander Gorobets and Bart Nooteboom. Adaptive build-up and breakdownof trust: An agent based computational approach. Journal of Management

Governance, 10:277�306, 2006.

[106] Dion Grieger and Andrew Gill. Exploring the e�ect of the fog of war on thevalue of competitive edges in land warfare. In Computational Techniques and

Applications Conference, 2001.

[107] Elizabeth R. Gro�. Simulation for theory testing and experimentation: An ex-ample using routine activity theory and street robbery. Journal of QuantitativeCriminology, 23:75�103, 2007.

[108] J.E. Gross, R.R.J. McAllister, N. Abel, D.M. Sta�ord Smith, and Y. Maru. Aus-tralian rangelands as complex adaptive systems: A conceptual model and pre-liminary results. Environmental Modelling and Software, 21:1264�1272, 2006.

[109] Suat Kursat Gun. Evaluating sunni participation in an election in a represen-tative iraqi town. Master's thesis, Naval Postgraduate School, Monterey, CA,2005.

[110] Matthew B. Hakola. An exploratory analysis of convey protection using agent-based simulation. Master's thesis, Naval Postgraduate School, Monterey, CA,2004.

[111] Kathrin Happe, Alfons Balmann, Konrad Kellermann, and ChristophSahrbacher. Does structure matter? the impact of switching the agriculturalpolicy regime on farm structures. Journal of Economic Behavior and Organi-

zation, 67:431�444, 2008.

[112] James K. Hazy and Brian F. Tivnan. On building an organizationally realisticagent-based model of local interaction and emergent network structure. In R.G.Ingalls, M.D. Rossetti, J.S. Smith, and B.A. Peters, editors, Proceedings of the2004 Winter Simulation Conference, 2004.

250

Page 261: The History, Philosophy, and Practice of Agent-Based ...

[113] Ferdi L. Hellweger. The role of inter-generation memory in diel phytoplanktondivision patterns. Ecological Modelling, 212:382�396, 2008.

[114] C.K. Hemelrijk, J. Wantia, and L. Gygax. The construction of dominanceorder: comparing performance of �ve methods using an individual-based model.Behaviour, 142:1037�1058, 2005.

[115] Leslie Henrickson. Old wine in a new wineskin: College choice, college accessusing agent-based modeling. Social Science Computer Review, 20(4):400�419,2002.

[116] Sze-Tek Terence Ho. Investigating ground swarm robotics using agent basedsimulation. Master's thesis, Naval Postgraduate School, Monterey, CA, 2006.

[117] Geo�rey M. Hodgson and Thorbjorn Knudsen. The complex evolution of asimple tra�c convention: the functions and implications of habit. Journal of

Economic Behavior and Organization, 54:19�47, 2004.

[118] A.O.I. Ho�mann, W. Iager, and I.H. Von Eije. Social simulation of stock mar-kets: Taking it to the next level. Journal of Arti�cial Societies and Social

Simulation, 10(2), 2007.

[119] Petter Holme, Josh Karlin, and Stephanie Forrest. An integrated model oftra�c, geography and economy in the internet. ACM SIGCOMM Computer

Communication Review, 38(3):7�15, 2008.

[120] Xiaolin Hu and Yi Sun. Agent-based modeling and simulation of wildland �resuppression. In S.G. Henderson, B. Biller, M.H. Hsieh, J.D. Tew, and R.R.Barton, editors, Proceedings of the 2007 Winter Simulation Conference, 2007.

[121] Marco G.A. Huigen. First principles of the mameluke multi-actor modellingframework for land use change, illustrated with a phillipine case study. Journalof Environmental Management, 72:5�21, 2004.

[122] Norman P. Hummon and Patrick Doreian. Some dynamics of social balanceprocesses: bringing heider back into balance theory. Social Networks, 25:17�49,2003.

[123] Hirouki Iizuka, Masahito Yamamoto, Keiji Suzuki, and Azuma Ohuchi. Bottom-up consensus formation in voting games. Nonlinear Dynamics, Psychology, andLife Sciences, 6(2):185�195, 2002.

[124] Yuichi Ikeda, Hideaki Aoyama, Hirochi Iyetomi, Yoshi Fujiwara, Wataru Souma,and Taisei Kaisoji. Response of �rm agent network to exogenous shock. PhysicaA, 382:138�148, 2007.

[125] Arif Ilker Ipekci. How agent ased models can be utilized to explore and ex-ploit non-linearity and intangibles inherent in guerrilla warfare. Master's thesis,Naval Postgraduate School, Monterey, CA, 2002.

251

Page 262: The History, Philosophy, and Practice of Agent-Based ...

[126] Jerry Jackson. Are us utility standby rates inhibiting di�usion of customer-owned generating systems? Energy Policy, 35:1896�1908, 2007.

[127] Christian Jacob and Ian Burleigh. Biomolecular swarms - an agent-based modelof the lactose operon. Natural Computing, 3:361�376, 2004.

[128] Shareen Joshi, Je�rey Parker, and Mark A. Bedau. Financial markets can beat sub-optimal equilibria. Computational Economics, 19:5�23, 2002.

[129] Sanhoji Katare and Venkat Venkatasuramanian. An agent-based learningframework for modeling microbial growth. Engineering Applications of Arti-

�cial Intelligence, 14:715�726, 2001.

[130] Gary A. Kendrick, Nuria Marba, and Carlos M. Duarte. Modelling formationof complex topography by the seagrass posidonia oceanica. Estuarine, Coastaland Shelf Science, 65:717�725, 2005.

[131] Robert H. Kewley. Agent-based model of auftragstaktik: Self organization incommand and control of future combat forces. In R.G. Ingalls, M.D. Rossetti,J.S. Smith, and B.A. Peters, editors, Proceedings of the 2004 Winter Simulation

Conference, 2004.

[132] Asif Khalak. Agent-based model for economic impact of free software. Com-

plexity, 8(3):45�55, 2003.

[133] Moutaz Khouja, Mirsad Hadzikadic, and Muhammad Adeel Za�ar. An agent-based modeling approach for determining optimal price-rebate schemes. Simu-lation Modelling Practice and Theory, 16:111�126, 2008.

[134] Y.S. Kim. Maximizing sellers' welfare in online auction by simulating bidders'proxy bidding agents. Expert Systems with Applications, 32:289�298, 2007.

[135] Maria A. Kiskowski, Mark S. Alber, Gilberto L. Thomas, James A. Glazier,Natalie B. Bronstein, Jiayu Pu, and Stuart A. Newman. Interplay betweenactivator-inhibitor coupling and cell-matrix adhesion in a cellular automatonmodel for chondrogenic patterning. Developmental Biology, 271:372�387, 2004.

[136] Tomas B. Klos and Bart Nooteboom. Agent-based computational transactioncos economics. Journal of Economic Dynamics and Control, 25:503�526, 2001.

[137] Sujai Kumar and Sugata Mitra. Self-organizing tra�c at a malfunctioningintersection. Journal of Arti�cial Societies and Social Simulation, 9(4), 2006.

[138] Zoltan Kuscsik, Denis Horvath, and Martin Gmitra. The critical properties ofthe agent-based model with environmental-economic interactions. Physica A,379:199�206, 2007.

[139] Vasileios Lalis. Exploring naval tactics with uavs in an island complex usingagent-based simulation. Master's thesis, Naval Postgraduate School, Monterey,CA, 2007.

252

Page 263: The History, Philosophy, and Practice of Agent-Based ...

[140] Richard B. Lam. Agent-based simulations of service policy decisions. In S.G.Henderson, B. Biller, M.H. Hsieh, J. Shortle, J.D. Tew, and R.R. Barton, edi-tors, Proceedings of the 2007 Winter Simulation Conference, 2007.

[141] Bert J. Lao and Daniel T. Kamei. Investigation of cellular movement in theprostate epithelium using an agent-based model. Journal of Theoretical Biology,250:642�654, 2008.

[142] M.K. Lauren. Firepower concentration in cellular automaton combat models-analternative to lanchester. Journal of Operational Research Society, 53:672�679,2002.

[143] Michael Laver and Michel Schilperoord. Spatial models of political competi-tion with endogenous political parties. Philosohpical Transactions of the RoyalSociety B, 362:1711�1721, 2007.

[144] Blake LeBaron and Ryuichi Yamamoto. Long-memory in an order-driven mar-ket. Physica A, 383:85�89, 2007.

[145] Seung Man Lee, Ujwala Ravinder, and James C. Johnson. Developing an agentmodel of human performance in air tra�c control operations using apex cogni-tive architecture. In M.E. Kuhl, N.M. Steiger, F.B. Armstrong, and J.A. Joines,editors, Proceedings of the 2005 Winter Simulation Conference, 2005.

[146] Lawrence A.H. Liang. The use of agent based simualtion for cooperative sensingof the battle�eld. Master's thesis, Naval Postgraduate School, Monterey, CA,2005.

[147] Marco LiCalzi and Paolo Pellizzari. Breeds of risk-adjusted foundamentaliststrategies in an order-driven market. Physica A, 359:619�633, 2006.

[148] Joseph M. Lindquist. An analysis of degraded communications in the army'sfuture force. Master's thesis, Naval Postgraduate School, Monterey, CA, 2004.

[149] Xinghua Liu, Xiaobei Liang, and Bingyong Tang. Minority game and anomaliesin �nancial markets. Physica A, 333:343�352, 2004.

[150] Yu Liu and C. Anthony Hunt. Mechanicistic study of the cellular interplay oftransport and metabolism using the synthetic modeling method. Pharmaceuti-cal Research, 23(3):493�505, 2006.

[151] Margaret L. Loper and Bart Presnell. Modeling an emergency operations centerwith agents. In M.E. Kuhl, N.M. Steiger, F.B. Armstrong, and J.A. Joines,editors, Proceedings of the 2005 Winter Simulation Conference, 2005.

[152] Adolfo Lopez-Paredes, David Sauri, and Jose M. Galan. Urban water manage-ment with arti�cial societies of agents: The �rmabar simulator. Simulation,81(3):189�199, 2005.

253

Page 264: The History, Philosophy, and Practice of Agent-Based ...

[153] Hilmi Lus, Cevat Onur Aydin, Sinan Keten, Hakan Ismail Unsal, and Ali RanaAtilgan. El farol revisisted. Physica A, 346:651�656, 2005.

[154] Ian S. Lustick. Agent-based modelling of collective identity: testing construc-tivist theory. Journal of Arti�cial Societies and Social Simulation, 3(1), 2000.

[155] Tieja Ma and Yoshiteru Nakamori. Agent-based modeling on technological in-novation as an evolutionary process. European Journal of Operational Research,166:741�755, 2005.

[156] Michael Makowsky. An agent-based model of mortality shocks, intergenerale�ects, and urban crime. Journal of Arti�cial Societies and Social Simulation,9(2), 2006.

[157] Steven M. Manson. Agent-based modeling and genetic programming for mod-eling land change in the southern yucatan peninsular region of mexico. Agri-

culture, Ecosystems and Environment, 111:47�62, 2005.

[158] Yuri Mansury and Thomas S. Deisboeck. The impact of "search precision" in anagent-based tumor model. Journal of Theoretical Biology, 224:325�337, 2003.

[159] Yuri Mansury and Laszlo Gulyas. The emergence of zipf's law in a system ofcities: An agent-based simulation approach. Journal of Economic Dynamics

and Control, 31:2438�2460, 2007.

[160] Christian W. Martin and Thomas Plumper. Number of parties, endogenouspart preferences, and electoral turnout rates. Social Science Computer Review,23(3):347�359, 2005.

[161] Raphael Mathevet, Francois Bousquet, Chistophe Le Page, and Martine An-tona. Agent-based simulations of interactions between duck population, farm-ing decisions and leasing of hunting rights in the camargue (southern france).Ecological Modelling, 165:107�126, 2003.

[162] Raphael Mathevet, Chistophe Le Page, Michel Etienne, Gaetan Lefebvre,Brigitte Poulin, Guillaume Gigot, Sophie Proreol, and Andre Mauchamp. Bu-torstar: A role-playing game for collective awareness of wise reedbed use. Sim-ulation and Gaming, 38(2):233�262, 2007.

[163] A.D. McDonald, L.R. Little, R. Gray, E. Fulton, K.J. Sainsbury, and V.D.Lyne. An agent-based modelling approach to evaluation of multiple-use man-agement strategies for coastal marine ecosystems. Mathematics and Computers

in Simulation, 78:401�411, 2008.

[164] Mary L. McDonald and Stephen C. Upton. Investigating the dynamics of com-petition: Coevolving red and blue simulation parameters. In M.E. Kuhl, N.M.Steiger, F.B. Armstrong, and J.A. Joines, editors, Proceedings of the 2005 Win-

ter Simulation Conference, pages 1008�1012, 2005.

254

Page 265: The History, Philosophy, and Practice of Agent-Based ...

[165] Kevin L. McMindes. Unmanned aerial vehicle survivability: The impact ofspeed, detectability, altitude, and enemy capabilities. Master's thesis, NavalPostgraduate School, Monterey, CA, 2005.

[166] Kumar Mehta and Siddhartha Bhattacharyya. Design, development and vali-dation of an agent-based model of electronic auctions. Information Technology

and Management, 7:191�212, 2006.

[167] R. Vilela Mendes. The fractional volatility model: An agent-based interpreta-tion. Physica A, 387:3987�3994, 2008.

[168] Augusto Ruperez Micola, Albert Banal-Estanol, and Derek W. Bunn. Incentivesand coordination in vertically related energy markets. Journal of Economic

Behavior and Organization, 67:381�393, 2008.

[169] Augusto Ruperez Micola and Derek W. Bunn. Crossholdings, concentrationand information in capacity-constrained sealed bid-o�er auctions. Journal of

Economic Behavior and Organization, 66:748�766, 2008.

[170] Rebecca M. Milton. Using agent-based modeling to examine the logistical chainof the seabase. Master's thesis, Naval Postgraduate School, Monterey, CA, 2004.

[171] James W. Minett and William S-Y. Wang. Modelling endangered languages:The e�ects of bilingualism and social structure. Lingua, 118:19�45, 2008.

[172] Dan Miodownik. Cultural di�erences and economic incentives: an agent-basedstudy of their impact on the emergence of regional autonomy movements. Jour-nal of Arti�cial Societies and Social Simulation, 9(4), 2006.

[173] Ivica Mitrovic and Kerstin Dautenhahn. Social attitudes: Investigating withagent simulations using webots. Journal of Arti�cial Societies and Social Sim-

ulation, 6(4), 2003.

[174] Hideyuki Mizuta and Fusashi Nakamura. Agent-based simulation of enterprisecommunication network. In M.E. Kuhl, N.M. Steiger, F.B. Armstrong, and J.A.Joines, editors, Proceedings of the 2005 Winter Simulation Conference, 2005.

[175] Hideyuki Mizuta, Ken Steiglitz, and Erez Lirov. E�ects of price signal choices onmarket stability. Journal of Economic Behavior and Organization, 52:235�251,2003.

[176] Hideyuki Mizuta and Yoshiki Yamagata. Agent-based simulation and green-house gass emissions trading. In B.A. Peters, J.S. Smith, D.J. Medeiros, andM.W. Rohrer, editors, Proceedings of the 2001 Winter Simulation Conference,2001.

[177] Piergiuseppe Morone and Richard Taylor. Small world dynamics and the processof knowledge di�usion: The case of the metropolitan area of greater santiagode chile. Journal of Arti�cial Societies and Social Simulation, 7(2), 2004.

255

Page 266: The History, Philosophy, and Practice of Agent-Based ...

[178] Sonia Moulet and Juliette Rouchier. The in�uence of seller learning and timeconstraints on sequential bargaining in an arti�cial perishable goods market.Journal of Economic Dynamics and Control, 32:2322�2348, 2008.

[179] Guillaume Muller, Pascal Grebaut, and Jean-Paul Gouteux. An agent-basedmodel of sleeping sickness: simulation trials of a fore focus in southerncameroon. Comptes Rendus Biologies, 327:1�11, 2004.

[180] Moritz Muller, Grank Sensfuss, and Martin Wietschel. Simulation of currentpricing-tendencies in the german electricity market for private consumption.Energy Policy, 35:4283�4294, 2007.

[181] Norberto Eiji Nawa, Katsunori Shimohara, and Osamu Katai. On fairnessand learning agents in a bargaining model with uncertainty. Cognitive SystemsResearch, 3:555�578, 2002.

[182] Luc Neuberg and Koen Bertels. Heterogeneous trading agents. Complexity,8(5):28�35, 2003.

[183] Michael Neugart. Labor market policy evaluation with ace. Journal of EconomicBehavior and Organization, 67:418�430, 2008.

[184] Darla Nickel, Roland Barthel, and Juergen Braun. Large-scale water resourcesmanagement within the framework of glowa-danube - the water supply model.Physics and Chemistry of the Earth, 30:383�388, 2005.

[185] William P. Niedringhaus. The jet:wise model of national airspace system evo-lution. Simulation, 80(1):45�58, 2004.

[186] Paul Ormerod. The us business cycle: power law scaling for interacting unitswith complex internal structure. Physica A, 314:774�785, 2002.

[187] Paul Ormerod. Extracting deep information from limited observations on anevovled social network. Physica A, 378:48�52, 2007.

[188] Paul Ormerod and Rich Colbaugh. Cascades of failure and extinction in evolvingcomplex systems. Journal of Arti�cial Societies and Social Simulation, 9(4),2006.

[189] S. Clifton Parks, Maxim Farifullin, and Rainer Dronzek. Argus invasive speciesspread model constructed using agent-based modeling approach and cellular au-tomata. In M.E. Kuhl, N.M. Steiger, F.B. Armstrong, and J.A. Joines, editors,Proceedings of the 2005 Winter Simulation Conference, pages 1038�1042, 2005.

[190] Carlos M. Parra and Masakazu Yano. Evolutionary dynamics of knowledge.Complexity, 11(5):12�19, 2005.

256

Page 267: The History, Philosophy, and Practice of Agent-Based ...

[191] Surya Dev Pathak, David M. Dilts, and Gautam Biswas. Simulating growthdynamics in complex adaptive supply networks. In R.G. Ingalls, M.D. Rossetti,J.S. Smith, and B.A. Peters, editors, Proceedings of the 2004 Winter Simulation

Conference, pages 774�782, 2004.

[192] Juan Pavon, Millan Arroyo, Samer Hassan, and Candelaria Sansores. Agent-based modelling and simulation for the analysis of social patterns. Pattern

Recognition Letters, 29:1039�1048, 2008.

[193] Srinivas Peeta, Pengcheng Zhang, and Weimin Zhou. Behavior-based analysis offreeway car-truck interactions and related mitigation strategies. TransportationResearch Part B, 39:417�451, 2005.

[194] D. Penzar and A. Srbljinovic. Dynamic modeling of ethnic con�icts. Interna-tional Transactions in Operational Research, 11:63�76, 2004.

[195] Cino Pertoldi and Chris Topping. The use of agent-based modelling of geneticsin conservation genetics studies. Journal for Nature Conservation, 12:111�120,2004.

[196] Volker Pfei�er. Communication aspects in urban terrain. Master's thesis, NavalPostgraduate School, 2006.

[197] Marcio R. Pie, Rebeca B. Rosengaus, and James F.A. Traniello. Nest architec-tures, activity pattern, worker density and the dynamics of disease transmissionin social insects. Journal of Theoretical Biology, 226:45�51, 2004.

[198] Mark Pogson, Rod Smallwood, Eva Qwarnstrom, and Mike Holcombe. Formalagent-based modelling of intracellular chemical interactions. BioSystems, 85:37�45, 2006.

[199] Josep M. Pujol, Andreas Flache, Jordi Delgado, and Ramon Sanguesa. Howcan social networks ever become complex? modelling the emergence of complexnetworks from local social exchanges. Journal of Arti�cial Societies and Social

Simulation, 8(4), 2005.

[200] S.T. Purucker, C.J.E. Welsh, R.N. Stewart, and P. Starzec. Use of habitat-contamination spatial correlation to determine when to perform a spatially ex-plicit ecological risk assessment. Ecological Modelling, 204:180�192, 2007.

[201] Marco Raberto and Silvano Cincotti. Modeling and simulation of a doubleauction arti�cial �nancial market. Physica A, 355:34�45, 2005.

[202] Gabriel Ramos-Fernandez, Denis Boyer, and Vian P. Gomez. A complex socialstructure with �ssion-fusion properties can emerge froma simple foraging model.Behavioral Ecology and Sociobiology, 60:536�549, 2006.

257

Page 268: The History, Philosophy, and Practice of Agent-Based ...

[203] S.M. Reaney. The use of agent based modelling techniques in hydrology: deter-mining the spatial and temporal origin of channel �ow in semi-arid catchments.Earth Surface Processes and Landforms, 33:317�327, 2008.

[204] H. Reuter, F. Jopp, F. Holker, C. Eschenbach, U. Middelho�, and B. Breckling.The ecological e�ect of phenotypic plasticity - analyzing complex interactionnetworks (coin) with agent-based models. Ecological Informatics, 3:35�45, 2008.

[205] Thomas Riggs, Adrienne Walts, Nicolas Perry, Laura Bickle, Jennifer N.Lynch, Amy Myers, Joanne Flynn, Jennifer J. Linderman, Mark J. Miller, andDenise E. Kirschner. A comparison of random vs. chemotaxis-driven contactsof t cells with dendtritic cells during repertoire scanning. Journal of TheoreticalBiology, 250:732�751, 2008.

[206] Martha M. Robbins and Andrew M. Robbins. Simulation of the population dy-namics and social structure of the virunga mountain gorillas. American Journal

of Primatology, 63:201�223, 2004.

[207] Catherine A. Roberts, Doug Stallman, and Joanna A. Bieri. Modeling com-plex human-environment interactions: the grand canyon river trip simulator.Ecological Modelling, 153:181�196, 2002.

[208] Michael E. Roberts and Robert L. Goldstone. Epicure: Spatial and knowledgelimitations in group foraging. Adaptive Behavior, 14(4):291�313, 2006.

[209] Luis Mateus Rocha. Evolution with material symbol systems. BioSystems,60:95�121, 2001.

[210] Jonathan W. Roginski. Emergency �rst response to a crisis event: A multi-agentsimulation approach. Master's thesis, Naval Postgraduate School, Monterey,CA, 2006.

[211] R. Rothenstein and K. Pawelzik. Evolution and anti-evolution in a minimalstock market model. Physica A, 326:534�543, 2003.

[212] Juliette Rouchier, Francois Bousquet, Melanie Requier-Desjardins, and MartineAntona. A multi-agent model for describing transhumance in north cameroon:Comparison of di�erent rationality to develop a routine. Journal of EconomicDynamics and Control, 25:527�559, 2001.

[213] Juliette Rouchier and Stephane Robin. Information perception and price dy-namics in a continuous double auction. Simulation and Gaming, 37(2):195�208,2006.

[214] Alberto Russo, Michele Catalano, Edoardo Ga�eo, Mauro Gallegati, and MauroNapoletano. Industrial dynamics, �scal policy and r-and-d: Evidence from acomputational experiment. Journal of Economic Behavior and Organization,64:426�447, 2007.

258

Page 269: The History, Philosophy, and Practice of Agent-Based ...

[215] Suzanne Sadedin, Bartlomiej Dybiec, and Gerard Briscoe. A toy model offaith-based systems evolution. Physica A, 323:715�725, 2003.

[216] Brian Sallans, Alexander P�ster, Alexandros Karatzoglou, and Georg Dor�ner.Simulation and validation of an integrated markets model. Journal of Arti�cialSocieties and Social Simulation, 6(4), 2003.

[217] Todd M. Sanders. Exploring the e�ectiveness of the marine expeditionary ri�esquad. Master's thesis, Naval Postgraduate School, Monterey, CA, 2005.

[218] Massimo Sapienza. Do real options perform better than net present value?testing in an arti�cial �nancial market. Journal of Arti�cial Societies and SocialSimulation, 6(3), 2003.

[219] Akiko Satake, Heather M. Leslie, Yoh Iwasa, and Simon A. Levin. Coupledecological-social dynamics in a forested landscape: Spatial interactions and in-formation �ow. Journal of Theoretical Biology, 246:695�707, 2007.

[220] Aki-Hiro Sato. Frequency analysis of tick quotes on the foreign exchange marketand agent-based modeling: A spectral distance approach. Physica A, 382:258�270, 2007.

[221] Anil Sawhney, Howard Bashford, Kenneth Walsh, and Ajith Rao Mulky. Agent-based modeling and simulation in construction. In S. Chick, P.J. Sanchez,D. Ferrin, and D.J. Morrice, editors, Proceedings of the 2003 Winter Simulation

Conference, 2003.

[222] Jurgen Sche�ran and Bruce Hannon. From complex con�icts to stable cooper-ation. Complexity, 13(2):78�91, 2007.

[223] Tilman A. Schenk, Gunter Lo�er, and Jurgen Rauh. Agent-based simulation ofconsumer behavior in grocery shopping on a regional level. Journal of BusinessResearch, 60:894�903, 2007.

[224] Craig Schreiber and Kathleen Carley. Going beyond the data: Empirical valida-tion leading to grounded theory. Computational and Mathematical Organization

Theory, 10:155�164, 2004.

[225] Pepijn Schreinemachers, Thomas Berger, and Jens B. Aune. Simulating soilfertility and poverty dynamics in uganda: A bio-economic multi-agent systemsapproach. Ecological Economics, 64:387�401, 2007.

[226] Malte Schwoon. Simulating the adoption of fuel cell vehicles. Journal of Evo-lutionary Economics, 16:435�472, 2006.

[227] Jose L. Segovia-Juarez, Suman Ganguli, and Denise Kirschner. Identifyingcontrol mechanisms of granuloma formation during m. tuberculosis infectionusing an agent-based model. Journal of Theoretical Biology, 231:357�376, 2004.

259

Page 270: The History, Philosophy, and Practice of Agent-Based ...

[228] W.I. Sellers, R.A. Hill, and B.S. Logan. An agent-based model of group de-cision making in baboons. Philosohpical Transactions of the Royal Society B,362:1699�1710, 2007.

[229] M. Shapiro, K.A. Duca, K. Lee, E. Delgado-Eckert, J. Hawkins, A.S. Jarrah,R. Laubenbacher, N.F. Polys, V. Hadinoto, and D.A. Thorley-Lawson. A vir-tual look at epstein-barr virus infection: Simulation mechanism. Journal of

Theoretical Biology, 252:633�648, 2008.

[230] Ameya Shendarkar, Karthik Vaudevan, Seungho Lee, and Young-Jun Son.Crown simulation for emergency response using bdi agent based on virtualreality. In L.F. Perrone, F.P. Wieland, J. Liu, B.G. Lawson, D.M. Nicol, andR.M. Fujimoto, editors, Proceedings of the 2006 Winter Simulation Conference,2006.

[231] Tetsuya Shimokawa, Kyoko Suzuki, and Tadanobu Misawa. An agent-basedapproach to �nancial stylized facts. Physica A, 379:207�225, 2007.

[232] Lisa R. Sickinger. E�ectiveness of non-lethal capabilities in a maritime envi-ronment. Master's thesis, Naval Postgraduate School, Monterey, CA, 2006.

[233] Peer-Olaf Siebers, Uwe Aickelin, Helen Celia, and Chris W. Clegg. Using intelli-gent agents to understand management practice and retail productivity. In S.G.Henderson, B. Biller, M.H. Hsieh, J. Shortle, J.D. Tew, and R.R. Barton, edi-tors, Proceedings of the 2007 Winter Simulation Conference, pages 2212�2220,2007.

[234] Kwang Mong Sim. Negotiation agents that make prudent compromises and areslightly �exible in reaching consensus. Computational Intelligence, 20:643�662,2004.

[235] Jorge Simao and Peter M. Todd. Modeling mate choice in monogamous matingsystems with courtship. Adaptive Behavior, 10(2):113�136, 2002.

[236] Neil Smith, Andrea Capiluppi, and Juan Fernandez-Ramil. Agent-based sim-ulation of open source evolution. Software Process Improvement and Practice,11:423�434, 2006.

[237] Armano Srbljinovic, Drazen Penzar, Petra Rodik, and Kruno Kardov. An agent-based model of ethnic mobilisation. Journal of Arti�cial Societies and Social

Simulation, 6(1), 2003.

[238] Melissa J. Steele. Agent-based simulation of unmanned surface vehicles: A forcein the �eet. Master's thesis, Naval Postgraduate School, Monterey, CA, 2004.

[239] Phillip Stroud, Sara Del Valle, Stephen Sydoriak, Jane Riese, and SusanMniszewski. Spatial dynamics of pandemic in�uenza in a massive arti�cialsociety. Journal of Arti�cial Societies and Social Simulation, 10(4), 2007.

260

Page 271: The History, Philosophy, and Practice of Agent-Based ...

[240] Toshiyuki Sueyoshi and Gopalakrishna R. Tadiparthi. An agent-based decisionsupport system for wholesale electricity market. Decision Support Systems,44:425�446, 2008.

[241] K. Sznajd-Weron and R. Weron. How e�ective is advertising in duopoly mar-kets? Physica A, 324:437�444, 2003.

[242] Katarzyna Sznajd-Weron and Jozef Sznajd. Who is left, who is right? Physica

A, 351:593�604, 2005.

[243] Keiki Takadama, Tetsuro Kawai, and Yuhsuke Koyama. Micro- and macro-levelvalidation in agent-based simulation: Reproduction of human-like behaviorsand thinking in a sequential bargaining game. Journal of Arti�cial Societies

and Social Simulation, 11(2), 2008.

[244] Hiroshi Takahashi and Takao Terano. Agent-based approach to investory be-havior and asset price �uctuation in �nancial markets. Journal of Arti�cial

Societies and Social Simulation, 6(3), 2003.

[245] Takeshi Takama and John Preston. Forecasting the e�ects of road user chargeby stochastic agent-based modelling. Transportation Research Part A, 42:738�749, 2008.

[246] Peng Soon Tan. Using agent-based modeling to assess the impact of martiallaw on a representation iraqi town. Master's thesis, Naval Postgraduate School,Monterey, CA, 2004.

[247] Daniel Teitelbaum and Hadi Dowlatabadi. A computational model of technolog-ical innovation at the �rm level. Computational and Mathematical Organization

Theory, 6(3):227�247, 2000.

[248] Leigh Tesfatsion. Structure, behavior, and market power in an evolutionarylabor market with adaptive search. Journal of Economic Dynamics and Control,25:419�457, 2001.

[249] Felix Martinez Tiburcio. Maritime protection of critical infrastructure assetsin the campeche sound. Master's thesis, Naval Postgraduate School, Monterey,CA, 2005.

[250] D. Tillman, T.A. Larsen, C. Pahl-Wostl, and W. Gujer. Modeling the actors inwater supply systems. Water Science and Technology, 39(4):203�211, 1999.

[251] Paul M. Torrens and Atsushi Nara. Modeling gentri�cation dynamics: A hybridapproach. Computers, Environment and Urban Systems, 31:337�361, 2007.

[252] Andras Vag. Simulating changing consumer preferences: A dynamic conjointmodel. Journal of Business Research, 60:904�911, 2007.

261

Page 272: The History, Philosophy, and Practice of Agent-Based ...

[253] Pieter Valkering, Jan Rotmans, Jorg Kywkow, and Anne van der Veen. Simu-lating stakeholder support in a policy process: An application to river manage-ment. Simulation, 81(10):701�718, 2005.

[254] David P. Vaughan. Exploration of force transitions in stability operations usingmulti-agent simulation. Master's thesis, Naval Postgraduate School, Monterey,CA, 2006.

[255] D.C. Walker, J. Southgate, G. Hill, M. Holcombe, D.R. Hose, S.M. Wood,S. Mac Neil, and R.H. Smallwood. The epitheliome: agent-based modelling ofthe social behaviour of cells. BioSystems, 76:89�100, 2004.

[256] Zhihui Wang, Christina M. Birch, and Thomas S. Deisboeck. Cross-scale sensi-tivity analysis of a non-small cell lung cancer model: Linking molecular signalingproperties to cellular behavior. BioSystems, 92:249�258, 2008.

[257] Scott Wheeler. It pays to be popular: a study of civilian assistance and guerillawarfare. Journal of Arti�cial Societies and Social Simulation, 8(4), 2005.

[258] David J. White and V. Anne Smith. Testing measures of animal social associ-ation by computer simulation. Behaviour, 144:1447�1468, 2007.

[259] Allen Wilhite. Bilaterial trade and 'small-world' networks. Computational Eco-nomics, 18:49�64, 2001.

[260] Allen Wilhite. Protection and social order-driven. Journal of Economic Behav-ior and Organization, 61:691�709, 2006.

[261] Roy Wilson. Simulating the e�ect of social in�uence on decision-making insmall, task-oriented, groups. Journal of Arti�cial Societies and Social Simula-

tion, 10(4), 2007.

[262] Larry N. Wittwer. An exploration of equipping a future force warrior smallcombat unit with non-lethal weapons. Master's thesis, Naval PostgraduateSchool, Monterey, CA, 2006.

[263] Johannes Wohlmuth and Jorgen Vitting Anderson. Model �nancial marketswith agents competing on di�erent time scales and with di�erent amount ofinformation. Physica A, 363:459�468, 2006.

[264] Eric Wolf. Using agent-based distillations to explore logistics support to ur-ban, humanitarian assistance/disaster relief operations. Master's thesis, NavalPostgraduate School, 2003.

[265] Lee Worden and Simon A. Levin. Evolutionary escape from the prisoner'sdilemma. Journal of Theoretical Biology, 245:411�422, 2007.

262

Page 273: The History, Philosophy, and Practice of Agent-Based ...

[266] Jiang Wu and Bin Hu. Modeling and simulation of group behavior in e-government implementation. In S.G. Henderson, B. Biller, M.H. Hsieh,J. Shortle, J.D. Tew, and R.R. Barton, editors, Proceedings of the 2007 Winter

Simulation Conference, pages 1284�1291, 2007.

[267] Yichun Xie, Michael Batty, and Kang Zhao. Simulating emergent urban formusing agent-based modeling: Desakota in the suzhou-wuxian region in china.Annals of the Association of American Geographers, 97(3):477�495, 2007.

[268] Yue Xie, John Shortle, and George Donohue. Airport terminal-approach safetyand capacity analysis using an agent-based model. In R.G. Ingalls, M.D. Ros-setti, J.S. Smith, and B.A. Peters, editors, Proceedings of the 2004 Winter

Simulation Conference, pages 1349�1357, 2004.

[269] Hitoshi Yamamoto, Kazunari Ishida, and Toshizumi Ohta. Modeling reputationmanagement system on online c2c market. Computational and Mathematical

Organization Theory, 10:165�178, 2004.

[270] Li Yan, Glen E.P. Ropella, Sunwoo Park, Michael S. Roberts, and C. AnthonyHunt. Modeling and simulation of hepatic drug disposition using a physiolog-ically based, multi-agent in silico liver. Pharmaceutical Research, 25(5):1023�1036, 2008.

[271] Aletta T. Yniguez, John W. McManus, and Danold L. DeAngelis. Allowingmacroalgae growth forms to emerge: Use of an agent-based model to understandthe growth and spread of macroalgae in �orida coral reefs, with emphasis onhalimeda tuna. Ecological Modelling, 216:60�74, 2008.

[272] Naohiro Yuhara and Jun Tajima. Multi-driver agent-based tra�c simulationsystems for evaluating the e�ects of advanced driver assistance systems on roadtra�c accidents. Cognition, Technology and Work, 8:283�300, 2006.

[273] Nikos Zarboutis and Nicolas Marmaras. Searching e�cient plans for emergencyrescue through simulation: the case of a metro �re. Cognition, Technology and

Work, 6:117�126, 2004.

[274] Junfu Zhang. Growing silicon valley on a landscape: an agent-based approachto high-test industrial clusters. Journal of Evolutionary Economics, 13:529�548,2003.

[275] Junfu Zhang. Residential segregation in an all-intergrationist world. Journal ofEconomic Behavior and Organization, 54:533�550, 2004.

[276] Tao Zhang and David Zhang. Agent-based simulation of consumer purchasedecision-making and the decoy e�ect. Journal of Business Research, 60:912�922, 2007.

263

Page 274: The History, Philosophy, and Practice of Agent-Based ...

[277] Jijun Zhao, Ferenc Szidarovskzy, and Miklos N. Szilagyi. Finite neighborhoodbinary games: a structural study. Journal of Arti�cial Societies and Social

Simulation, 10(3), 2007.

[278] Jijun Zhao, Miklos N. Szilagyi, and Ferenc Szidarovszky. n-person battle ofsexes games - a simulation study. Physica A, 387:3678�3688, 2008.

[279] Gina Ziervogel, Mike Bithell, Richard Washington, and Tom Downing. Agent-based social simulation: a method for assessing the impact of seasonal climatefore applications among smallholder farmers. Agricultural Systems, 83:1�25,2005.

264

Page 275: The History, Philosophy, and Practice of Agent-Based ...

�

�

�

Appendix B: CM4S Diagram of theDC Order Picker Simulation

265

Page 276: The History, Philosophy, and Practice of Agent-Based ...

Figure 1: CM4S Diagram Page 1

266

Page 277: The History, Philosophy, and Practice of Agent-Based ...

Figure

2:CM4SDiagram

Page1-ActionShapes

Mas

ter

Nam

eD

isp

laye

d T

ext

Mem

ber

Of

Beh

avio

rP

seu

do

Co

de

- U

pd

ate

Pse

ud

o C

od

e -

Fu

nct

ion

Pse

ud

o C

od

e -

Sta

rtP

seu

do

Co

de

- S

top

Var

iab

les

Seq

uen

ce

wit

hin

Blo

ckS

ou

rce

Act

ion

A Cre

ate

Coo

rdin

ates

2 B

uild

_Env

ironm

ent

Cre

ate

x&y

coor

dina

tes

of th

e ea

ch 1

68 it

em

loca

tions

, 6 s

hipp

ing

loca

tion,

and

sta

rtin

g lo

catio

n.

6 w

ide-

aisl

es w

ith n

o tr

affic

dire

ct r

estr

ictio

ns. 2

hi

ghw

ays.

Ent

ranc

e an

d E

xit p

oint

s to

the

aisl

es

(coo

rdin

ates

whe

re h

ighw

ays

and

aisl

es in

ters

ect)

. X

coo

rdin

ate

rang

e 0-

2000

, Y c

oord

inat

e ra

nge

0-20

50. H

ighw

ays

requ

ire th

e pi

cker

s to

driv

e on

the

right

sid

e of

the

road

.

Cre

ate

all e

nviro

nmen

t co

orid

inat

es (

K,L

,O,P

,Q)

On

Ent

ryK

,L,O

,P,Q

1

See

pic

ture

of t

he e

nvrio

nmen

t. B

ased

on

assu

mpt

ions

of s

ize

of p

alle

ts (

40"x

48")

and

ba

sed

on D

C d

iscu

ssed

in K

oste

r, L

e-D

uc, &

R

oodb

erge

n 20

07. O

rder

pic

kers

onl

y pi

ck fr

om

the

grou

nd le

vel.

Act

ion

A Col

lect

Var

iabl

e V

alue

s1

Exp

erim

enta

l Set

upC

olle

ct a

ll of

the

varia

bles

(A

-J)

of th

e ex

perim

enta

l se

tup

Sto

re u

ser

ente

red

valu

es o

f th

e va

riabl

es o

f the

ex

perim

ent (

A-J

)O

n E

ntry

A-J

1

See

pic

ture

of t

he e

nvrio

nmen

t. B

ased

on

assu

mpt

ions

of s

ize

of p

alle

ts (

40"x

48")

and

ba

sed

on D

C d

iscu

ssed

in K

oste

r, L

e-D

uc, &

R

oodb

erge

n 20

07.

Act

ion

B Ass

ign

Lane

s &

A

isle

s to

Item

s2

Bui

ld_E

nviro

nmen

tA

ssig

n th

e la

nes

and

aisl

es o

f eac

h ite

mB

ased

on

x &

y c

oord

inat

es,

assi

gn e

ach

item

a la

ne a

nd

aisl

e (M

,N)

On

Ent

ryM

, N2

Bas

ed o

n th

e en

viro

nmen

t.

Act

ion

A Cre

ate

New

Pic

ker

2. In

sert

ing

Pic

kers

Cre

ate

a ne

w p

icke

r at

the

entr

y po

int l

ocat

ion

Cre

ate

new

pic

ker

with

all

appr

opria

te p

aram

eter

val

ues.

P

lace

at e

ntry

poi

nt.

on e

ntry

A-J

, O1

N/A

Act

ion

A End

the

Sim

4. S

top

Sim

Sto

p th

e si

mul

atio

nE

ndon

ent

ryN

/A

267

Page 278: The History, Philosophy, and Practice of Agent-Based ...

Figure

3:CM4SDiagram

Page1-Block

Shapes

Mas

ter

Nam

eD

isp

laye

d T

ext

Fro

mT

oA

ctio

ns

Dec

isio

ns

Rec

ord

ers

Var

iab

les

Blo

ck1

DC

Ord

er P

icke

r S

imul

atio

nN

/AN

/A

A. N

umP

icke

rs, B

. D

elay

Rel

ease

, C.

Tra

velS

peed

, D. P

ickT

ime,

E.

Set

upT

ime,

F. A

ccel

Bre

ak, G

. D

ecel

Bre

ak, H

. Tra

fficO

n, I.

W

alkT

oPic

kDis

t, J.

N

umO

rder

s, K

. Ite

mX

Coo

rd, L

. Ite

mY

Coo

rd, M

. Ite

mA

isle

, N.

Item

Lane

, O. E

ntry

Loca

tion,

P.

Shi

pLoc

, Q. E

ndA

isle

Loc,

Blo

ck1

Exp

erim

enta

l Set

up1.

DC

Ord

er

Pic

ker

Sim

ulat

ion

2.

Bui

ld_E

nvir

onm

ent

A. C

olle

ct

Var

iabl

e V

alue

sA

. Pro

ceed

?

Blo

ck2

Bui

ld_E

nviro

nmen

t1.

Exp

erim

enta

l S

etup

3.

Exe

cutio

n

A. C

reat

e C

oord

inat

es, B

. A

ssig

n La

nes

&

Ais

le to

Item

s

Blo

ck3

Exe

cutio

n2.

B

uild

_Env

ironm

ent

4. S

top

Sim

A. A

ll O

rder

s P

icke

d?

A. N

um o

f Col

lisio

ns, B

. T

otO

rder

s, C

. Tot

Item

s,

D. T

otP

ickT

ime,

E.

Tot

Set

upT

ime,

F.

Tot

Del

ayT

ime,

G.

Tot

Wor

kTim

e, H

. T

otT

rave

lTim

e

Blo

ck1

Env

ironm

ent

2. In

sert

ing

Pic

kers

A. I

nser

t Pic

kers

?

Blo

ck2

Inse

rtin

g P

icke

rs1.

Env

ironm

ent

1.

Env

ironm

ent

A. C

reat

e N

ew

Pic

ker

Blo

ck4

Sto

p S

im3.

Exe

cutio

nA

. End

the

Sim

268

Page 279: The History, Philosophy, and Practice of Agent-Based ...

Figure

4:CM4SDiagram

Page1-DecisionShapes

Mas

ter

Nam

eD

isp

laye

d T

ext

Tra

nsi

tio

ns

To

Beh

avio

rP

seu

do

Co

de

- C

on

dit

ion

Pse

ud

o C

od

e -

Up

dat

eP

seu

do

Co

de

- S

tart

Pse

ud

o C

od

e -

Sto

pS

equ

ence

w

ith

in B

lock

Var

iab

leS

ou

rce

Dec

isio

nA P

roce

ed?

2 E

nviro

nmen

tW

hen

the

expe

rimen

tal c

ondi

tions

are

se

t, tr

ansi

tion

to th

e en

viro

nmen

t of t

he

sim

ulat

ion

If us

er is

rea

dy to

pro

ceed

, th

en p

roce

ed.

1 se

cond

On

Ent

ryO

n E

xit

1A

ssum

ptio

n

Dec

isio

nA In

sert

Pic

kers

?2.

Inse

rtin

g P

icke

rs

If it

is ti

me

to in

sert

mor

e pi

cker

s ba

sed

on th

e re

leas

e de

lay

and

not a

ll of

the

pick

ers

have

bee

n in

sert

ed, t

hen

inse

rt

the

next

pic

ker.

If (tim

e_si

nce_

last

_ins

ert>

=D

elay

Rel

ease

and

C

urre

nt_n

um_p

icke

rs<

Num

Pic

kers

) th

en tr

ansi

tion.

Eve

ry s

econ

don

ent

ryon

exi

st1

Del

ayR

elea

se,

Num

Pic

kers

N/A

Dec

isio

nA A

ll O

rder

s P

icke

d?4.

Sto

p T

im

If th

e cu

rren

t num

ber

of o

rder

s co

llect

ed is

equ

al to

the

num

of o

rder

s to

be

colle

cted

, the

n st

op th

e si

mul

atio

n.

If (cur

Num

OfO

rder

==N

umO

rde

rs)

then

tran

sitio

n.E

very

sec

ond

on e

ntry

on e

xist

1J.

Num

Ord

ers,

S.

curN

umO

rder

sN

/A

269

Page 280: The History, Philosophy, and Practice of Agent-Based ...

Figure

5:CM4SDiagram

Page1-Recorder

Shapes

Mas

ter

Nam

eD

isp

laye

d

Tex

tM

emb

er O

fB

ehav

ior

Pse

ud

o C

od

e -

Fu

nct

ion

Pse

ud

o C

od

e -

Up

dat

eP

seu

do

Co

de

- S

tart

Pse

ud

o C

od

e -

Sto

pV

aria

ble

sS

equ

ence

w

ith

in B

lock

Pu

rpo

se

Rec

ord

A Num

of C

ollis

ions

3. E

xecu

tion

Che

ck if

any

age

nts

get w

ithin

2' o

f eac

h ot

her.

If

ther

e is

a c

ollis

ion

rem

embe

r th

e co

llisi

on

for

5 se

cond

s an

d do

not

dou

ble

coun

t the

co

llisi

ons.

For

eac

h pi

cker

: If (

dist

ance

_to(

othe

r_pi

cker

)<=

2'

and

Tim

e-pr

evio

us_c

ol_t

ime[

othe

r_pi

cker

]>=

5 se

c)

then

add

the

colli

sion

and

pr

evio

us_

col_

time[

othe

r_pi

cker

]=T

ime;

0.1

seco

nds

on e

ntry

on e

xit

time

1C

olle

ct th

e nu

mbe

r of

col

lisio

ns

that

occ

ur in

the

sim

ulat

ion.

Rec

ord

B Tot

Ord

ers

3. E

xecu

tion

Sum

up

all

of th

e or

ders

col

lect

ed fr

om a

ll of

th

e pi

cker

sF

or e

ach

orde

r pi

cker

: Tot

Ord

ers=

T

otO

rder

s+or

der_

pick

er.N

umO

rder

s;on

exi

t2

Col

lect

tota

l num

ber

of o

rder

s.

Rec

ord

C Tot

Item

s3.

Exe

cutio

nS

um u

p a

ll of

the

item

s co

llect

ed fr

om a

ll o

f the

pi

cker

sF

or e

ach

orde

r pi

cker

: Tot

Item

s=

Tot

Item

s+or

der_

pick

er.N

um

Item

s;on

exi

t3

Col

lect

tota

l num

ber

of it

ems.

Rec

ord

D Tot

Pic

kTim

e3.

Exe

cutio

nS

um u

p th

e to

tal p

ick

time

For

eac

h or

der

pick

er: T

otP

ickT

ime=

T

otP

ickT

ime+

orde

r_pi

cker

.Pic

kTim

e;on

exi

t4

Cou

nt h

ow m

uch

time

was

spe

nt

pick

ing

Rec

ord

E Tot

Set

upT

ime

3. E

xecu

tion

Sum

up

the

tota

l set

up ti

me

For

eac

h or

der

pick

er: T

otS

etup

Tim

e=

Tot

Set

upT

ime+

orde

r_pi

cker

.Set

upT

ime;

on e

xit

5C

ount

how

muc

h tim

e w

as s

pent

se

tting

up

Rec

ord

F Tot

Del

ayT

ime

3. E

xecu

tion

Sum

up

the

tota

l del

ay ti

me

For

eac

h or

der

pick

er: T

otD

elay

Tim

e=

Tot

Del

ayT

ime+

orde

r_pi

cker

.Del

ayT

ime;

on e

xit

6C

ount

how

muc

h tim

e w

as s

pent

de

laye

d

Rec

ord

G Tot

Wor

kTim

e3.

Exe

cutio

nC

alcu

late

the

tota

l wor

k tim

e of

all

the

pick

ers

For

eac

h or

der

pick

er: T

otW

orkT

ime=

T

otW

orkT

ime+

orde

r_pi

cker

.Tot

Tim

e;on

exi

t7

Cou

nt h

ow m

uch

time

was

spe

nt

wor

king

by

all o

f the

wor

kers

Rec

ord

H Tot

Tra

velT

ime

3. E

xecu

tion

Cal

cula

te th

e to

tal t

rave

l tim

eF

or e

ach

orde

r pi

cker

: Tot

Tra

velT

ime=

Tot

Wor

kTim

e-T

otP

ickT

ime-

Tot

Set

upT

ime-

Tot

Del

ayT

ime

;on

exi

t8

Cou

nt h

ow m

uch

time

was

spe

nt

trav

elin

g

270

Page 281: The History, Philosophy, and Practice of Agent-Based ...

Figure

6:CM4SDiagram

Page1-VariableShapes

Mas

ter

Nam

eD

isp

laye

d T

ext

Mem

ber

Of

Beh

avio

rS

ou

rce

Var

iabl

eA N

umP

icke

rs1

DC

Ord

er P

icke

r S

imul

atio

nN

umbe

r of

Pic

kers

in th

e S

imul

atio

n. V

arie

s fr

om 2

-12.

N/A

Var

iabl

eB D

elay

Rel

ease

1 D

C O

rder

Pic

ker

Sim

ulat

ion

The

tim

e de

lay

betw

een

each

ord

er p

icke

r be

ing

rele

ased

into

the

sim

ulat

ion

at th

e en

try

poin

t. S

et to

10

seco

nds.

N/A

Var

iabl

eC T

rave

lSpe

ed1

DC

Ord

er P

icke

r S

imul

atio

nT

he m

axim

um tr

avel

spe

ed o

f the

pic

kers

whi

le o

n th

e tr

uck.

Set

to 5

mph

.B

ased

on

expe

rimen

tal d

ata

and

pers

onal

exp

erie

nce.

Var

iabl

eD P

ickT

ime

1 D

C O

rder

Pic

ker

Sim

ulat

ion

The

tim

e is

take

s to

pic

k on

e ite

m a

nd p

lace

it o

n th

e pa

llet.

Onl

y in

clud

es th

e pa

llet b

eing

dire

ctly

ne

xt to

the

item

. No

varia

tion

of th

e tim

e ba

sed

on c

ube

or w

eigh

t of t

he it

em. S

et to

14.

75 s

ec -

ba

sed

on B

asic

MO

ST

: A10

B3

G3

A6

B3

P6

A10

.B

ased

on

pers

onal

exp

erie

nce.

Var

iabl

eE S

etup

Tim

e1

DC

Ord

er P

icke

r S

imul

atio

nT

he ti

me

it ta

kes

to s

etup

a p

alle

t afte

r al

l of t

he it

ems

have

bee

n pi

cked

. Tim

e do

es n

ot v

ary

base

d on

item

s. S

et to

60

sec.

Bas

ed o

n pe

rson

al e

xper

ienc

e.

Var

iabl

eF A

ccel

Bre

ak1

DC

Ord

er P

icke

r S

imul

atio

nT

he d

ista

nce

it ta

kes

to r

each

full

spee

d. S

et to

50

feet

.B

ased

on

pers

onal

exp

erie

nce

and

colle

cted

dat

a.

Var

iabl

eK Ite

mX

Coo

rd1

DC

Ord

er P

icke

r S

imul

atio

nA

n ite

ms

x co

ordi

nate

. An

Arr

ay. 1

68 L

ocat

ions

.N

/A

Var

iabl

eH T

raff

icO

n1

DC

Ord

er P

icke

r S

imul

atio

nD

escr

ibes

whe

ther

traf

fic d

etec

tion

is o

n or

off

. 1=o

n, 0

=of

f.N

/A

Var

iabl

eI W

alkT

oPic

kDis

t1

DC

Ord

er P

icke

r S

imul

atio

nT

he d

ista

nce

at w

hich

the

pick

er w

ill w

alk

to th

e ite

m if

they

are

sto

pped

due

to tr

affic

del

ays.

Set

to

10

feet

.B

ased

on

obse

rvat

ion

and

estim

ate.

Var

iabl

eJ N

umO

rder

s1

DC

Ord

er P

icke

r S

imul

atio

nT

he to

tal n

umbe

r of

ord

ers

to b

e pi

cked

in th

e si

mul

atio

n. S

et to

100

.B

ased

on

estim

ates

of 3

0-60

min

utes

fo

r ea

ch o

rder

and

an

8 ho

ur d

ay.

Var

iabl

eG D

ecel

Bre

ak1

DC

Ord

er P

icke

r S

imul

atio

nT

he d

ista

nce

it ta

kes

to s

top

whe

n at

full

spee

d. S

et to

25

feet

.B

ased

on

pers

onal

exp

erie

nce

and

colle

cted

dat

a.

Var

iabl

eL Ite

mY

Coo

rd1

DC

Ord

er P

icke

r S

imul

atio

nA

n ite

ms

y co

ordi

nate

. An

Arr

ay. 1

68 L

ocat

ions

.N

/A

Var

iabl

eM Ite

mA

isle

1 D

C O

rder

Pic

ker

Sim

ulat

ion

An

item

s ai

sle

(1-6

) lo

catio

n. A

n A

rray

.6

aisl

es b

ased

on

estim

ate.

Var

iabl

eN Ite

mLa

ne1

DC

Ord

er P

icke

r S

imul

atio

nA

n ite

ms

lane

(0-

1) lo

catio

n. A

n ar

ray.

N/A

Var

iabl

eO E

ntry

Loca

tion

1 D

C O

rder

Pic

ker

Sim

ulat

ion

Ent

ry L

ocat

ion

of th

e pi

cker

s. (

75, 1

075)

N/A

Var

iabl

eP S

hipL

oc1

DC

Ord

er P

icke

r S

imul

atio

nS

hipp

ing

Loca

tions

(12

pos

sibl

e co

ordi

nate

s). Y

=117

5, X

bas

ed o

n ai

sle

loca

tions

. An

arra

y.N

/A

Var

iabl

eQ E

ndA

isle

Loc

1 D

C O

rder

Pic

ker

Sim

ulat

ion

End

of a

isle

loca

tions

. 4 fo

r ev

ery

aisl

e. Y

=22

5 or

Y=

=975

. X b

ased

on

aisl

e lo

catio

ns/la

nes.

An

arra

y.N

/A

Var

iabl

eR T

ime

1 D

C O

rder

Pic

ker

Sim

ulat

ion

The

cur

rent

tim

e of

the

sim

ulat

ion.

1 u

nit=

1 se

cond

.N

/A

Var

iabl

eS cu

rNum

Ord

ers

1 D

C O

rder

Pic

ker

Sim

ulat

ion

The

cur

rent

num

ber

of o

rder

s co

mpl

eted

N/A

Var

iabl

eT D

eadB

reak

Tim

e1

DC

Ord

er P

icke

r S

imul

atio

nT

he m

axim

um ti

me

the

pick

er w

ill w

ait u

ntil

the

dead

lock

is b

roke

n. S

et to

30

seco

nds.

Bas

ed o

n es

timat

e tim

e to

bre

ak a

de

adlo

ck.

271

Page 282: The History, Philosophy, and Practice of Agent-Based ...

Figure 7: CM4S Diagram Page 2

272

Page 283: The History, Philosophy, and Practice of Agent-Based ...

Figure

8:CM4SDiagram

Page2-ActionShapes

Mas

ter

Nam

eD

isp

laye

d

Tex

tM

emb

er

Of

Beh

avio

rP

seu

do

Co

de

- F

un

ctio

nP

seu

do

Co

de

- U

pd

ate

Pse

ud

o C

od

e -

Sta

rtP

seu

do

Co

de

- S

top

Var

iab

les

Seq

uen

ce

wit

hin

Blo

ckS

ou

rce

Act

ion

A Upd

ate

Tim

e &

Loc

atio

n

2. T

ime

Upd

ate

Mec

hani

sm

Adv

ance

the

cloc

k an

d up

date

eac

h pi

cker

's

loca

tion

Adv

ance

the

cloc

k tim

e, u

pdat

e C

urX

an

d C

urY

.A

s ne

eded

on e

ntry

on e

xist

1.R

. Tim

e1

N/A

Act

ion

A Set

Nex

t O

rder

1. G

et N

ext

Ord

er

Gen

erat

e th

e ne

xt li

st o

f 5

item

s in

the

orde

r. T

his

may

be

unifo

rm o

r so

me

othe

r di

strib

utio

n de

pend

ing

upon

the

obje

ctiv

e of

the

expe

rimen

t.

For

i=1

to 5

, i+

1:

Item

List

[i]=

Uni

form

(1,1

68)

on e

ntry

A. I

tem

List

1N

/A

Act

ion

A Set

Nex

t Ite

m2.

Get

Nex

t Ite

m

Set

the

next

targ

et lo

catio

n to

be

the

next

item

in

the

list.

If th

e or

der

is d

one,

go

back

to s

hipp

ing

unle

ss s

hipp

ing

is d

irect

ly b

ehin

d yo

u th

en s

et u

p ph

anto

m it

em a

n ai

sle

dow

n. C

heck

if a

ny o

ther

or

ders

in th

e lis

t are

in th

e sa

me

aisl

e, if

so

sort

If (

orde

r_co

mpl

ete=

=tr

ue)

then

set

ta

rget

to s

hipp

ing

loca

tion

or p

hant

om

loca

tion

one

aisl

e ov

er. E

lse

If (o

ther

_ite

ms_

in_a

isle

==

true

) th

en s

et

the

next

item

acc

ordi

ngly

. Set

targ

et to

th

e ne

xt it

em lo

catio

n.

on e

ntry

B. C

urIte

mX

, C

. Cur

Item

Y,

D.

Cur

Item

Ais

le,

E.

Cur

Item

Lane

1

Ord

er p

icke

rs c

anno

t tur

n ar

ound

in a

n ai

sle

to g

et to

a

loca

tion

dire

ctly

beh

ind

them

-

base

d on

per

sona

l ob

serv

atio

n.

Act

ion

A Set

Pic

k T

ime

Del

ay

6. P

icki

ng

Item

If th

e cu

rren

t ite

m is

a p

hant

om it

em, t

hen

Cur

Pic

kTim

e=0.

Oth

erw

ise

the

Cur

Pic

kTim

e is

the

wal

king

dis

tanc

e to

the

item

plu

s th

e st

anda

rd p

ick

time.

If (

curr

ent_

item

==p

hant

om)

then

C

urP

ickT

ime=

0; E

lse

Cur

Pic

kTim

e=P

ickT

ime+

wal

kTo*

2*w

alkD

ist*

(1/2

mph

);

on e

ntry

1.D

. P

ickT

ime,

L.

Cur

Pic

kTim

e,

M. w

alkT

o, N

. w

alki

ngD

ist

1

2mph

is b

ased

on

slow

w

alki

ng p

ace

beca

use

they

are

on

ly w

alki

ng w

hen

ther

e is

tr

affic

. The

y m

ust w

alk

ther

e an

d ba

ck.

Act

ion

A Upd

ate

num

or

ders

7. S

ettin

g U

pA

dd o

ne to

the

curr

ent n

umbe

r of

ord

ers

com

plet

edcu

rNum

Ord

ers+

+;

on e

ntry

1.S

. cu

rNum

Ord

ers;

2N

/A

273

Page 284: The History, Philosophy, and Practice of Agent-Based ...

Figure

9:CM4SDiagram

Page2-Block

Shapes

Mas

ter

Nam

eD

isp

laye

d

Tex

tF

rom

To

Act

ion

sD

ecis

ion

sR

eco

rder

sV

aria

ble

s

Blo

ck1.

3.1

Env

ironm

ent

2. In

sert

ing

Pic

kers

A. I

nser

t Pic

kers

?

Blo

ck2

Tim

e &

Lo

catio

n U

pdat

e M

echa

nism

A. U

pdat

e T

ime

Blo

ckB

lock

Blo

ck1

Ord

er P

icke

rA

. Del

ayT

ime

A. I

tem

List

, B. C

urIte

mX

, C. C

urIte

mY

, D.

Cur

Item

Ais

le, E

. Cur

Item

Lane

, F. C

urX

, G.

Cur

Y, H

. Goa

lX, I

. Goa

lY, J

. Shi

pX, K

. Shi

pY,

L. C

urP

ickT

ime,

M. w

alkT

o, N

. wal

king

Dis

t, O

. C

urA

isle

, P. s

witc

hNee

ded,

Q. s

tart

Dea

dLoc

k,

R. i

niX

, S. i

niY

Blo

ck1

Get

Nex

t Ord

er7.

Set

ting

Up

2. G

et N

ext I

tem

A. S

et N

ext O

rder

A. N

umO

rder

s, B

. T

otT

ime

Blo

ck2

Get

Nex

t Ite

m1.

Get

Nex

t Ord

er, 6

. Pic

king

Ite

m3.

Set

Nex

t Goa

l Lo

catio

nA

. Set

Nex

t Ite

mA

. Num

Item

s

Blo

ck3

Get

Nex

t Goa

l Lo

catio

n2.

Get

Nex

t Ite

m, 5

. Che

ck

Loca

tion

4. M

ovem

ent

A. B

egin

Mov

e?

Blo

ck4

Mov

emen

t3.

Get

Nex

t Goa

l Loc

atio

nA

. At G

oal?

Blo

ck5

Che

ck L

ocat

ion

4. M

ovem

ent

3. G

et N

ext G

oal

Loca

tion,

6. P

icki

ng

Item

, 7. S

ettin

g U

p

A. N

ot T

arge

t?, B

. At I

tem

?, C

. A

t Shi

p?

Blo

ck7

Set

ting

Up

5. C

heck

Loc

atio

n1.

Get

Nex

t Ord

erA

. Nex

t Ord

er?

A. T

otS

etup

Tim

eB

lock

6 P

icki

ng It

em5.

Che

ck L

ocat

ion

2. G

et N

ext I

tem

A. S

et P

ick

Tim

e D

elay

A. N

ext I

tem

?A

. Pic

kTim

e

274

Page 285: The History, Philosophy, and Practice of Agent-Based ...

Figure

10:CM4SDiagram

Page2-DecisionShapes

Mas

ter

Nam

eD

isp

laye

d

Tex

tT

ran

siti

on

s T

oB

ehav

ior

Pse

ud

o C

od

e -

Co

nd

itio

nP

seu

do

Co

de

- U

pd

ate

Pse

ud

o C

od

e -

Sta

rtP

seu

do

Co

de

- S

top

Var

iab

leS

equ

ence

w

ith

in B

lock

So

urc

e

Dec

isio

nA B

egin

Mov

e?4.

Mov

emen

tIf

the

next

goa

l loc

atio

n ha

s be

en s

et a

nd th

e pi

cker

is

read

y to

mov

e, th

en tr

ansi

tion

to g

ener

al m

ovem

ent

If (r

eady

ToM

ove=

=1)

then

tr

ansi

tion.

Aft

er e

very

act

ion

exec

uted

in 3

. Get

N

ext G

oal L

ocat

ion

On

entr

yO

n ex

it1

N/A

Dec

isio

nA A

t Goa

l?3.

Get

Nex

t Goa

l Lo

catio

nIf

the

pick

er is

cur

rent

ly a

t the

goa

l loc

atio

n, th

en c

heck

the

my

curr

ent l

ocat

ion

If (C

urX

==G

oalX

and

C

urY

==G

oalY

) th

en tr

ansi

tion.

Aft

er e

very

act

ion

exec

uted

in 4

. M

ovem

ent

On

entr

yO

n ex

itF

. Cur

X, G

. C

urY

, H. G

oalX

, I.

Goa

lY1

N/A

Dec

isio

nA N

ot T

arge

t?3.

Get

Nex

t Goa

l Lo

catio

nIf

the

pick

er's

loca

tion

is n

ot th

e ta

rget

, the

n fin

d th

e ne

xt

goal

loca

tion

to g

et to

the

targ

etIf

(Cur

X!=

Cur

Item

X a

nd

Cur

Y!=

Cur

Item

Y)

then

tran

sitio

n.O

n en

try

F. C

urX

, G.

Cur

Y, B

. C

urIte

mX

, C.

Cur

Item

Y

1N

/A

Dec

isio

nC A

t Shi

p?7.

Set

ting

Up

If th

e pi

cker

's lo

catio

n is

thei

r sh

ippi

ng lo

catio

n, th

en s

et

up th

e pa

llet f

or th

e ne

xt o

rder

If (C

urX

==S

hipX

and

C

urY

==S

hipY

) th

en tr

ansi

tion

to

Set

ting

Up

On

entr

y

F. C

urX

, G.

Cur

Y, B

. C

urIte

mX

, C.

Cur

Item

Y

3N

/A

Dec

isio

nA N

ext O

rder

?1.

Get

Nex

t O

rder

If th

e or

der

pick

er is

don

e w

ith s

ettin

g up

for

the

next

ord

er

(wai

ted

the

Set

upT

ime)

, the

n th

ey c

an g

et th

eir

next

ord

er

If (T

ime-

time_

sinc

e_en

try>

=S

etup

Tim

e)

then

tran

sitio

n to

Get

Nex

t Ord

er0.

1 se

cond

sO

n en

try

1.R

. Tim

e, 1

.E.

Set

upT

ime

1N

/A

Dec

isio

nB A

t Ite

m?

6. P

icki

ng It

emIf

the

pick

er's

loca

tion

is a

t the

cur

rent

item

, the

n pi

ck th

e ite

m

If (C

urX

==C

urIte

mX

and

C

urY

==C

urIte

mY

) th

en tr

ansi

tion

to P

icki

ng It

emO

n en

try

F. C

urX

, G.

Cur

Y, B

. C

urIte

mX

, C.

Cur

Item

Y

2N

/A

Dec

isio

nA N

ext O

rder

?2.

Get

Nex

t Ite

mIf

the

pick

er is

don

e pi

ckin

g th

e ite

m, t

hen

get t

he n

ext

item

to p

ick

If (T

ime-

time_

sinc

e_en

try>

=C

urP

ickT

ime)

th

en tr

ansi

tion

to G

et N

ext O

rder

0.1

seco

nds

On

entr

y1.

R. T

ime,

L.

Cur

Pic

kTim

e2

N/A

Dec

isio

nA In

sert

Pic

kers

?2.

Inse

rtin

g P

icke

rs

If it

is ti

me

to in

sert

mor

e pi

cker

s ba

sed

on th

e re

leas

e de

lay

and

not a

ll of

the

pick

ers

have

bee

n in

sert

ed, t

hen

inse

rt th

e ne

xt p

icke

r.

If (tim

e_si

nce_

last

_ins

ert>

=D

elay

Re

leas

e an

d C

urre

nt_n

um_p

icke

rs<

Num

Pic

ker

s) th

en tr

ansi

tion.

Eve

ry s

econ

don

ent

ryon

exi

stD

elay

Rel

ease

, N

umP

icke

rs1

N/A

Dec

isio

nA N

ext O

rder

?2.

Get

Nex

t Ite

mC

heck

ing

if th

ere

is a

noth

er o

rder

to r

un. I

f not

do

not

tran

sitio

nIf

(nex

t_or

der_

avai

labl

e==

true

) tr

ansi

tion

to G

et N

ext I

tem

.O

n en

try

F. C

urX

, G.

Cur

Y, B

. C

urIte

mX

, C.

Cur

Item

Y

4N

/A

275

Page 286: The History, Philosophy, and Practice of Agent-Based ...

Figure

11:CM4SDiagram

Page2-Recorder

Shapes

Mas

ter

Nam

eD

isp

laye

d

Tex

tM

emb

er

Of

Beh

avio

rP

seu

do

Co

de

- F

un

ctio

nP

seu

do

Co

de

- U

pd

ate

Pse

ud

o C

od

e -

Sta

rtP

seu

do

Co

de

- S

top

Var

iab

les

Seq

uen

ce

wit

hin

Blo

ckP

urp

ose

Rec

ord

A Pic

kTim

e6.

Pic

king

T

ime

Rec

ord

the

amou

nt o

f tim

e sp

ent p

icki

ngP

ickT

ime=

Pic

kTim

e+tim

e_ex

it-tim

e_en

tere

d;on

ent

ryon

exi

t2

Cou

nt th

e tim

e sp

ent

pick

ing

by th

e pi

cker

Rec

ord

A Set

upT

ime

7. S

ettin

g U

pR

ecor

d th

e am

ount

of

time

spen

t set

ting

upS

etup

Tim

e=S

etup

Tim

e+tim

e_ex

it-tim

e_en

tere

d;on

ent

ryon

exi

t2

Cou

nt th

e tim

e sp

ent

setti

ng u

p by

the

pick

er

Rec

ord

A Num

Ord

ers

1. G

et N

ext

Ord

erR

ecor

d th

e nu

mbe

r of

or

ders

If (N

umO

rder

s!=

null)

then

Num

Ord

ers+

+;

on e

xit

2N

umbe

r of

ord

ers

by

the

pick

er.

Rec

ord

A Num

Item

s2.

Get

Nex

t Ite

mR

ecor

d th

e nu

mbe

r of

ite

ms

If (N

umIte

ms!

=nul

l) th

en N

umIte

ms+

+;

on e

xit

2N

umbe

r of

item

s by

the

pick

er.

Rec

ord

B Tot

Tim

e1.

Get

Nex

t O

rder

Rec

ord

the

tota

l tim

e th

e pi

cker

has

bee

n w

orki

ngT

otT

ime=

Tot

Tim

e+tim

e-tim

e_la

st_l

eft

on e

xit

3C

ount

the

tota

l tim

e sp

ent w

orki

ng b

y th

e pi

cker

Rec

ord

A Del

ayT

ime

1. O

rder

P

icke

rR

ecor

d th

e am

ount

of

time

spen

t not

mov

ing

Del

ayT

ime=

Del

ayT

ime+

resu

me_

mov

e_tim

e-st

op_m

ove_

time;

If (is

Mov

ing=

=fa

lse)

th

en U

pdat

e=0.

1;on

ent

ryon

exi

t1

Cou

nt th

e tim

e sp

ent

dela

yed

by th

e pi

cker

276

Page 287: The History, Philosophy, and Practice of Agent-Based ...

Figure

12:CM4SDiagram

Page2-VariableShapes

Mas

ter

Nam

eD

isp

laye

d T

ext

Mem

ber

Of

Beh

avio

rS

ou

rce

Var

iabl

eA Ite

mLi

st1.

Ord

er P

icke

rA

n ar

ray

of 1

0 ite

ms

in th

e lis

t of a

n or

der.

N/A

Var

iabl

eB C

urIte

mX

1. O

rder

Pic

ker

Cur

rent

targ

et's

x c

oord

inat

eN

/A

Var

iabl

eC C

urIte

mY

1. O

rder

Pic

ker

Cur

rent

targ

et's

y c

oord

inat

eN

/A

Var

iabl

eD C

urIte

mA

isle

1. O

rder

Pic

ker

Cur

rent

targ

et's

ais

le lo

catio

nN

/A

Var

iabl

eE C

urIte

mLa

ne1.

Ord

er P

icke

rC

urre

nt ta

rget

's la

ne lo

catio

nN

/A

Var

iabl

eF C

urX

1. O

rder

Pic

ker

The

Ord

er P

icke

r's c

urre

nt x

coo

rdin

ate

N/A

Var

iabl

eG C

urY

1. O

rder

Pic

ker

The

Ord

er P

icke

r's c

urre

nt y

coo

rdin

ate

N/A

Var

iabl

eH G

oalX

1. O

rder

Pic

ker

The

Ord

er P

icke

r's c

urre

nt g

oal x

coo

rdin

ate

N/A

Var

iabl

eI G

oalY

1. O

rder

Pic

ker

The

Ord

er P

icke

r's c

urre

nt g

oal y

coo

rdin

ate

N/A

Var

iabl

eJ S

hipX

1. O

rder

Pic

ker

The

Ord

er P

icke

r's s

hip

x co

ordi

nate

N/A

Var

iabl

eK S

hipY

1. O

rder

Pic

ker

The

Ord

er P

icke

r's s

hip

x co

ordi

nate

N/A

Var

iabl

eL C

urP

ickT

ime

1. O

rder

Pic

ker

The

Ord

er P

icke

r's c

urre

nt p

ick

time

(it is

dep

ende

nt u

pon

dist

ance

to

the

item

and

whe

ther

that

item

is a

pha

ntom

item

)N

/A

Var

iabl

eM w

alkT

o1.

Ord

er P

icke

rD

escr

ibes

whe

ther

the

pick

er is

wal

king

to th

e ite

m. 1

=w

alki

ng,

0=no

t wal

king

N/A

Var

iabl

eN w

alki

ngD

ist

1. O

rder

Pic

ker

The

wal

king

dis

tanc

e of

the

orde

r pi

cker

to g

et th

e ite

mN

/A

Var

iabl

eO C

urA

isle

1. O

rder

Pic

ker

The

ord

er p

icke

r's c

urre

nt a

isle

, -1

if no

t in

an a

isle

N/A

Var

iabl

eP sw

itchN

eede

d1.

Ord

er P

icke

rT

he o

rder

pic

ker's

cur

rent

ais

le, -

1 if

not i

n an

ais

leN

/A

Var

iabl

eQ st

artD

eadL

ock

1. O

rder

Pic

ker

The

sta

rt ti

me

whe

n th

e pi

cker

is fo

rced

to s

top

due

to tr

affic

.N

/A

Var

iabl

eR in

iX4.

Mov

emen

tD

escr

ibes

the

initi

al X

Coo

rdin

ate

whe

n m

ovem

ent i

s st

arte

d af

ter

stop

ping

.N

/A

Var

iabl

eS in

iY4.

Mov

emen

tD

escr

ibes

the

initi

al X

Coo

rdin

ate

whe

n m

ovem

ent i

s st

arte

d af

ter

stop

ping

.N

/A

277

Page 288: The History, Philosophy, and Practice of Agent-Based ...

Figure 13: CM4S Diagram Page 3

278

Page 289: The History, Philosophy, and Practice of Agent-Based ...

Figure

14:CM4SDiagram

Page3-ActionShapes

Dis

pla

yed

Text

Mem

ber

O

fB

ehav

ior

Pse

ud

o C

ode

- Fu

nct

ion

Pse

udo

Co

de

- U

pd

ate

Pse

ud

o C

ode

- S

tart

Pse

udo

Co

de

- S

top

Var

iabl

esS

eque

nce

w

ith

in B

lock

So

urc

e

A Set

Hig

hway

G

oal L

oc

2. In

H

ighw

ayS

et to

goa

l to

mov

e to

the

appr

opria

te a

isle

inte

rsec

tion

of th

e ne

xt it

em. S

top

50"

befo

re th

e ai

sle

of in

tere

st. O

nce

goal

is s

et, t

he p

icke

r is

rea

dy to

mov

e.

Goa

lY=

Cur

Y; I

f (he

adin

g==

east

) th

en G

oalX

=27

5, 4

75, 6

75, 8

75, o

r 10

75

depe

ndin

g up

on C

urIte

mA

isle

. Els

e G

oalX

=22

5, 4

25, 6

25, 8

25, o

r 10

25

depe

ndin

g up

on C

urIte

mA

isle

; rea

dyT

oMov

e=1;

on e

ntry

F. C

urX

, G. C

urY

, H. G

oalX

, I.

Goa

lYB

ased

on

envi

ronm

ent.

A Res

et

Var

iabl

es

1. P

icke

r Lo

catio

n C

heck

Res

et th

e re

adyT

oMov

e an

d w

alkT

o va

riabl

e to

0. A

lso,

res

et th

e in

iX a

nd Y

C

oord

inat

esre

adyT

oMov

e=0;

wal

kTo=

0; i

niX

=C

urX

; ini

Y=

Cur

Y;

on e

ntry

A. r

eady

ToM

ove,

M. w

alkT

o, R

. In

iX, S

. Ini

Y, F

. Cur

X, G

. Cur

Y1

A Set

Inte

r G

oal

Loc

2. G

oing

To

Inte

rP

roce

ed to

the

clos

est i

nter

sect

ion

in y

our

head

ing

dire

ctio

n.G

oalX

=C

urX

; If

(hea

ding

==

nort

h) th

en G

oalY

=22

5. E

lse

Goa

lY=9

75;

read

yToM

ove=

1; a

tInte

r=1;

on e

ntry

F. C

urX

, H

. Goa

lX, I

. Goa

lY, A

. re

adyT

oMov

e, B

. atIn

ter

Bas

ed o

n en

viro

nmen

t. P

icke

rs c

anno

t tur

n ar

ound

, bas

ed o

n pe

rson

al

expe

rienc

e.

A Set

Item

Goa

l Lo

c

3. G

oing

To

Item

If th

e ite

m is

dire

ctly

nex

t to

you,

then

wal

k to

pic

k it

up. E

lse

if th

e ite

m is

in

the

sam

e la

ne, t

hen

mov

e to

war

ds th

e ite

m. E

lse

mov

e to

with

in 1

pic

king

lo

catio

n of

the

item

and

sw

itch

lane

s.

read

yToM

ove=

1; If

(C

urIte

mY

==

Cur

Y)

then

wal

kTo=

1,

wal

king

Dis

t=di

stan

ce_t

o_ite

m, G

oalX

=Cur

X, a

nd G

oalY

=C

urY

; Els

e if

(Cur

Item

X=

Cur

X)

then

Goa

lX=C

urX

and

Goa

lY=

Cur

Item

Y; E

lse

switc

hNee

ded=

1, G

oalX

=C

urX

, and

if (

head

ing=

=no

rth)

then

G

oalY

=C

urIte

mY

+50,

els

e G

on e

ntry

F. C

urX

, H

. Goa

lX, I

. Goa

lY, A

. re

adyT

oMov

e, B

. atIn

ter,

B.

Cur

Item

X, C

. Cur

Item

YB

ased

on

pers

onal

obs

erva

tions

.

A Set

S In

ter

Goa

l Loc

3. G

oing

To

S In

tP

roce

ed to

the

clos

est i

nter

sect

ion

(cur

rent

x c

oord

inat

e &

y c

oord

inat

e=11

25).

Goa

lX=

Cur

X; G

oalY

=112

5; r

eady

ToM

ove=

1; a

tInte

r=1;

on e

ntry

F. C

urX

, H

. Goa

lX, I

. Goa

lY, A

. re

adyT

oMov

e, B

. atIn

ter

Bas

ed o

n en

viro

nmen

t.

A Set

Shi

p G

oal

Loc

2. G

oing

To

Set

.S

et th

e go

al to

the

ship

ping

loca

tion.

Goa

lX=

Shi

pX; G

oalY

=S

hipY

; rea

dyT

oMov

e=1;

atIn

ter=

0;on

ent

ryH

. Goa

lX, I

. Goa

lY, A

. re

adyT

oMov

e, B

. atIn

ter,

J.

Shi

pX, K

. Shi

pYB

ased

on

envi

ronm

ent.

A Sca

n In

Fro

nt

2. In

ter

Tra

ffic

C

heck

Che

ck if

ther

e is

any

body

with

in 1

pic

ker's

leng

th (

100"

) di

rect

ly in

fron

t of m

e.

If th

ere

is th

en w

ait.

If (s

can(

my

coor

dina

tes,

100

" in

fro

nt o

f m

e)->

retu

rns

a pi

cker

) th

en

wai

tDel

ay=

1; e

lse

wai

tDel

ay=

0;0.

1on

ent

ryon

exi

tB

. wai

tDel

ay1

Pic

ker's

leng

th is

bas

ed o

n ap

prox

imat

e m

easu

rem

ents

of p

alle

t plu

s st

eerin

g ar

ea. S

can

chec

ks a

long

the

line

from

the

star

t coo

rdin

ates

to

the

end

coor

dina

tes.

B Sca

n C

ross

ing

Lane

s

2. In

ter

Tra

ffic

C

heck

If th

e pi

cker

is c

ross

ing

any

lane

s, th

en s

can

the

lane

fro

m th

e cr

ossi

ng p

oint

to

the

Dec

elB

reak

dis

tanc

e pl

us th

e pi

cker

leng

th a

gain

st th

e tr

affic

flow

of t

hat

lane

.

If (c

ross

ing_

lane

==tr

ue a

nd s

can(

cros

sing

coo

rdin

ates

, Dec

elB

reak

+10

0"

agai

nst t

raffi

c)->

retu

rns

a pi

cker

) th

en w

aitD

elay

=1;

els

e w

aitD

elay

=0;

0.1

on e

ntry

on e

xit

B. w

aitD

elay

, G. D

ecel

Bre

ak2

Pic

ker's

leng

th is

bas

ed o

n ap

prox

imat

e m

easu

rem

ents

of p

alle

t plu

s st

eerin

g ar

ea. S

can

chec

ks a

long

the

line

from

the

star

t coo

rdin

ates

to

the

end

coor

dina

tes.

Che

ckin

g di

stan

ces

base

d on

obs

erva

tions

.

C Sca

n E

nter

ing

Ais

le

2. In

ter

Tra

ffic

C

heck

If e

nter

ing

an a

isle

, sca

n th

e fr

om th

e en

terin

g po

int t

o D

ecel

Bre

ak d

ista

nce

plus

pic

ker

leng

th u

p th

e ai

sle

and

see

if an

ybod

y is

hea

ding

tow

ard

the

ente

ring

poin

t. If

so,

wai

t.

If (e

nter

ing_

aisl

e==

true

and

sca

n(en

terin

g_po

int,

Dec

elB

reak

+10

0" u

p ai

sle)

->r

etur

ns a

pic

ker

and

pick

er_h

eadi

ng_t

o_m

e==

1) th

en w

aitD

elay

=1;

els

e w

aitD

elay

=0;

0.1

on e

ntry

on e

xit

B. w

aitD

elay

, G. D

ecel

Bre

ak3

Pic

ker's

leng

th is

bas

ed o

n ap

prox

imat

e m

easu

rem

ents

of p

alle

t plu

s st

eerin

g ar

ea. S

can

chec

ks a

long

the

line

from

the

star

t coo

rdin

ates

to

the

end

coor

dina

tes.

Che

ckin

g di

stan

ces

base

d on

obs

erva

tions

.

D Sca

n E

nter

ing

Hig

hway

2. In

ter

Tra

ffic

C

heck

If e

nter

ing

a hi

ghw

ay, c

heck

from

the

ente

ring

loca

tion

to D

ecel

Bre

ak d

ista

nce

plus

pic

ker

leng

th a

gain

st tr

affic

to s

ee if

any

body

is c

omin

g to

war

ds y

ou. I

f so

, w

ait.

If (e

nter

ing_

high

way

==

true

and

sca

n(en

terin

g_lo

catio

n, D

ecel

Bre

ak+1

00"

agai

nst t

raffi

c)->

retu

rn a

pic

ker)

then

wai

tDel

ay=1

; Els

e w

aitD

elay

=0;

0.1

on e

ntry

on e

xit

B. w

aitD

elay

, G. D

ecel

Bre

ak4

Pic

ker's

leng

th is

bas

ed o

n ap

prox

imat

e m

easu

rem

ents

of p

alle

t plu

s st

eerin

g ar

ea. S

can

chec

ks a

long

the

line

from

the

star

t coo

rdin

ates

to

the

end

coor

dina

tes.

Che

ckin

g di

stan

ces

base

d on

obs

erva

tions

.

E Blo

cked

C

heck

2. In

ter

Tra

ffic

C

heck

If th

e pi

cker

is w

aitin

g th

en s

tart

the

cloc

k to

bre

ak th

e de

adlo

ck. A

lso,

if th

e pi

cker

is e

nter

ing

an a

isle

, del

ayed

, and

pic

ker

in y

our

way

is a

lso

dela

yed,

th

en te

ll th

em to

mov

e by

"w

avin

g".

If (w

aitD

elay

==

1) th

en s

tart

Dea

dLoc

k=tim

e an

d if

(ent

erin

g_ai

sle=

=tr

ue a

nd

pick

er_b

lock

_me=

dela

yed)

then

pic

ker_

wav

edA

t=1;

0.1

on e

ntry

on e

xit

A. w

aitD

elay

, B. w

aved

At,

star

tDea

dLoc

k5

Wav

ing

som

eone

thro

ugh

is b

ased

on

obse

rvat

ions

.

A Mov

e T

o T

emp

3. M

ove

Thr

u In

ter

Mov

e to

the

tem

pora

ry x

and

y c

oord

inat

es to

mov

e th

roug

h th

e in

ters

ectio

n at

a

slow

spe

ed (

half

the

max

trav

el s

peed

)M

oveI

ncre

men

tally

To(

Tem

pX, T

empY

) at

Rat

e(T

rave

lSpe

ed/2

)0.

1on

ent

ryon

exi

tC

. Tem

pX, D

. Tem

pY, C

. T

rave

lSpe

ed1

Slo

w tr

avel

spe

ed b

ased

on

obse

rvat

ion

and

appr

oxim

atio

n.

A Rea

dy T

o M

ove

4. G

et N

ext

Goa

lT

he p

icke

r is

now

rea

dy to

mov

e an

d no

long

er a

t an

inte

rsec

tion

read

yToM

ove=

1; w

aitD

elay

=0; w

aved

At=

0; a

tInte

r=0;

iniX

=Cur

X; i

niY

=C

urY

;on

ent

ryA

. wai

tDel

ay, B

. wav

edA

t, A

. re

adyT

oMov

e, B

. atIn

ter,

, R

. In

iX, S

. Ini

Y1

A Set

Tem

p In

ter

Goa

l Loc

2. In

ter

Tra

ffic

C

heck

Bas

ed o

n th

e cu

rren

t ite

m's

loca

tion

and

the

pick

er's

hea

ding

, sel

ect t

he

appr

opria

te s

cena

rio to

mov

e th

e pi

cker

just

thro

ugh

the

inte

rsec

tion

(ent

erin

g_ai

sle,

ent

erin

g_hi

ghw

ay, c

ross

ing_

lane

s). S

et a

tem

pora

ry lo

catio

n to

hel

p th

em m

ove

thro

ugh

the

aisl

Sel

ect_

Sce

nario

_Fro

m(C

urIte

mX

, Cur

Item

Y, p

icke

r_he

adin

g). I

f (e

nter

ing_

aisl

e==

true

) th

en T

empX

=Cur

Item

X a

nd T

empY

=Cur

Item

Y; e

lsei

f (e

nter

ing_

high

way

==t

rue)

Tem

pX=C

urX

, Tem

pY=

125,

175

, 102

5, o

r 10

75

depe

ndin

g on

dire

ctio

n tu

rnin

g; E

lse

(ent

erin

g_sh

ippi

ng)

0.1

on e

ntry

on e

xit

C. T

empX

, D. T

empY

, F. C

urX

, G

. Cur

Y, B

. Cur

Item

X, C

. C

urIte

mY

1B

ased

on

obse

rvat

ions

.

279

Page 290: The History, Philosophy, and Practice of Agent-Based ...

Figure

15:CM4SDiagram

Page3-Block

Shapes

Mas

ter

Nam

eD

isp

laye

d T

ext

Fro

mT

oA

ctio

ns

Dec

isio

ns

Rec

ord

ers

Var

iab

les

Blo

ck1.

3.1.

1.3

Get

Nex

t Goa

l Lo

catio

n2.

Get

Nex

t Ite

m4.

Mov

emen

tA

. Beg

in M

ove?

A. r

eady

ToM

ove,

B. a

tInte

r

Blo

ck1

Pic

ker

Loca

tion

Che

ck2.

In H

ighw

ay, 3

. At

Inte

rsec

tion,

4. I

n A

isle

, 5. A

t Shi

ppin

gA

. Res

et V

aria

bles

A. H

ighw

ay?,

B.

Inte

rsec

t?, C

. A

isle

?, D

. Shi

p?

Blo

ck2

In H

ighw

ay1.

Pic

ker

Loca

tion

Che

ckA

. Set

Hig

hway

Goa

l Loc

Blo

ck3

At I

nter

sect

ion

1. P

icke

r Lo

catio

n C

heck

A. w

aitD

elay

, B. w

aved

At,

C.

Tem

pX, D

. Tem

pY

Blo

ck5

At S

hipp

ing

1. P

icke

r Lo

catio

n C

heck

Blo

ck4

In A

isle

1. P

icke

r Lo

catio

n C

heck

Blo

ck1

Item

Loc

atio

n C

heck

2. G

oing

To

Inte

r, 3

. G

oing

To

Item

A. S

ame

Ais

le?,

B.

Diff

Ais

le?

Blo

ck2

Goi

ng T

o In

ter

1. It

em L

ocat

ion

Che

ckA

. Set

Inte

r G

oal L

ocB

lock

3 G

oing

To

Item

1. It

em L

ocat

ion

Che

ckA

. Set

Item

Goa

l Loc

Blo

ck1

Get

Shi

p G

oal

2. G

oing

To

Set

., 3.

G

oing

to S

Int

A. E

nter

ing?

, B.

Exi

ting?

Blo

ck3

Goi

ng T

o S

Int

1. It

em L

ocat

ion

Che

ckA

. Set

S In

ter

Goa

l Loc

Blo

ck2

Goi

ng T

o S

et.

1. G

et S

hip

Goa

lA

. Set

Shi

p G

oal

Blo

ck2

Inte

r T

raff

ic C

heck

1. G

et In

t Goa

l Loc

atio

ns3.

Mov

e T

hru

Inte

rA

. Sca

n In

Fro

nt, B

. Sca

n C

ross

ing

Lane

s, C

. Sca

n E

nter

ing

Ais

le, D

. Sca

n E

nter

ing

Hig

hway

, E. B

lock

ed C

heck

A. M

ove?

Blo

ck1

Get

Int G

oal L

ocat

ions

2. In

ter

Tra

ffic

Che

ck

Blo

ck3

Mov

e T

hru

Inte

r2.

Inte

r T

raff

ic C

heck

4. G

et N

ext G

oal

A. M

ove

To

Tem

pA

. At T

emp?

Blo

ck4

Get

Nex

t Goa

l3.

Mov

e T

hru

Inte

rA

. Rea

dt T

o M

ove

280

Page 291: The History, Philosophy, and Practice of Agent-Based ...

Figure

16:CM4SDiagram

Page3-DecisionShapes

Mas

ter

Nam

eD

isp

laye

d

Tex

tT

ran

siti

on

s T

oB

ehav

ior

Pse

ud

o C

od

e -

Co

nd

itio

nP

seu

do

Co

de

- U

pd

ate

Pse

udo

Co

de

- S

tart

Pse

ud

o C

od

e -

Sto

pV

aria

ble

So

urc

e

Dec

isio

nA H

ighw

ay?

2. In

Hig

hway

If th

e cu

rren

t loc

atio

n is

a h

ighw

ay (

y-co

ord=

125,

175

, 102

5,

or 1

075

and

atIn

ter=

=0),

then

follo

w th

e hi

ghw

ay lo

gic

If (C

urY

==12

5 or

175

or

1025

or

1075

and

at

Inte

r==

0) th

en tr

ansi

tion

to In

Hig

hway

on e

ntry

G. C

urY

, B. a

tInte

rB

ased

on

the

envi

ronm

ent l

ayou

t. H

ighw

ays

are

quic

k w

ays

to m

ove

arou

nd th

e D

C.

Dec

isio

nB In

ters

ect?

3. A

t Int

erse

ctio

nIf

the

curr

ent l

ocat

ion

is a

inte

rsec

tion

(atIn

ter=

=1),

then

fo

llow

the

high

way

logi

cIf

(atIn

ter=

=1)

then

tran

sitio

n to

At I

nter

sect

ion

on e

ntry

B. a

tInte

rB

ased

on

the

envi

ronm

ent l

ayou

t. In

ters

ectio

ns a

re a

ny

poin

ts w

here

hig

hway

s in

ters

ect w

ith a

isle

s or

shi

ppin

g lo

catio

ns.

Dec

isio

nC A

isle

?4.

In A

isle

If th

e cu

rren

t loc

atio

n is

an

aisl

e (y

-coo

rd!=

125,

175

, 102

5,

or 1

075

and

atIn

ter=

=0),

then

follo

w th

e ai

sle

logi

cIf

(Cur

Y==

125

or 1

75 o

r 10

25 o

r 10

75 a

nd

atIn

ter=

=0)

then

tran

sitio

n to

In A

isle

on e

ntry

G. C

urY

, B. a

tInte

rB

ased

on

the

envi

ronm

ent l

ayou

t.

Dec

isio

nA S

ame

Ais

le?

3. G

oing

To

Item

If th

e cu

rren

t ite

m is

in th

e sa

me

aisl

e as

the

pick

er, t

hen

set g

oal t

o th

e ite

m lo

catio

n.If

(Cur

Item

Ais

le==

Cur

Ais

le)

then

tran

sitio

n to

G

oing

To

Item

on e

ntry

D. C

urIte

mA

isle

, O. C

urA

isle

Bas

ed o

n th

e en

viro

nmen

t lay

out.

Dec

isio

nB D

iff A

isle

?2.

Goi

ng T

o In

ter

If th

e cu

rren

t ite

m is

not

in th

e sa

me

aisl

e, th

en p

icke

r m

ust

proc

eed

to th

e ne

ares

t int

erse

ctio

n.If

(Cur

Item

Ais

le!=

Cur

Ais

le)

then

tran

sitio

n to

G

oing

To

Inte

ron

ent

ryD

. Cur

Item

Ais

le, O

. Cur

Ais

leB

ased

on

the

envi

ronm

ent l

ayou

t.

Dec

isio

nD S

hip?

5. A

t Shi

ppin

gIf

the

curr

ent l

ocat

ion

is in

the

ship

ping

are

a an

d yo

u ar

e no

t le

avin

g (y

coo

rd>=

1125

& a

tInte

r=0)

then

follo

w th

e sh

ippi

ng lo

gic.

If (C

urY

>=11

25 a

nd a

tInte

r=0)

then

tran

sitio

n to

At S

hipp

ing;

on e

ntry

B. a

tInte

r, G

. Cur

YB

ased

on

the

envi

ronm

ent l

ayou

t.

Dec

isio

nA E

nter

ing?

2. G

oing

To

Set

.If

the

curr

ent i

tem

y c

oord

<112

5, th

en s

et g

oal t

o th

e sh

ippi

ng lo

catio

n.If

(Cur

Item

Y<1

125)

then

tran

sitio

n to

Goi

ng T

o S

eton

ent

ryC

. Cur

Item

YB

ased

on

the

envi

ronm

ent l

ayou

t.

Dec

isio

nB E

xitin

g?3.

Goi

ng T

o S

Int

If th

e cu

rren

t ite

m y

coo

rd>1

125,

then

the

pick

er is

exi

ting

the

ship

ping

are

a an

d en

terin

g an

inte

rsec

tion.

If (C

urIte

mY

>112

5) th

en tr

ansi

tion

to G

oing

To

Inte

ron

ent

ryC

. Cur

Item

YB

ased

on

the

envi

ronm

ent l

ayou

t.

Dec

isio

nA M

ove?

3. M

ove

Thr

u In

ter

If th

e pi

cker

is n

o lo

nger

del

ayed

, or

they

are

wav

ed to

m

ove,

or

the

pick

er h

as b

een

dela

yed

for

long

er th

an th

e D

eadB

reak

Tim

e, th

en b

eing

to m

ove

thro

ugh

the

inte

rsec

tion.

If (w

aitD

elay

==0

or w

aved

At=

=1

or ti

me-

star

tDea

dLoc

k>D

eadB

reak

Tim

e) th

en

tran

sitio

n to

Mov

e T

hru

Inte

r0.

1on

ent

ryon

exi

tT

. Dea

dBre

akT

ime,

B. w

aved

At,

A.

wai

tDel

ay, Q

. sta

rtD

eadL

ock,

T

Dea

dBre

akT

ime

Dec

isio

nA A

t Tem

p?4.

Get

Nex

t Goa

lIf

the

pick

er h

as r

each

ed th

e te

mpo

rary

goa

ls, t

hen

it is

re

ady

to s

et th

e fin

al g

oals

of t

he in

ters

ectio

n an

d m

ove

to

them

.

If (C

urY

==T

empY

and

Cur

X==

Tem

pX)

then

tr

ansi

tion

to G

et N

ext G

oal

0.1

on e

ntry

on e

xit

F. C

urX

, G

. Cur

Y, C

. Tem

pX, D

. Tem

pY

Dec

isio

nA B

egin

Mov

e?4.

Mov

emen

tIf

the

next

goa

l loc

atio

n ha

s be

en s

et a

nd th

e pi

cker

is

read

y to

mov

e, th

en tr

ansi

tion

to g

ener

al m

ovem

ent

If (r

eady

ToM

ove=

=1)

then

tran

sitio

n.A

fter

ever

y ac

tion

exec

uted

in 3

. G

et N

ext G

oal L

ocat

ion

On

entr

yO

n ex

itN

/A

281

Page 292: The History, Philosophy, and Practice of Agent-Based ...

Figure

17:CM4SDiagram

Page3-VariableShapes

Mas

ter

Nam

eD

isp

laye

d T

ext

Mem

ber

Of

Beh

avio

rS

ou

rce

Var

iabl

eA re

adyT

oMov

e3.

Get

Nex

t Goa

l Loc

atio

nD

escr

ibes

whe

ther

a g

oal h

as b

een

set.

1=ye

s, 0

=no

.N

/A

Var

iabl

eB at

Inte

r3.

Get

Nex

t Goa

l Loc

atio

nD

escr

ibes

whe

ther

the

pick

er is

at a

n in

ters

ectio

n. 1

=ye

s, 0

=no

N/A

Var

iabl

eA w

aitD

elay

3. A

t Int

erse

ctio

nD

escr

ibes

if th

ere

is a

traf

fic in

my

path

Var

iabl

eB w

aved

At

3. A

t Int

erse

ctio

nD

escr

ibes

if a

noth

er p

icke

r ha

s "w

aved

" fo

r m

e to

mov

e be

caus

e I a

m in

thei

r w

ayB

ased

on

obse

rvat

ion.

Var

iabl

eC T

empX

3. A

t Int

erse

ctio

nT

empo

rary

x c

oord

inat

es to

mov

e th

e pi

cker

thro

ugh

the

inte

rsec

tion.

Var

iabl

eD T

empY

3. A

t Int

erse

ctio

nT

empo

rary

y c

oord

inat

es to

mov

e th

e pi

cker

thro

ugh

the

inte

rsec

tion.

Bas

ed o

n ob

serv

atio

n.

282

Page 293: The History, Philosophy, and Practice of Agent-Based ...

Figure 18: CM4S Diagram Page 4

283

Page 294: The History, Philosophy, and Practice of Agent-Based ...

Figure

19:CM4SDiagram

Page4-ActionShapes

Mas

ter

Nam

eD

isp

laye

d

Tex

tM

emb

er O

fB

ehav

ior

Pse

ud

o C

od

e -

Fu

nct

ion

Pse

ud

o C

od

e -

Up

dat

eP

seu

do

Co

de

- S

tart

Pse

ud

o C

od

e -

Sto

pV

aria

ble

sS

equ

ence

w

ith

in B

lock

So

urc

e

Act

ion

A Sca

n In

Fro

nt1.

Che

ck In

F

ront

Sca

n di

rect

ly in

fron

t of t

he p

icke

r fr

om th

e pi

cker

's

loca

tion

out D

ecel

Bre

ak*2

+pi

cker

leng

th (

to a

void

for

head

on

colli

sion

s) a

nd g

et th

eir

head

ing.

scan

(my

coor

dina

tes,

Dec

elB

reak

*2+

100"

in f

ront

of

me)

->r

etur

n=cl

oses

tPic

ker.

If c

lose

stP

icke

r!=n

ull,

get_

head

ing(

clos

estP

icke

r); t

raff

icD

elay

=1;

on e

ntry

G. D

ecel

Bre

ak, A

. clo

sest

Pic

ker

1B

ased

on

obse

rvat

ion.

Act

ion

A Acc

el M

ove

2. A

ccel

Mov

e to

war

ds to

goa

l at T

rave

lSpe

ed/2

.M

oveI

ncre

men

tally

To(

Goa

lX, G

oalY

) at

Rat

e(T

rave

lSpe

ed/2

)0.

1on

ent

ryon

exi

tH

. Goa

lX, I

. Goa

lY, C

. Tra

velS

peed

1M

ovin

g ha

lf th

e sp

eed

for

the

entir

e tim

e it

take

s to

ac

cele

rate

. Thi

s at

tem

pts

to c

aptu

re th

e av

erag

e sp

eed

trav

eled

whi

le a

ccel

erat

ing.

Act

ion

A Max

Mov

e3.

Max

Mov

e to

war

ds to

goa

l at T

rave

lSpe

ed.

Mov

eInc

rem

enta

llyT

o(G

oalX

, Goa

lY)

at R

ate(

Tra

velS

peed

)0.

1on

ent

ryon

exi

tH

. Goa

lX, I

. Goa

lY, C

. Tra

velS

peed

1A

vera

ge m

ovin

g sp

eed

base

d on

obs

erva

tion

and

mea

sure

men

t is

appr

oxim

atel

y 5m

ph.

Act

ion

A Dec

el M

ove

4. D

ecel

Mov

e to

war

ds to

goa

l at T

rave

lSpe

ed/2

.M

oveI

ncre

men

tally

To(

Goa

lX, G

oalY

) at

Rat

e(T

rave

lSpe

ed/2

)0.

1on

ent

ryon

exi

tH

. Goa

lX, I

. Goa

lY, C

. Tra

velS

peed

1M

ovin

g ha

lf th

e sp

eed

for

the

entir

e tim

e it

take

s to

co

me

to a

sto

p. T

his

atte

mpt

s to

cap

ture

the

aver

age

spee

d tr

avel

ed w

hile

dec

eler

atin

g.

Act

ion

A Set

No

Del

ay2.

No

Del

ayS

et tr

affic

del

ay to

zer

o.tr

affic

Del

ay=

0;on

ent

ryB

. tra

ffic

Del

ay1

Act

ion

A Dec

eler

ate

3. S

low

Dow

nD

ecel

erat

e an

d re

set i

nitia

l sta

rtin

g co

ordi

nate

s (t

his

is

sign

ifyin

g th

e tim

e it

wou

ld ta

ke to

rea

ch fu

ll sp

eed

agai

n)

Mov

eInc

rem

enta

llyT

o(G

oalX

, Goa

lY)

at R

ate(

Tra

velS

peed

/2);

In

iX=C

urX

; Ini

Y=C

urY

;0.

1on

ent

ryon

exi

tH

. Goa

lX, I

. Goa

lY, C

. Tra

velS

peed

, F.

Cur

X, G

. Cur

Y, R

. Ini

X, S

. Ini

Y1

Slo

w d

own

enou

gh to

sto

p if

need

ed. B

ased

on

obse

rvat

ion.

Act

ion

A Sto

p &

Wal

k5.

Wal

k T

o Ite

mS

top

mov

ing

and

reco

rd th

e di

stan

ce to

the

item

.M

oveI

ncre

men

tally

To(

Goa

lX, G

oalY

) at

Rat

e(0)

; Goa

lX=

Cur

X;

Goa

lY=C

urY

; wal

kTo=

1; w

alki

ngD

ist=

Dis

tanc

e(C

urX

, Cur

Y -

>

Cur

Item

X, C

urIte

mY

);on

ent

ryH

. Goa

lX, I

. Goa

lY, F

. Cur

X, G

. Cur

Y, M

. w

alkT

o, N

. wal

king

Dis

t, B

. Cur

Item

X, C

. C

urIte

mY

1B

ased

on

Obs

erva

tion

Act

ion

A Sto

p to

Sw

itch

6. S

witc

h La

neS

top

mov

ing

and

tran

sitio

n to

Sw

itch

Lane

Mov

emen

t.M

oveI

ncre

men

tally

To(

Goa

lX, G

oalY

) at

Rat

e(0)

; sw

itchN

eede

d=1;

on e

ntry

H. G

oalX

, I. G

oalY

, P. s

witc

hNee

ded

1B

ased

on

Obs

erva

tion

Act

ion

A Sto

p fo

r T

raff

ic7.

Tra

ffic

Del

ayS

top

mov

ing

and

begi

n w

aitin

g fo

r tr

affic

to c

lear

.M

oveI

ncre

men

tally

To(

Goa

lX, G

oalY

) at

Rat

e(0)

; st

artD

eadL

ock=

time;

on e

ntry

H. G

oalX

, I. G

oalY

, Q. s

tart

Dea

dLoc

k1

Bas

ed o

n O

bser

vatio

n

Act

ion

A Sto

p to

Sw

itch

6. S

witc

h La

neS

top

mov

ing

and

tran

sitio

n to

Sw

itch

Lane

Mov

emen

t.M

oveI

ncre

men

tally

To(

Goa

lX, G

oalY

) at

Rat

e(0)

; sw

itchN

eede

d=1;

on e

ntry

H. G

oalX

, I. G

oalY

, P. s

witc

hNee

ded

1B

ased

on

Obs

erva

tion

284

Page 295: The History, Philosophy, and Practice of Agent-Based ...

Figure

20:CM4SDiagram

Page4-Block

Shapes

Mas

ter

Nam

eD

isp

laye

d

Tex

tF

rom

To

Act

ion

sD

ecis

ion

sR

eco

rder

sV

aria

ble

s

Blo

ck1.

3.1.

1.4

Mov

emen

t3.

Get

Nex

t Goa

l Loc

atio

n5.

Che

ck L

ocat

ion

A. A

t Goa

l?A

. clo

sest

Pic

ker,

B.

traf

ficD

elay

Blo

ck1

Sta

ndar

d M

ovem

ent

2. S

witc

h La

ne M

ovem

ent

A. S

witc

h N

ow?

Blo

ck1

Che

ck In

F

ront

2. N

o T

raff

ic2.

No

Tra

ffic

A. S

can

In F

ront

A. N

o P

icke

r?, B

. Fol

low

P

icke

r?, C

. Pic

ker

Hea

d O

n?B

lock

2 N

o T

raffi

c1.

Che

ck In

Fro

nt1.

Che

ck In

Fro

ntB

lock

2 A

ccel

1. S

peed

Che

ckA

. Acc

el M

ove

Blo

ck3

Max

1. S

peed

Che

ckA

. Max

Mov

eB

lock

4 D

ecel

1. S

peed

Che

ckA

. Dec

el M

ove

Blo

ck1

Spe

ed

Che

ck2.

Acc

el, 3

. Max

, 4. D

ecel

A. A

ccel

?, B

. At M

ax?,

C.

Dec

el?

Blo

ck3

Hea

d O

n Lo

gic

1. C

heck

Fro

nt2.

No

Tra

ffic,

2. S

witc

h La

ne

Mov

emen

tA

. No

Del

ay?

Blo

ck2

Sw

itch

Lane

M

ovem

ent

1. S

tand

ard

Mov

emen

t, 9.

S

witc

h La

ne, 6

. Sw

itch

Lane

Blo

ck1

Che

ck D

ist

2. N

o D

elay

, 3. S

low

Dow

nA

. Goa

l Clo

se?,

B. P

icke

r C

lose

?

Blo

ck2

No

Del

ay1.

Che

ck D

ist,

3. S

low

Dow

nA

. Set

No

Del

ay,

Blo

ck3

Slo

w D

own

1. C

heck

Dis

t2.

No

Del

ay, 4

. Eva

l Opt

ions

A. D

ecel

erat

eA

. P. n

ot w

/in s

top,

B. P

. w/in

st

op

Blo

ck4

Eva

l Opt

ions

3. S

low

Dow

n5.

Wal

k T

o Ite

m, 6

. Sw

itch

Lane

, 7. T

raff

ic D

elay

A. W

alk

To

Item

?, B

. Sw

itch

Lane

?, C

. Mus

t Sto

p?

Blo

ck5

Wal

k T

o Ite

m4.

Eva

l Opt

ions

A. S

top

& W

alk

Blo

ck6

Sw

itch

Lane

4. E

val O

ptio

ns2.

Sw

itch

Lane

Mov

emen

tA

. Sto

p to

Sw

itch

Blo

ck7

Tra

ffic

Del

ay4.

Eva

l Opt

ions

2. N

o D

elay

A. S

top

for

Tra

ffic

A. C

lear

?

Blo

ck4

Fol

low

ing

Logi

c1.

Che

ck In

Fro

nt2.

No

Tra

ffic,

2. S

witc

h La

ne

Mov

emen

tA

. No

Del

ay?

Blo

ck9

Sw

itch

Lane

7. A

isle

Log

ic2.

Sw

itch

Lane

Mov

emen

tA

. Sto

p to

Sw

itch

285

Page 296: The History, Philosophy, and Practice of Agent-Based ...

Figure

21:CM4SDiagram

Page4-DecisionShapes

Mas

ter

Nam

eD

isp

laye

d

Tex

tT

ran

siti

on

s T

oB

ehav

ior

Pse

ud

o C

od

e -

Co

nd

itio

nP

seu

do

Co

de

- U

pd

ate

Pse

ud

o C

od

e -

Sta

rtP

seu

do

Co

de

- S

top

Var

iab

leS

equ

ence

w

ith

in B

lock

So

urc

e

De

cisi

onA N

o P

icke

r?2.

No

Tra

ffic

If th

ere

is n

o pi

cker

in fr

ont o

f yo

u, th

en tr

ansi

tion

to th

e m

ovi

ng

spee

d lo

gic

If (c

lose

stP

icke

r==

null)

then

tran

sitio

n to

No

Tra

ffic

on e

ntry

A. c

lose

stP

icke

r2

Bas

ed o

n ob

serv

atio

n.

De

cisi

onB F

ollo

w

Pic

ker?

4. F

ollo

win

g Lo

gic

If th

ere

is a

pic

ker

in fr

ont

of t

his

pic

ker

and

it is

hea

ding

is th

e s

ame

as

your

s, th

en tr

ansi

tion

to fo

llow

ing

log

ic.

If (c

lose

stP

icke

r!=

null

and

get

_he

adin

g(cl

oses

tPic

ker)

==

sam

e_m

ine)

th

en

tran

sitio

n to

Fol

low

ing

Logi

c;on

ent

ryA

. clo

sest

Pic

ker

3

De

cisi

onC P

icke

r H

ead

on?

3. H

ead

On

Lo

gic

If th

ere

is a

pic

ker

in fr

ont

of t

his

pic

ker

and

it is

hea

ding

tow

ard

s yo

u, th

en tr

ans

ition

to h

ead

on lo

gic.

If (c

lose

stP

icke

r!=

null

and

get_

head

ing

(clo

sest

Pic

ker)

==

oppo

site

_min

e)

then

tran

sitio

n to

Hea

d O

n Lo

gic;

on e

ntry

A. c

lose

stP

icke

r4

Bas

ed o

n ob

serv

atio

n

De

cisi

onA C

heck

Tra

f?1.

Che

ck In

Fro

ntA

uto

mat

ical

ly r

ech

eck

traf

fic e

very

0.1

se

con

ds.

tran

sitio

n to

Che

ck In

fron

t0.

1on

ent

ryon

exi

t1

De

cisi

onA A

ccel

?2.

Acc

elIf

the

dis

tanc

e to

the

goa

l coo

rdin

ates

is fu

rthe

r aw

ay th

an

De

celB

reak

and

the

initi

al s

tart

ing

coo

rdin

ates

is le

ss th

an

Acc

elB

reak

, the

n th

e pi

cker

is a

cce

lera

ting

If (D

ista

nce

(Goa

lX, G

oalY

->

Cu

rX, C

urY

)>D

ecel

Bre

ak a

nd

Dis

tanc

e(In

iX, I

niY

->

Cur

X, C

urY

)<A

ccel

Bre

ak)

then

tran

sitio

n to

A

ccel

;on

ent

ryF

. Cur

X, G

. Cur

Y,

H. G

oalX

, I. G

oalY

, R.

IniX

, S. I

niY

, G. D

ecel

Bre

ak, F

. Acc

elB

reak

1B

ased

on

obse

rvat

ion.

De

cisi

onB A

t Max

?3.

Max

If th

e d

ista

nce

to th

e go

al c

oord

inat

es is

furt

her

away

than

D

ece

lBre

ak a

nd th

e in

itial

sta

rtin

g c

oord

inat

es is

gre

ater

than

A

cce

lBre

ak, t

hen

the

pick

er is

at m

ax s

peed

.

If (D

ista

nce

(Goa

lX, G

oalY

->

Cu

rX, C

urY

)>D

ecel

Bre

ak a

nd

Dis

tanc

e(In

iX, I

niY

->

Cur

X, C

urY

)>A

ccel

Bre

ak)

then

tran

sitio

n to

M

ax;

on e

ntry

F. C

urX

, G. C

urY

, H

. Goa

lX, I

. Goa

lY, R

. In

iX, S

. In

iY, G

. Dec

elB

reak

, F. A

ccel

Bre

ak2

Bas

ed o

n ob

serv

atio

n.

De

cisi

onC D

ecel

?4.

Dec

elIf

the

dis

tanc

e to

the

goa

l coo

rdin

ates

is le

ss th

an D

ece

lBre

ak, t

hen

the

pick

er is

dec

ele

ratin

g.

If (D

ista

nce

(Goa

lX, G

oalY

->

Cu

rX, C

urY

)<=

Dec

elB

reak

) th

en

tran

sitio

n to

Dec

el;

on e

ntry

F. C

urX

, G. C

urY

, H

. Goa

lX, I

. Goa

lY, G

. D

ece

lBre

ak3

Bas

ed o

n ob

serv

atio

n.

De

cisi

onA N

o D

elay

?2.

No

Tra

ffic

If th

ere

is n

o tr

affic

del

ay, t

hen

pro

cee

d to

mo

ve.

If (t

raffi

cDel

ay=

=0

) th

en tr

ansi

tion

to N

o T

raffi

c0.

1on

ent

ryon

exi

stB

. tra

fficD

ela

y1

Bas

ed o

n ob

serv

atio

n

De

cisi

onA G

oal

Clo

se?

2. N

o D

elay

If th

e d

ista

nce

to th

e go

al i

s cl

ose

r th

an

the

dist

ance

it w

ould

take

ta

ke y

ou to

sto

p (D

ece

lBre

ak),

then

ther

e is

no

dela

y.If

(Dis

tan

ce(G

oalX

, Goa

lY -

> C

urX

, Cur

Y)

< D

ista

nce(

Cur

X, C

urY

->

D

ece

lBre

ak))

then

tran

sitio

n to

No

Del

ayon

ent

ryF

. Cur

X, G

. Cur

Y,

H. G

oalX

, I. G

oalY

, G.

Dec

elB

reak

1B

ased

on

obse

rvat

ion

De

cisi

onB P

icke

r C

lose

?3.

Slo

w D

own

If th

e d

ista

nce

to th

e go

al i

s fu

rthe

r th

an

the

dist

ance

it w

ould

take

ta

ke y

ou to

sto

p (D

ece

lBre

ak),

then

ther

e is

tra

ffic.

If (D

ista

nce

(Goa

lX, G

oalY

->

Cu

rX, C

urY

) >

Dis

tanc

e(C

urX

, Cur

Y -

>

Dec

elB

reak

)) th

en tr

ansi

tion

to N

o D

elay

on e

ntry

F. C

urX

, G. C

urY

, H

. Goa

lX, I

. Goa

lY, G

. D

ece

lBre

ak2

Bas

ed o

n ob

serv

atio

n

De

cisi

onA P

. not

w/in

st

op?

2. N

o D

elay

If th

e d

ista

nce

to th

e cl

oses

t pic

ker

is n

ot w

ithin

a 2

pic

ker's

leng

th

(200

"), t

hen

the

re is

no

need

to s

top

yet.

If (D

ista

nce

(Cur

X, C

urY

->

clo

sest

Pic

ker)

<20

0" th

en tr

ans

ition

to N

o

Del

ay

on e

ntry

F. C

urX

, G. C

urY

, A. c

lose

stP

icke

r2

Bas

ed o

n ob

serv

atio

n.

De

cisi

onB P

. w/in

sto

p?2.

No

Del

ayIf

the

dis

tanc

e to

the

clos

est p

icke

r is

not

with

in a

2 p

icke

r's le

ngth

(2

00")

, the

n th

ere

is n

o ne

ed to

sto

p ye

t.If

(Dis

tan

ce(C

urX

, Cur

Y -

> c

lose

stP

icke

r)<

200"

then

tra

nsiti

on to

No

D

ela

yon

ent

ryF

. Cur

X, G

. Cur

Y, A

. clo

sest

Pic

ker

3B

ased

on

obse

rvat

ion.

De

cisi

onA W

alk

to It

em?

5. W

alk

To

Item

If th

e c

urre

nt g

oal i

s a

n ite

m a

nd th

e ite

m is

with

in th

e w

alk-

to-p

ick

dis

tan

ce, t

hen

par

k an

d w

alk

to th

e it

em

.If

(Goa

lX=

=C

urIte

mX

and

Go

alY

=C

urIte

mY

an

d D

ista

nce

(Cur

X, C

urY

->

Go

alX

, Goa

lY)<

Wal

kTo

Pic

kDis

t) th

en

tran

sitio

n to

Wa

lk T

o It

em

;on

ent

ryF

. Cur

X, G

. Cur

Y, I

. Wal

kToP

ickD

ist,

H.

Goa

lX, I

. Goa

lY, B

. Cur

Item

X, C

. Cur

Item

Y1

Bas

ed o

n ob

serv

atio

n.

De

cisi

onC M

ust S

top?

7. T

raffi

c D

ela

yIf

all o

f the

oth

er d

ecis

ions

are

no

t se

lect

ed,

then

the

pick

er m

ust

sto

p an

d w

ait

for

the

traf

fic to

cle

ar

Tra

nsiti

on to

Tra

ffic

De

lay

on e

ntry

3B

ased

on

obse

rvat

ion.

De

cisi

onB S

witc

hLa

ne?

6. S

witc

h La

neIf

the

clo

sest

pic

ker

is n

ot m

ovin

g o

r th

is p

icke

r ca

n m

ove

to th

e ri

ght,

then

sto

p to

sw

itch

lane

sIf

(isM

ovi

ng(c

lose

stP

icke

r)=

=fa

lse

or

pick

er_m

ove_

right

==

true

) th

en

tran

sitio

n to

Sw

itch

Lan

e;on

ent

ryA

. clo

sest

Pic

ker

2B

ased

on

obse

rvat

ion.

De

cisi

onA C

lear

?2.

No

Del

ayIf

the

clo

sest

pic

ker

is n

o lo

nger

in fr

ont o

f me

or th

e d

ead

lock

tim

e h

as e

xpire

d, th

en th

ere

is n

o m

ore

de

lay.

If (o

ut_o

f_w

ay(c

lose

stP

icke

r)=

=tr

ue o

r tim

e-

star

tDe

adLo

ck>

=D

ead

Bre

akT

ime)

then

tran

sitio

n to

No

Del

ay0.

1on

ent

ryon

exi

stQ

. sta

rtD

eadL

ock,

A. c

lose

stP

icke

r, T

. D

eadB

reak

Tim

e2

Bas

ed o

n ob

serv

atio

n.

De

cisi

onA S

witc

hN

ow?

2 S

witc

h L

ane

Mo

vem

ent

If th

e p

icke

r ha

s re

ach

it's

goa

l loc

atio

n a

nd

a s

witc

h is

nee

ded,

then

tr

ansi

tion

to s

witc

h la

ne lo

gic.

If (G

oalX

==

Cur

X a

nd G

oal

Y=

=C

urY

and

sw

itchN

eed

ed=

=1)

then

tr

ansi

tion

to S

witc

h La

ne

Mov

eme

nt;

0.1

on e

ntry

on e

xist

H. G

oalX

, I. G

oalY

, P. s

witc

hNee

ded

, F.

Cur

X, G

. Cur

Y1

Bas

ed o

n ob

serv

atio

n.

De

cisi

onA N

o D

elay

?2.

No

Tra

ffic

If th

ere

is n

o tr

affic

del

ay, t

hen

pro

cee

d to

mo

ve.

If (t

raffi

cDel

ay=

=0

) th

en tr

ansi

tion

to N

o T

raffi

c0.

1on

ent

ryon

exi

stB

. tra

fficD

ela

y1

Bas

ed o

n ob

serv

atio

n

De

cisi

onA A

t Go

al?

3. G

et N

ext G

oal

Loca

tion

If th

e p

icke

r is

cur

rent

ly a

t the

go

al lo

catio

n, th

en c

heck

the

my

curr

ent

loca

tion

If (C

urX

==

Goa

lX a

nd C

urY

==

Goa

lY)

then

tran

sitio

n.A

fter

ever

y a

ctio

n e

xecu

ted

in 4

. M

ovem

ent

On

en

try

On

exit

F. C

urX

, G. C

urY

, H. G

oalX

, I. G

oalY

1N

/A

286

Page 297: The History, Philosophy, and Practice of Agent-Based ...

Figure

22:CM4SDiagram

Page4-VariableShapes

Mas

ter

Nam

eD

isp

laye

d T

ext

Mem

ber

Of

Beh

avio

rS

ou

rce

Var

iabl

eA cl

oses

tPic

ker

4. M

ovem

ent

Des

crib

es th

e pi

cker

clo

sest

to th

is p

icke

r

Var

iabl

eB tr

affic

Del

ay4.

Mov

emen

tD

escr

ibes

if th

ere

is a

traf

fic d

elay

. 1=

yes,

0=

no

287

Page 298: The History, Philosophy, and Practice of Agent-Based ...

Figure 23: CM4S Diagram Page 5

288

Page 299: The History, Philosophy, and Practice of Agent-Based ...

Figure

24:CM4SDiagram

Page5-ActionShapes

Mas

ter

Nam

eD

isp

laye

d

Tex

tM

emb

er

Of

Beh

avio

rP

seu

do

Co

de

- F

un

ctio

nP

seu

do

Co

de

- U

pd

ate

Pse

ud

o C

od

e -

Sta

rtP

seu

do

Co

de

- S

top

Var

iab

les

Seq

uen

ce

wit

hin

Blo

ckS

ou

rce

Act

ion

A Set

No

Del

ay2.

No

Del

ayS

et tr

affic

del

ay to

zer

o.tr

affic

Del

ay=

0;on

ent

ryB

. tra

ffic

Del

ay1

Act

ion

A Sto

p &

Wal

k8.

Wal

k T

o Ite

mS

top

mov

ing

and

reco

rd th

e di

stan

ce to

the

item

.M

oveI

ncre

men

tally

To(

Goa

lX, G

oalY

) at

Rat

e(0)

; Goa

lX=

Cur

X; G

oalY

=C

urY

; w

alkT

o=1;

wal

king

Dis

t=D

ista

nce(

Cur

X, C

urY

->

Cur

Item

X, C

urIte

mY

);

IniX

=Cur

X; I

niY

=C

urY

;on

ent

ryH

. Goa

lX, I

. Goa

lY, F

. Cur

X, G

. Cur

Y, M

. wal

kTo,

N

. wal

king

Dis

t, B

. Cur

Item

X, C

. Cur

Item

Y, R

. Ini

X,

S. I

niY

1B

ased

on

Obs

erva

tion

Act

ion

A Sto

p to

Sw

itch

6. S

witc

h La

neS

top

mov

ing

and

tran

sitio

n to

Sw

itch

Lane

Mov

emen

t.M

oveI

ncre

men

tally

To(

Goa

lX, G

oalY

) at

Rat

e(0)

; sw

itchN

eede

d=1;

IniX

=Cur

X;

IniY

=Cur

Y;

on e

ntry

H. G

oalX

, I. G

oalY

, P. s

witc

hNee

ded,

R. I

niX

, S.

IniY

1B

ased

on

Obs

erva

tion

Act

ion

A Sto

p fo

r T

raffi

c6.

Tra

ffic

Del

ayS

top

mov

ing

and

begi

n w

aitin

g fo

r tr

affic

to c

lear

.M

oveI

ncre

men

tally

To(

Goa

lX, G

oalY

) at

Rat

e(0)

; sta

rtD

eadL

ock=

time;

In

iX=C

urX

; Ini

Y=

Cur

Y;

on e

ntry

H. G

oalX

, I. G

oalY

, Q. s

tart

Dea

dLoc

k, R

. Ini

X, S

. In

iY1

Bas

ed o

n O

bser

vatio

n

Act

ion

A Dec

eler

ate

4. S

low

Dow

nD

ecel

erat

e an

d re

set i

nitia

l sta

rtin

g co

ordi

nate

s.M

oveI

ncre

men

tally

To(

Goa

lX, G

oalY

) at

Rat

e(T

rave

lSpe

ed/2

); In

iX=C

urX

; In

iY=C

urY

; tra

fficD

elay

=0;

0.1

on e

ntry

on e

xit

H. G

oalX

, I. G

oalY

, F. C

urX

, G. C

urY

, R. I

niX

, S.

IniY

, C. T

rave

lSpe

ed1

Slo

w d

own

to m

atch

the

pick

er in

fron

t spe

ed. B

ased

on

obse

rvat

ion.

Act

ion

A Set

Lan

e S

witc

h G

oal &

Sta

rt B

lock

T

ime

1. G

et L

ane

Sw

itch

Goa

l

Bas

ed o

n th

e pi

cker

's h

eadi

ng a

nd lo

catio

n, s

elec

t the

app

ropr

iate

lo

catio

n to

mov

e to

. Mov

emen

t sho

uld

50"

in th

e di

rect

ion

of th

e pi

cker

s he

adin

g an

d ov

er to

the

adja

cent

ais

le. S

et d

eadl

ock

time.

set_

switc

h_co

ordi

nate

s(he

adin

g, C

urX

, Cur

Y)-

>G

oalX

, Goa

lY;

star

tDea

dLoc

k=tim

e; tr

affic

Del

ay=1

;on

ent

ryF

. Cur

X, G

. Cur

Y,

H. G

oalX

, I. G

oalY

, Q.

star

tDea

dLoc

k1

Bas

ed o

n ob

serv

atio

ns. S

witc

h la

nes

like

this

is m

ore

real

istic

, pic

kers

ca

nnot

mov

e di

rect

ly h

oriz

onta

l. T

hey

mus

t mov

e fo

rwar

d a

little

. Not

e:

No

turn

ing

arou

nd a

llow

ed o

r go

ing

back

war

ds. T

hese

are

see

n as

too

diff

icul

t of m

oves

to m

ake.

Act

ion

A Sca

n In

Fro

nt to

P

ossi

bly

Wal

k

2. S

witc

h T

raff

ic C

heck

Che

ck if

ther

e is

any

body

with

in 1

pic

ker's

leng

th (

100"

) di

rect

ly in

fr

ont o

f me

(thi

s ch

ecks

if th

e tr

affic

in fr

ont h

as m

oved

). If

ther

e is

n't a

nd th

e pi

cker

can

wal

k to

pic

k th

e ne

xt it

em, t

hen

mov

e an

d pi

ck.

If (s

can(

my

coor

dina

tes,

100

" in

fro

nt o

f me)

->do

esn'

t ret

urn

a pi

cker

and

D

ista

nce(

Cur

X, C

urY

+/-5

0 ->

Cur

Item

X, C

urIte

mY

)<W

alkT

oPic

kDis

t) th

en

wai

tDel

ay=0

, Goa

lX=C

urX

, Goa

lY=C

urY

+/-5

0, C

urIte

mX

=Goa

lX,

Cur

Item

Y=

Goa

lY, w

alkT

o=1;

wal

king

Dis

t=D

ista

nce(

Cur

X,

0.1

on e

ntry

on e

xit

B. w

aitD

elay

1B

ased

on

obse

rvat

ions

. If t

he p

icke

r in

fron

t of

this

pic

ker

mov

es, t

hey

shou

ld m

ove

forw

ard

as w

ell.

Act

ion

B Sca

n U

p an

d D

own

Ent

erin

g La

ne

2. S

witc

h T

raff

ic C

heck

Sca

n up

and

dow

n th

e la

ne s

witc

hing

to f

or p

icke

rs. I

f th

ere

are

not

any

pick

ers

with

in th

e ap

prop

riate

are

a (D

ecel

Bre

ak+

pick

er's

le

ngth

) th

en th

ere

is n

o tr

affic

del

ay.

If (s

can_

up_l

ane_

over

->re

turn

s no

pic

ker

and

scan

_dow

n_la

ne_o

ver-

>ret

urns

no

pic

ker)

then

traf

ficD

elay

=0;

0.1

on e

ntry

on e

xit

B. w

aitD

elay

, G. D

ecel

Bre

ak2

Bas

ed o

n ob

serv

atio

ns a

nd to

avo

id a

ccid

ents

. Pic

kers

look

up

and

dow

n th

e la

ne fo

r tr

affic

hea

ding

thei

r w

ay.

Act

ion

A Mov

e T

o N

ew

Sw

itch

Goa

l

3. S

witc

h La

nes

Mov

e to

the

new

goa

l coo

rdin

ates

to s

witc

h la

nes.

Mov

eInc

rem

enta

llyT

o(G

oalX

, Goa

lY)

at R

ate(

Tra

velS

peed

/2);

0.1

on e

ntry

on e

xit

H. G

oalX

, I. G

oalY

, C. T

rave

lSpe

ed1

Bas

ed o

n ob

serv

atio

ns

289

Page 300: The History, Philosophy, and Practice of Agent-Based ...

Figure

25:CM4SDiagram

Page5-Block

Shapes

Mas

ter

Nam

eD

isp

laye

d

Tex

tF

rom

To

Act

ion

sD

ecis

ion

sR

eco

rder

sV

aria

ble

s

Blo

ck1.

3.1.

1.4.

1.4

Fol

low

ing

Logi

c1.

Che

ck In

Fro

nt2.

No

Tra

ffic

A. N

o D

elay

Blo

ck1

Che

ck D

ist

2. N

o D

elay

, 3. P

icke

r M

ovin

g C

heck

A. P

. not

Clo

se?,

B. P

icke

r C

lose

?

Blo

ck2

No

Del

ay1.

Che

ck D

ist,

4. S

low

D

own,

6. T

raff

ic D

elay

A. S

et N

o D

elay

Blo

ck3

Pic

ker

Mov

ing

Che

ck1.

Che

ck D

ist

2. N

o D

elay

, 4. S

low

D

own,

5. H

ighw

ay

Logi

c, 7

. Ais

le L

ogic

A. M

ovin

g &

Fas

ter?

, B. M

ovin

g &

Slo

wer

, C. N

. M

ovin

g &

Hig

hway

?, D

. N. M

ovin

g &

Ais

le?

Blo

ck7

Ais

le L

ogic

3. P

icke

r M

ovin

g C

heck

4. S

low

Dow

n, 8

. Wal

k T

o Ite

m, 9

. Sw

itch

Lane

A. P

. Not

w/in

Sto

p?, B

. Wal

k to

Item

?, C

. Sw

itch

Lane

?

Blo

ck8

Wal

k T

o Ite

m7.

Ais

le L

ogic

A. S

top

& W

alk

Blo

ck9

Sw

itch

Lane

7. A

isle

Log

ic2.

Sw

itch

Lane

M

ovem

ent

A. S

top

to S

witc

h

Blo

ck6

Tra

ffic

Del

ay5.

Hig

hway

Log

ic2.

No

Del

ayA

. Sto

p fo

r T

raff

icA

. Cle

ar?

Blo

ck4

Slo

w D

own

3. P

icke

r M

ovin

g C

heck

2. N

o D

elay

A. D

ecel

erat

e

Blo

ck5

Hig

hway

Log

ic3.

Pic

ker

Mov

ing

Che

ck4.

Slo

w D

own,

6.

Tra

ffic

Del

ayA

. P. N

ot w

/in S

top?

, B. P

. w/in

Sto

p?

Blo

ck1.

3.1.

1.4.

2 S

witc

h La

ne M

ovem

ent

1. S

tand

ard

Mov

emen

t, 9.

Sw

itch

Lane

, 6. S

witc

h La

ne

Blo

ck1

Get

Lan

e S

witc

h G

oal

2. S

witc

h T

raffi

c C

heck

A. S

et L

ane

Sw

itch

Goa

l

Blo

ck2

Sw

itch

Tra

ffic

C

heck

1. G

et L

ane

Sw

itch

Goa

l3.

Mov

e T

hru

Inte

rA

. Sca

n In

Fro

nt to

Pos

sibl

y W

alk,

B.

Sca

n U

p an

d D

own

Ent

erin

g La

neA

. Mov

e?

Blo

ck3

Sw

itch

Lane

s2.

Sw

itch

Tra

ffic

Che

ck4.

Get

Nex

t Goa

lA

. Mov

e T

o N

ew S

witc

h G

oal

A. S

witc

h D

one?

290

Page 301: The History, Philosophy, and Practice of Agent-Based ...

Figure

26:CM4SDiagram

Page5-DecisionShapes

Mas

ter

Nam

eD

isp

laye

d

Tex

tT

ran

siti

on

s T

oB

ehav

ior

Pse

ud

o C

od

e -

Co

nd

itio

nP

seu

do

Co

de

- U

pd

ate

Pse

ud

o C

od

e -

Sta

rtP

seu

do

Co

de

- S

top

Var

iab

leS

equ

ence

w

ith

in B

lock

So

urc

e

Dec

isio

nA N

o D

elay

?2.

No

Tra

ffic

If th

ere

is n

o tr

affic

del

ay, t

hen

proc

eed

to m

ove.

If (

traf

ficD

elay

==0

) th

en tr

ansi

tion

to N

o T

raff

ic0.

1on

ent

ryon

exi

stB

. tra

ffic

Del

ay1

Bas

ed o

n ob

serv

atio

n

Dec

isio

nA P

. not

Clo

se?

2. N

o D

elay

If th

e di

stan

ce to

the

clos

est p

icke

r is

not

with

in

Dec

elB

reak

plu

s th

e pi

cker

's le

ngth

(10

0"),

then

ther

e is

no

nee

d to

sto

p ye

t.

If (

Dis

tanc

e(C

urX

, Cur

Y -

> c

lose

stP

icke

r)<

Dec

elB

reak

+10

0) th

en tr

ansi

tion

to N

o D

elay

on e

ntry

F. C

urX

, G. C

urY

, G. D

ecel

Bre

ak, A

. cl

oses

tPic

ker

1T

his

buffe

r is

to e

nsur

e th

e pi

cker

has

eno

ugh

time

to s

top

if th

e pi

cker

in fr

ont s

tops

.

Dec

isio

nB P

icke

r C

lose

?3.

Pic

ker

Mov

ing

Che

cl

If th

e di

stan

ce to

the

clos

est p

icke

r is

with

in D

ecel

Bre

ak

plus

the

pick

er's

leng

th (

100"

), th

en d

eter

min

e if

the

pick

er is

mov

ing.

If (

Dis

tanc

e(C

urX

, Cur

Y -

> c

lose

stP

icke

r)<

=D

ecel

Bre

ak+1

00)

then

tran

sitio

n to

Pic

ker

Mov

ing

Che

ckon

ent

ryF

. Cur

X, G

. Cur

Y, G

. Dec

elB

reak

, A.

clos

estP

icke

r2

Bas

ed o

n ob

serv

atio

n

Dec

isio

nA M

ovin

g &

F

aste

r?2.

No

Del

ayIf

the

pick

er in

fron

t is

mov

ing

and

they

are

mov

ing

fast

er

or th

e sa

me

spee

d as

me,

then

ther

e is

no

dela

y.If

(is

Mov

ing(

clos

estP

icke

r)=

=tru

e an

d ra

te(c

lose

stP

icke

r)>=

my_

rate

) th

en

tran

sitio

n to

No

Del

ayon

ent

ryA

. clo

sest

Pic

ker

1B

ased

on

obse

rvat

ion.

Can

fol

low

the

pick

er.

Dec

isio

nB W

alk

to It

em?

8. W

alk

To

Item

If th

e cu

rren

t goa

l is

an it

em a

nd th

e ite

m is

with

in th

e w

alk-

to-p

ick

dist

ance

, the

n pa

rk a

nd w

alk

to th

e ite

m.

If (

Goa

lX==

Cur

Item

X a

nd G

oalY

=C

urIte

mY

and

Dis

tanc

e(C

urX

, Cur

Y -

>

Goa

lX, G

oalY

)<W

alkT

oPic

kDis

t) th

en tr

ansi

tion

to W

alk

To

Item

;on

ent

ryF

. Cur

X, G

. Cur

Y, I

. Wal

kToP

ickD

ist,

H.

Goa

lX, I

. Goa

lY, B

. Cur

Item

X, C

. Cur

Item

Y2

Bas

ed o

n ob

serv

atio

n.

Dec

isio

nC S

witc

hLan

e?9.

Sw

itch

Lane

If th

e ot

her

cond

ition

s do

not

occ

ur, t

hen

the

pick

er

need

s to

sw

itch

lane

s.tr

ansi

tion

to S

witc

h La

ne;

on e

ntry

A. c

lose

stP

icke

r3

Bas

ed o

n ob

serv

atio

n.

Dec

isio

nA C

lear

?2.

No

Del

ayIf

the

clos

est p

icke

r is

no

long

er in

fron

t of m

e or

the

dead

lock

tim

e ha

s ex

pire

d, th

en th

ere

is n

o m

ore

dela

y.If

(ou

t_of

_way

(clo

sest

Pic

ker)

==t

rue

or ti

me-

star

tDea

dLoc

k>=

Dea

dBre

akT

ime)

then

tran

sitio

n to

No

Del

ay0.

1on

ent

ryon

exi

stQ

. sta

rtD

eadL

ock,

A. c

lose

stP

icke

r, T

. D

eadB

reak

Tim

e2

Bas

ed o

n ob

serv

atio

n.

Dec

isio

nB M

ovin

g &

S

low

er?

4. S

low

Dow

nIf

the

pick

er in

fron

t is

mov

ing

and

they

are

mov

ing

slow

er th

en m

e, th

en s

low

dow

n to

mat

ch th

eir

spee

d.If

(is

Mov

ing(

clos

estP

icke

r)=

=tru

e an

d ra

te(c

lose

stP

icke

r)<m

y_ra

te)

then

tr

ansi

tion

to S

low

Dow

n;on

ent

ryA

. clo

sest

Pic

ker

2B

ased

on

obse

rvat

ion.

Dec

isio

nC N

. Mov

ing

&

Hig

hway

?5.

Hig

hway

Log

icIf

the

pick

er in

fron

t is

not m

ovin

g an

d th

is p

icke

r is

in th

e hi

ghw

ay, t

hen

tran

sitio

n to

the

high

way

follo

win

g lo

gic

If (

isM

ovin

g(cl

oses

tPic

ker)

==f

alse

and

my_

loca

tion=

high

way

) th

en tr

ansi

tion

to H

ighw

ay L

ogic

;on

ent

ryA

. clo

sest

Pic

ker

3B

ased

on

obse

rvat

ion.

Dec

isio

nD N

. Mov

ing

&

Ais

le?

7. A

isle

Log

icIf

the

pick

er in

fron

t is

not m

ovin

g an

d th

is p

icke

r is

in th

e ai

sle,

then

tran

sitio

n to

the

aisl

e fo

llow

ing

logi

cIf

(is

Mov

ing(

clos

estP

icke

r)=

=fal

se a

nd m

y_lo

catio

n=ai

sle)

then

tran

sitio

n to

A

isle

Log

ic;

on e

ntry

A. c

lose

stP

icke

r4

Bas

ed o

n ob

serv

atio

n.

Dec

isio

nA P

. Not

w/in

S

top?

4. S

low

Dow

nIf

the

pick

er in

fron

t is

not w

ithin

a p

icke

r's le

ngth

(10

0")

then

slo

w d

own

but t

here

is n

o de

lay.

If (

Dis

tanc

e(C

urX

, Cur

Y -

> c

lose

stP

icke

r)>

100

then

tran

sitio

n to

Slo

w D

own;

on e

ntry

A. c

lose

stP

icke

r, F

. Cur

X, G

. Cur

Y1

Bas

ed o

n ob

serv

atio

n.

Dec

isio

nB P

. w/in

Sto

p?6.

Tra

ffic

Del

ayIf

the

pick

er in

fron

t is

with

in a

pic

ker's

leng

th (

100"

) th

en

stop

.If

(D

ista

nce(

Cur

X, C

urY

->

clo

sest

Pic

ker)

<=

100

then

tran

sitio

n to

Tra

ffic

D

elay

;on

ent

ryA

. clo

sest

Pic

ker,

F. C

urX

, G. C

urY

2B

ased

on

obse

rvat

ion.

Dec

isio

nA P

. Not

w/in

S

top?

4. S

low

Dow

nIf

the

pick

er in

fron

t is

not w

ithin

a p

icke

r's le

ngth

(10

0")

then

slo

w d

own

but t

here

is n

o de

lay.

If (

Dis

tanc

e(C

urX

, Cur

Y -

> c

lose

stP

icke

r)>

100

then

tran

sitio

n to

Slo

w D

own;

on e

ntry

A. c

lose

stP

icke

r, F

. Cur

X, G

. Cur

Y1

Bas

ed o

n ob

serv

atio

n.

Dec

isio

nA M

ove?

3. S

witc

h La

nes

If th

ere

is n

o lo

nger

a tr

affic

del

ay o

r th

e de

adlo

ck ti

me

expi

res

then

sw

itch

lane

s.If

(tr

affic

Del

ay=

=0 o

r ti

me-

star

tDea

dLoc

k>D

eadB

reak

Tim

e) th

en tr

ansi

tion

to

Sw

itch

Lane

s0.

1on

ent

ryon

exi

tA

. tra

ffic

Del

ay, Q

. sta

rtD

eadL

ock,

T

Dea

dBre

akT

ime

3

291