the history, philosophy, and practice of agent-based
TRANSCRIPT
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].
����
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
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.
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
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
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
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
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
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
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
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
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
[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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Figure 3: Screen shot of the DC Order Picker Simulation
18
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
I. The History, Philosophy, and
Current Practice of Agent-Based
Modeling
20
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
• 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
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
�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
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
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
• 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
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
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
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
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
(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
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
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
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
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
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
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
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
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
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
Figure 9: Number of Articles per Year in the Sample
Figure 10: Articles per Publication Outlet in the Sample
82
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
II. The Development of the
Conceptual Model for Simulation
Diagram
105
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
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
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
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
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
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
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
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
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
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
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
Figure29:Current
PracticeNeeds
Mapped
toDiagram
mingTechn
ique
Requirements
117
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
• 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
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
• 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
III. The Evaluation of the Conceptual
Model for Simulation Diagram
168
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
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
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
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
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
�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
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
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
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
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
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
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
Figure 48: CM4S Diagram Prototype - Bay of Biscay Model View
181
Figure 49: CM4S Diagram Prototype - Environment View
182
Figure 50: CM4S Diagram Prototype - Uboat View
183
Figure 51: CM4S Diagram Prototype - Aircraft View
184
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
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
Figure53:UboatActionSh
apeProperties
187
Figure54:UboatBlock
ShapeProperties
188
Figure55:UboatDecisionSh
apeProperties
189
Figure56:UboatInteractionSh
apeProperties
190
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
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
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
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
Figure 57: Bay of Biscay ABM Simulation Screen Shot
195
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
Figure 58: Bay of Biscay ABM Simulation Results
Figure 59: Two-sided Two-Sample t-Test Results
197
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
promising and could aid in the advancement of ABM as an analysis tool.
199
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
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
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
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
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
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
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
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
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
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
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
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
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
Figure 61: Screen Shot of the DC Order Picker Simulation
213
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
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
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
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
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
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
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
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
Figure68:Radar
Chart
ofMeanTotal
Labor
Tim
eUnd
erVarious
Conditions
222
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
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
systems from both a research and practice perspective.
225
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
(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
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
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
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
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
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
[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
[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
[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
[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
[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
[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
[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
[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
[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
���
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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
[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
�
�
�
Appendix B: CM4S Diagram of theDC Order Picker Simulation
265
Figure 1: CM4S Diagram Page 1
266
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
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
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
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
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
Figure 7: CM4S Diagram Page 2
272
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
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
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
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
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
Figure 13: CM4S Diagram Page 3
278
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
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
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
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
Figure 18: CM4S Diagram Page 4
283
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
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
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
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
Figure 23: CM4S Diagram Page 5
288
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
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
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