<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Agent Modeling Guide</title>
<link href="book.css" rel="stylesheet" type="text/css">
<meta content="DocBook XSL Stylesheets V1.75.1" name="generator">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="book" title="Agent Modeling Guide">
<div class="titlepage">
<div>
<div>
<h1 class="title">
<a name="N10001"></a>Agent Modeling Guide</h1>
</div>
</div>
<hr>
</div>
<div class="toc">
<p>
<b>Table of Contents</b>
</p>
<dl>
<dt>
<span class="chapter"><a href="#Overview">1. Overview</a></span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#Architecture">Architecture</a></span>
</dt>
<dt>
<span class="section"><a href="#Getting_Started">Getting Started</a></span>
</dt>
</dl>
</dd>
<dt>
<span class="chapter"><a href="#Modeler.27s_Guide">2. Modeler's Guide</a></span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#Introduction">Introduction</a></span>
</dt>
<dt>
<span class="section"><a href="#Structure">Structure</a></span>
</dt>
<dt>
<span class="section"><a href="#Actions_2">Actions</a></span>
</dt>
<dt>
<span class="section"><a href="#Functions">Functions</a></span>
</dt>
<dt>
<span class="section"><a href="#Tutorial">Tutorial</a></span>
</dt>
<dt>
<span class="section"><a href="#Running_Agent_Models">Running Agent Models</a></span>
</dt>
</dl>
</dd>
<dt>
<span class="chapter"><a href="#Programer.27s_Guide">3. Programer's Guide</a></span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#Overview_5">Overview</a></span>
</dt>
<dt>
<span class="section"><a href="#Getting_Started_2">Getting Started</a></span>
</dt>
<dt>
<span class="section"><a href="#Developing_Models">Developing Models</a></span>
</dt>
<dt>
<span class="section"><a href="#More_Information">More Information</a></span>
</dt>
</dl>
</dd>
<dt>
<span class="chapter"><a href="#Resources">4. Resources</a></span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="#Obtaining_Example_Models">Obtaining Example Models</a></span>
</dt>
<dt>
<span class="section"><a href="#Websites">Websites</a></span>
</dt>
<dt>
<span class="section"><a href="#Papers">Papers</a></span>
</dt>
</dl>
</dd>
</dl>
</div>
<div class="chapter" title="Chapter&nbsp;1.&nbsp;Overview">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a name="Overview"></a>Chapter&nbsp;1.&nbsp;Overview</h2>
</div>
</div>
</div>
<p>The Eclipse Agent Modeling Project (AMP) provides extensible frameworks and exemplary tools for representing, editing, generating,
			executing and visualizing agent-based models (ABMs) and any other domain requiring spatial, behavioral and functional features. </p>
<p>This guide is divided into three main sections: a modelers guide for general users, a programmers guide for those wishing to develop models in or extensions of AMP, and a resources section.</p>
<p>This manual is integrated with the Eclipse help system. In some sections of the manual you'll see links to related help topics and cheat sheets. Naturally, you'll have access to these resources only when you're using the Eclipse help system.</p>
<div class="section" title="Architecture">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">
<a name="Architecture"></a>Architecture</h2>
</div>
</div>
</div>
<p>AMP has two main themes that complement but don't depend on one another: </p>
<p>The overall AMP architecture and Eclipse project dependencies are summarized below:</p>
<p>
				
</p>
<div class="mediaobject">
<img src="images/AMPArchitectureDiagram.jpg"></div>
<p>
			
</p>
<div class="section" title="Agent Modeling Framework (AMF)">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Agent_Modeling_Framework_.28AMF.29"></a>Agent Modeling Framework (AMF)</h3>
</div>
</div>
</div>
<p>AMF provides an ABM meta-model representation, editor, generator and development environment. The AMF Acore meta-model is similar to EMF Ecore and defined in Ecore, but provides high-level support for complex agents.AMF generates complete executable models for Escape, Ascape and Repast Simphony, as well as Java Skeletons and Interfaces, JUnit test cases and documentation and is easily extensible to support additional targets.</p>
</div>
<div class="section" title="Agent Execution Framework (AXF)">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Agent_Execution_Framework_.28AXF.29"></a>Agent Execution Framework (AXF)</h3>
</div>
</div>
</div>
<p>The execution framework provides services and UI for model management, execution, and views. Arbitrary toolkits can easily integrate with Eclipse and AXF by implementing pluggable providers like engines, agents and view parts. AXF is not just for ABM -- anyone who needs support for executing, managing and visualizing collections of objects may find it useful.</p>
</div>
<div class="section" title="Agent Graphics Framework (AGF)">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Agent_Graphics_Framework_.28AGF.29"></a>Agent Graphics Framework (AGF)</h3>
</div>
</div>
</div>
<p>The graphics framework extends GEF, GEF3D, Zest, and the BIRT charting engine to support real-time visualization of and interaction with agent models. AGF currently provides support for 2D, 2 1/2 D. and graph structures, and will be extended to 3-D, GIS and others. As with other AMP components, the AGF design focus is to provide an extensible infrastructure so that platform adopters can easily create their own view and editor parts.</p>
</div>
</div>
<div class="section" title="Getting Started">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">
<a name="Getting_Started"></a>Getting Started</h2>
</div>
</div>
</div>
<p>AMP has many potential facets and use cases.</p>
<div class="section" title="Setting up Eclipse">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Setting_up_Eclipse"></a>Setting up Eclipse</h3>
</div>
</div>
</div>
<p>If you're reading this from the Eclipse help browser, you can ignore this section! Otherwise, if you aren't using a full download version of AMP, you'll need to 
					<a class="ulink" href="http://eclipse.org/amp/installing/" target="_new">install it</a>. Once you've done that, select the 
					<span class="bold"><strong>Help &gt; Help Contents</strong></span> menu, find the Agent Modeling Guide and open this overview page within that guide.
				</p>
<p>Some installations will also include a Welcome screen which will guide you through the same set of steps.</p>
</div>
<div class="section" title="Get the Example Projects">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Get_the_Example_Projects"></a>Get the Example Projects</h3>
</div>
</div>
</div>
<p>You can do that using a cheat sheet. Select 
					<span class="bold"><strong>Help &gt; Cheat Sheets...</strong></span> and then under the "Agent Modeling" category, select "Load Sample Projects".
				</p>
<p>Then check out the following sections of the manual for more information about..</p>
</div>
<div class="section" title="ABM Researchers">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="ABM_Researchers"></a>ABM Researchers</h3>
</div>
</div>
</div>
<p>Run an example model using the "Run an Example Model" cheat sheet.</p>
</div>
<div class="section" title="ABM Modelers">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="ABM_Modelers"></a>ABM Modelers</h3>
</div>
</div>
</div>
<p>Create Agent-Based models using simple visual tools and deploy them to a number of popular ABM platforms, including Escape. Follow the tutorial section of the Modeler's guide.</p>
</div>
<div class="section" title="ABM Java Developers">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="ABM_Java_Developers"></a>ABM Java Developers</h3>
</div>
</div>
</div>
<p>Write "Plain Old Java" models within a full-featured agent-based modeling framework. Read Programmers Guide and then try the "Create an Escape Java Model" cheat sheet.</p>
</div>
<div class="section" title="Eclipse Plugin Developers">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Eclipse_Plugin_Developers"></a>Eclipse Plugin Developers</h3>
</div>
</div>
</div>
<p>AXF and AGF provide a number of features based around Eclipse technologies such as GEF, GEF3D, BIRT Charts and Zest. For example, AGF supports dynamic visualization of objects in space, and AXF supports managed UI and headless execution for models of any kind. There isn't currently any general documentation for these features, but we encourage you to look at the APIs and at Escape's implementation of them. They're straightforward and can be useful for a variety of general science platform needs.</p>
</div>
</div>
</div>
<div class="chapter" title="Chapter&nbsp;2.&nbsp;Modeler's Guide">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a name="Modeler.27s_Guide"></a>Chapter&nbsp;2.&nbsp;Modeler's Guide</h2>
</div>
</div>
</div>
<div class="section" title="Introduction">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">
<a name="Introduction"></a>Introduction</h2>
</div>
</div>
</div>
<p>In this Modeler's Guide we provide an in-depth understanding of what goes into an Agent Model and how you can use the Agent Modeling Framework tools to design one. Fundamentally, an agent-based model, or "ABM", is composed of five pieces: Agents and Context Agents, Attributes, Spaces, and Actions. The first three refer to structural components, whereas Actions define behavior. Agent models also have styles, which are a special kind of Action used to determine how to portray an agent in a visualization. Finally Actions make use of Functions. We'll describe of these components in a separate section.</p>
<p>But first, we'll give a quick overview at what agent-based modeling is is and how the Agent Modeling Framework can help you to develop models for ABM or other problem domains.</p>
<div class="section" title="Agent-Based Modeling">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Agent-Based_Modeling"></a>Agent-Based Modeling</h3>
</div>
</div>
</div>
<p>The primary focus of the Agent Modeling Platform tools is "Agent-Based Modeling" (ABM). ABM is an innovative technique used to explore complex phenomenon in many domains, including economics, social sciences, biomedicine, ecology and business operations. ABMs share characteristics with object models, but are:</p>
<div class="variablelist">
<dl>
<dt>
<span class="term">Spatial</span>
</dt>
<dd>
<p>Models have explicit environment(s) in which agents interact. (An environment need not be a physical landscape; other examples of spatial relationships include social networks or positions within a logic system.)</p>
</dd>
<dt>
<span class="term">Temporal</span>
</dt>
<dd>
<p>Models change over discrete units of time.</p>
</dd>
<dt>
<span class="term">Autonomous</span>
</dt>
<dd>
<p>Agent behaviors are activated independently from other object requests.</p>
</dd>
<dt>
<span class="term">Heterogeneous</span>
</dt>
<dd>
<p>Agents may share behavior definitions but have apparent and distinct states and behaviors.</p>
</dd>
<dt>
<span class="term">Collective</span>
</dt>
<dd>
<p>Models contain large communities of agents which exhibit collaborative and competitive behaviors.</p>
</dd>
<dt>
<span class="term">Emergent</span>
</dt>
<dd>
<p>Agents have collective macro-behaviors that are non-obvious from agent micro-specifications.</p>
</dd>
</dl>
</div>
<p>Existing scientific models are very good at representing relatively simple systems, but generally speaking aren't very good at representing complex systems. The world is full of complex systems, and our misunderstanding of these systems has prevented us from addressing many of the key challenges facing the world, including the global financial crisis and climate change -- in fact once could argue that our misunderstanding of these systems has strongly contributed to these crises.</p>
<p>Agent-Based Models (ABMs) seek to represent important real-world dynamics by designing communities of software agents that mimic real entities. Rather than make simplifying assumptions about such systems and then representing them in equation form or as off the shelf algorithmic constructs, the ABM researcher aims to identify key agent state, interaction spaces, and behaviors. Agents are then "let loose" on our computers and we explore what happens next. The computational horsepower exists today to simulate large numbers (e.g. &gt;&gt;10) of interacting, adaptive and autonomous agents but often desktop computers are all we need to explore significant domains. ABMs have been designed to represent all kinds of important natural systems, at scales reaching from cellular mechanics to international trade and are being used to solve truly hard problems in government, business, and academia. ABMs are not a solution to every problem, but they can help us to appreciate and gain unique insight into many systems, and often they can help us to come up with better practical decisions than we might using classic approaches.</p>
</div>
<div class="section" title="Agent Modeling Framework">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Agent_Modeling_Framework"></a>Agent Modeling Framework</h3>
</div>
</div>
</div>
<p>The Eclipse Platform provides many unique features that make it ideal for an ABM platform. AMF provides easy to use and powerful tools and techniques for designing Agent-Based Models, including a common representation, editors, generators and development environment.</p>
<p>The Agent Modeling Framework (AMF) provides high level representations for common ABM constructs, and introduces novel ways of representing agents and their behaviors. As detailed in other documentation sections, the Agent Modeling Framework and related tools have been designed to allow researchers to explore complex models in an intuitive way. One of our major design goals has been to create tools that non-programmers can use to create sophisticated models. It has been our experience that using Model-Driven Software Development (MDSD) techniques increase productivity for all developers regardless of skill level. </p>
<p>The foundation of the Agent Modeling Framework is "Acore". The current version uses an interim version of Acore called "MetaABM". We refer to the AMF models as "meta-models" because they are used to define 
					<span class="italic">how</span> Agent-Based Models are themselves modeled. For those familiar with Eclipse Model-Driven Development tools, AMF is analogous to EMF but is targeted toward the design and execution of models composed of agents. Acore and MetaABM are defined in Ecore but provide a more direct and high-level ABM representation of agents, including spatial, behavioral and functional features sufficient to generate complete executable models for the target platforms. AMF is fully integrated with the Eclipse IDE platform, but Acore models themselves need have no dependencies on any particular technology beyond XML/XSD.
				</p>
<p>Models designed in AMF are transparently converted to Java code for leading Agent-Based Modeling tools, such as the Escape tools which are included in AMP and allow direct execution of models within the AMP environment, and Repast Simphony, another popular Java based ABM tool. These tools create Java code that can then be compiled, executed and event modified in these environments just as with any other Java program. AMF's generative capability is designed to be pluggable and modular so that other developers can create AMF generators for their own tools. In fact, targets can be designed that have no inherent dependencies on Eclipse or even on a traditional platform.</p>
<p>The Acore / MetaABM meta-model is made up of three main packages. This is all based on MetaABM, and while names and important details will change for Acore, the core design should be quite similar.</p>
</div>
<div class="section" title="Other Uses">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Other_Uses"></a>Other Uses</h3>
</div>
</div>
</div>
<p>Many kinds of objects share characteristics of ABM agents -- after all, software agents are used in many other contexts. The Agent Modeling Framework meta-modeling support is potentially suitable (or extendible) for a number of approaches outside of ABM; for example business rules, object interactions, systems dynamics models and traditional discrete event models. Similarly, AMP execution and graphic support can be used for modeling natural systems but could also be used to manage other software agents -- for example independent reasoning tasks or dynamic visualization support.</p>
<p>We hope you enjoy using the tool, and we look forward to your comments and feedback and most of all participation!</p>
</div>
<div class="section" title="Credits">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Credits"></a>Credits</h3>
</div>
</div>
</div>
<p>The AMF meta-model started life as 
					<a class="ulink" href="/wiki/http://www.agent2005.anl.gov/2006procpdf/Parker_Agent_2006.pdf" target="_new">"score"</a>, a component of the Repast Simphony environment. It wasn't fully utilized within Simphony, and migrated from there to the MetaABM project. The MetaABM project defined a complete editor, code-generation and model execution suite that formed the initial AMP AMF contribution. Argonne National Labs supported the initial development of score and Metascape, LLC continues development of MetaABM and both agreed to contribute the relevant IP to the Eclipse project in 2009.
				</p>
<p>Miles Parker is a consultant and software developer with over ten years of experience in the agent-based modeling field and twenty years developing object-oriented tools and frameworks. Metascape, LLC provides Agent-Based Modeling tools, including sophisticated tools based on the AMF platform, and comprehensive consulting services. For more information on Metascape products and services visit 
					<a class="ulink" href="http://metascapeabm.com" target="_new">http://metascapeabm.com</a>.
				</p>
</div>
</div>
<div class="section" title="Structure">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">
<a name="Structure"></a>Structure</h2>
</div>
</div>
</div>
<div class="section" title="Overview">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Overview_2"></a>Overview</h3>
</div>
</div>
</div>
<p>The basic structure of an agent-based model can be quite simple. While there are many subtle complexities  -- beyond the scope of this manual -- we can construct most models following some straightforward and elegant design principles. And in fact, one of the main goals of the Agent Modeling Framework is to provide a consistent framework that can support using those principles to support the creation of models that can be easily understood, shared, and that can be used interchangeably as components in other models.</p>
<p>Unlike the approach of a traditional Object Oriented environment, the dominant organizing principal for agents within AMF follows a compositional hierarchical model, not an inheritance model. (Inheritance-like behavior will be supported in forthcoming versions of Acore, but in a more sophisticated, flexible and dynamic way than is supported by traditional programming languages such as Java.) Contexts -- also referred to as "Swarms" or "Scapes", are simply Agents that are capable of containing other agents. With this basic construct -- known as a Composition in design pattern language -- agents are able to contain other agents.</p>
</div>
<div class="section" title="Details">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Details"></a>Details</h3>
</div>
</div>
</div>
<div class="section" title="General">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="General"></a>General</h4>
</div>
</div>
</div>
<p>Everything represented in an Acore model needs to be referred to in some way. Just as software classes have names, Acore provides a way to label and describe every entity, but in a richer and more maintainable way. All entities in Acore -- including Actions and Functions which we describe in the next two sections -- have a number of shared values.</p>
<div class="section" title="Named Entities">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Named_Entities"></a>Named Entities</h5>
</div>
</div>
</div>
<div class="section" title="Label">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Label"></a>Label</h6>
</div>
</div>
</div>
<p>A reasonably short, human readable name for the agent. For example, "Timber Wolf", "Exchange Trader" or "Movement Probability". These should be defined so that they fit in well with auto-generated documentation.</p>
</div>
<div class="section" title="ID">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="ID"></a>ID</h6>
</div>
</div>
</div>
<p>An ID is an identifier that can be used to represent the object in a software program. This means that it must follow certain rules such as no-spaces or non alpha-numeric characters. The editing tools will help make sure that this value is legal. Note that when you enter a label, a legal ID is automatically created for you! Usually you won't need to change this, but you might if for example you want the value to match up with some database or other external representation. So reasonable values here might be "timberWolf" or perhaps "MVMNT_PRB" if say you're trying to match up to some old statistics records you have. (Note that currently IDs by default use "camel case", i.e. "thisIsAnExampleOfCamelCase" to match with Java variable naming conventions, but this is likely to change.)</p>
<p>And most entities also define:</p>
</div>
<div class="section" title="Description">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Description"></a>Description</h6>
</div>
</div>
</div>
<p>A complete textual description of the object. Don't overlook this -- it is the most important part of your model. The description will show up in your auto-generated html documentation, software documentation and even in your running model. You should include enough information that model users will understand what the entity is for and what it does without referring elsewhere. This is also where any attributions and references should go. You can put html tags in here -- such as href's to external papers, but keep those to a minimum as they won't be rendered as html in all contexts.</p>
</div>
<div class="section" title="Plural Label">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Plural_Label"></a>Plural Label</h6>
</div>
</div>
</div>
<p>The plural representation of an entity. This can be a surprisingly useful thing to have in generated documentation and software code, so it's worth maintaining. The editor will automatically add an "s" at the end of the label you've entered above, but you change it to whatever is appropriate. For example "Person", or "Timber Wolves".</p>
</div>
</div>
</div>
<div class="section" title="Agents">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Agents"></a>Agents</h4>
</div>
</div>
</div>
<div class="section" title="Simple Agents">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Simple_Agents"></a>Simple Agents</h5>
</div>
</div>
</div>
<p>An Agent is simply a software object that has autonomous behavior and (generally speaking) exists within some set of spaces. By autonomous, we mean that agents make the choice about when and how to execute a behavior, as opposed to have that controlled from "above", so to speak. Like any software objects, agents have attributes (fields) and actions (methods) associated with them.</p>
<div class="section" title="Attributes">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Attributes"></a>Attributes</h6>
</div>
</div>
</div>
<p>As described in the attribute sections above.</p>
</div>
<div class="section" title="Actions">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Actions"></a>Actions</h6>
</div>
</div>
</div>
<p>Described in the "Actions" section.</p>
</div>
<div class="section" title="Styles">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Styles"></a>Styles</h6>
</div>
</div>
</div>
<p>Special actions that are used to define how to draw an agent graphically as also described in the "Actions" section and detailed in the "Functions" section.</p>
</div>
</div>
<div class="section" title="Context Agents (Contexts)">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Context_Agents_.28Contexts.29"></a>Context Agents (Contexts)</h5>
</div>
</div>
</div>
<p>As detailed above, agents also form the basic structural component of an agent-based model. To get an idea for how this works, have a look at the "EpidemicRegional.metaabm" model. Note that in future releases, we will probably refer to Contexts as "Scapes".</p>
<div class="section" title="Agents">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Agents_2"></a>Agents</h6>
</div>
</div>
</div>
<p>The agents that are contained within this context. For example, a context representing a city might contain an Individual Agent for defining all individuals in the model, and a Vehicle agent defining all vehicles. Note that when we refer to an agent in this context, we mean a general type or class of agent, not the agent itself.</p>
</div>
<div class="section" title="Spaces">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Spaces"></a>Spaces</h6>
</div>
</div>
</div>
<p>The set of all spaces contained or subsumed by the agent. For example, a context representing a city might contain a geographical space and a transportation network space.</p>
</div>
</div>
</div>
<div class="section" title="Attributes">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Attributes_2"></a>Attributes</h4>
</div>
</div>
</div>
<p>Agents need some way to represent their internal state. For example, an agent in an economic model might have a wealth attribute, and an agent in an ecology model might have a quantity of food and a particular vision range. These states are represented as attributes just as all software objects do. In an agent model, we keep richer information about these attributes and generally represent them at a higher level. For example, rather than specify that a real value is a "double", a "float" or a "big number", we represent them as "Reals" so that they can be implemented and tested in different environments. This might allow us for instance to ensure that a model's behavior is not dependent on a particular machine implementation of floating point arithmetic. Also, note that attributes only represent so-called "primitive" values -- that is, actual measurable features of a particular agent but not an agent's relationship to other agents or objects. See the discussion about networks for more on this key topic.</p>
<p>Here are the basic types of attributes available in Acore models:</p>
<div class="section" title="Basic Attributes">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Basic_Attributes"></a>Basic Attributes</h5>
</div>
</div>
</div>
<p>Attributes are single values that a given agent contains. For example, an agent might have an "Age" attribute. In this section we go over the values you can set for the attributes. For those with a tecnical bent, note that we are technically describing the meta-attributes for the meta-class "SAttribute". But it is far too confusing to refer to the attributes of attributes! So we'll just refer to the attributes that any of our model components as "values".</p>
<div class="section" title="Type">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Type"></a>Type</h6>
</div>
</div>
</div>
<p>These can be anyone of the following: </p>
<table id="N10145">
<tr>
									
<td>Boolean</td>
									<td>A value that is simply true or false. Note that unless this value really is a simple binary value, you should consider using state instead. (See details below.) For example, rather than representing gender as a 'Female' boolean value, define a 'Gender' state with values 'Male' and "Female'. Generated artifacts and documentation will be much clearer, and you'll be able to easily modify the model later if for example you discover that there are more than two potential gender categories that are relevant to your model.</td>
								
</tr>
<tr>
									
<td>Integer</td>
									<td>A discrete whole number value, such as "100", "-1", "10029920". It's generally a good idea to represent any value that can never have a decimal value as an integer.</td>
								
</tr>
<tr>
									
<td>Real</td>
									<td>A continuous number value. While these are typically represented in software as floating point numbers, they can conceivably represent numbers at any arbitrary precision and in any scheme. Note that while technically speaking we should be representing irrational numbers, this is not currently supported for default values and users should simply use the closest decimal approximation.</td>
								
</tr>
<tr>
									
<td>Symbol</td>
									<td>A string representing some state. More precisely, a computationally arbitrary value with contextual meaning. This could be any kind of identifier. For example, you might use it to store some kind of input coding from data that is then converted into an object state. Or it could simply be an agent's name. But theoretically (though this is not currently supported) one could imagine a symbol using an idiogram, an icon or even a sound that identifies or represents the agent in question.</td>
								
</tr>
</table>
<p>(Undefined and Numeric types should not be used within a well-defined model.)</p>
</div>
<div class="section" title="Default Value">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Default_Value"></a>Default Value</h6>
</div>
</div>
</div>
<p>The value that should be assigned to the attribute at the beginning of any model run. The attribute may of course be assigned a different value in an Initialize rule, but its a good idea to specify one here. It's OK to leave it blank, in which case a sensible 'empty' value will be assigned, i.e. false for Boolean, 0 for Integers and Reals, and an empty string for Symbol.</p>
</div>
<div class="section" title="Gather Data">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Gather_Data"></a>Gather Data</h6>
</div>
</div>
</div>
<p>Here you can specify whether executing models should collect aggregate values for the data. For example, if you select this value as true for a 'Wealth' attribute, Escape will automatically keep track of minimum, maximum, average, sum and optionally standard deviation and variance across all agents for each model execution period. All of these statistics will then be selectable with a mouse click to appear in your model charts at runtime.</p>
</div>
<div class="section" title="Immutable">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Immutable"></a>Immutable</h6>
</div>
</div>
</div>
<p>This value indicates whether you expect the model value to change. If you know that it won't or shouldn't, this value should be true.</p>
</div>
<div class="section" title="Units">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Units"></a>Units</h6>
</div>
</div>
</div>
<p>Specifies what the attribute is actually measuring. For example, if you're defining an attribute for "Wealth" in the context of a model of the world economy, you might specify "USD". If you're defining "Age", you might specify "Years", for "Mass" "Kg". Like description, this value is often overlooked, but can be critically important to allowing yourself and others to understand and correctly calibrate a model. Note that this will also allow you to simplify variable names -- instead of using "Age in Years", you can simply specify "Age" and the appropriate unit. It may be obvious to you that your model is concerned with age in years, but a user who needs to specify a different granularity will be grateful for more clarity.</p>
</div>
</div>
<div class="section" title="Arrays">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Arrays"></a>Arrays</h5>
</div>
</div>
</div>
<p>Arrays are simply attributes with zero or more entries. For example, you might have an array of three Real numbers representing the Red Green and Blue color components for an object. Note that if you find yourself defining very complex sets of arrays, its likely that what you really want to define is a new agent with attributes for each array. In addition to what is defined above, arrays specify:</p>
<div class="section" title="Size">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Size"></a>Size</h6>
</div>
</div>
</div>
<p>The number of values that the array attribute will contain.</p>
</div>
</div>
<div class="section" title="States">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="States"></a>States</h5>
</div>
</div>
</div>
<p>States represent any agent quality that may take on one of a number of well defined values. For example, an "Ice Cream Consumer" Agent might contain a state of "Ice Cream Preference" with options of "Chocolate", "Vanilla" and "Ginger".</p>
<div class="section" title="State Options">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="State_Options"></a>State Options</h6>
</div>
</div>
</div>
<p>Create new options for states by adding them to the state node. States are simple described items. Don't forget to provide a description! States also have</p>
</div>
<div class="section" title="Default Option">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Default_Option"></a>Default Option</h6>
</div>
</div>
</div>
<p>unlike for regular attributes, this option is not optional! Simply pick a state option to be assigned that the agent will take if no other option has been assigned.</p>
</div>
</div>
</div>
<div class="section" title="Spaces">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Spaces_2"></a>Spaces</h4>
</div>
</div>
</div>
<p>All contexts can contain spaces. Spaces provide an environment in which agents can have a physical or notional location and upon which they can interact with one another and their environment. Agents can exist in more than one space at a time, and a given agent need not exist in every space. (Note that this is different from the Repast Simphony notion of projections, though the two representational approaches are generally compatible.) Agents need not represent explicit, "real" spatial structures such as a landscape, though this is of course the most common use. They can also represent relational and state information, such as a belief space or a social network. There are four kinds of space represented:</p>
<div class="section" title="Space (Continuous)">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Space_.28Continuous.29"></a>Space (Continuous)</h5>
</div>
</div>
</div>
<p>In the modeling tools, we simply refer to this as a "Space" as it is represents the general concept of a space. A space is simply something that contains objects with certain locations and extents and has a certain number of dimensions. The space is continuous, in the sense that objects can be placed anywhere with arbitrary position. Spaces hold attributes, which simply define their dimensions-- see below.</p>
<div class="section" title="Border Rule">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Border_Rule"></a>Border Rule</h6>
</div>
</div>
</div>
<p>A value representing what happens to an agent when that agent is asked to move beyond its extent.</p>
<div class="variablelist">
<dl>
<dt>
<span class="term">Periodic</span>
</dt>
<dd>
<p>When encountering an edge, the agent will treat the space as wrapping around to the other side of the space. For example, if the agent at location {1,2} (0-based) within a Moore space (see grid discussion below) of size {10,10} is asked to find some other agent within distance 3, the agent look in the square defined between {8,9} and {4,5}. An agent asked to move beyond the confines of the space will simply stop when it reaches the edge. You can imagine this as taking a piece of graph paper and connecting the opposite edges. You can't actually do that with paper, but if you could you would have a toroidal (donut) shape in three dimensions defining the shape in two.</p>
</dd>
<dt>
<span class="term">APeriodic</span>
</dt>
<dd>
<p>When encountering an edge, the agent treats it as the edge of the space. For example, if the agent at location {1,2} is asked to find some other agent within distance 3, the agent look between {0,0} and {4,5}. An agent asked to move beyond the confines of the space will simply stop when it reaches the edge.</p>
</dd>
</dl>
</div>
<p>The "Strict" and "Bouncy" values are obsolete and should not be used.</p>
</div>
<div class="section" title="Dimensionality">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Dimensionality"></a>Dimensionality</h6>
</div>
</div>
</div>
<p>The number of dimensions that the space has. After selecting a dimensionality, attributes will be added to represent each dimension. For example, if you enter 3 here, you will have an attribute for X, Y, and Z. Be sure to enter default values here, as they will be used to specify the actual size of the space.</p>
</div>
</div>
<div class="section" title="Grid">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Grid"></a>Grid</h5>
</div>
</div>
</div>
<p>A grid is technically a regular lattice structure. Currently, only rectilinear structures are supported, i.e. a One-dimensional vector, a two-dimensional grid, a three-dimensional cube and so on. (Though none of the current target platforms support n-d spaces yet.) </p>
<p>Like continuous spaces, a grid has a border rule and dimensionality. A grid has a couple of other important values:</p>
<div class="section" title="Multi-Occupant">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Multi-Occupant"></a>Multi-Occupant</h6>
</div>
</div>
</div>
<p>Does the grid allow more than one agent to occupy it at a time? This value may be replaced with another mechanism in future releases.</p>
</div>
<div class="section" title="Neighborhood">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Neighborhood"></a>Neighborhood</h6>
</div>
</div>
</div>
<p>This value determines what constitutes a region within a particular distance from the agent. The value for this is often critical in obtaining particular behavior from a model, and shouldn't be overlooked. There are three possible values:</p>
<div class="variablelist">
<dl>
<dt>
<span class="term">Euclidean</span>
</dt>
<dd>
<p>The distance between any two cells is taken to be the "real" distance. For example, if an agent was within a chess board, and we wanted to find all agents within distance three of it, we could determine that by taking a string of length 3, tacking it to the center of the source square, and including all cells whose centers we can reach with the other string end. Note that although Euclidean space may seem the most reasonable neighborhood configuration to choose, this really isn't the case. Euclidean space is continuous whereas grid space is discrete, and mapping the two to each other can create unexpected issues. Still, this is a good choice for models representing notional real spaces.</p>
</dd>
<dt>
<span class="term">Moore</span>
</dt>
<dd>
<p>Here, the distance between any two cells is defined by the number of edge 
											<span class="italic">or</span> corner adjacent cells crossed to get between them. To continue the chess board analogy, this is the set of moves that a king can make. Note that this does not map well to real space at all, as a cell at distance 1 in a moore space is at distance sqrt(2) in "real" space.
										</p>
</dd>
<dt>
<span class="term">Von-Neumann</span>
</dt>
<dd>
<p>Here, the distance between any two cells is defined by the number of edge adjacent cells crossed to get between them. This is the set of moves that a rook might make on a chess board -- if a rook could only move one square at a time. It is also often referred to as a Manhattan distance for the self-evident reason.</p>
</dd>
</dl>
</div>
</div>
</div>
<div class="section" title="Network">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Network"></a>Network</h5>
</div>
</div>
</div>
<p>A network represents a set of relationships between agents, in a graph structure. The concept is pretty simple, but note that a network is actually a critical part of many AMF models. This is because we use networks to represent any kind of references between agents. You may have noticed in the discussion about attributes that there is no generic "object" type for an attribute. In fact, attributes only contain primitive values. So we will use networks to do the kinds of things that we would often use object references for in a traditional Object-Oriented model. For example, if an agent is a member of a family, rather than have that agent have a member attribute of "family" with a reference to the "Family" object, the modeler would create a "Family Members" network and connect agent's to their families as appropriate. This implies that network members can contain members of many different types.</p>
<p>A network has only one value to specify:</p>
<div class="section" title="Directed">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Directed"></a>Directed</h6>
</div>
</div>
</div>
<p>This indicates whether connections between agents are one-way or two-way. If this value is false, then if a connection is made between an agent A and an agent B, and agent B searches within distance 1, agent B will find agent A. If this value is true, agent A can find agent B, but agent B can not find agent A. (Unless of course some other path leads B to A.)</p>
</div>
</div>
<div class="section" title="Geography">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Geography"></a>Geography</h5>
</div>
</div>
</div>
<p>A geography represents a physical landscape. Here we assume that that landscape is going to be defined by an external data source and representational scheme -- typically a Geographical Information System. We'll describe how to work with GIS in more detail when we discuss builder actions.</p>
</div>
</div>
</div>
<div class="section" title="Reference">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Reference"></a>Reference</h3>
</div>
</div>
</div>
<div class="section" title="Diagrams">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Diagrams"></a>Diagrams</h4>
</div>
</div>
</div>
<p>For readers familiar with UML and meta-modeling, the following diagrams give more detail on the structural design.</p>
<div class="section" title="Meta-Classes">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Meta-Classes"></a>Meta-Classes</h5>
</div>
</div>
</div>
<p>Our first diagram depicts the core structural design of the model. </p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/StructureComplexDiagram.png"></div>
<p> 
						
</p>
<div class="literallayout">
<p>There&nbsp;seems&nbsp;to&nbsp;be&nbsp;a&nbsp;lot&nbsp;going&nbsp;on&nbsp;here,&nbsp;but&nbsp;the&nbsp;basic&nbsp;components&nbsp;are&nbsp;pretty&nbsp;straightforward&nbsp;as&nbsp;we&nbsp;can&nbsp;see&nbsp;in&nbsp;the&nbsp;next&nbsp;diagram.<br>

</p>
</div>
</div>
<div class="section" title="Key Collaborations">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Key_Collaborations"></a>Key Collaborations</h5>
</div>
</div>
</div>
<p>
							
</p>
<div class="mediaobject">
<img src="images/StructureSimpleDiagram.png"></div>
<p>
						
</p>
<div class="literallayout">
<p>Core&nbsp;interactions&nbsp;are&nbsp;in&nbsp;Red.&nbsp;The&nbsp;meta-model&nbsp;structure&nbsp;is&nbsp;essentially&nbsp;a&nbsp;Composite&nbsp;pattern.&nbsp;<br>

</p>
</div>
</div>
<div class="section" title="Details">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Details_2"></a>Details</h5>
</div>
</div>
</div>
<div class="orderedlist">
<ol class="orderedlist" type="1">
<li class="listitem">
<p>Every model has at its root a Context (Scape). Contexts are Agents that are capable of containing other Agents (including other contexts, naturally). </p>
</li>
<li class="listitem">
<p>(Meta-level) Contexts contain (meta-level) Agents at the model (design-time) level.  At runtime, (model-level) Context instances defined in a (meta-level) SContext will contain (model-level) agent instances of the defined (meta-level) SAgent. This sounds more complicated than it is, so let's look at a simple example. Suppose we create a new Context, and give it a label of "Wiki Example". Within that Context, we create an Agent and give it a label of "Individual" and another Agent with the label "Block". At runtime when we are actually executing the model we will have one WikiExample model instance  which contains a number of Individuals.</p>
</li>
<li class="listitem">
<p>Agents contain Attributes, such as Vision and Age. Context attributes often represent input parameters for contained agents. For example, our Wiki Agent Context might contain an Individual Count as well as a Minimum Age and Maximum Age.</p>
</li>
<li class="listitem">
<p>Contexts can contain Projections (Spaces), which represent some kind of spatial or structural interaction space for the agents; either a grid, a continuous (euclidean) space, or a network (graph) or geographic space of some kind. For example, we might want to have a City that contains Blocks and that an Individual can move around within.</p>
</li>
<li class="listitem">
<p>Agents are Actable and thus can contain any number of behaviors called "Actions", described in detail in the next section. Actions can describe individual behavior, and at the Context (Scape) level can define how member Agents and Projections are created.</p>
</li>
<li class="listitem">
<p>Styles provide a mechanism for defining generic visualization behavior for Agents and so are also Actable. For example, an Agent might have an Action that says effectively "draw a red circle shaded red for the wealth of the agent".</p>
</li>
</ol>
</div>
</div>
</div>
</div>
</div>
<div class="section" title="Actions">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">
<a name="Actions_2"></a>Actions</h2>
</div>
</div>
</div>
<p>Actions are the most important part of an agent model. While Agents, Attributes and Spaces define what we're modeling, it is Actions that give the models life.</p>
<div class="section" title="Overview">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Overview_3"></a>Overview</h3>
</div>
</div>
</div>
<p>Actions allow the definition of behavior for agents at a very high level. You can think of actions as being analogous to methods in a traditional object-oriented model but that analogy only goes so far. In the same way that methods are defined as part of objects, actions belong to particular agents. (Though even more expressive ways of defining actions are contemplated in future releases.) In the next section we go into detail about what Actions are and how they can be used to define all agent behavior. They are also conceptually more challenging as unlike with structure they have no direct analogies to past agent representations.</p>
<p>An action provides simple, well-defined details that a model can use to determine what steps to take in model execution. That definition seems general enough to be almost useless, but its important to understand that an action is not equivalent to an instruction, a method or a query. In fact, actions can have aspects of all of these. But an action is not in itself an instruction specifying exactly 
					<span class="italic">how</span> the modeling engine should do something -- instead an action represents 
					<span class="italic">what</span> the modeler intends for the agents to do. (Technically, we might say that Actions takes a "declarative" approach instead of an 'imperative' approach, but that's not quite true, because actions do allow us to define behavior in a richer way than most declarative approaches, and many action constructs map directly to imperative approaches.)
				</p>
<p>Actions are connected together in a series of sources and targets. (Technically, an acyclic directed graph.) In an abstract sense that is similar to the way any programming language is defined although that structure isn't usually obvious because of the constraints of textual representations. But unlike a typical programming language, in Actions it is not the execution thread (the processor) that moves from one instruction to the next, but the result of the previous action. In this way, action results "flow" from the output of one action into the next action.</p>
<p>Why are these distinctions between traditional Object-Oriented and the Action approaches important? They give us the advantages of simplicity, clarity and flexibility that 
					<a class="ulink" href="/wiki/http://en.wikipedia.org/wiki/Dataflow_programming" target="_new">data-flow approaches</a> like spreadsheets and some query languages have, but with less restrictions. At the same time, they can bring us much of the power and expressiveness of 
					<a class="ulink" href="/wiki/http://en.wikipedia.org/wiki/Functional_programming" target="_new">functional languages</a> like Lisp or 
					<a class="ulink" href="/wiki/http://en.wikipedia.org/wiki/Logical_programming" target="_new">logical languages</a> like Prolog, but without the level of complexity and obscurity that such languages can have.
				</p>
<p>We can get a better idea for how Actions work by thinking about how a spreadsheet works. In a spreadsheet, we might define a cell A that adds up a row of data, say "Income". We might define another cell C ("Profit") that takes A and adds it to another cell B that adds up another row of data ("Expenses"). Now, if we change a value in any of the rows, all of the other rows are added up and we get the results in A and B updated automatically. We never had to write code that said something like "for each cell in row X, where...". In fact, we don't really care 
					<span class="italic">how</span> our Spreadsheet program adds up the numbers -- it could have added them all up at once but in backward order, or stored a running total somewhere and updated just the difference in value for the cell we changed -- what we care about is 
					<span class="italic">what</span> the result is, and whether it is correct.
				</p>
<p>But Actions are much more powerful than a spreadsheet, because what is flowing from Action A to Action B is not just a number, but any model component such as a space or a set of agents that we need to use in target actions.</p>
</div>
<div class="section" title="Design">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Design"></a>Design</h3>
</div>
</div>
</div>
<p>In this section, we'll describe how modelers can assemble actions into sets of behavior that accomplish complex tasks on interrelated agents and spaces over time.</p>
<div class="section" title="Kinds of Actions">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Kinds_of_Actions"></a>Kinds of Actions</h4>
</div>
</div>
</div>
<p>Before getting into the details of how each Actions work together, or the various kinds of Actions, it will be helpful to take a broad overview of how they all fit together. As discussed above, actions are strung together in a sequence or flow. They're always composed of two parts, though those parts can be assembled and intermixed in many different ways. First, we search for a collection of agents, and then we do something with that selection. We refer to these two parts as Selections and Commands. (For the technically minded, another useful way of looking at the Actions approach is as a Query Transformation language, as with SQL and Stored Procedures.  Except again, the results of the queries along with the transformations flow through from one query to the next.) Selections find the agents we want to do something with, and the commands do it. We need some way to start the whole chain of actions off, and so we have a kind of Selection called a Root Selection, or simply a Root. Secondly, we need some way to actually make the agents exist in the model in the first place, so we have a Create Agents action. Finally, we have special commands called builders that allow us to create the spaces that the agents will occupy. All of these are discussed in detail in the section that follows this one.</p>
<p>These are all summarized in the diagram below:</p>
<p>
						
</p>
<div class="mediaobject">
<img src="images/ActionsBlocks.png"></div>
<p> 
					
</p>
</div>
<div class="section" title="Flow">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Flow"></a>Flow</h4>
</div>
</div>
</div>
<p>First, let's look at how actions define the basic path that agents take during a model run. As with any programming language, the path we take through the program specification is what determines our state when we get there. In a pure object oriented program, the path just defines the control flow -- what we are doing. The actual state of our model is defined within the object itself. If we call a method B from another method A, we'll be relying on method A to set the values that we need into the object state itself. In a purely functional program the path defines how we are going to deal with whatever has been explicitly passed in to a function that has been called, that is the function parameters. In fact, most languages such as Java combine aspects of both approaches.</p>
<p>In Actions, the path itself implicitly carries all of the context of prior execution with it. This means that we don't have to worry about storing context in the object -- as we would in an object-oriented language -- or passing the correct values from one method call to the next as we would in a functional language. Instead, Actions can use the implicit context of the path of flow to determine what the current state of execution is.</p>
<p>Again, behaviors in Actions are always defined by a set of 
						<span class="italic">selections</span> and 
						<span class="italic">queries</span>. In the following diagram, we can see the pattern.
					</p>
<p>
						
</p>
<div class="mediaobject">
<img src="images/ActionsSequence.png"></div>
<p>
					
</p>
<p>First, we define a Root Selection for a Rule, Schedule or other triggering event. Then, we might add a series of Query and Logic Actions to define the specific agents that we are interested in. These are all part of the Selection. Next, we might define a series of Commands to determine what to do with those agents. Or, we could use the result of that selection to immediately define another selection, for example if we are searching for an agent that is near another agent. The next diagram depicts a simple example.</p>
<p>
						
</p>
<div class="mediaobject">
<img src="images/ActionsSimpleSequence.png"></div>
<p>
					
</p>
<p>Here, we create a rule, and then check the results of two queries. For any agents that meet those criteria, we'll evaluate some function based on their state, and then set some value on them. In the next example, we'll first create the rule, and then create a new selection with a set of criteria. Finally, we'll do a move based on those queries.</p>
<p>
						
</p>
<div class="mediaobject">
<img src="images/ActionsSimpleSequence2.png"></div>
<p>
					
</p>
<p>In the following example, we've defined a set of actions and their relationships. We have a selection, a few queries and a couple of logic operators leading to a Set Action. We'll describe in detail below how Logic Actions are used in conjunction with other actions to assemble any kind of query structure needed. But for now, we'll focus on the control flow itself.</p>
<p>
						
</p>
<div class="mediaobject">
<img src="images/ActionsFlowSimple.png"></div>
<p>
					
</p>
<p>As you have probably already guessed, the agents that have the Set Action applied to them could take one of two paths through the Action flow. Readers with experience with programming or formal logic will note that this looks just like a parse tree, and while that's basically what it is, there are important differences. For example, if we looked at the following structure as a definition of control flow for a single agent we'd take them to be equivalent. Both would evaluate the statement (Query 1 AND Query 2) OR Query 3 for each agent.</p>
<p>
						
</p>
<div class="mediaobject">
<img src="images/ActionsFlowUnion.png"></div>
<p>
					
</p>
<p>Within Actions in many cases these two approaches will also act equivalently. If we are simply setting a value, it doesn't matter how an agent gets to that Set Action, as long as it gets there. All sources that flow into a given target Action act like a logical union since any of the paths might reach that target. But note that we have two flows moving in parallel in the flow on the right. What happens when the conditions for 
						<span class="italic">both</span> branches are true? As the set of agents flow through each branch the Set Action on the left will be evaluated once, while the one on the right will be evaluated twice. Again, this often ends up with the same behavior, but not always. If for example, the evaluate Action uses the value of the attribute that we are setting as input, we can get different results. Of course, you can write code in any language that accomplishes the same thing, but the code will look quite different. For example, if we wrote the same basic logic in Java, in the first case we'd have something like:
					</p>
<div class="literallayout">
<p>if&nbsp;((query1.evaluate()&nbsp;&amp;&amp;&nbsp;query2.evaluate())&nbsp;||&nbsp;query3.evaluate())&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;doSomething();<br>
}<br>

</p>
</div>
<p>In the second we'd have:</p>
<div class="literallayout">
<p>if&nbsp;(query1.evaluate()&nbsp;&amp;&amp;&nbsp;query2.evaluate())&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;doSomething();<br>
}<br>
if&nbsp;(query3.evaluate())&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;doSomething();<br>
}<br>

</p>
</div>
<p>This is a simple example, but with multiple branches such code design issues can quickly grow complex. The flow approach allows us to express things in a way that is often more natural and expressive. The important thing to keep in mind when desiging action flows is to see the flow as representing a selection of agents moving through streams independently. In the Actions example we expressed both approaches in nearly the same way, except in the case on the left we used a Union Action to bring the two branches of flow back together.</p>
</div>
<div class="section" title="Selections">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Selections"></a>Selections</h4>
</div>
</div>
</div>
<p>Selections are a key concept in Actions. Put simply, selections define what we are searching for and where. They are defined by a combination of Select, Query and Logic Actions. Each time we create a new Select Action, we define a new selection. Queries can be used to further refine selections either immediately after or later in the Action flow, as described in the next section. Logic Actions are used to combine and organize the Action flow defined by Query Actions. In order to understand how these three pieces work together, we need to understand the idea of selection boundaries.</p>
<p>A selection boundary determines the set of selection actions that are used to determine what agents to apply target actions to. For example, in the following diagram, we can see the extent of the boundary for a straightforward selection.</p>
<p>
						
</p>
<div class="mediaobject">
<img src="images/ActionsSelBoundarySimple.png"></div>
<p>
					
</p>
<p>Each time we create a new selection, we define a new set of boundaries.</p>
<p>
						
</p>
<div class="mediaobject">
<img src="images/ActionsSelBoundary2Parts.png"></div>
<p> 
					
</p>
<p>A very important aspect of boundaries is that they apply to a group of actions that begin with a Query Action, and not just such a group that begins with a Select Action. This is because Query Actions can be directly part of a selection definition, but they can also refine selections, as we'll see. So where does one selection boundary end and the next one begin? The simple rule is that the end of the boundary is defined for a given Action by the place where:</p>
<div class="orderedlist">
<ol class="orderedlist" type="1">
<li class="listitem">
<p>A Query Action is not followed by a Logic Action, or</p>
</li>
<li class="listitem">
<p>A Logic Action is not followed by another Logic Action</p>
</li>
</ol>
</div>
<p>In other words, as soon as a Logic Action occurs in a path leading to an Action, any following Query will define a new boundary, as we can see in the following example. </p>
<p>
						
</p>
<div class="mediaobject">
<img src="images/ActionsSelBoundary11A.png"></div>
<p>
					
</p>
<p>Note that we refer to "Selection 1" and Selection 1A". This is because Selection 1A is a refinement of Selection 1 along its particular path of flow. When a query appears for the same selection but past a particular boundary, you can think of it as a sort of filter on the selection contents. We don't have a "Selection 2" here because any Actions that refer to "Selection 1" along the current path of flow will be acting on the selection defined by Selection 1 and Selection 1A.</p>
<p>These rules allow actions to be defined in the simplest possible way, but it is important to understand their implication as they result in behavior that can be different from what someone used to and imperative programming environment such as Java might expect. In a simple case the distinction might not matter. For example, if we are using a Query 1 to test whether an agent's attribute a == x and attribute b == y, we would get the same outcome if we placed intersected the queries as if we simply put them in sequence. Internally we would actually be searching for agents with a == x, and 
						<span class="italic">then</span> taking those agents and choosing those agents with b==y, but the outcome would be the same. But consider a more sophisticated case, where we are searching for neighboring available cells.
					</p>
<p>
						
</p>
<div class="mediaobject">
<img src="images/ActionsSelBoundaryComplex.png"></div>
<p>
					
</p>
<p>In the first case, we execute a search for all agents that meet the two criteria. This means that if there are 
						<span class="italic">any</span> neighboring cells which are available, we're guaranteed to find one (random) cell. In the second case, we first search for all cells that are neighbors. This will match any agents that include both available and non available agents. Now, at this point since our search returns one agent (in the current AMF design -- richer behavior will be supported in the future) the randomly selected agent could be either available or not. So in the second case, we might end up with no cell to move to, and thus make no move at all. This then becomes an important aspect of model design. For example, if one were defining a model where neighbors played a game with each other, one might want to instruct agents to play the game only with neighbors that have a certain wealth threshold. In the real-world situation that we are modeling, we might simply search for neighbors who are over a given wealth threshold and then play the game with them. This would imply that information about other agent's wealth is open knowledge. Or, we might simply select a random neighbor, and ask that neighbor to play a game with us. Upon discovering that our neighbor does not meet our wealth criteria, we would then choose not to play with them. Here we are modeling a cost in time to obtain information about another agent's wealth, because we might miss an opportunity to play the game with another agent on that round.
					</p>
</div>
<div class="section" title="Weaving">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Weaving"></a>Weaving</h4>
</div>
</div>
</div>
<p>Now, let's put the concepts of Actions sequences and boundaries together to see how we can easily define complex interactions between multiple selections. When we define a Select, the state of its selection flows through and with any subsequent selections. So for example, if we have a Root Action rule, and then do a selection based on it, we'll have access to the agent from the original context as well as all of the subsequent selections. We can refer to any previous selection for any subsequent action. For example, instead of setting the value for the rule agent, we might instead set a value for an agent we've found in a target selection.</p>
<p>
						
</p>
<div class="mediaobject">
<img src="images/ActionsWeavingSetAnother.png"></div>
<p>
					
</p>
<p>Inputs to functions also use selections. (We'll discuss more details in the functions section.) In the following example, we're adding the wealth of the Selection 1 agent to the wealth of the Selection 2 agent and using that value to set some other value. (Here, perhaps we are modeling an agent in a winner takes all game, in which case we'd also add a Set Action on Selection 2 and set the second agent's wealth to 0.)</p>
<p>
						
</p>
<div class="mediaobject">
<img src="images/ActionsWeavingEvaluate.png"></div>
<p>
					
</p>
<p>But we can also use selections in defining Query Actions themselves. So in the following example, we select a neighbor agent and then compare the age of our Rule agent with the age of the Selection 2 agent. If and only if those ages are the same will we execute the target Set Action. This example also demonstrates why we refer to the data flow as weaving. Query Actions can be used to refine selections at any point in the data flow. Selections and their uses are interwoven throughout an action sequence.</p>
<p>
						
</p>
<div class="mediaobject">
<img src="images/ActionsWeaving1A.png"></div>
<p>
					
</p>
<p>Finally, we can put all of these concepts together by weaving selections together with flows. As we discussed in the flow section, if we use multiple paths in the Query, the agents that flow through from any prior Query can follow multiple paths at once. And as we discussed in the selection section, the selection and its boundaries determine what agents we will be working with at any given evaluation point in the flow. Now, consider the following example:</p>
<p>
						
</p>
<div class="mediaobject">
<img src="images/ActionsWeaving2.png"></div>
<p>
					
</p>
<p>Before going into further details we need to introduce one more important concept. As we'll see in the detailed explanation of each Action below, Transformation Actions such as Move or Connect take multiple selections. The first selection defines the set of agents that will be performing the action. In the case of a Move agent, this refers to the mover. The second selection, which for Move we call "destination", refers to the selection that will be receiving the action. In the case of movement this is the agent or location that the Rule agent will be moving to. If we follow the flows through, we can note two important outcomes of our model design -- a Rule agent might move twice if it meets the criteria for both the blue path and the red path and that it might move to a different location each time.</p>
</div>
</div>
<div class="section" title="Details">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Details_3"></a>Details</h3>
</div>
</div>
</div>
<p>In this section, we'll dig into the specific role of each of the Actions. From the design discussion we hopefully have some sense of how these all fit together in general.
					Let's look at the overall view again amd then dig into the details.</p>
<p>
					
</p>
<div class="mediaobject">
<img src="images/ActionsBlocks.png"></div>
<p> 
				
</p>
<div class="section" title="Selections">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Selections_2"></a>Selections</h4>
</div>
</div>
</div>
<p>A selection defines a particular set of agents that we want to do something with. Selections are made up of the Select action itself, along with Query and Logic actions. When we refer to a selection in any target command, we are referring to the selection in the context of where we have defined the behavior.</p>
<div class="section" title="Select">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Select"></a>Select</h5>
</div>
</div>
</div>
<p>As we discussed above, when we refer to a Select, we're actually referring to the selection as a whole leading up to the current action. The Select Action itself is used to define what we are searching for (Agent), where we are searching for it (Space), and from whose perspective we are doing it (Selection). Create Actions are a sepecial kind of Select Action that are used to create agents. See the decription in the Builders section below for more information.</p>
<div class="section" title="Selection">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Selection"></a>Selection</h6>
</div>
</div>
</div>
<p>The selection that we are searching "from". This seems to be the concept that new users have the most difficulty with, but it is key to understanding how Actions works. Just as with any other Action -- a Move command for example -- a selection needs to know what set of agents that it is working with. For example, if we want to define a selection B that finds the cells neighboring a rule B's agent, we would set selection B's selection to A.</p>
</div>
<div class="section" title="Agent">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Agent"></a>Agent</h6>
</div>
</div>
</div>
<p>Here we define what agent we will be looking for. In order for this to make sense, the agent has to be related in some meaningful way to the agent whose behavior we are defining. For example, it might be a partner agent or a location that we might want to move to. An agent must be specified unless we are searching within a continuous space, in which case this value should be empty, and the result of the selection will represent some location in that space. In the current version of the framework, we treat destination cell locations as agents, and require that location to be specified as a target agent, but in a future version we'll allow searches without defining an agent within grid spaces as well.</p>
</div>
<div class="section" title="Space">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Space"></a>Space</h6>
</div>
</div>
</div>
<p>The space that we want to search within. Of course, this must be specified if we use any spatial query terms (see below), but if we simply want to search across all agents it should not be specified.</p>
<p>Represent Queries (Controls) on agents and Transformations, or Commands, on the result of those queries. Queries, Transformations and other  in which each child target carries the execution and data context for it's particular path.</p>
</div>
<div class="section" title="For">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="For"></a>For</h6>
</div>
</div>
</div>
<p>This value is obsolete and will be replaced with a different mechanism in the next version of the modeling environment.</p>
</div>
</div>
<div class="section" title="Query">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Query"></a>Query</h5>
</div>
</div>
</div>
<p>A Query represents a concrete criteria for our search. The name is a bit confusing because of potential for confusion with a generic query. Queries -- along with their cousin Evaluators -- define a function that is evaluated and that can take Agent attributes and the results of other Actions as input. Queries are combined with each other and with the logic actions to determine the results of a selection for their direct target actions. </p>
<div class="section" title="Function">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Function"></a>Function</h6>
</div>
</div>
</div>
<p>A query function is evaluated to determine the results of a particular selection. Functions can represent very simple search criteria such as "My Age == Your Age", but they can also represent complex and inter-related concepts such as spatial relationships. See the functions section for more information on specific functions.</p>
</div>
</div>
<div class="section" title="Logic">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Logic"></a>Logic</h5>
</div>
</div>
</div>
<p>These Actions provide us with the ability to combine queries with one another, and follow the basic rules of set logic. But as we've seen above, it is important to understand that there are important differences between Logic Actions and typical programming logic. Most importantly, they apply not to individual agents per se, but to the set of agents that move through them. Also, there is not neccesarily short circuit execution (it's not needed) and much richer criteria can be joined together because of the action flow design.</p>
</div>
<div class="section" title="Intersection">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Intersection"></a>Intersection</h5>
</div>
</div>
</div>
<p>An intersection contains only those agents that match all of its source actions. This is essentially equivalent to a logical AND statement and has similarities to an &amp;&amp; operator in a java "if" statement. An agent must be able to flow through all incoming actions in order to flow out of an Intersection Action.</p>
</div>
<div class="section" title="Union">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Union"></a>Union</h5>
</div>
</div>
</div>
<p>A union contains all agents that match any of its source actions. This shares similiarities to a logical OR statement and the || operator in a java "if" statement. It does mroe than that however, as it acts to join multiple flows of action. That is, as set logic implies, an agent will never appear in the result of a union more than once.</p>
</div>
<div class="section" title="Difference">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Difference"></a>Difference</h5>
</div>
</div>
</div>
<p>A difference contains all agents that do not match any of its source actions. This essentially equivalent to a logical NOT statement, and has similarities to the Java else statement. Like the Union Action, difference implies that a given agent will only appear once in any subsequent targets. No agents that reach a Difference Action will flow through to the next action(s), and all agents (that meet the definition of the Select Action) that cannot reach that action will.</p>
</div>
</div>
<div class="section" title="Roots">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Roots"></a>Roots</h4>
</div>
</div>
</div>
<p>Root actions are a special case of a selection. These represent behaviors that are defined for all members of agents; these are the highest granularity of an agent's behavior, such as "Find Partners" or "Eat" or "Reproduce". When you want to create a new set of Actions, you have the following choices.</p>
<div class="section" title="Build">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Build"></a>Build</h5>
</div>
</div>
</div>
<p>The Build Action is a specialized action that allow the construction of member agents and spaces within a parent context. A Build Action executes once for each context before any initialization actions occur for any children agents of that context. Currently it is undefined whether a context's own Initialize Action is executed before the Build Action occurs, so implementors should not rely on any initialized values being available at build time.</p>
</div>
<div class="section" title="Initialize">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Initialize"></a>Initialize</h5>
</div>
</div>
</div>
<p>An Initialize action is executed once and only once for every agent when the model is first started -- at time 0. Initialize Actions are guaranteed to execute before any other non-builder action occurs.</p>
</div>
<div class="section" title="Rule">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Rule"></a>Rule</h5>
</div>
</div>
</div>
<p>A Rule executes once for every agent for every iteration of the model. An important note is that the actual sequence of rules is technically undefined. An implementor should not rely on the fact that a rule occurs before another rule in the list of agent actions though typically the order in which the rules were actually created is respected.</p>
</div>
<div class="section" title="Schedule">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Schedule"></a>Schedule</h5>
</div>
</div>
</div>
<p>A schedule is executed on a recurring basis, according to the values detailed below. Note that schedules are often overused. In most agent-based models it makes sense to have any behaviors occur at the same granularity using a Rule. Please note that Schedules are not currently supported in the Escap target, but that support should be available soon. In the following descriptions we refer to period as the current iteration of the model, that is where time == t.</p>
<div class="section" title="Start">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Start"></a>Start</h6>
</div>
</div>
</div>
<p>The period that the schedule will first be invoked. For example, if this value is 100, and interval is 1, the schedue will be executed at times 100,101,102..</p>
</div>
<div class="section" title="Interval">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Interval"></a>Interval</h6>
</div>
</div>
</div>
<p>How often the schedule is invoked. For example, if this value is 3 and start is 1, the schedule will be executed at times 1,4,7..</p>
</div>
<div class="section" title="Priority">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Priority"></a>Priority</h6>
</div>
</div>
</div>
<p>Where the rule will be placed in the execution queue for a given time period. For example, if Schedule A's priority is set to 3 and Schedule B's is set to 2, Schedule B will be executed for all agents before Schedule B is executed for any agents.</p>
</div>
<div class="section" title="Pick">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Pick"></a>Pick</h6>
</div>
</div>
</div>
<p>Controls how many agents to execute the schedule against. While this value will have an effect on the Repast target, it is not recommended to be used for general models and is likely to be replaced by another approach.</p>
</div>
</div>
<div class="section" title="Watch">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Watch"></a>Watch</h5>
</div>
</div>
</div>
<p>A Watch action is executed any time the watched value is set for any agent. Note that the Action will be triggerred even if the state is simply set back to the value that it already has. It is important to be careful about creating Watches that might set the values of other Watch actions which might in turn trigger this watch. To clarify, if a modeler creates a Watch A for attribute a, and creates a target Set for it for attribute b, and Watch B is watching attribute b, then if Watch B has a target Set for attribute A, a circular execution could occur. This would cause the model to get stuck in its current iteration. To help model developers avoid this case, a warning will be provided if such a set of circular watch dependencies is created.</p>
<div class="section" title="Attribute">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Attribute"></a>Attribute</h6>
</div>
</div>
</div>
<p>The attribute that will be monitored for change.</p>
</div>
</div>
</div>
<div class="section" title="Commands">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Commands"></a>Commands</h4>
</div>
</div>
</div>
<div class="section" title="Evaluate">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Evaluate"></a>Evaluate</h5>
</div>
</div>
</div>
<p>Evaluate Actions define some calculation on a function based on the model state and a set of input(s). The inputs that an Evaluate Action can take is determined by its functions and can be either agent attributes, prior evaluations or literals. The result is then determined based on those inputs. In some cases Evaluate functions can be used to determine some action indirectly, such as with a graphics fill, but they can never be used to directly change model state.</p>
<div class="section" title="Selection">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Selection_2"></a>Selection</h6>
</div>
</div>
</div>
<p>As with all other actions, evaluations specify a selection, and just as with the other actions, this determines the set of agents that the evaluation occurs for, but the input selections determine what agent is used for the calculation itself.</p>
</div>
<div class="section" title="Function">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Function_2"></a>Function</h6>
</div>
</div>
</div>
<p>A with queries, a function is evaluated against its input set. Functions can represent simple operators as well as complex functions. See the functions section for more information on specific functions.</p>
</div>
<div class="section" title="Inputs">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Inputs"></a>Inputs</h6>
</div>
</div>
</div>
<p>The set of values that will be used to determine the result, in the order of the function prototype. Inputs can specify any source evaluation and any agent state or agent parent context state. The selection determines which agent's will be used to determine the value, and different inputs can specify different selections.</p>
</div>
</div>
<div class="section" title="Set">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Set"></a>Set</h5>
</div>
</div>
</div>
<p>The Set Action assigns some value to another value.</p>
<div class="section" title="Selection">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Selection_3"></a>Selection</h6>
</div>
</div>
</div>
<p>Here the selection refers to the agent that we want to change. This does not have to be the immediatily preceeding selection but can be any accessible selection.</p>
</div>
<div class="section" title="Attribute">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Attribute_2"></a>Attribute</h6>
</div>
</div>
</div>
<p>The attribute to modify. It must be a member of this action's agent or of that agent's parent context.</p>
</div>
<div class="section" title="Parameter">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Parameter"></a>Parameter</h6>
</div>
</div>
</div>
<p>The value to assign to the attribute. Here, we can use either another agent attribute, or the results of a source evaluation. </p>
</div>
</div>
<div class="section" title="Move">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Move"></a>Move</h5>
</div>
</div>
</div>
<p>The Move Action causes an agent to change its location in some space or network. The agent will leave whatever location it was in before within the selection space, and move to its new destination.</p>
<div class="section" title="Selection">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Selection_4"></a>Selection</h6>
</div>
</div>
</div>
<p>As in any other action, the selection determines what agent is affected -- in this case the agent that is being moved.</p>
</div>
<div class="section" title="=Destination">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name=".3DDestination"></a>=Destination</h6>
</div>
</div>
</div>
<p>Specifies the target agent or location for the movement.</p>
</div>
</div>
<div class="section" title="Leave">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Leave"></a>Leave</h5>
</div>
</div>
</div>
<p>Causes the agent to leave a particular space.</p>
<div class="section" title="Selection">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Selection_5"></a>Selection</h6>
</div>
</div>
</div>
<p>The selection determines what agent will be leaving and what space the agent will be leaving. If the agent doesn't exist in that space nothing will happen.</p>
</div>
<div class="section" title="=Destination">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name=".3DDestination_2"></a>=Destination</h6>
</div>
</div>
</div>
<p>The destination is irrelevant for a leave action and should not be specified.</p>
</div>
</div>
<div class="section" title="Die">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Die"></a>Die</h5>
</div>
</div>
</div>
<p>Causes the agent to cease to exist within the model as a whole.</p>
<div class="section" title="Selection">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Selection_6"></a>Selection</h6>
</div>
</div>
</div>
<p>The selection determines what space the agent to remove.</p>
</div>
<div class="section" title="=Destination">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name=".3DDestination_3"></a>=Destination</h6>
</div>
</div>
</div>
<p>The destination is irrelevant in this case and will probably be removed.</p>
</div>
</div>
<div class="section" title="Connect">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Connect"></a>Connect</h5>
</div>
</div>
</div>
<p>Connects two agents within a network space. This Action is not applicable for any other kinds of spaces. Note that unlike with other transformational commands, we do not use the destination space to determine the space that will be impacted by the Action. This provides a more efficient representation without any loss in generality, because it allows us to search for a source and target agent within other spaces and then create a connection without creating a separate selection. As the important structural feature of networks are the relationships themselves, not the nodes this provides a more direct way to specify these relationships.</p>
<div class="section" title="Selection">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Selection_7"></a>Selection</h6>
</div>
</div>
</div>
<p>The selection determines the agent that will be connected to another agent. In the case of a directed graph, this is the source node.</p>
</div>
<div class="section" title="=Destination">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name=".3DDestination_4"></a>=Destination</h6>
</div>
</div>
</div>
<p>The destination determines the agent that the selection agent will be connected to. In the case of a directed graph, this is the target node.</p>
</div>
<div class="section" title="Within">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Within"></a>Within</h6>
</div>
</div>
</div>
<p>Specifies the network that the connection will be created within.</p>
</div>
</div>
<div class="section" title="Directed">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Directed_2"></a>Directed</h5>
</div>
</div>
</div>
<p>Determines whether the connection made is directed or not. If true, selections from source agents will include the target, but target agent selections will not include the source agents (unless they are connected through some other path).</p>
</div>
<div class="section" title="Disconnect">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Disconnect"></a>Disconnect</h5>
</div>
</div>
</div>
<p>Removes the connection between agents within a network space. See the description of the Connect Action for important details.</p>
<div class="section" title="Selection">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Selection_8"></a>Selection</h6>
</div>
</div>
</div>
<p>The selection determines one side of the agent relationship that will be disconnected.</p>
</div>
<div class="section" title="=Destination">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name=".3DDestination_5"></a>=Destination</h6>
</div>
</div>
</div>
<p>The selection determines one other side of the agent relationship that will be disconnected.</p>
</div>
<div class="section" title="Within">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Within_2"></a>Within</h6>
</div>
</div>
</div>
<p>Specifies the network that the connection will be created within.</p>
</div>
</div>
<div class="section" title="Replace">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Replace"></a>Replace</h5>
</div>
</div>
</div>
<p>Functions in the same way as a Connect Action excepth that all other connections to other agents will first be removed.</p>
<div class="section" title="Selection">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Selection_9"></a>Selection</h6>
</div>
</div>
</div>
<p>The selection determines the agent that will be connected to another agent. In the case of a directed graph, this is the source node.</p>
</div>
<div class="section" title="=Destination">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name=".3DDestination_6"></a>=Destination</h6>
</div>
</div>
</div>
<p>The destination determines the agent that the selection agent will be connected to. In the case of a directed graph, this is the target node.</p>
</div>
<div class="section" title="Within">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Within_3"></a>Within</h6>
</div>
</div>
</div>
<p>Specifies the network that the connection will be created within.</p>
</div>
</div>
<div class="section" title="Directed">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Directed_3"></a>Directed</h5>
</div>
</div>
</div>
<p>Determines whether the connection made is directed or not. See the Connect description for more details.</p>
</div>
</div>
<div class="section" title="Builders">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Builders"></a>Builders</h4>
</div>
</div>
</div>
<p>Builders are a special category of actions that are used to create spaces. They should not be confused with the Build Action itself which is a root selection that defines the time at which builder actions should occur. Generally speaking, specific Builder Actions for spaces and Create Actions for agents are targets of Build Actions.</p>
<div class="section" title="Create Agents">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Create_Agents"></a>Create Agents</h5>
</div>
</div>
</div>
<p>Agents are crete using the Create Agent action. The Create Agent Action is actually a special kind of Select Action that is used to actually create agents rather than simply search for them. Other than this capability, a Create Agent action can be used just like any other action except that Query and Logic actions aren't needed or genrally appropriate as this action defines a set number of agents to perform an action against. Create Agent actions have the special feature of being usable from the containing context, so that contexts can create initial agent populations before any agents exist within the context to perform actions against. But they can also be used directly within agent rules, for example to create a child agent as the result of a reproducation rule. Note that Initialize Actions are 
							<span class="italic">not</span> performed on agents that have been created within a model during regular (non-initialization time) execution. If the model creates actions during the regular model run, any state initialization should be handled by the targets of this action directly. (Naturally, if the enclosing context is used to create agents at the beginning of a model run, then the Initialize action is used as part of the normal model life-cycle.)
						</p>
<div class="section" title="Agent">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Agent_2"></a>Agent</h6>
</div>
</div>
</div>
<p>The kind of agent to create.</p>
</div>
<div class="section" title="Selection">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Selection_10"></a>Selection</h6>
</div>
</div>
</div>
<p>The selection to use as the basic for this selection. This is generally not important except to define control flow.</p>
</div>
<div class="section" title="Space">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Space_2"></a>Space</h6>
</div>
</div>
</div>
<p>Not generally relevant for agent actions, as agents are not placed into a space unless explicitly moved to that space. Potential associations between agents and spaces are defined by the space building actions.</p>
</div>
<div class="section" title="=Agent Count">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name=".3DAgent_Count"></a>=Agent Count</h6>
</div>
</div>
</div>
<p>The number of agents to create. If used as part of an enclosing context's Initialize Action(s) an Attribute parameter will automatically be created. If not, then an evaluation or agent attribute should be used to define this number.</p>
</div>
<div class="section" title="For">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="For_2"></a>For</h6>
</div>
</div>
</div>
<p>Deprected. Should not be used.</p>
</div>
</div>
<div class="section" title="Create Shaped Agent">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Create_Shaped_Agent"></a>Create Shaped Agent</h5>
</div>
</div>
</div>
<p>Creates an agent that has a particular shape extent within some continuous (i.e. vector as opposed to raster) space. This action performs just like a Create Action except for the following attribute:</p>
<div class="section" title="Shape">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Shape"></a>Shape</h6>
</div>
</div>
</div>
<p>Determines how each agent's spatial extent will be defined. The actual form of that shape is implementation specific. For example, in a GIS space (the immediate rationale for this Action) a polygon represents a region on a map and the extent of that shape might be determined by a .shape file. The available shape types are:</p>
<div class="variablelist">
<dl>
<dt>
<span class="term">Point</span>
</dt>
<dd>
<p>A simple point in space, fully equivalent to a standard continuous space location.</p>
</dd>
<dt>
<span class="term">Line</span>
</dt>
<dd>
<p>A single line within a continuous space. Technically this represents a line segment as it is expected to have a beginning and ending point. In the future, this might refer more generically to planes in three dimensional space and hypersurfaces in n-dimensional spaces, but this is currently not supported by any AMF target implementations.</p>
</dd>
<dt>
<span class="term">Polygon</span>
</dt>
<dd>
<p>A region within a space defined by an arbitrarily large set of line segments. Potentially this could be used to refer to polyhedrons in three-dimeensional space, or even more genrally as polytopes, but this is currently not supported by any AMF target implementations.</p>
</dd>
</dl>
</div>
</div>
</div>
<div class="section" title="Load Agents">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Load_Agents"></a>Load Agents</h5>
</div>
</div>
</div>
<p>Imports and creates a set of agents from some input file. The actual form and manner of the import is implementation specific but should be inferrable from any source file based on the URL provided, assuming that the target platform or the AMF platform supports the appropriate imput type. For example, a Tab-CR delimited file might be used to populate a set of agents with various attributes. Additional meta-data could be provided by the URL, but we will likely add additional extensible meta-data to this action to better support the definition of expected input types and routines from within an AMF model itself. This action is equivalent to the Create Agents action except for:</p>
<div class="section" title="Source URL">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Source_URL"></a>Source URL</h6>
</div>
</div>
</div>
<p>The location of the input file or set of meta-data used to determine the location and type of the input file.</p>
</div>
</div>
<div class="section" title="Load Shaped Agents">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Load_Shaped_Agents"></a>Load Shaped Agents</h5>
</div>
</div>
</div>
<p>Combines the properties of the Create Shaped Agent and Load Agent Actions. The source url should of course specify an input format that supports the shape type specified. See the descriptions of the related actions for more details.</p>
</div>
<div class="section" title="Build Network">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Build_Network"></a>Build Network</h5>
</div>
</div>
</div>
<p>Creates a network, i.e. a graph structure, supporting the establishment of edges between arbitrary nodes.</p>
<div class="section" title="Agents">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Agents_3"></a>Agents</h6>
</div>
</div>
</div>
<p>Specifies the set of agents that can exist within this network. Agents must be included here in order for them to make connections within the network but agents included here are not required to have connections within the network, nor are such connections created for them. (See important note regarding network types below.)</p>
</div>
<div class="section" title="Attributes">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Attributes_3"></a>Attributes</h6>
</div>
</div>
</div>
<p>Not currently used for networks.</p>
</div>
<div class="section" title="Network Type">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Network_Type"></a>Network Type</h6>
</div>
</div>
</div>
<p>Deprecated. This feature is only currently supported for Repast targets and is likely to be removed from future versions of the AMF meta-model. Future AMF implementations are likely will provide a different mechanism for instantiating and importing network structures either within the network defintion or through other Action definitions. Instead of using this feature, modelers should create specific networks by building them up with Connect Actions for indivdual agents. For example to create a small world netowrk, a modeler might create random links between agents and then replace or augment those connections.</p>
</div>
<div class="section" title="Selection">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Selection_11"></a>Selection</h6>
</div>
</div>
</div>
<p>Not relevant for network builders except as part of normal control flow.</p>
</div>
</div>
<div class="section" title="Build Grid">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Build_Grid"></a>Build Grid</h5>
</div>
</div>
</div>
<p>Creates a grid space.</p>
<div class="section" title="Agents">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Agents_4"></a>Agents</h6>
</div>
</div>
</div>
<p>The set of agents that might exist as occupants of this grid; that is, members of individual cells within a given grid. Agents must be included here in order for instances to exist within the space, but agents included here do not actually have to exist within the space. (In the Repast implementation, all agents technically are memebers of the spatial projection, but are not required to have valid coordinates within that space.) For example, in an agriculture model these might represent agents moving about and harvesting plots of land.</p>
</div>
<div class="section" title="Fill Agent">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Fill_Agent"></a>Fill Agent</h6>
</div>
</div>
</div>
<p>The agent that will be used to populate the grid itself. A gird is guranteed to contain one and only one fill agent within each grid locaiton. The grid will be populated with instances of the specified agent and these agents cannot move, leave or die within this space. This value need not be specified -- if left blank a default cell without any state will be used. For example, in an agriculture model, this agent might represent a single plot of land.</p>
</div>
<div class="section" title="Space Type">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Space_Type"></a>Space Type</h6>
</div>
</div>
</div>
<p>Deprecated. Should not be used.</p>
</div>
<div class="section" title="Selection">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Selection_12"></a>Selection</h6>
</div>
</div>
</div>
<p>Not relevant for builders except as part of normal control flow.</p>
</div>
<div class="section" title="Attributes">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Attributes_4"></a>Attributes</h6>
</div>
</div>
</div>
<p>Not currently used for spaces.</p>
</div>
</div>
<div class="section" title="Build Space">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Build_Space"></a>Build Space</h5>
</div>
</div>
</div>
<p>Creates a continous space. The actual dimensionality and other qualities of the space are currently defined in the space itself though this might change in future versions. All other values are used in the same way as for the gird and other builder actions.</p>
<div class="section" title="Agents">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Agents_5"></a>Agents</h6>
</div>
</div>
</div>
<p>The set of agents that might be a part of this space. Agents must be included here in order for instances to exist within the space, but agents included here do not actually have to exist within the space. (In the Repast implementation, all agents technically are memebers of the spatial projection, but are not required to have valid coordinates within that space.)</p>
</div>
</div>
<div class="section" title="Build Geography">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Build_Geography"></a>Build Geography</h5>
</div>
</div>
</div>
<p>Constructs a geographical space. All details of this space are specfied by the implementation, i.e. a specific geographical imported space. Generally these would be defined by a Create Agents action; that is a set of imported agents representing US states would also represent the overall space of interest.</p>
</div>
</div>
</div>
<div class="section" title="Example">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Example"></a>Example</h3>
</div>
</div>
</div>
<p>In this section, we'll look at an example that should make clear how the basic Actions approach works in a model. Say we want to define a behavior like:</p>
<div class="literallayout">
<p>"Search&nbsp;for&nbsp;a&nbsp;random&nbsp;agent&nbsp;within&nbsp;my&nbsp;vision&nbsp;that&nbsp;is&nbsp;the&nbsp;same&nbsp;age&nbsp;as&nbsp;I&nbsp;am.&nbsp;Find&nbsp;a&nbsp;location&nbsp;next&nbsp;to&nbsp;that&nbsp;agent&nbsp;that&nbsp;is&nbsp;not&nbsp;already&nbsp;occupied&nbsp;and&nbsp;move&nbsp;to&nbsp;it."<br>

</p>
</div>
<p>Here, we create a sequence of actions like so:</p>
<div class="orderedlist">
<ol class="orderedlist" type="1">
<li class="listitem">
<p>Select every agent for every period of the model. ("Find Partner" Rule)</p>
</li>
<li class="listitem">
<p>For every member of that selection, search for other agents of the same age within vision distance. ("Partner" selection.)</p>
</li>
<li class="listitem">
<p>From "Partners" find a random member and search for a neighboring locations. ("Partner Neighbor" selection.)</p>
</li>
<li class="listitem">
<p>Finally, move the agent in "Find Partner" to the "Partner Neighbor" location.</p>
</li>
</ol>
</div>
<p>Now, notice that although it's convenient to speak as if there is only one "Find Partner" and one "Partner Neighbor" in step 4 above, in fact selections are flowing through for each of the results of each of the previous action sequences, and we can refer to each of the directly. We could represent these behaviors in many different ways. For example, we might want to specify the model in a (hand-drawn) graphical language or in a (made-up) textual language:</p>
<p>
					
</p>
<div class="mediaobject">
<img src="images/ActionsExample.png"></div>
<p>
				
</p>
<p>This is how it looks in an actual model:</p>
<p>
					
</p>
<div class="mediaobject">
<img src="images/ActionsExampleNew.png"></div>
<p>
				
</p>
<p>And here is how this works in detail:</p>
<div class="orderedlist">
<ol class="orderedlist" type="1">
<li class="listitem">
<p>Create a Rule that will trigger the behavior. In this case, we want this rule to apply to all "Individual" agents within the model. (Space isn't relevant in this case.</p>
</li>
<li class="listitem">
<p>Create a child Select Action that will find our partner. Two important things to note here:</p>
<div class="orderedlist">
<ol class="orderedlist" type="a">
<li class="listitem">
<p>The selection occurs based on the "Find Partner" selection. This means that for each Individual in the model, we'll be searching from the point of view of that agent to some other selection of agents.</p>
</li>
<li class="listitem">
<p>We also need to define what type of agent we want and in this case the space does matter. We want to find an agent that is nearby within the City space. If instead we wanted to find a partner in a social network, we'd specify that instead.</p>
</li>
</ol>
</div>
</li>
<li class="listitem">
<p>Create two child Query Actions:</p>
<div class="orderedlist">
<ol class="orderedlist" type="a">
<li class="listitem">
<p>We want to search for someone who is the same age as us. This highlights the importance of the idea of the Selection in the Actions design. We're qualifying Age by the rule agent's partner for the first input and by the rule agent for the second. The selection carries throughout the flow of execution and this context is an explicit part of the entire structure. Note that this is very different from the way control flow works in a traditional imperative language such as Java.</p>
</li>
<li class="listitem">
<p>We also want to search using a function for nearness, "within", which takes a parameter of vision. Note that the spatial functions are all polymorphic -- if we decided later on that we would rather search within say "Kevin Bacon space", that is a graph structure representation of space, we would only need to change the space we've defined in Select Partner.</p>
</li>
</ol>
</div>
</li>
<li class="listitem">
<p>Intersect the results of these two query components. This delineates the end of the selection definition for any target Actions.</p>
</li>
<li class="listitem">
<p>Select a neighbor. Again, we can see the importance of Selections. Here, we are selecting from the point of view of the partner, not the initial agent that the current Rule is being executed for. Note that this time our target agent is a "Block", that is, a location within the city.</p>
</li>
<li class="listitem">
<p>As above, define some queries. This time we want only those agents that are:</p>
<div class="orderedlist">
<ol class="orderedlist" type="a">
<li class="listitem">
<p>available, and</p>
</li>
<li class="listitem">
<p>neighbors of our partner.</p>
</li>
</ol>
</div>
</li>
<li class="listitem">
<p>And another intersection..</p>
</li>
<li class="listitem">
<p>Finally, we move to the location we've found. All that's required at this point is to specify:</p>
<div class="orderedlist">
<ol class="orderedlist" type="a">
<li class="listitem">
<p>The movement selection, or those agents that are moving, which in this case is the original agent we're executing the rule for, and</p>
</li>
<li class="listitem">
<p>The destination, which is the cell that we've found. Note that the framework infers from the space definition that the Block agent is capable of hosting the Individual.</p>
</li>
</ol>
</div>
</li>
</ol>
</div>
</div>
<div class="section" title="Reference">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Reference_2"></a>Reference</h3>
</div>
</div>
</div>
<div class="section" title="Diagrams">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Diagrams_2"></a>Diagrams</h4>
</div>
</div>
</div>
<p>The following diagram may be helpful to readers familiar with UML and Meta-modeling:</p>
<div class="section" title="Meta-Classes">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Meta-Classes_2"></a>Meta-Classes</h5>
</div>
</div>
</div>
<p>
							
</p>
<div class="mediaobject">
<img src="images/ActionsDiagram.png"></div>
<p>
						
</p>
</div>
<div class="section" title="Details">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Details_4"></a>Details</h5>
</div>
</div>
</div>
<p>In the diagram above, all meta-objects except for Input, Literal, and the enumerators (lists of options) are Actions. Blue meta-classes are concrete (you can create and use them directly). Red meta-classes are key collaborations.</p>
<div class="orderedlist">
<ol class="orderedlist" type="1">
<li class="listitem">
<p>An Act is anything that might happen during the execution of an Agent-Based Model.</p>
</li>
<li class="listitem">
<p>All Actions have as their root-most source action a Root. These are added first to any agent behavior and act as triggers for all target behavior. For example, a Watch will execute any time the watched attribute is modified. (As the diagrams do not refer to elements outside of the current package, we cannot see here that Accessor includes a reference to some Attribute, but it does. To see these kinds of relationships you will want to refer to the metaabm.ecore file itself.)#Actions are targets and sources of one another, but an Act can never have itself as a source. (That is, Actions are acyclic, but branches can re-converge. When we refer to an Act source or target, we typically mean to include all ancestors or descendants, not just the immediately connected Act.)</p>
</li>
<li class="listitem">
<p>All Actions (except for root Actions) reference a Select, referred to as the "selected" relation. An ASelect represents the model aspects that the Act is working within; that is, the spatial, temporal and type (agent) "world" that is currently being selected.</p>
</li>
<li class="listitem">
<p>Commands trigger some model state change (Set) or spatial transformation (Transform).</p>
</li>
<li class="listitem">
<p>Controls determine whether target Actions are executed and against what agents. They are in some sense query terms and include Query actions and Logic Actions.</p>
</li>
<li class="listitem">
<p>Transforms also specify a "destination" Select. This represents aspects that the selected agent(s) will transform to. For example, a Move may use a Rule to select all SugarAgents (type) in the SugarGrid (space) every period (time) and move them to a destination of a neighboring SugarCell (type) in the SugarGrid (space, with time implicit).</p>
</li>
<li class="listitem">
<p>Sinks are Actions which use some Function (see next section) to interpret state in the form of Inputs. Inputs can come from selected agent attributes, other Actions, or literal values.</p>
</li>
</ol>
</div>
</div>
</div>
</div>
</div>
<div class="section" title="Functions">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">
<a name="Functions"></a>Functions</h2>
</div>
</div>
</div>
<div class="section" title="Overview">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Overview_4"></a>Overview</h3>
</div>
</div>
</div>
<p>Functions are relatively simple in terms of model design, but we need to understand how particular functions work in order to develop models. Functions are divided in two ways. By type:</p>
<div class="orderedlist">
<ol class="orderedlist" type="1">
<li class="listitem">
<p>Operators are simple calculations sharing the same type.</p>
</li>
<li class="listitem">
<p>Functions that can represent any general function that takes some well-defined input(s) and returns some well-defined output(s).</p>
</li>
</ol>
</div>
<p>And by usage:</p>
<div class="orderedlist">
<ol class="orderedlist" type="1">
<li class="listitem">
<p>Generics can return any value and are used in Evaluate actions.</p>
</li>
<li class="listitem">
<p>Logicals return some boolean result and are used by Query actions to decide whether target Actions apply to a particular selection, and by Evaluate actions just as with any other functions. Input types should be defined as generally as possible.</p>
</li>
</ol>
</div>
<p>These overlap, so we have operators, logical operators, functions and logical functions. Functions are also divided into categories. We'll go through each of these in depth below.</p>
<p>The most important thing to point out about functions is that - as we've seen with other Acore concepts -- they provide richer sets of functionality than traditional approaches. Many functions are designed to collaborate with one another as we'll see when looking at Spatial and Graphical functions. Functions can also trigger the creation of related model artifacts as we'll see with the Distribution functions.</p>
<p>A technical note: conceptually, functions can return multi-values, but that is not currently implemented in the reference targets because of limitations of the target language Java.</p>
</div>
<div class="section" title="Details">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Details_5"></a>Details</h3>
</div>
</div>
</div>
<div class="section" title="General Functions">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="General_Functions"></a>General Functions</h4>
</div>
</div>
</div>
<p>Naturally, the Modeling tools provide general functions for performing calculations, comparisons and more complex mathematical expressions. The function library can be easily extended, and we'll be adding additional capabilities over time. As always, we welcome feedback and we'd like to hear what functions you need that aren't covered here.</p>
<div class="section" title="Logical Operators">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Logical_Operators"></a>Logical Operators</h5>
</div>
</div>
</div>
<div class="section" title="Not">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Not"></a>Not</h6>
</div>
</div>
</div>
<p>The result of the expression !X.</p>
</div>
<div class="section" title="Equal">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Equal"></a>Equal</h6>
</div>
</div>
</div>
<p>The result of the expression X==Y.</p>
</div>
<div class="section" title="Identical">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Identical"></a>Identical</h6>
</div>
</div>
</div>
<p>The result of the expression X==Y.</p>
</div>
<div class="section" title="Greater">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Greater"></a>Greater</h6>
</div>
</div>
</div>
<p>The result of the expression X&gt;Y.</p>
</div>
<div class="section" title="Lesser">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Lesser"></a>Lesser</h6>
</div>
</div>
</div>
<p>The result of the expression X&lt;Y.</p>
</div>
<div class="section" title="Greater or Equal">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Greater_or_Equal"></a>Greater or Equal</h6>
</div>
</div>
</div>
<p>The result of the expression X&gt;=Y.</p>
</div>
<div class="section" title="Lesser or Equal">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Lesser_or_Equal"></a>Lesser or Equal</h6>
</div>
</div>
</div>
<p>The result of the expression X&lt;=Y.</p>
</div>
<div class="section" title="True">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="True"></a>True</h6>
</div>
</div>
</div>
<p>The result of the expression true.</p>
</div>
<div class="section" title="False">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="False"></a>False</h6>
</div>
</div>
</div>
<p>The result of the expression false.</p>
</div>
<div class="section" title="Identity">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Identity"></a>Identity</h6>
</div>
</div>
</div>
<p>The result of the expression X.</p>
</div>
<div class="section" title="Different">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Different"></a>Different</h6>
</div>
</div>
</div>
<p>The result of the expression X!=Y.</p>
</div>
</div>
<div class="section" title="Numeric Operators">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Numeric_Operators"></a>Numeric Operators</h5>
</div>
</div>
</div>
<div class="section" title="Negative Value">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Negative_Value"></a>Negative Value</h6>
</div>
</div>
</div>
<p>The result of the expression -X.</p>
</div>
<div class="section" title="Add">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Add"></a>Add</h6>
</div>
</div>
</div>
<p>The result of the expression X+Y.</p>
</div>
<div class="section" title="Subtract">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Subtract"></a>Subtract</h6>
</div>
</div>
</div>
<p>The result of the expression X-Y.</p>
</div>
<div class="section" title="Multiply">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Multiply"></a>Multiply</h6>
</div>
</div>
</div>
<p>The result of the expression X*Y.</p>
</div>
<div class="section" title="Divide">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Divide"></a>Divide</h6>
</div>
</div>
</div>
<p>The result of the expression X/Y.</p>
</div>
<div class="section" title="Power">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Power"></a>Power</h6>
</div>
</div>
</div>
<p>The result of the expression X^Y.</p>
</div>
<div class="section" title="Modulo">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Modulo"></a>Modulo</h6>
</div>
</div>
</div>
<p>The result of the expression X%Y.</p>
</div>
<div class="section" title="Increment">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Increment"></a>Increment</h6>
</div>
</div>
</div>
<p>The result of the expression ++X.</p>
</div>
<div class="section" title="Decrement">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Decrement"></a>Decrement</h6>
</div>
</div>
</div>
<p>The result of the expression --X.</p>
</div>
<div class="section" title="Unit Value">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Unit_Value"></a>Unit Value</h6>
</div>
</div>
</div>
<p>The result of the expression 1.</p>
</div>
<div class="section" title="Zero Value">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Zero_Value"></a>Zero Value</h6>
</div>
</div>
</div>
<p>The result of the expression 0.</p>
</div>
<div class="section" title="Original Value">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Original_Value"></a>Original Value</h6>
</div>
</div>
</div>
<p>The result of the expression o.</p>
</div>
</div>
<div class="section" title="Math">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Math"></a>Math</h5>
</div>
</div>
</div>
<p>The math functions use the extremely well specified and tested routines form the Java Math library. (Because of copyright restrictions, we aren't able to include the exact definitions here. Click on the links to get more details on each function.)</p>
<div class="section" title="Sine">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Sine"></a>Sine</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#sin(double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#sin(double)</a>
							
</p>
</div>
<div class="section" title="Cosine">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Cosine"></a>Cosine</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#cos(double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#cos(double)</a>
							
</p>
</div>
<div class="section" title="Tangent">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Tangent"></a>Tangent</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#tan(double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#tan(double)</a>
							
</p>
</div>
<div class="section" title="Arc Sine">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Arc_Sine"></a>Arc Sine</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#asin(double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#asin(double)</a>
							
</p>
</div>
<div class="section" title="Arc Cosine">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Arc_Cosine"></a>Arc Cosine</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#acos(double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#acos(double)</a>
							
</p>
</div>
<div class="section" title="Arc Tangent">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Arc_Tangent"></a>Arc Tangent</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#atan(double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#atan(double)</a>
							
</p>
</div>
<div class="section" title="Convert Degree to Radians">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Convert_Degree_to_Radians"></a>Convert Degree to Radians</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#toRadians(double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#toRadians(double)</a>
							
</p>
</div>
<div class="section" title="Convert Radians to Degrees">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Convert_Radians_to_Degrees"></a>Convert Radians to Degrees</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#toDegrees(double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#toDegrees(double)</a>
							
</p>
</div>
<div class="section" title="Exp">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Exp"></a>Exp</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#exp(double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#exp(double)</a>
							
</p>
</div>
<div class="section" title="Log">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Log"></a>Log</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#log(double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#log(double)</a>
							
</p>
</div>
<div class="section" title="Log b10">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Log_b10"></a>Log b10</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#log10(double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#log10(double)</a>
							
</p>
</div>
<div class="section" title="Square Root">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Square_Root"></a>Square Root</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#squareRoot(double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#squareRoot(double)</a>
							
</p>
</div>
<div class="section" title="Cube Root">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Cube_Root"></a>Cube Root</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#cbrt(double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#cbrt(double)</a>
							
</p>
</div>
<div class="section" title="Remainder">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Remainder"></a>Remainder</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#iEEEremainder(double,%20double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#iEEEremainder(double,%20double)</a>
							
</p>
</div>
<div class="section" title="Ceiling">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Ceiling"></a>Ceiling</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#ceil(double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#ceil(double)</a>
							
</p>
</div>
<div class="section" title="Floor">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Floor"></a>Floor</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#floor(double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#floor(double)</a>
							
</p>
</div>
<div class="section" title="Rount">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Rount"></a>Rount</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#rint(double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#rint(double)</a>
							
</p>
</div>
<div class="section" title="Arc Tangent Rectangular">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Arc_Tangent_Rectangular"></a>Arc Tangent Rectangular</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#atan2(double,%20double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#atan2(double,%20double)</a>
							
</p>
</div>
<div class="section" title="Power">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Power_2"></a>Power</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#pow(double,%20double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#pow(double,%20double)</a>
							
</p>
</div>
<div class="section" title="Absolute Value">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Absolute_Value"></a>Absolute Value</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#abs(double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#abs(double)</a>
							
</p>
</div>
<div class="section" title="Maximum">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Maximum"></a>Maximum</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#max(double,%20double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#max(double,%20double)</a>
							
</p>
</div>
<div class="section" title="Minimum">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Minimum"></a>Minimum</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#min(double,%20double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#min(double,%20double)</a>
							
</p>
</div>
<div class="section" title="ULP">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="ULP"></a>ULP</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#ulp(double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#ulp(double)</a>
							
</p>
</div>
<div class="section" title="Sign">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Sign"></a>Sign</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#signum(double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#signum(double)</a>
							
</p>
</div>
<div class="section" title="Hyperbolic Sine">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Hyperbolic_Sine"></a>Hyperbolic Sine</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#sinh(double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#sinh(double)</a>
							
</p>
</div>
<div class="section" title="Hyperbolic Cosine">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Hyperbolic_Cosine"></a>Hyperbolic Cosine</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#cosh(double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#cosh(double)</a>
							
</p>
</div>
<div class="section" title="Hyperbolic Tan">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Hyperbolic_Tan"></a>Hyperbolic Tan</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#tanh(double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#tanh(double)</a>
							
</p>
</div>
<div class="section" title="Hypotuneuse">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Hypotuneuse"></a>Hypotuneuse</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#hypotuneuse(double,%20double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#hypotuneuse(double,%20double)</a>
							
</p>
</div>
<div class="section" title="Expm1">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Expm1"></a>Expm1</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#expm1(double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#expm1(double)</a>
							
</p>
</div>
<div class="section" title="Log1p">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Log1p"></a>Log1p</h6>
</div>
</div>
</div>
<p>See JavaDoc: 
								<a class="ulink" href="http://java.sun.com/javase/6/docs/api/java/lang/Math.html#log1p(double)" target="_new">http://java.sun.com/javase/6/docs/api/java/lang/Math.html#log1p(double)</a>
							
</p>
</div>
</div>
</div>
<div class="section" title="Random">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Random"></a>Random</h4>
</div>
</div>
</div>
<div class="section" title="Design">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Design_2"></a>Design</h5>
</div>
</div>
</div>
<p>Random functions are especially significant for agent models. Of particular interest are the weighted membership and random state and boolean value functions. You should be familiar with these functions so that you don't have to create more complex Action flows to accomplish the same thing.</p>
<p>Note that we only have support for uniform distributions as of this release. We're working on a collaborative design for evaluations that allow easy mixing and matching of random functions and distributions.</p>
</div>
<div class="section" title="Details">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Details_6"></a>Details</h5>
</div>
</div>
</div>
<div class="section" title="Random In Range">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Random_In_Range"></a>Random In Range</h6>
</div>
</div>
</div>
<p>A pseudo-random value within that numeric range specified as drawn from a uniform distribution. The minimum values are inclusive. The maximum values are inclusive for integer inputs and exclusive for Real inputs.</p>
<div class="literallayout">
<p>Inputs:<br>
[Numeral]&nbsp;The&nbsp;minimum&nbsp;value&nbsp;(inclusive).<br>
[Numeral]&nbsp;The&nbsp;maximum&nbsp;value&nbsp;(inclusive).<br>
Outputs:<br>
[Numeral]&nbsp;The&nbsp;random&nbsp;number.<br>

</p>
</div>
</div>
<div class="section" title="Random To Limit">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Random_To_Limit"></a>Random To Limit</h6>
</div>
</div>
</div>
<p>A pseudo-random value between zero and the value specified by the (non-zero) input and drawn from a uniform range. That value is inclusive for Integers and exclusive for Reals. (Note that as with the random in range function in the context of real numbers the distinction between an exclusive and inclusive limit is essentially meaningless.)</p>
<div class="literallayout">
<p>Inputs:<br>
[Numeral]&nbsp;The&nbsp;maximum&nbsp;value&nbsp;(inclusive).<br>
Outputs:<br>
[Numeral]&nbsp;The&nbsp;result.<br>

</p>
</div>
</div>
<div class="section" title="Random Unit">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Random_Unit"></a>Random Unit</h6>
</div>
</div>
</div>
<p>A pseudo-random Real value between 0 and 1 drawn from a uniform distribution. (The distinction between inclusive and exclusive range is essentially meaningless in this context and we can assume that the result will never be greater or equal to 1.)</p>
<div class="literallayout">
<p>Outputs:<br>
[Real]&nbsp;<br>

</p>
</div>
</div>
<div class="section" title="Random Boolean">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Random_Boolean"></a>Random Boolean</h6>
</div>
</div>
</div>
<p>A value that is randomly true or false, i.e. a fair coin toss.</p>
</div>
<div class="section" title="Random Weighted">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Random_Weighted"></a>Random Weighted</h6>
</div>
</div>
</div>
<p>An indexed value weighted against a probability distribution. The total probability must sum to 1.0. For example, an input of {.1,.2,.7} under a uniform distribution would would have 10% probability of producing "0" , 20%  for "1" and 70% for "2". This function can then be used with Item to return a biased result from another list.</p>
<div class="literallayout">
<p>Inputs:<br>
[Real]&nbsp;A&nbsp;list&nbsp;of&nbsp;values&nbsp;that&nbsp;will&nbsp;determine&nbsp;the&nbsp;resulting&nbsp;weighted&nbsp;index.<br>
Outputs:<br>
[Integer]&nbsp;A&nbsp;resulting&nbsp;indexed&nbsp;value&nbsp;bounded&nbsp;by&nbsp;0&nbsp;and&nbsp;the&nbsp;length&nbsp;of&nbsp;the&nbsp;input&nbsp;list&nbsp;-&nbsp;1.<br>

</p>
</div>
</div>
<div class="section" title="Random Member">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Random_Member"></a>Random Member</h6>
</div>
</div>
</div>
<p>Represents a random value drawn from the set of Real values specified.</p>
<div class="literallayout">
<p>Inputs:<br>
[Real]&nbsp;Returns&nbsp;a&nbsp;random&nbsp;member&nbsp;of&nbsp;the&nbsp;supplied&nbsp;list&nbsp;of&nbsp;numbers.<br>
Outputs:<br>
[Generic]&nbsp;The&nbsp;value&nbsp;of&nbsp;the&nbsp;item&nbsp;at&nbsp;a&nbsp;random&nbsp;index.<br>

</p>
</div>
</div>
<div class="section" title="Random State">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Random_State"></a>Random State</h6>
</div>
</div>
</div>
<p>A random specified value (option) from the specified state.</p>
<div class="literallayout">
<p>Inputs:<br>
[Generic]&nbsp;The&nbsp;state&nbsp;to&nbsp;select&nbsp;items&nbsp;from.&nbsp;All&nbsp;items&nbsp;are&nbsp;included.<br>
Outputs:<br>
[Boolean]&nbsp;The&nbsp;resulting&nbsp;option.&nbsp;<br>

</p>
</div>
</div>
</div>
</div>
<div class="section" title="Space">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Space_3"></a>Space</h4>
</div>
</div>
</div>
<div class="section" title="Design">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Design_3"></a>Design</h5>
</div>
</div>
</div>
<p>Spatial functions provide the core functionality for Agent Models. Spatial functions are polymorphic, which basically means that they don't care what space they are operating on as long as that space is suitable for them. Spatial functions are designed to collaborate with one another. For example, by intersecting the "Neighbor", "Available" and "Toward" functions, we can design a rule that causes the agent to move to the next neighboring cell that get's it closer to some target agent. See the function details for more information.</p>
</div>
<div class="section" title="Details">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Details_7"></a>Details</h5>
</div>
</div>
</div>
<div class="section" title="Nearest">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Nearest"></a>Nearest</h6>
</div>
</div>
</div>
<p>Represents the nearest agents (including gird cells) or locations to this agent. If more than one agent or location is the same distance away they will all be considered. Note that while this function is defined for the selection of an agent, the result of this function is defined by the context within which it is used. If the selection specifies another agent within a space, this function will represent the nearest agent in that space. If the selection specifies a Cell within a grid space, this function will represent that cell.</p>
</div>
<div class="section" title="Toward">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Toward"></a>Toward</h6>
</div>
</div>
</div>
<p>Represents a location that is on the shortest path to a particular agent or location from the source agent (that is, the selection's selection's agent). This function collaborates with the within and neighbor functions to allow the agent to move in a particular direction towards some objective.</p>
</div>
<div class="section" title="Within">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Within_4"></a>Within</h6>
</div>
</div>
</div>
<p>Represents a limit to the distance of a spatial search. When used in combination with other spatial functions such as "nearest" requires that all agents or locations must be within the distance specified by the input value.</p>
<div class="literallayout">
<p>Inputs:<br>
[Numeral]&nbsp;<br>

</p>
</div>
</div>
<div class="section" title="Neighbor">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Neighbor"></a>Neighbor</h6>
</div>
</div>
</div>
<p>Represents any agents that are nearest neighbors to the agent, that is nominally of distance 1. This function is only relevant in discrete spaces -- grids and networks -- where there are immediate neighboring cells as defined by the geometry of the selection's space.</p>
</div>
<div class="section" title="Include Self">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Include_Self"></a>Include Self</h6>
</div>
</div>
</div>
<p>Specifies whether the agent that we are searching from -- that is, the agent of the selection for this Query Action's selection -- is included in the results of the search.</p>
</div>
<div class="section" title="Within 2D Boundary">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Within_2D_Boundary"></a>Within 2D Boundary</h6>
</div>
</div>
</div>
<p>Represents agents or locations that exist within the boundary specified by the inputs.</p>
<div class="literallayout">
<p>Inputs:<br>
[Numeral]&nbsp;<br>

</p>
</div>
</div>
<div class="section" title="Here">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Here"></a>Here</h6>
</div>
</div>
</div>
<p>Represents the location of the searching agent. For example, if a selection is defined for an agent cell, and that selection's selection's agent is an occupant of a cell, the cell that the agent is occupying will be used. </p>
</div>
<div class="section" title="Available">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Available"></a>Available</h6>
</div>
</div>
</div>
<p>Represents cells which are not currently occupied. This function is only relevant for grids which are not multi-occupant.</p>
</div>
<div class="section" title="Distance">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Distance"></a>Distance</h6>
</div>
</div>
</div>
<p>The distance between the source agent and an agent represented by this selection. If more than one agent is represented by the other functions in the selection, this function will the distance to an arbitrary (randomly selected) agent as defined by those other functions.</p>
<div class="literallayout">
<p>Outputs:<br>
[Real]&nbsp;<br>

</p>
</div>
</div>
<div class="section" title="Away">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Away"></a>Away</h6>
</div>
</div>
</div>
<p>Represents a location that is on the path that will take the source agent (that is, the selection's selection's agent) the farthest distance from the agent(s) represented by the search. This function collaborates with the within and neighbor functions to allow the agent to move in a particular direction away from some location or agent.</p>
</div>
<div class="section" title="Minimize">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Minimize"></a>Minimize</h6>
</div>
</div>
</div>
<p>This function is not currently supported.</p>
</div>
<div class="section" title="Maximize">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Maximize"></a>Maximize</h6>
</div>
</div>
</div>
<p>This function is not currently supported.</p>
</div>
<div class="section" title="Location 2D">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Location_2D"></a>Location 2D</h6>
</div>
</div>
</div>
<p>Represents the location of the current agent for use in subsequent selections.</p>
<div class="literallayout">
<p>Inputs:<br>
[Real]&nbsp;<br>
[Real]&nbsp;<br>

</p>
</div>
</div>
<div class="section" title="Boundary 2D">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Boundary_2D"></a>Boundary 2D</h6>
</div>
</div>
</div>
<p>Represents a two-dimensional boundary within a space. (Not currently relevant for any general usages.)</p>
<div class="literallayout">
<p>Outputs:<br>
[Real]&nbsp;<br>
[Real]&nbsp;<br>

</p>
</div>
</div>
</div>
<div class="section" title="Example">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Example_2"></a>Example</h5>
</div>
</div>
</div>
<p>For examples of how spatial functions can be used within action flows to provide agents with complex movement behaviors, see the Modelers Guide actions examples. In the following example from that section, we define an action that causes a partner agent to move to an available neighboring space.</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/ActionsExampleNew.png"></div>
<p>
						
</p>
</div>
</div>
<div class="section" title="Time">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Time"></a>Time</h4>
</div>
</div>
</div>
<div class="section" title="Details">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Details_8"></a>Details</h5>
</div>
</div>
</div>
<div class="section" title="Now">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Now"></a>Now</h6>
</div>
</div>
</div>
<p>The current simulation period, that is the number of iterations that the model has gone through, or in the case of models with callibrarted time, the number of iterations added to the model's nominal start time.</p>
<div class="literallayout">
<p>Outputs:<br>
[Integer]&nbsp;The&nbsp;current&nbsp;period.<br>

</p>
</div>
</div>
</div>
</div>
<div class="section" title="Graphics">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Graphics"></a>Graphics</h4>
</div>
</div>
</div>
<div class="section" title="Design">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Design_4"></a>Design</h5>
</div>
</div>
</div>
<p>Graphic functions are combined within Style Evaluate Actions to determine how to draw an agent within a visualization. One nice aspect of this approach is that the same style definition can be used in multiple places without changing any code. For example, the same style could be used to draw an agent on a two-dimensional grid within Escape, a three-dimensional shape within Escape, a Java Swing based visualization in Ascape, and an XML configured visualizaiton in Repast Simphony.</p>
<p>To define a graphic style for an agent, design a flow in which you create Evaluate Actions for color and shape, and then create an Evaluate Action with the graphic fill or outline function as a target of these.</p>
</div>
<div class="section" title="Details">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Details_9"></a>Details</h5>
</div>
</div>
</div>
<div class="section" title="Shape Oval">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Shape_Oval"></a>Shape Oval</h6>
</div>
</div>
</div>
<p>Draw a generic oval.</p>
</div>
<div class="section" title="Shape Rectangle">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Shape_Rectangle"></a>Shape Rectangle</h6>
</div>
</div>
</div>
<p>Draws a rectangular shape.</p>
</div>
<div class="section" title="Shape Inset">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Shape_Inset"></a>Shape Inset</h6>
</div>
</div>
</div>
<p>Shrinks the current shape by the input amount. (The overall scale is currently unspecified, but in most implementations should be 20.)</p>
<div class="literallayout">
<p>Inputs:<br>
[Integer]&nbsp;Number&nbsp;of&nbsp;nominal&nbsp;pixels&nbsp;to&nbsp;inset.<br>

</p>
</div>
</div>
<div class="section" title="Shape Marker">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Shape_Marker"></a>Shape Marker</h6>
</div>
</div>
</div>
<p>Draw a marker, that is a graphical indicator that can be used to add an additional cue about the object state. For example, in a two-dimensional graphics representation this might be a small shape drawn inset at the corner of the larger shape. </p>
</div>
<div class="section" title="Shape Marker 2">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Shape_Marker_2"></a>Shape Marker 2</h6>
</div>
</div>
</div>
<p>Represents a marker placed in a different location from the other shape markers.</p>
</div>
<div class="section" title="Shape Marker 3">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Shape_Marker_3"></a>Shape Marker 3</h6>
</div>
</div>
</div>
<p>Represents a marker placed in a different location from the other shape markers.</p>
</div>
<div class="section" title="Color RGB">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Color_RGB"></a>Color RGB</h6>
</div>
</div>
</div>
<p>A color specified by the three inputs for Red, Green and Blue color components. Those inputs are expected to be in the range 0..1.</p>
<div class="literallayout">
<p>Inputs:<br>
[Real]&nbsp;A&nbsp;value&nbsp;from&nbsp;0.0&nbsp;to&nbsp;1.0.<br>
[Real]&nbsp;A&nbsp;value&nbsp;from&nbsp;0.0&nbsp;to&nbsp;1.0.<br>
[Real]&nbsp;A&nbsp;value&nbsp;from&nbsp;0.0&nbsp;to&nbsp;1.0.<br>

</p>
</div>
</div>
<div class="section" title="Color Red">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Color_Red"></a>Color Red</h6>
</div>
</div>
</div>
<p>The color red.</p>
</div>
<div class="section" title="Color Yellow">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Color_Yellow"></a>Color Yellow</h6>
</div>
</div>
</div>
<p>The color yellow.</p>
</div>
<div class="section" title="Color Blue">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Color_Blue"></a>Color Blue</h6>
</div>
</div>
</div>
<p>The color blue.</p>
</div>
<div class="section" title="Color Orange">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Color_Orange"></a>Color Orange</h6>
</div>
</div>
</div>
<p>The color orange.</p>
</div>
<div class="section" title="Color Green">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Color_Green"></a>Color Green</h6>
</div>
</div>
</div>
<p>The color green.</p>
</div>
<div class="section" title="Color Purple">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Color_Purple"></a>Color Purple</h6>
</div>
</div>
</div>
<p>The color purple.</p>
</div>
<div class="section" title="Color Black">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Color_Black"></a>Color Black</h6>
</div>
</div>
</div>
<p>The color black.</p>
</div>
<div class="section" title="Color White">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Color_White"></a>Color White</h6>
</div>
</div>
</div>
<p>The color white.</p>
</div>
<div class="section" title="Color Gray">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Color_Gray"></a>Color Gray</h6>
</div>
</div>
</div>
<p>The color gray.</p>
</div>
<div class="section" title="Graphic Outline">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Graphic_Outline"></a>Graphic Outline</h6>
</div>
</div>
</div>
<p>Draws an outline of the last evaluated shape, using the last specified color or the default color (usually black) if none has been specified.</p>
</div>
<div class="section" title="Graphic Fill">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Graphic_Fill"></a>Graphic Fill</h6>
</div>
</div>
</div>
<p>Fills the last evaluated shape with the last specified color or the default color (usually black) if none has been specified.</p>
</div>
</div>
<div class="section" title="Example">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Example_3"></a>Example</h5>
</div>
</div>
</div>
<p>In the following action flow for the epidemic style, we've create Query Actions to determine each agent's current state, picked a color based on that, and then used a shared target to select a shape for the agent style and fill it:</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/GraphicsFunctionExampleDesign.png"></div>
<p>
						
</p>
<p>After saving the model we can execute the two and three dimensional visualizations. Note something really nice -- even the charts have used the colors we've defined!</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/GraphicsFunctionExampleRun.png"></div>
<p>
						
</p>
</div>
</div>
<div class="section" title="Lists">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Lists"></a>Lists</h4>
</div>
</div>
</div>
<div class="section" title="Details">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Details_10"></a>Details</h5>
</div>
</div>
</div>
<div class="section" title="Item">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Item"></a>Item</h6>
</div>
</div>
</div>
<p>Returns the item at the specified index from the list of items provided. Those items will typically be input primitives such as Integer or Real values.</p>
<div class="literallayout">
<p>Inputs:<br>
[Generic]&nbsp;<br>
[Integer]&nbsp;<br>
Outputs:<br>
[Generic]&nbsp;<br>

</p>
</div>
</div>
<div class="section" title="Length">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Length"></a>Length</h6>
</div>
</div>
</div>
<p>The number of items in the provided list of items.</p>
<div class="literallayout">
<p>Inputs:<br>
[Generic]&nbsp;<br>
Outputs:<br>
[Integer]&nbsp;<br>

</p>
</div>
</div>
</div>
</div>
<div class="section" title="Attribute Distributions">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Attribute_Distributions"></a>Attribute Distributions</h4>
</div>
</div>
</div>
<p>One of the most common tasks in the Agent Modeling process is the creation of agents with particular states drawn from a distribution. For example, you might want to create a number of agents with wealth randomly distributed between some minimum and maximum values. The distribution functions greatly ease the process of setting up those initializations and their associated parameters.</p>
<div class="section" title="Distribution">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Distribution"></a>Distribution</h5>
</div>
</div>
</div>
<div class="section" title="Uniform Cross Distribution">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Uniform_Cross_Distribution"></a>Uniform Cross Distribution</h6>
</div>
</div>
</div>
<p>A random number taken from a distribution of values as defined by a cross of all values. (See Cross Distribution.) This funciton then returns a value drawn from the minimum and maximum values as determined by the current agent state. In the cross distribution, each of the values is treated independently so that an input attribute is created for every potential combination of states.</p>
<div class="literallayout">
<p>Inputs:<br>
[Generic]&nbsp;The&nbsp;list&nbsp;of&nbsp;states&nbsp;to&nbsp;factor&nbsp;into&nbsp;the&nbsp;distribution.&nbsp;This&nbsp;is&nbsp;a&nbsp;multi-argument,&nbsp;which&nbsp;means&nbsp;that&nbsp;you&nbsp;can&nbsp;specify&nbsp;any&nbsp;number&nbsp;of&nbsp;attributes&nbsp;as&nbsp;arguments.<br>
[Real]&nbsp;The&nbsp;set&nbsp;of&nbsp;attributes&nbsp;that&nbsp;will&nbsp;determine&nbsp;the&nbsp;minimum&nbsp;value&nbsp;of&nbsp;the&nbsp;function&nbsp;result&nbsp;based&nbsp;on&nbsp;the&nbsp;current&nbsp;state&nbsp;of&nbsp;the&nbsp;agent.&nbsp;Note&nbsp;that&nbsp;this&nbsp;list&nbsp;is&nbsp;automatically&nbsp;created&nbsp;and&nbsp;maintained.&nbsp;These&nbsp;values&nbsp;don't&nbsp;need&nbsp;to&nbsp;be&nbsp;and&nbsp;should&nbsp;not&nbsp;be&nbsp;manually&nbsp;edited.<br>
[Real]&nbsp;The&nbsp;set&nbsp;of&nbsp;attributes&nbsp;that&nbsp;will&nbsp;determine&nbsp;the&nbsp;maximum&nbsp;value&nbsp;of&nbsp;the&nbsp;function&nbsp;result&nbsp;based&nbsp;on&nbsp;the&nbsp;current&nbsp;state&nbsp;of&nbsp;the&nbsp;agent.&nbsp;Note&nbsp;that&nbsp;this&nbsp;list&nbsp;is&nbsp;automatically&nbsp;created&nbsp;and&nbsp;maintained.&nbsp;These&nbsp;values&nbsp;don't&nbsp;need&nbsp;to&nbsp;be&nbsp;and&nbsp;should&nbsp;not&nbsp;be&nbsp;manually&nbsp;edited.<br>
Outputs:<br>
[Real]&nbsp;The&nbsp;resulting&nbsp;random&nbsp;number&nbsp;based&nbsp;on&nbsp;the&nbsp;current&nbsp;agent&nbsp;state&nbsp;and&nbsp;the&nbsp;input&nbsp;parameters.<br>

</p>
</div>
</div>
<div class="section" title="Uniform Additive Distribution">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Uniform_Additive_Distribution"></a>Uniform Additive Distribution</h6>
</div>
</div>
</div>
<p>A random number taken from a distribution of values in which each of the minimum and maximum values are added to determine a total minimum and maximum value. (See Additive Distribution.) In the additive distribution, each of the values is treated as dependent on the others so that an input attribute is only created for each seperate state.</p>
<div class="literallayout">
<p>Inputs:<br>
[Generic]&nbsp;The&nbsp;list&nbsp;of&nbsp;states&nbsp;to&nbsp;factor&nbsp;into&nbsp;the&nbsp;distribution.&nbsp;This&nbsp;is&nbsp;a&nbsp;multi-argument,&nbsp;which&nbsp;means&nbsp;that&nbsp;you&nbsp;can&nbsp;specify&nbsp;any&nbsp;number&nbsp;of&nbsp;attributes&nbsp;as&nbsp;arguments.<br>
[Real]&nbsp;The&nbsp;set&nbsp;of&nbsp;attributes&nbsp;that&nbsp;will&nbsp;determine&nbsp;the&nbsp;minimum&nbsp;value&nbsp;of&nbsp;the&nbsp;function&nbsp;result&nbsp;based&nbsp;on&nbsp;the&nbsp;current&nbsp;state&nbsp;of&nbsp;the&nbsp;agent.&nbsp;Note&nbsp;that&nbsp;this&nbsp;list&nbsp;is&nbsp;automatically&nbsp;created&nbsp;and&nbsp;maintained.&nbsp;These&nbsp;values&nbsp;don't&nbsp;need&nbsp;to&nbsp;be&nbsp;and&nbsp;should&nbsp;not&nbsp;be&nbsp;manually&nbsp;edited.<br>
[Real]&nbsp;The&nbsp;set&nbsp;of&nbsp;attributes&nbsp;that&nbsp;will&nbsp;determine&nbsp;the&nbsp;maximum&nbsp;value&nbsp;of&nbsp;the&nbsp;function&nbsp;result&nbsp;based&nbsp;on&nbsp;the&nbsp;current&nbsp;state&nbsp;of&nbsp;the&nbsp;agent.&nbsp;Note&nbsp;that&nbsp;this&nbsp;list&nbsp;is&nbsp;automatically&nbsp;created&nbsp;and&nbsp;maintained.&nbsp;These&nbsp;values&nbsp;don't&nbsp;need&nbsp;to&nbsp;be&nbsp;and&nbsp;should&nbsp;not&nbsp;be&nbsp;manually&nbsp;edited.<br>
Outputs:<br>
[Real]&nbsp;The&nbsp;resulting&nbsp;random&nbsp;number&nbsp;based&nbsp;on&nbsp;the&nbsp;current&nbsp;agent&nbsp;state&nbsp;and&nbsp;the&nbsp;input&nbsp;parameters.<br>

</p>
</div>
</div>
<div class="section" title="Cross Distribution">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Cross_Distribution"></a>Cross Distribution</h6>
</div>
</div>
</div>
<p>A value taken from a set of (auto-generated) attributes based on the value of each state included. For example, if the multi-values included a state X with values A and B and a state Y with values I and II, this distribution would create separate input attributes for AI, AII, BI and BII. Then for an agent with States A and II this function would return the value specified by the AII input attribute.</p>
<div class="literallayout">
<p>Inputs:<br>
[Generic]&nbsp;The&nbsp;list&nbsp;of&nbsp;states&nbsp;to&nbsp;factor&nbsp;into&nbsp;the&nbsp;distribution.&nbsp;This&nbsp;is&nbsp;a&nbsp;multi-argument,&nbsp;which&nbsp;means&nbsp;that&nbsp;you&nbsp;can&nbsp;specify&nbsp;any&nbsp;number&nbsp;of&nbsp;attributes&nbsp;as&nbsp;arguments.<br>
[Real]&nbsp;The&nbsp;set&nbsp;of&nbsp;attributes&nbsp;that&nbsp;when&nbsp;multiplied&nbsp;against&nbsp;each&nbsp;other&nbsp;will&nbsp;determine&nbsp;the&nbsp;value&nbsp;of&nbsp;the&nbsp;function&nbsp;result&nbsp;based&nbsp;on&nbsp;the&nbsp;current&nbsp;state&nbsp;of&nbsp;the&nbsp;agent.&nbsp;Note&nbsp;that&nbsp;this&nbsp;list&nbsp;is&nbsp;automatically&nbsp;created&nbsp;and&nbsp;maintained.&nbsp;These&nbsp;values&nbsp;don't&nbsp;need&nbsp;to&nbsp;be&nbsp;and&nbsp;should&nbsp;not&nbsp;be&nbsp;manually&nbsp;edited.<br>
Outputs:<br>
[Real]&nbsp;The&nbsp;resulting&nbsp;value&nbsp;based&nbsp;on&nbsp;the&nbsp;current&nbsp;agent&nbsp;state&nbsp;and&nbsp;the&nbsp;input&nbsp;parameters.<br>

</p>
</div>
</div>
<div class="section" title="Additive Distribution">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Additive_Distribution"></a>Additive Distribution</h6>
</div>
</div>
</div>
<p>A value taken from a set of (auto-generated) attributes based on the combined values of the states provided. For example, if the multi-values included a state X with values A and B and a state Y with values I and II, this distribution would create input attributes for A, B, I and II. Those values would then be added together, so that for an Agent with state A and II this function would return A + II.</p>
<div class="literallayout">
<p>Inputs:<br>
[Generic]&nbsp;The&nbsp;states&nbsp;to&nbsp;include&nbsp;in&nbsp;the&nbsp;distribution.&nbsp;This&nbsp;is&nbsp;a&nbsp;multi-argument,&nbsp;which&nbsp;means&nbsp;that&nbsp;you&nbsp;can&nbsp;specify&nbsp;any&nbsp;number&nbsp;of&nbsp;attributes&nbsp;as&nbsp;arguments.<br>
[Real]&nbsp;The&nbsp;set&nbsp;of&nbsp;attributes&nbsp;that&nbsp;when&nbsp;combined&nbsp;with&nbsp;each&nbsp;other&nbsp;determine&nbsp;the&nbsp;value&nbsp;of&nbsp;the&nbsp;function&nbsp;result&nbsp;based&nbsp;on&nbsp;the&nbsp;current&nbsp;state&nbsp;of&nbsp;the&nbsp;agent.&nbsp;Note&nbsp;that&nbsp;this&nbsp;list&nbsp;is&nbsp;automatically&nbsp;created&nbsp;and&nbsp;maintained.&nbsp;These&nbsp;values&nbsp;don't&nbsp;need&nbsp;to&nbsp;be&nbsp;and&nbsp;should&nbsp;not&nbsp;be&nbsp;manually&nbsp;edited.<br>
Outputs:<br>
[Real]&nbsp;The&nbsp;resulting&nbsp;value&nbsp;based&nbsp;on&nbsp;the&nbsp;current&nbsp;agent&nbsp;state&nbsp;and&nbsp;the&nbsp;input&nbsp;parameters.<br>

</p>
</div>
</div>
</div>
<div class="section" title="Example">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Example_4"></a>Example</h5>
</div>
</div>
</div>
<p>In the following example, we walk through the process of using a distribution functions, demonstrating how we can easily modify the Epidemic model so that instead of simply setting an initial exposed population, we can define factors that take together will determine an individuals initial exposure state. We simply:</p>
<div class="orderedlist">
<ol class="orderedlist" type="1">
<li class="listitem">
<p>Create an Evaluate Action called "Initial Status". </p>
</li>
<li class="listitem">
<p>Set the function to "Cross Distribution"</p>
</li>
<li class="listitem">
<p>Opened the "Multiple Value" node in the editor, and clicked the "Multiple Values" item within it.</p>
</li>
<li class="listitem">
<p>Selected the "Status" attribute.</p>
</li>
</ol>
</div>
<p>
							
</p>
<div class="mediaobject">
<img src="images/DistributionDesignChoice.png"></div>
<p> 
						
</p>
<p>The appropriate attributes are automatically added to the model, as you can see below.</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/DistributionDesign.png"></div>
<p> 
						
</p>
<p>In order to assign these values to the agent, we'd simply need to assign the results of this Evaluate Action to the agent.</p>
</div>
</div>
<div class="section" title="Diagrams">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Diagrams_3"></a>Diagrams</h4>
</div>
</div>
</div>
<p>The following diagram may be helpful to readers familiar with UML and Meta-modeling:</p>
<div class="section" title="Meta-Classes">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Meta-Classes_3"></a>Meta-Classes</h5>
</div>
</div>
</div>
<p>
							
</p>
<div class="mediaobject">
<img src="images/FunctionsDiagram.png"></div>
<p>
						
</p>
</div>
</div>
</div>
</div>
<div class="section" title="Tutorial">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">
<a name="Tutorial"></a>Tutorial</h2>
</div>
</div>
</div>
<div class="section" title="Designing a Model">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Designing_a_Model"></a>Designing a Model</h3>
</div>
</div>
</div>
<p>In this tutorial, we'll walk through the creation of a complete model. While the tutorial seems lengthy, that's because we've tried to be thorough in describing each step. As we demonstrate in an online video, the actual model can be created in just a couple of minutes.</p>
<div class="section" title="Model Goals">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Model_Goals"></a>Model Goals</h4>
</div>
</div>
</div>
<p>Before beginning a modeling project it is important to have a clear idea of what is being modeled and how it should be modeled. We need to know a bit about where we are going before we start. For our target, we'll use a model described in a paper written by Railsback, Lytien and Grimm. They describe "Stupid Model", a model that could be used to provide a common standard to demonstrated features of different Agent-Based Modeling platforms:</p>
<div class="orderedlist">
<ol class="orderedlist" type="1">
<li class="listitem">
<p>The space is a two-dimensional grid of dimensions 100 x 100. The space is toroidal, meaning that if bugs move off one edge of the grid they appear on the opposite edge.</p>
</li>
<li class="listitem">
<p>100 bug agents are created. They have one behavior: moving to a randomly chosen grid location within +/- 4 cells of their current location, in both the X and Y directions. If there already is a bug at the location (including the moving bug itself, bugs are not allowed to stay at their current location unless none of the neighborhood cells are vacant), then another new location is chosen. This action is executed once per time step.</p>
</li>
<li class="listitem">
<p>The bugs are displayed on the space. Bugs are drawn as red circles. The display is updated at the end of each time step.</p>
</li>
</ol>
</div>
</div>
</div>
<div class="section" title="Model Implementation">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Model_Implementation"></a>Model Implementation</h3>
</div>
</div>
</div>
<div class="section" title="Setup">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Setup"></a>Setup</h4>
</div>
</div>
</div>
<div class="section" title="Open Agent Modeling Perspective">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Open_Agent_Modeling_Perspective"></a>Open Agent Modeling Perspective</h5>
</div>
</div>
</div>
<p>A special Agent Modeling 
							<span class="bold"><strong>Perspective</strong></span> can be used to setup your 
							<span class="bold"><strong>Workspace</strong></span> for modeling. Depending on your how you installed the agent modeling tools, you can simply pick the perspective from the choices in the upper-right hand of your workbench:
						</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial0Perspective.png"></div>
<p>
						
</p>
<p>Or, if you can't see it there, you can access it by selecting the menu '''Open Perspective &gt; Other... and then selecting the Agent Modeling perspective from the provided options:</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial0Perspective2.png"></div>
<p>
						
</p>
</div>
<div class="section" title="Create Project">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Create_Project"></a>Create Project</h5>
</div>
</div>
</div>
<p>Before doing anything else, we need a project -- a folder to organize our models within. Right-click in the Package Explorer and select 
							<span class="bold"><strong>New &gt; Agent Modeling Escape Project</strong></span>.
						</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial1.png"></div>
<p>
						
</p>
</div>
<div class="section" title="Name project">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Name_project"></a>Name project</h5>
</div>
</div>
</div>
<p>We'll get a dialog allowing us to name the project. Let's call it something simple.</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial2.png"></div>
<p>
						
</p>
</div>
<div class="section" title="Create Model">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Create_Model"></a>Create Model</h5>
</div>
</div>
</div>
<p>We'll need a model as well. This is the container for all of the the agents and behaviors we'll be defining. Right-click on the project folder and choose 
							<span class="bold"><strong>New &gt; Agent Model</strong></span>.
						</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial3CreateModel.png"></div>
<p>
						
</p>
<p>You'll see a model creation wizard from which you can name the model. Just give it the name "StupidModel.metaabm".</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial4CreateModel.png"></div>
<p>
						
</p>
<p>Click 
							<span class="bold"><strong>Next</strong></span> to see some other options. We don't need to change any of this:
						</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial5CreatePage2.png"></div>
<p>
						
</p>
<p>So just click the 
							<span class="bold"><strong>Finish</strong></span> button and we're ready to move on with the tutorial.
						</p>
</div>
</div>
<div class="section" title="Structure">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Structure_2"></a>Structure</h4>
</div>
</div>
</div>
<div class="section" title="Bug Agent">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Bug_Agent"></a>Bug Agent</h5>
</div>
</div>
</div>
<div class="section" title="Create New Agent">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Create_New_Agent"></a>Create New Agent</h6>
</div>
</div>
</div>
<p>Our first step is to create an agent. The root contexts and a number of neccessary model components were already created automatically. So right-click on the root "StupidModel1" context and select 
								<span class="bold"><strong>Create Member &gt; Agent</strong></span>.
							</p>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial6Createagent.png"></div>
<p>
							
</p>
</div>
<div class="section" title="Name Agent">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Name_Agent"></a>Name Agent</h6>
</div>
</div>
</div>
<p>Let's call it "Bug". In the lower left-hand corner you should see the 
								<span class="bold"><strong>Properties</strong></span> View. This is where you'll edit model values when working with the tree editor. The properties view -- as with any other view--- can be moved anywhere within the workbench and if you can't find it -- or any other views -- you can always lcoate it through 
								<span class="bold"><strong>Window &gt; Show View &gt; Other</strong></span>. Find the "Label" property and type our new name into it. You'll see that all of the related name properites are also updated.
							</p>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial6NameBug.png"></div>
<p>
							
</p>
</div>
<div class="section" title="The Create Agent Action">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="The_Create_Agent_Action"></a>The Create Agent Action</h6>
</div>
</div>
</div>
<p>While we've been making these changes, the modeling framework has also been doing some work behind the scenes. For example, it has created an attribute and a rule to create the agents. Open the Actions node and the Attributes node to see these changes. If we look at the attributes for the model, we can see that an attribute specifying the number of agents has been created called "Bug Count". Select it, then enter "100" as the default value. The default value is the value the model will use if no value is specified anywhere else (like in the parameter launcher).</p>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial10AgentCount.png"></div>
<p>
							
</p>
<p>You might want to take a look at the Create Bugs rule, but there isn't anything we need to change there.</p>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial11BuildAgents.png"></div>
<p>
							
</p>
</div>
</div>
<div class="section" title="Grid Space">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Grid_Space"></a>Grid Space</h5>
</div>
</div>
</div>
<div class="section" title="Create Grid">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Create_Grid"></a>Create Grid</h6>
</div>
</div>
</div>
<p>Next, we'll create a grid for the Bugs to move around upon. Right-click on the StupidModel1 context and choose 
								<span class="bold"><strong>New &gt; Grid</strong></span>.
							</p>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial7CreateGrid.png"></div>
<p>
							
</p>
</div>
<div class="section" title="Set Grid Parameters">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Set_Grid_Parameters"></a>Set Grid Parameters</h6>
</div>
</div>
</div>
<p>Now, looking at the properties for the Grid we've just created, we can see that there are a number of properties to set. We want to make a number of changes.</p>
<div class="orderedlist">
<ol class="orderedlist" type="1">
<li class="listitem">
<p>Set the space's "Border Rule" property to be "Periodic" -- the edges wrap around from one ege to the other.</p>
</li>
<li class="listitem">
<p>Set the "Neighborhood" property to be "Moore" -- that's how we are going to interpret the statement "in the X and Y directions".</p>
</li>
<li class="listitem">
<p>Set the dimensionality to "2". (You might need to enlarge the Property view or use the scroll bar to see the Dimensionality property.)</p>
</li>
</ol>
</div>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial8GridParameters.png"></div>
<p>
							
</p>
<p>Again, the framework has taken care of some things for us automatically. If we now open the Grid node, we can see that "Width" and "Height" attributes have been created based on the dimensionality we've just defined. We'll set each of them to "100", so that we end up with a 100 x 100 grid. (Which is pretty large for a model of this kind, but we want to go with the basic specification.)</p>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial9GridDims.png"></div>
<p>
							
</p>
</div>
<div class="section" title="The Build Grid Action">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="The_Build_Grid_Action"></a>The Build Grid Action</h6>
</div>
</div>
</div>
<p>The Agent Modeling Framework has also created a Build Gird Action for us. If you navigate to the StupidModel1 context Actions node again, you can see the Action. If you click on it you should see the following properties set:</p>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial14BuildGridParams.png"></div>
<p>
							
</p>
<p>If you click on the 
								<span class="bold"><strong>...</strong></span> button next to the "Agents" property you'll see see the Bug, which is the agent that will be moving around upon the grid.
							</p>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial13BuildGridAgents.png"></div>
<p>
							
</p>
</div>
</div>
</div>
<div class="section" title="Actions">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Actions_3"></a>Actions</h4>
</div>
</div>
</div>
<div class="section" title="Create Initialize Rule">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Create_Initialize_Rule"></a>Create Initialize Rule</h5>
</div>
</div>
</div>
<p>Now we can make these bugs do something. Let's create our first rule. In this case we're going to create a special Initialize Action that executes once when the model is first created for each agent. All Actions begin from the agent (or style) Actions list and there are only a few Actions that can serve as roots. See the Design section of this guide for much more on that. Open the Bug node by clicking the triangle icon, right-click on the Actions node and select the '''Create Member &gt; Initialize Action.</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial15CreateInitialize.png"></div>
<p>
						
</p>
<div class="section" title="Create Select Action">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Create_Select_Action"></a>Create Select Action</h6>
</div>
</div>
</div>
<p>Next, right click on the new Initialize node and choose 
								<span class="bold"><strong>Create Member &gt; Select</strong></span> to create a Select target.
							</p>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial16CreateSelect.png"></div>
<p>
							
</p>
<p>Selects are the central building blocks of model actions and define the basis for Query and Logic Actions that can be modified and used in subsequent targets. Targets are actions that "follow from" other actions. With this Select we are going to be searching for places for the Bug to move to at the very start of the model run. Here we need to specify the space we will be looking for cells within, so we set the Space property to "Grid 2D". Normally, we'd specify an agent as well, but as the Grid 2D cells don't have any attributes, we don't need to define them explicitly. So we just need to make sure that the Agent property is null (blank).</p>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial165Select2.png"></div>
<p>
							
</p>
</div>
<div class="section" title="Create Query Action">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Create_Query_Action"></a>Create Query Action</h6>
</div>
</div>
</div>
<p>Next, we create a Query Action. A query is really a query term; we're specifying some aspect of the search that we're interested in.</p>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial17CreateQuery.png"></div>
<p>
							
</p>
<p>In this case we want a special kind of query, a query within space for any agents that are available; that is unoccupied by another agent. So we select "Spatial: Available" form the drop down list of query functions.</p>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial18QueryFunction.png"></div>
<p>
							
</p>
</div>
<div class="section" title="Create Move Action">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Create_Move_Action"></a>Create Move Action</h6>
</div>
</div>
</div>
<p>Finally, as the last part of the initial action specification, we'll create a Move Action using 
								<span class="bold"><strong>Create Member &gt; Move</strong></span>. (Not shown.) The properties should be correct, but check to make sure that the selection property is "Initialize" (the root), and the destination property is "Bug" (the Select Action we've defined above). Like this:
							</p>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial19Move.png"></div>
<p>
							
</p>
</div>
</div>
<div class="section" title="Run Initial Model">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Run_Initial_Model"></a>Run Initial Model</h5>
</div>
</div>
</div>
<p>That's all we have to do to create our first working model! Now, go to the 
							<span class="bold"><strong>Package Explorer</strong></span> and select the StupidModel1.metaabm file. Right-click on it and select 
							<span class="bold"><strong>Execute</strong></span>. Or click on the first "m" button in the toolbar. (Again, we've simplified the toolbar for this tutorial, so you may have more buttons appearing then we're showing here.
						</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial20ExecuteModel.png"></div>
<p>
						
</p>
<p>A new perspective for "Agent Execution" will automatically open up and you can see that the agents have placed themselves in the grid. They don't do anything else yet.</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial21Execute2.png "></div>
<p>
						
</p>
</div>
</div>
<div class="section" title="Styles">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Styles_2"></a>Styles</h4>
</div>
</div>
</div>
<div class="section" title="Create Bug Style">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Create_Bug_Style"></a>Create Bug Style</h5>
</div>
</div>
</div>
<div class="section" title="Create Style">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Create_Style"></a>Create Style</h6>
</div>
</div>
</div>
<p>While Escape assigns a default color of black for the agents, we'll want something more interesting -- so let's make the Bugs red. Agent visualization is accomplished using the same mechanism as ordinary agent rules. So first, let's create a new Style. Right click on the "Styles" node and select '''</p>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial22CreateStyle.png "></div>
<p>
							
</p>
<p>By default the style will be called BugStyle2D. Open the Style to the Actions node and create a rule.</p>
</div>
<div class="section" title="Create Style Rule">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Create_Style_Rule"></a>Create Style Rule</h6>
</div>
</div>
</div>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial23CreateStyleRule.png "></div>
<p>
							
</p>
<p>Now we need to create a series of evaluations. An Evaluation is like a Query in that it performs some kind of function in the broadest sense, but unlike a Query, it does not affect whether target (downstream) Acts are performed. For Styles we have a set of Graphic functions that we will chain together to draw a figure. First we create the Evaluation.</p>
</div>
<div class="section" title="Create Evaluations">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Create_Evaluations"></a>Create Evaluations</h6>
</div>
</div>
</div>
<p>We make the first Evaluation define a Color of "Red". Right click on the new Rule, and select 
								<span class="bold"><strong>New &gt; Command &gt; Evaluate</strong></span> (not shown) to create an Evaluation. Then in the function property, select "Graphic: Color Red".
							</p>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial24EvaluationFunction.png "></div>
<p>
							
</p>
<p>We'll create two more evaluation targets. Right-click on the "Color Red" evaluation and create an Evaluation. Pick the "Graphic: Draw Oval" fill. For the last part of our style, we need to actually draw the figure. To do this we create a last Evaluation target for "Draw Oval" and give it the "Graphic: Fill Shape" function. By now it should be clear how to do this. "Fill" or "Outline" will always come last in a chain of graphic evaluations, but otherwise the order shouldn't matter. See the Demographic Prisoner's Dilemma model for an example of how this can be used to selectively pick Colors and or Shapes. You should end up with something like this:</p>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial25FinishStyle.png "></div>
<p>
							
</p>
</div>
</div>
</div>
<div class="section" title="Actions 2 Movement Rule">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Actions_2_Movement_Rule"></a>Actions 2 Movement Rule</h4>
</div>
</div>
</div>
<p>To make our agents move randomly every iteration, we will create a Rule. (For those familiar with Repast or other scheduling oriented AM platforms, a rule is just a schedule that gets activated each and every period for all agents.) At this point in the tutorial, we'll show screenshots only for aspects of the modeling process that haven't already been covered.</p>
<div class="section">
<div class="titlepage"></div>
<div class="section" title="Create Select and Query Actions">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="N10BD4"></a>Create Select and Query Actions</h6>
</div>
</div>
</div>
<p>The first part of the Bug Rule is exactly the same as the Initialize rule. Create a Selection Action. As before, we'll make the Select statement "Agent" property blank, as we want to move to a cell. As before, we want to make sure the Cell is free before we try to move in, so we'll select a "Spatial: Available" Query function.(By the way, to make scrolling through the list easier, you can type the first letters of the selection, in this case "SP".)</p>
<p>But now, instead of moving <span style="color: red">&lt;i&gt;anywhere&lt;/i&gt;</span> we want to move nearby. So now, we create a 
								<span class="italic">parallel</span> or "sibling" Query from the same Select root. Because this new Query Action is a child of the Select Action and not the "Space Available" Query we've just created, we'll right-click on the 
								<span class="italic">Select</span> Action and choose 
								<span class="bold"><strong>Create Target &gt; Select &gt; Query</strong></span>. Like so:
							</p>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial26CreateQuery2.png "></div>
<p>
							
</p>
<p>Often, we would pick the "Spatial: Neighbor" function to take a random walk, but according to the specification, we actually want to move into some random Cell within distance four (4). So we will pick "Spatial: Within" from the list of functions.</p>
</div>
<div class="section" title="Model Error Handling">
<div class="titlepage">
<div>
<div>
<h6 class="title">
<a name="Model_Error_Handling"></a>Model Error Handling</h6>
</div>
</div>
</div>
<p>Instead of specifying the actual distance now, let's see how the Agent Modeling Framework error checking capabilities can help us in model development. Save the model by selecting 
								<span class="bold"><strong>File &gt; Save</strong></span> from the application menu. Notice that a red marker appears next to the StupidModel1.metaabm file. If you reveal the 
								<span class="bold"><strong>Problems View</strong></span> you'll see a list of current errors and warnings and if you open the errors node in that list, you'll see an item reporting that the input has no value. If you double-click on that item, you'll be taken to the input for the Within query and you'll be able to edit it.
							</p>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial27NoValue.png "></div>
<p>
							
</p>
<p>In addition to error markers, metaABM provides warnings designed to help you avoid common design mistakes. For example, a warning will be issued if you attempt to move an agent from its selection to the same selection; this is not strictly speaking an error, but it doesn't make much sense. You'll also recieve warning for default values that have not been specified. You might notice that the Demographic Prisonner's Dilemma model has warning markers, this is because we were happy with the '0' default values for the attributes and didn't provide any. (By the way, you might also notice a number of Java warnings. By default the Eclipse IDE is very conservative when it comes to warnings, and expects the usage of language constructs that we choose not to use. A full discussion of all of this is beyond the scope of the tutorial, but see the Eclipse documentation on problem views for more ideas about how to customize these views.)</p>
<p>To fix this error we just need to assign a value for search distance. We 
								<span class="bold"><strong>could</strong></span> simply create a literal for the Spatial: Within Query but that isn't really good practice. (Originally the Agent Modeling Framework didn't even support Literal values, but we added them for convenience.) Now, we will create our first Attribute. In this case, we want the Attribute to belong to the Stupid Model as it will be the same value for all Agents for now. So right-click on the Stupid Model context Attributes node and create a new one.
							</p>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial28CreateAttribute.png "></div>
<p>
							
</p>
<p>Name the Attribute -- "Bug Vision" seems descriptive -- give it a type of Integer, and assign it a default value of 4. This will allow most ABM platforms to provide the ability to change vision at runtime or through batch definitions, something we couldn't do if we had used a literal value.</p>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial29AttributeValues.png "></div>
<p>
							
</p>
<p>Finally, we assign the Vision attribute to the "Input" node in our Spatial: Within Query.</p>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial30AttributeInput.png "></div>
<p>
							
</p>
<p>Now, we need to combine the requirement that the cell be available with the requirement that it be within 4 cell's distance. To accomplish this, we'll add an Intersection Action. The Logical Actions, including "Intersection", "Union" and "None" define how Query Actions work together. So create an Intersection Actions as a target of the Spatial Available Query. (Not the Within Query).</p>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial31Intersect.png "></div>
<p>
							
</p>
<p>The Intersection Action needs to be a target of 
								<span class="italic">both</span> the Available and Within targets. To accomplish this, drag the Intersection Action over the Within Query. It's a bit hard to see this in a static image, but you simply need to click on the Intersection Action, move it so that it is over the Within target, and release the mouse.
							</p>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial32IntersectAdd.png "></div>
<p>
							
</p>
<p>Finally, add a Move target to the Intersection.</p>
<p>
								
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial33Move.png "></div>
<p>
							
</p>
<p>A few notes on the screenshot above. To make things a bit clearer, we've edited the names for the final panel. Also, the Intersection node might not appear in the same place. We've expanded the nodes so that you can see that while the actions are all listed together, they are actually defined as a tree structure internally. You can follow that tree to see all of the actions that might be the result of any of the actions in the list. To help understand the structure at a glance, the labels include an &lt;- indicator showing the immediate sources of each of the nodes. 
								<span class="italic">Note especially than while the targets for actions often appear immediately following their source actions, this is not always the case.</span>
							
</p>
</div>
</div>
<div class="section" title="Run Final Model">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Run_Final_Model"></a>Run Final Model</h5>
</div>
</div>
</div>
<p>Now, we can select the model in the 
							<span class="bold"><strong>Package Navigator</strong></span> again, and run the model. It doesn't look much different in a snapshot, but those agents should now be moving around. We have built a complete Ascape model from our model.
						</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/SimpleTutorial34RunFinal.png "></div>
<p>
						
</p>
<p>We hope this tutorial has enabled you to get up and running and given you some familiarity with the basic Agent Modeling Framework approach. The example models include the other "stupid models" from the paper, as well as a number of other interesting models.</p>
</div>
</div>
</div>
</div>
<div class="section" title="Running Agent Models">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">
<a name="Running_Agent_Models"></a>Running Agent Models</h2>
</div>
</div>
</div>
<div class="section" title="Exploring Example ABM Models">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Exploring_Example_ABM_Models"></a>Exploring Example ABM Models</h3>
</div>
</div>
</div>
<p>The first thing most people will want to do in AMP is to play with the example models. You can explore AMF models as well as some really interesting classic ABM models.</p>
<div class="section" title="Downloading Models">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Downloading_Models"></a>Downloading Models</h4>
</div>
</div>
</div>
<p>To obtain the models, simply launch the cheat sheet. Go to the 
						<span class="bold"><strong>Help &gt; Cheat Sheets...</strong></span> menu and choose "Load Sample Projects".
					</p>
<p>Or you can get them yourself from the following locations:</p>
<div class="section" title="AMF Models">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="AMF_Models"></a>AMF Models</h5>
</div>
</div>
</div>
<div class="literallayout">
<p>org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.escape<br>

</p>
</div>
<p>To understand the capabilities of AMF, you might also want to try out running the same models automatically generated for Ascape or Repast. These are located at dev.eclipse.org in cvsroot/modeling:</p>
<div class="literallayout">
<p>org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.ascape<br>
org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.repast<br>

</p>
</div>
</div>
<div class="section" title="Escape / Ascape Java Models">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Escape_.2F_Ascape_Java_Models"></a>Escape / Ascape Java Models</h5>
</div>
</div>
</div>
<p>These are SVN projects in the sourceforge SVN. For help, see 
							<a class="ulink" href="/wiki/http://www.eclipse.org/subversive/documentation/teamSupport/find_check_wiz.php_this_page" target="_new">http://www.eclipse.org/subversive/documentation/teamSupport/find_check_wiz.php this page</a>.
						</p>
<div class="literallayout">
<p>http://ascape.svn.sourceforge.net/svnroot/ascape/org.ascape.escape.models.brook<br>
http://ascape.svn.sourceforge.net/svnroot/ascape/org.ascape.escape.models.examples<br>

</p>
</div>
</div>
</div>
<div class="section" title="Generating Models">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Generating_Models"></a>Generating Models</h4>
</div>
</div>
</div>
<p>There are a number of models developed with AMF that can automatically generate example models to run in Escape. There are two ways to run the example models:</p>
<div class="section" title="Creating a New Escape Project">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Creating_a_New_Escape_Project"></a>Creating a New Escape Project</h5>
</div>
</div>
</div>
<p>The best option is to simply create a new Escape project and drag the models into it!</p>
<div class="orderedlist">
<ol class="orderedlist" type="1">
<li class="listitem">
<p>If you're not already there, open the Agent Modeling Perspective. Select Window &gt; Open Perspective &gt; Other.. and then Agent Modeling. (Or you can choose Window &gt; Reset Perspective and the Agent Modeling perspective should appear in the Open Perspective list itself.)</p>
</li>
<li class="listitem">
<p>Next, let's create the project where we'll place our model. Select File &gt; New &gt; Escape AMF Project. Give it a name like "escape.tutorial", then click Finish.</p>
</li>
<li class="listitem">
<p>Finally grab the Epidemic.metaabm model at 
									<a class="ulink" href="http://download.eclipse.org/amp/models/Epidemic.metaabm" target="_new">http://download.eclipse.org/amp/models/Epidemic.metaabm</a> and drag it into the project. (Depending on your browser the file may load as text directly into your browser, in which case just right-click on the link and save it to a file.)
								</p>
</li>
</ol>
</div>
</div>
</div>
</div>
<div class="section" title="Tutorial">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Tutorial_2"></a>Tutorial</h3>
</div>
</div>
</div>
<p>We've developer have a complete cheat sheet supporting this tutorial. Simply go to 
					<span class="bold"><strong>Help &gt; Cheat Sheets...</strong></span> and then select "Run an Example Model" from within the "Agent Modeling" category. Or install the example models and then explore the following steps.
				</p>
<p>Right-click on the model, and select "Execute". You should see something like this:</p>
<p>
					
</p>
<div class="mediaobject">
<img src="images/EpidemicModelRunning.png"></div>
<p>
				
</p>
<p>The toolbar buttons allow you to control model execution.</p>
<p>
					
</p>
<div class="mediaobject">
<img src="images/EpidemicModelControls.png"></div>
<p>
				
</p>
<p>From right to left, you can start, restart, pause, step, stop and close a model. You can even run multiple models and control them independently. You can also move views around, close them and so on as with any other Eclipse views. Here we're running two separate models for comparison.</p>
<p>
					
</p>
<div class="mediaobject">
<img src="images/EpidemicModelComparison.png"></div>
<p>
				
</p>
<p>If you want to find out more about an agent, show the properties view, and click on agent.</p>
<p>
					
</p>
<div class="mediaobject">
<img src="images/EpidemicModelAgentProperties.png"></div>
<p>
				
</p>
<p>You can experiment with different parameters (settings) for models by then clicking in the gray area away within the view.</p>
<p>
					
</p>
<div class="mediaobject">
<img src="images/EpidemicModelProperties.png"></div>
<p>
				
</p>
<p>There are a number of other things to play around with, such as zooming the agent view or selecting other chart series to display using the Chart Customizer, so just explore. You can always close an active model by clicking on the close toolbar button. Or if you can't access the models controls for some reason, you can open the progress view and close projects form there.</p>
<div class="section" title="Next Steps">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Next_Steps"></a>Next Steps</h4>
</div>
</div>
</div>
<p>To understand the capabilities of AMF, you might also want to try out running the same models automatically generated for Ascape or Repast.</p>
<div class="literallayout">
<p>org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.ascape<br>
org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.repast<br>

</p>
</div>
</div>
</div>
<div class="section" title="Classic Java ABM Models">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Classic_Java_ABM_Models"></a>Classic Java ABM Models</h3>
</div>
</div>
</div>
<p>Many models have been created using Ascape over the years, including all of the classic models created at Brookings and some other cool models such as Craig Reynold's Boids and a pretty cool little traffic model, and they've all been converted to run in Escape. They're in Java but you can execute and explore them in exactly the same way as the Epidemic model above. All of the Ascape example models have been converted (a straightforward process) from their intial Ascape incarnations. For licensing reasons (they're BSD, not EPL) we can't host them directly on the Eclipse site.  You can get the projects in two ways:</p>
<p>Once you've downloaded the projects, open up the src folder and navigate to the Java files for the actual models. For example, to run Conway's Life, you'll want src/edu.brook.life.ConwayLife. Right-click on the Java file and select "Execute". There are many models to explore! (It's not always obvious which Java files are for models, so you may have to poke around a bit. We need to put together a catalog here. Another nice opportunity for user contributions.)</p>
</div>
</div>
</div>
<div class="chapter" title="Chapter&nbsp;3.&nbsp;Programer's Guide">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a name="Programer.27s_Guide"></a>Chapter&nbsp;3.&nbsp;Programer's Guide</h2>
</div>
</div>
</div>
<div class="section" title="Overview">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">
<a name="Overview_5"></a>Overview</h2>
</div>
</div>
</div>
<p>Escape is a full-featured Agent-Based Modeling (ABM) integrated development environment (IDE) with a Java based API and end user modeling tools. It's based on Ascape, which has been in use for more than 10 years. The core API is very stable, and that should give users a way to explore the features of AMP without concerns about keeping in synch with the rapidly evolving AXF /AGF API. It allows modelers to code in Java and/or generate models with AMF and then execute those models within the same development environment.</p>
<p>
				
</p>
<div class="mediaobject">
<img src="images/EscapeExecutionScreenshot.png"></div>
<p>
			
</p>
<p>A primary purpose of the Escape project -- apart from the obvious goal of providing a nice Eclipse hosted ABM toolkit -- is to provide an exemplar to demonstrate how any arbitrary agent modeling framework can be integrated within the AMP environment. A cool aspect of this is that AMP has no dependencies on Escape, but also that the underlying ABM modeling framework for Escape has no dependencies on AMP -- instead Escape simply provides the runtime glue between AMP and the ABM framework. The underlying ABM framework uses the Ascape API, an API that first began development more than ten years ago and that has not been modified at all in order for it to work within the AMP environment.</p>
</div>
<div class="section" title="Getting Started">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">
<a name="Getting_Started_2"></a>Getting Started</h2>
</div>
</div>
</div>
<div class="section" title="Documentation and other Resources">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Documentation_and_other_Resources"></a>Documentation and other Resources</h3>
</div>
</div>
</div>
<p>Because it's API is based on Ascape, Escape is one component of AMP that already has extensive documentation. There is complete Javadoc as well as a manual and other web resources. See the 
					<a class="ulink" href="http://ascape.sourceforge.net" target="_new">Ascape Website</a> to locate these resources. There is a 
					<a class="ulink" href="http://ascape.sourceforge.net/docs/TheAscapeManual5.pdf" target="_new">full manual</a> for Ascape available on that site. Or, you can install the Ascape Manual into the eclipse help system by adding the following update site and selecting the "Documentations and Source Code" feature.
				</p>
<p>
					
<a class="ulink" href="http://ascape.sourceforge.net/eclipse" target="_new">http://ascape.sourceforge.net/eclipse</a>
				
</p>
</div>
<div class="section" title="Installation">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Installation"></a>Installation</h3>
</div>
</div>
</div>
<p>Escape is 
					<a class="ulink" href="http://eclipse.org/amp/installing/" target="_new">installed</a> by default with the other model components. If you want to do 3D (really 2 1/2) visualizations, you will want AGF3D and the LWJGL dependency. You can build from source but in that case you'l need to launch a self-hosted runtime, so it's best to simply install from the update site if you're not actually doing AMP development.
				</p>
</div>
</div>
<div class="section" title="Developing Models">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">
<a name="Developing_Models"></a>Developing Models</h2>
</div>
</div>
</div>
<p>The easiest way for Java developers to get started doing agent-based modeling in Eclipse is to begin to write programs using it. To develop new models, you can:</p>
<div class="orderedlist">
<ol class="orderedlist" type="1">
<li class="listitem">
<p>Create a new Escape project. The Escape projects are actually configured for AMF code generation so there are dependencies and builders in there that you don't need; you can remove all of the escape builders and any of the kitchen sink items. The "Create an Escape Java Model" cheat sheet will walk you through the process of creating a new Java based project and model.</p>
</li>
<li class="listitem">
<p>Or for more experienced Eclipse users, you can simply to just create a new Plugin Project and add the necessary dependencies there. Have a look at the example escape project to see what you need. Note that you will likely need more dependencies then you need to simply build -- this is because the class loader uses the classes from the project path and so runtime classes have to be there as well. We may simply package an Eclipse runtime convenience plugin to gather these dependencies up a bit.</p>
</li>
</ol>
</div>
<p>Then just create new Java classes for your root model scape and agents just as you would for an Ascape project.</p>
</div>
<div class="section" title="More Information">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">
<a name="More_Information"></a>More Information</h2>
</div>
</div>
</div>
<div class="section" title="Integrating Java and AMF Models">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Integrating_Java_and_AMF_Models"></a>Integrating Java and AMF Models</h3>
</div>
</div>
</div>
<p>If you're like many Java developers, you might find point-and-click interfaces a bit lame. Personally, I've changed my tune in this, and I now define all of my ABM models from the editor, saving Java for truly specialized tasks. But even without generation of agent behavior, Acore can be a really valuable tool, as the GIS example shows. The way to look at metaABM is as a way to compose your overall model and automate the tedious parts. Apart from Java generated code, the AMF meta-model maintains a number of very useful artifacts. For example, the Repast Simphony target maintains model.score and all of the model.rs component. Generally, AMF should save time and hassle while making your models far more transparent even if you never use the Actions component to define agent behavior.</p>
<div class="section" title="Method Action">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Method_Action"></a>Method Action</h4>
</div>
</div>
</div>
<p>As explained in the action section, you can simply create a "Method" act with hand-written Java code. This option is nice because all code is contained within the AMF file. But it can be difficult to maintain large blocks of Java code as you aren't using a Java editor to edit the Java code itself. One way to get around this is to create your code in the generated Java method and then copy it into the Method action. Note one imporant issue here -- you'll generally have to fully qualify your Java references as you won't be able to change the imports statements directly. </p>
</div>
<div class="section" title="Protected Code Regions">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Protected_Code_Regions"></a>Protected Code Regions</h4>
</div>
</div>
</div>
<p>You can mix and match Action behavior with Java and generated code with POJOs. One way to do this is through using protected regions. Select the agent you want to create protected methods for and then select "Generate Protected" from the "Mode" property. Now, create actions just as you have before, or use your existing ones. On code generation, open up the relevant java file and examine the methods that have been created. </p>
<p>
						
</p>
<div class="mediaobject">
<img src="images/ProgrammingPojoGenerateProps.png"></div>
<p>
					
</p>
<p>You can put whatever you want within the PROTECTED REGION comments and those changes will be preserved when the model is regenerated. You can create a schedule, rule or watcher, maintain custom code for the actual implementations, and still have the model adapt to changes in the underlying data structure -- if for example you want to import a modified shape file.</p>
<p>
						
</p>
<div class="mediaobject">
<img src="images/ProgrammingPojoGenerateCode.png"></div>
<p>
					
</p>
</div>
<div class="section" title="Implement Sub-classes">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Implement_Sub-classes"></a>Implement Sub-classes</h4>
</div>
</div>
</div>
<p>Another approach which can be more robust is to generate the basic model stubs (like an abstract base class except that it isn't abstract) and then override your model with implementations. AMF provides support for generic skeletons and interfaces.</p>
<p>
						
</p>
<div class="mediaobject">
<img src="images/ProgrammingPojoGenerate.png"></div>
<p>
					
</p>
</div>
</div>
<div class="section" title="Converting Existing Ascape models">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Converting_Existing_Ascape_models"></a>Converting Existing Ascape models</h3>
</div>
</div>
</div>
<p>There are only a few changes should have to make to existing Ascape models or to use existing Ascape documentation to develop Escape models.</p>
<div class="section" title="Model">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Model"></a>Model</h4>
</div>
</div>
</div>
<p>The core model is completely API compatible. No changes!</p>
</div>
<div class="section" title="View">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="View"></a>View</h4>
</div>
</div>
</div>
<p>Because Escape uses SWT and Ascape uses Swing, there are a few unavoidable incompatibilities. Most of these we avoid by using higher level APIs but here are the key changes that you're likely to have to make:</p>
<div class="section" title="Convert the low-level imports from AWT and Swing to SWT">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Convert_the_low-level_imports_from_AWT_and_Swing_to_SWT"></a>Convert the low-level imports from AWT and Swing to SWT</h5>
</div>
</div>
</div>
<p>The simplest way to accomplish this is to remove all of the imports and then organize imports. For example:</p>
<div class="literallayout">
<p>java.awt.Color&nbsp;=&gt;&nbsp;org.eclipse.swt.graphics.Color<br>
java.awt.Graphics&nbsp;=&gt;&nbsp;org.eclipse.draw2d.Graphics<br>

</p>
</div>
<p>Then just do a global find for all of the imports and replace them with nothing. This is a great place for a regexp. Try:</p>
<div class="literallayout">
<p>find:&nbsp;import&nbsp;java\.awt\.(.*);<br>
replace:&nbsp;[nothing]<br>

</p>
</div>
<p>You don't have to replace these with the SWT equivalents, just click on the project, right-click and choose "Source:Organize Imports.."
							By the way, a great way to avoid having to select the right entries in optimize imports and to alert you when you have missed anything is to prevent the awt and swing classes from being used at all. Right-click on project, choose "Build Path:Configure Build Path", go to Libraries tab, open JRE System Library, choose "Access Rules", edit, and then add entries for java/awt/** and javax/swing/**. The code will regenerate and you'll have error markers for all of the stuff that won't work with Escape and Eclipse.</p>
</div>
<div class="section" title="Convert color features">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Convert_color_features"></a>Convert color features</h5>
</div>
</div>
</div>
<p>You can't use AWT colors either so you'll need to replace any colors. AMP provides a convenience classes for Colors called ColorFeature and ColorFeatureConcrete. You can use these or any of the other ways to define SWT colors. For example:</p>
<div class="literallayout">
<p>Color.lightGray&nbsp;=&gt;&nbsp;ColorFeature.LIGHT_GRAY<br>
new&nbsp;Color(Math.min(1.0f,&nbsp;(float)&nbsp;(redEnergy&nbsp;+&nbsp;orangeEnergy)),&nbsp;(float)&nbsp;orangeEnergy&nbsp;*&nbsp;.8f,&nbsp;(float)&nbsp;blueEnergy)&nbsp;=&gt;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;ColorFeatureConcrete.create(Math.min(1.0f,&nbsp;(float)&nbsp;(redEnergy&nbsp;+&nbsp;orangeEnergy)),&nbsp;(float)&nbsp;orangeEnergy&nbsp;*&nbsp;.8f,&nbsp;(float)&nbsp;blueEnergy)<br>

</p>
</div>
</div>
<div class="section" title="Change agent color getters">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Change_agent_color_getters"></a>Change agent color getters</h5>
</div>
</div>
</div>
<p>If you've defined colors through overriding Agents as in most models, you'll need to change the method signature. You could just do a global replace for this one.</p>
<div class="literallayout">
<p>public&nbsp;Color&nbsp;getColor(&nbsp;=&gt;&nbsp;public&nbsp;Object&nbsp;getPlatformColor(<br>

</p>
</div>
</div>
<div class="section" title="Get rid of image features">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Get_rid_of_image_features"></a>Get rid of image features</h5>
</div>
</div>
</div>
<p>Escape doesn't support them. In practice they haven't been used a lot. At some point perhaps we'll have nice sprite support instead. :)</p>
<div class="literallayout">
<p>public&nbsp;Image&nbsp;getImage()&nbsp;{**}&nbsp;=&gt;&nbsp;""<br>

</p>
</div>
</div>
<div class="section" title="Modify usages of DrawFeatures">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Modify_usages_of_DrawFeatures"></a>Modify usages of DrawFeatures</h5>
</div>
</div>
</div>
<p>If you've created any of your own draw features, you'll need to change them slightly to accommodate the differences between the AWT and SWT / Draw2D APIs. This should be pretty straightforwrd. For example:</p>
<div class="literallayout">
<p>g.setColor(...<br>
g.fillOval(..<br>
becomes:<br>
g.setBackgroundColor(<br>
g.fillOval(..<br>

</p>
</div>
<p>That's about it, though it's probable that we've missed something. Please post a message on the amp newsgroup if you run into any other conversion issues.</p>
</div>
</div>
<div class="section" title="Configuration">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Configuration"></a>Configuration</h4>
</div>
</div>
</div>
<p>Instead of using Ant, Escape has really nice support for parameterizing and testing models. See 
						<a class="ulink" href="/wiki/Experimenting_and_Testing" target="_new">Experimenting and Testing</a> (todo). If you do want to work with ant you will need to install the plugins from the Sourceforge download site. (These have dependencies that I didn't want to bother with going through the Eclipse IP process to get in. If for some reason you think these should be part of core Escape let Miles know and I'll take care of it.) Ant has not been tested for Escape so it's not even clear it will work.
					</p>
</div>
</div>
</div>
</div>
<div class="chapter" title="Chapter&nbsp;4.&nbsp;Resources">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a name="Resources"></a>Chapter&nbsp;4.&nbsp;Resources</h2>
</div>
</div>
</div>
<div class="section" title="Obtaining Example Models">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">
<a name="Obtaining_Example_Models"></a>Obtaining Example Models</h2>
</div>
</div>
</div>
<p>There is a cheat-sheet available for obtaining the example models. If you would rather obtain them yourself, here is the CVS information:</p>
<div class="section">
<div class="titlepage"></div>
<div class="section" title="Import from CVS">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="N10DD7"></a>Import from CVS</h4>
</div>
</div>
</div>
<div class="itemizedlist">
<ul class="itemizedlist" type="disc">
<li class="listitem">
<p>Import the CVS projects from the AMP project repository. For help, see 
								<a class="ulink" href="http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.platform.doc.user/reference/ref-40a.htm" target="_new">this page</a>. For repository details, see 
								<a class="ulink" href="http://eclipse.org/amp/developers/repositoryDetails.php" target="_new">http://eclipse.org/amp/developers/repositoryDetails.php</a>. These are the example projects:
							</p>
</li>
</ul>
</div>
<div class="literallayout">
<p>org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.ascape&nbsp;<br>
org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.escape&nbsp;<br>
org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.repast&nbsp;<br>

</p>
</div>
<div class="itemizedlist">
<ul class="itemizedlist" type="disc">
<li class="listitem">
<p>Right-click on the models to execute them.</p>
</li>
<li class="listitem">
<p>Play around with the model attribute settings and behavior (Acts).</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="section" title="Websites">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">
<a name="Websites"></a>Websites</h2>
</div>
</div>
</div>
<p>
				
<a class="ulink" href="http://www.eclipse.org/amp" target="_new">Eclipse Agent Modeling Project (Incubation)</a>
			
</p>
<p>
				
<a class="ulink" href="http://ascape.sourceforge.net" target="_new">Ascape</a>
			
</p>
<p>
				
<a class="ulink" href="http://metascapeabm.com" target="_new">Metascape, LLC</a>
			
</p>
</div>
<div class="section" title="Papers">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">
<a name="Papers"></a>Papers</h2>
</div>
</div>
</div>
<p>
				
<a class="ulink" href="http://www.pnas.org/content/99/suppl.3/7304.full" target="_new">Ascape</a>

				<a class="ulink" href="http://www.pnas.org/content/99/suppl.3/7280.full" target="_new">Agent-Based Modeling</a>

				<a class="ulink" href="http://jasss.soc.surrey.ac.uk/11/4/12.html" target="_new">Why Model?</a>
			
</p>
</div>
</div>
</div>
</body>
</html>
