<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Chapter&nbsp;3.&nbsp;User Guide</title>
<link href="book.css" rel="stylesheet" type="text/css">
<meta content="DocBook XSL Stylesheets V1.75.1" name="generator">
<link rel="home" href="index.html" title="Agent Modeling Guide">
<link rel="up" href="index.html" title="Agent Modeling Guide">
<link rel="prev" href="Modeler_Guide.html" title="Chapter&nbsp;2.&nbsp;Modeler Guide">
<link rel="next" href="Tutorials.html" title="Chapter&nbsp;4.&nbsp;Tutorials">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="navheader">
<table summary="Navigation header" width="100%">
<tr>
<th align="center" colspan="3">Chapter&nbsp;3.&nbsp;User Guide</th>
</tr>
<tr>
<td align="left" width="20%"><a accesskey="p" href="Modeler_Guide.html">Prev</a>&nbsp;</td><th align="center" width="60%">&nbsp;</th><td align="right" width="20%">&nbsp;<a accesskey="n" href="Tutorials.html">Next</a></td>
</tr>
</table>
<hr>
</div>
<div class="chapter" title="Chapter&nbsp;3.&nbsp;User Guide">
<div class="titlepage">
<div>
<div>
<h2 class="title">
<a name="User_Guide"></a>Chapter&nbsp;3.&nbsp;User Guide</h2>
</div>
</div>
</div>
<div class="toc">
<dl>
<dt>
<span class="section"><a href="User_Guide.html#Overview_5">Overview</a></span>
</dt>
<dt>
<span class="section"><a href="User_Guide.html#Modeling">Modeling</a></span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="User_Guide.html#Perspective">Perspective</a></span>
</dt>
<dt>
<span class="section"><a href="User_Guide.html#Creating_Projects_and_Models">Creating Projects and Models</a></span>
</dt>
<dt>
<span class="section"><a href="User_Guide.html#Menus.2C_Popups_and_Toolbar">Menus, Popups and Toolbar</a></span>
</dt>
<dt>
<span class="section"><a href="User_Guide.html#Views">Views</a></span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="User_Guide.html#Editor">Editor</a></span>
</dt>
<dt>
<span class="section"><a href="User_Guide.html#Default_Views">Default Views</a></span>
</dt>
<dt>
<span class="section"><a href="User_Guide.html#Diagnostic_Views">Diagnostic Views</a></span>
</dt>
</dl>
</dd>
<dt>
<span class="section"><a href="User_Guide.html#Modeling_Tree_Editor">Modeling Tree Editor</a></span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="User_Guide.html#Opening_the_Editor">Opening the Editor</a></span>
</dt>
<dt>
<span class="section"><a href="User_Guide.html#Structure_2">Structure</a></span>
</dt>
<dt>
<span class="section"><a href="User_Guide.html#Actions_3">Actions</a></span>
</dt>
</dl>
</dd>
</dl>
</dd>
<dt>
<span class="section"><a href="User_Guide.html#Building">Building</a></span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="User_Guide.html#Building_Models">Building Models</a></span>
</dt>
<dt>
<span class="section"><a href="User_Guide.html#Generating_Specialized_Model_Artifacts">Generating Specialized Model Artifacts</a></span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="User_Guide.html#Platform_Targets">Platform Targets</a></span>
</dt>
<dt>
<span class="section"><a href="User_Guide.html#Interfaces">Interfaces</a></span>
</dt>
<dt>
<span class="section"><a href="User_Guide.html#Skeleton">Skeleton</a></span>
</dt>
<dt>
<span class="section"><a href="User_Guide.html#Test_Cases">Test Cases</a></span>
</dt>
<dt>
<span class="section"><a href="User_Guide.html#Text_Documents">Text Documents</a></span>
</dt>
<dt>
<span class="section"><a href="User_Guide.html#Generate_Key_Graphics">Generate Key Graphics</a></span>
</dt>
<dt>
<span class="section"><a href="User_Guide.html#Function_Docs">Function Docs</a></span>
</dt>
</dl>
</dd>
</dl>
</dd>
<dt>
<span class="section"><a href="User_Guide.html#Executing">Executing</a></span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="User_Guide.html#Launching_a_Model_.28AMF.29">Launching a Model (AMF)</a></span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="User_Guide.html#Execute">Execute</a></span>
</dt>
<dt>
<span class="section"><a href="User_Guide.html#Execute_Headless">Execute Headless</a></span>
</dt>
<dt>
<span class="section"><a href="User_Guide.html#Execute_Headless_.28Data.29">Execute Headless (Data)</a></span>
</dt>
</dl>
</dd>
<dt>
<span class="section"><a href="User_Guide.html#Executing_a_Model_.28Java_.2F_3D.29">Executing a Model (Java / 3D)</a></span>
</dt>
<dt>
<span class="section"><a href="User_Guide.html#Controlling_Model_Execution">Controlling Model Execution</a></span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="User_Guide.html#The_Active_Model">The Active Model</a></span>
</dt>
</dl>
</dd>
<dt>
<span class="section"><a href="User_Guide.html#Views_2">Views</a></span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="User_Guide.html#Properties_2">Properties</a></span>
</dt>
<dt>
<span class="section"><a href="User_Guide.html#Agent_Navigator">Agent Navigator</a></span>
</dt>
<dt>
<span class="section"><a href="User_Guide.html#Model_Manager">Model Manager</a></span>
</dt>
</dl>
</dd>
<dt>
<span class="section"><a href="User_Guide.html#Visualization">Visualization</a></span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="User_Guide.html#2D_Views">2D Views</a></span>
</dt>
<dt>
<span class="section"><a href="User_Guide.html#Charts">Charts</a></span>
</dt>
</dl>
</dd>
<dt>
<span class="section"><a href="User_Guide.html#Launching_Other_Targets">Launching Other Targets</a></span>
</dt>
<dt>
<span class="section"><a href="User_Guide.html#Model_Parameterization">Model Parameterization</a></span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="User_Guide.html#Syntax">Syntax</a></span>
</dt>
<dt>
<span class="section"><a href="User_Guide.html#Example_2">Example</a></span>
</dt>
</dl>
</dd>
<dt>
<span class="section"><a href="User_Guide.html#Model_Testing">Model Testing</a></span>
</dt>
<dd>
<dl>
<dt>
<span class="section"><a href="User_Guide.html#Syntax_2">Syntax</a></span>
</dt>
<dt>
<span class="section"><a href="User_Guide.html#Example_3">Example</a></span>
</dt>
</dl>
</dd>
</dl>
</dd>
</dl>
</div>
<p>In this section of the guide, we'll discuss specific aspects of the Agent Modeling tools and show you how to use them in your day to day agent development activities. We discuss only tools specific to Agent Modeling itself. For more general information about the tools, such as how to customize editors, views, and perspectives, see the 
			<span class="bold"><strong>Workbench User Guide</strong></span>.
		</p>
<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>The Agent Modeling Platform provides two general modes or "perspectives" for working with Agent Models.</p>
<p>
				
</p>
<div class="mediaobject">
<img src="images/tools/Perspectives.png"></div>
<p>
			
</p>
<p>
				
<span class="bold"><strong>Agent Modeling</strong></span> supports all aspects of working with models, including editing models and automatically generating all the of your code and documentation. 
				<span class="bold"><strong>Agent Execution</strong></span> supports running and exploring those models. A key feature of the Agent Modeling Platform is the ability to execute models within the same environment that they are developed within -- you don't need to launch a separate environment in order to run a model. Agent Execution automatically activates when you launch a model. We'll discuss the agent modeling tools first, and then turn to agent execution.
			</p>
</div>
<div class="section" title="Modeling">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">
<a name="Modeling"></a>Modeling</h2>
</div>
</div>
</div>
<div class="section" title="Perspective">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Perspective"></a>Perspective</h3>
</div>
</div>
</div>
<p>The Provides a custom layout menus and tools specific to working with agent models. Because the agent modeling process also often involves Java and Eclipse Plugin development we include easy access to many of those tools here as well.</p>
</div>
<div class="section" title="Creating Projects and Models">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Creating_Projects_and_Models"></a>Creating Projects and Models</h3>
</div>
</div>
</div>
<p>You can create projects and project components using the Popup menu. Just click in a blank space within the Package Explorer. Any installed project targets are displayed in this menu. For example, if you've installed the Simphony target, you'd see that displayed in this menu as well.</p>
<p>
					
</p>
<div class="mediaobject">
<img src="images/edit_tutorial/SimpleTutorial3CreateModel.png"></div>
<p>
				
</p>
</div>
<div class="section" title="Menus, Popups and Toolbar">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Menus.2C_Popups_and_Toolbar"></a>Menus, Popups and Toolbar</h3>
</div>
</div>
</div>
<p>The popup menus and application menus provide access to various model features and are context sensitive.  Throughout these screenshots, we've customized the toolbar in order to only show the agent Modeling specific features.</p>
</div>
<div class="section" title="Views">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Views"></a>Views</h3>
</div>
</div>
</div>
<p>By default the workbench includes a number of views. See the Workbench documentation for more details on how they can be customized accessed and used.</p>
<p>
					
</p>
<div class="mediaobject">
<img src="images/tools/Workbench.png"></div>
<p>
				
</p>
<div class="section" title="Editor">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Editor"></a>Editor</h4>
</div>
</div>
</div>
<p>This is not technically a view in itself. It is the major focus of the workbench and contains any edit models or other files such as Java source or parameters.</p>
</div>
<div class="section" title="Default Views">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Default_Views"></a>Default Views</h4>
</div>
</div>
</div>
<p>The default modeling views are visible by default.</p>
<div class="section" title="Package Explorer">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Package_Explorer"></a>Package Explorer</h5>
</div>
</div>
</div>
<p>Supports navigation within projects.</p>
</div>
<div class="section" title="Properties">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Properties"></a>Properties</h5>
</div>
</div>
</div>
<p>The properties allows you to view and edit specific details for the currently selected object. For example, if you select a model context, you'll be able to edit its attributes here.</p>
</div>
<div class="section" title="Outline">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Outline"></a>Outline</h5>
</div>
</div>
</div>
<p>The outline view supports easy navigation within the edited files. See the model editing sections for more on how the outline can be used to assist exploration of Agent Models.</p>
</div>
</div>
<div class="section" title="Diagnostic Views">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Diagnostic_Views"></a>Diagnostic Views</h4>
</div>
</div>
</div>
<p>There are a number of views that can be used to explore issues that might come up during the modeling process. You can see them on the lower left-hand corner of the screenshot above. Click on one of the icons to view their contents.</p>
<div class="section" title="Problems">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Problems"></a>Problems</h5>
</div>
</div>
</div>
<p>This view is one that you'll become very familiar with. It is used to display specific about problems with any of the artifacts (files) in your modeling project. If you see a red or yellow marker on a file, opening the view will present a list of the issues that are currently being reported. For a usage example, please see the Tutorial.</p>
</div>
<div class="section" title="Console">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Console"></a>Console</h5>
</div>
</div>
</div>
<p>This view displays text (console) output for appropriate processes. For example, if you launch an Ascape project, this will display any output that would go to the Java console.</p>
</div>
<div class="section" title="Errors">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Errors"></a>Errors</h5>
</div>
</div>
</div>
<p>This is another view that you will find valuable in your day to day modeling activities. The error log lists everything important that happens during model execution. It's the first place to look if something mysterious goes wrong, and when you report problems it's always helpful to include anything that could be relevant in the log. Despite its name, the Errors view is not just for reporting errors -- it is also used to report progress on normal operations. For example, when models are automatically generated that is reported to the log, as we can see in the following example:</p>
</div>
</div>
</div>
<div class="section" title="Modeling Tree Editor">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Modeling_Tree_Editor"></a>Modeling Tree Editor</h3>
</div>
</div>
</div>
<p>The Eclipse Agent Modeling Framework includes a full-featured model editor based on the Eclipse Modeling Framework's Edit tools. All aspects of an AMF model can be managed from within this tool. Note that the tree editor is only one of many ways of editing a model. Other editors of AMF models include textual languages and custom editors that are part of commercial offerings.</p>
<div class="section" title="Opening the Editor">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Opening_the_Editor"></a>Opening the Editor</h4>
</div>
</div>
</div>
<p>To open a model in the editor, simply double-click on it. If the model doesn't open in the model editor (if for example it had been previously opened using another editor), you can always access the editor using 
						<span class="bold"><strong>Open With &gt; Other...</strong></span> and selecting "MetaABM Editor". The editor has two pages, an Editor page that we'll focus on first and a "description" page that we'll discuss at the end of this section.
					</p>
</div>
<div class="section" title="Structure">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Structure_2"></a>Structure</h4>
</div>
</div>
</div>
<p>The model is composed of nodes representing specific model entities such as agents, actions and spaces. For details about any of these entities, see the Concepts section.</p>
<div class="section" title="Opening Components">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Opening_Components"></a>Opening Components</h5>
</div>
</div>
</div>
<p>After opening a model, you can see the contents by clicking the Triangle symbol to the left of an item. For example, opening the root context node, we see:</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/tools/Editor.png"></div>
<p>
						
</p>
</div>
<div class="section" title="Creating Components">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Creating_Components"></a>Creating Components</h5>
</div>
</div>
</div>
<p>You add nodes by right-clicking on a node, like so:</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/tools/EditorAdd.png"></div>
<p>
						
</p>
</div>
<div class="section" title="Editing Components">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Editing_Components"></a>Editing Components</h5>
</div>
</div>
</div>
<p>To edit components, select the node you want to modify. The 
							<span class="bold"><strong>Properties View</strong></span> will be updated with the agent details. Use the properties view to modify the values. In the screenshot below, we're editing the values for the City space.
						</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/tools/EditorEditing.png"></div>
<p>
						
</p>
</div>
<div class="section" title="Moving Components">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Moving_Components"></a>Moving Components</h5>
</div>
</div>
</div>
<p>You can often rearrange model components by dragging them from one place to another. In the following example, we're creating a model of a regional epidemic by creating a City sub-context and moving the agent into it: </p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/tools/EditorMoving.png"></div>
<p>
						
</p>
</div>
<div class="section" title="Removing Components">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Removing_Components"></a>Removing Components</h5>
</div>
</div>
</div>
<p>You can remove actions by deleting or cutting them using the popup menu. When you delete an entity, all of its children are deleted as well, except in some special cases (such as with actions) where other paths to that entity still exist.</p>
</div>
<div class="section" title="Copying Components">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Copying_Components"></a>Copying Components</h5>
</div>
</div>
</div>
<p>To make a copy of an entity and place it in a new location, option-drag the entity to the destination. You can make a copy in the existing location by dragging it into the same parent. The name will automatically be updated with "copy" appended to it.</p>
</div>
<div class="section" title="Editing Attributes">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Editing_Attributes"></a>Editing Attributes</h5>
</div>
</div>
</div>
<p>The attributes node -- along with the actions and styles nodes -- represents a group of components rather than an entity itself. It contains all of the attributes for the parent agent or context. In the examples below, we can see the attributes for the Epidemic route model. Note that the top level attributes in a root context act as the parameters for the model itself.</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/tools/EditorAttributes.png"></div>
<p>
						
</p>
</div>
<div class="section" title="Editing Styles">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Editing_Styles"></a>Editing Styles</h5>
</div>
</div>
</div>
<p>The Styles node is another group node, in this case representing a set of styles that can be used to visualize the agents. When creating a style, you will need to create a Rule for each style as well, like so:</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/tools/EditorStyles.png"></div>
<p>
						
</p>
</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>
<p>Actions are a key and relatively complex aspect of the model editor. Because actions are actually related in a graph structure, a tree-based editor will not be able to represent a the underlying structure of action relationships directly. (This is actually no different from most development environments -- for example, Java code is edited in a text based editor, but the call structure represents a complex graph. Advance tools developed by AMP contributors do support more sophisticated methods for action browsing and we'll have simple versions of them available in future releases of the AMF edit tools.) Therefore, it's helpful to take time to understand how action relationships appear in the editor.</p>
<p>Like attributes and styles, every agent has a single Actions nodes which contains its Root Action(s).</p>
<div class="section" title="Creating Actions">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Creating_Actions"></a>Creating Actions</h5>
</div>
</div>
</div>
<p>You create actions as with any other component, by right-clicking on the source action and choosing the new action. The menu is organized by usage.</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/tools/EditorActionMenu.png"></div>
<p>
						
</p>
</div>
<div class="section" title="Editing Actions">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Editing_Actions"></a>Editing Actions</h5>
</div>
</div>
</div>
<p>Actions and their inputs are edited just like any other model component. Click on the action or input you want to edit and then make changes to it in the properties editor.</p>
</div>
<div class="section" title="Order">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Order"></a>Order</h5>
</div>
</div>
</div>
<p>Generally, action sources will appear above their targets. In the case where there is only one source for a given target, and that target has no other sources, they will appear directly above one another. Its important to note however that 
							<span class="italic">the order of the nodes does not indicate a specific source and target relationship</span>. For example, in the case where there are multiple targets for a source, they will typically follow that source immediately. To make the relationships clear, every action lists its source actions as part of the action label. Agent selections also appear as part of the label.
						</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/tools/ActionsExample.png"></div>
<p>
						
</p>
<p>In the above example, the Initialize Location "Initialize Action" is straightforward. We simply define a Select Action, a Query Action target for that selection, and then a Move Action target for the query. The "Transmission" Rule is more complicated. Note for example that the "Infectious" Union Action is the target of both the "Asymptomatic Infectious" and  "Symptomatic Infectious" Query Actions. The "Vulnerable Neighbor" action has the label "Vulnerable Neighbor [Potential Exposure] &lt;- [Potential Exposure]" indicating that the "Potential Exposure" action serves as its selection as well as its source.</p>
</div>
<div class="section" title="Initial Order">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Initial_Order"></a>Initial Order</h5>
</div>
</div>
</div>
<p>A new action's initial target will be the action that you clicked on when creating it. For an action that should always act within a given root action (i.e. Rule, Schedule, etc..), add it to the root action. A root action can have more than one target.</p>
</div>
<div class="section" title="Changing Sources and Targets (Reordering)">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Changing_Sources_and_Targets_.28Reordering.29"></a>Changing Sources and Targets (Reordering)</h5>
</div>
</div>
</div>
<p>An action's target can be changed by dragging it over the new target action. Note that this is a different behavior from that of standard entity movement. You cannot make an action a target of an action that is itself a source of the modified action! (See the concepts section for why.) Using the default tree editor you cannot change an action's targets directly; instead select the action's target and move that. </p>
</div>
<div class="section" title="Adding Sources and Targets">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Adding_Sources_and_Targets"></a>Adding Sources and Targets</h5>
</div>
</div>
</div>
<p>As discussed earlier, actions often have multiple sources and targets. To make an action the target of an additional action, click on target action, hold down the control key, and drag the action to its new destination. See the tutorial for a complete example.</p>
</div>
<div class="section" title="Removing Sources and Targets">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Removing_Sources_and_Targets"></a>Removing Sources and Targets</h5>
</div>
</div>
</div>
<p>You cannot remove single sources from targets directly using the tree editor. Instead, first drag the agent to a source nodes that will be part of its changed set of sources. That will remove all existing actions sources but for the one you have just dragged it to. Then add back any of the other source and target nodes you wish to retain.</p>
</div>
<div class="section" title="Removing Actions">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Removing_Actions"></a>Removing Actions</h5>
</div>
</div>
</div>
<p>You can remove actions in the same way as with structural model components. Note that just as when you delete an agent, all of that agent's attributes, actions and styles are also deleted form the model, when you delete an Action, any of its targets will also be removed, unless there is some other source action path that connects it to the root action. And of course, any targets of such targets will be affected in the same way and so on. If you remove a node from high in the action tree a lot of nodes could disappear at once! If you have actions that you want to retain as part of the flow, you should first make them targets of a new action before deleting their parent action.</p>
</div>
<div class="section" title="Copying Actions">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Copying_Actions"></a>Copying Actions</h5>
</div>
</div>
</div>
<p>Copying actions works just as with other entities, and copies will become targets of their option-drag destination. </p>
</div>
<div class="section" title="Query and Evaluation Inputs">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Query_and_Evaluation_Inputs_2"></a>Query and Evaluation Inputs</h5>
</div>
</div>
</div>
<p>The number of inputs is determined by the selected functions. (In rare cases where a function can take an arbitrary number of arguments you may need to create additional values or delete existing ones.) In the following example, we're picking the Symptom Infectious status for a query that will affect the potentially exposed agents. Note that is instead you wanted to compare another kind of value -- for example an Integer value -- you would need to change the first input listed before changing the second input so that you will be able to get the appropriate options for the second.</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/tools/Inputs.png"></div>
<p>
						
</p>
</div>
<div class="section" title="Input Literals">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Input_Literals_2"></a>Input Literals</h5>
</div>
</div>
</div>
<p>To create an input value, right click on the input and select 
							<span class="bold"><strong>Create Member &gt; Literal</strong></span>. Then specify the actual value in the Value property in the 
							<span class="bold"><strong>Properties View</strong></span>.
						</p>
</div>
</div>
</div>
</div>
<div class="section" title="Building">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">
<a name="Building"></a>Building</h2>
</div>
</div>
</div>
<div class="section" title="Building Models">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Building_Models"></a>Building Models</h3>
</div>
</div>
</div>
<p>If you've used other development environments, you're probably used to a separate build step. For example, if you edit a set of Java files, you might invoke a compile command. Eclipse and the Agent Modeling Platform support automatic building. This means that in order to build your code, you simply save the model and the environment takes care of the rest. What gets built is defined by the project. For example, if you save a model that is contained within an Agent Modeling Escape Project, the following steps occur automatically:</p>
<div class="orderedlist">
<ol class="orderedlist" type="1">
<li class="listitem">
<p>The Escape builder generates Java code for the Escape API, including support for specialized graphics and (if enabled) 3D visualization.</p>
</li>
<li class="listitem">
<p>The Documentation builder generates custom html documentation for the model.</p>
</li>
<li class="listitem">
<p>The Java builder takes the Java code generated above and compiles it.</p>
</li>
<li class="listitem">
<p>The Manifest and Schema builders package the project for use as part of the Eclipse plugin environment.</p>
</li>
</ol>
</div>
<p>So what do you do if you want to generate code for a different target, such as Repast? Here, you simply create another project and drag the model into it. You can also edit the builders for a given project (see the Workbench Documentation) but you'll only want to do that if you're making permanent changes to the project itself.</p>
</div>
<div class="section" title="Generating Specialized Model Artifacts">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Generating_Specialized_Model_Artifacts"></a>Generating Specialized Model Artifacts</h3>
</div>
</div>
</div>
<p>You can also manually generate code for models. This is useful if you want to create code for a model in a non target project and don't want the automatic build capabilities. There are also specialized targets that can be generated manually that are bundled with the tools -- AMP plugin developers can easily add custom generation targets for this menu. To generate custom artifacts, right-click on a model and select 
					<span class="bold"><strong>Generate</strong></span>.
				</p>
<p>
					
</p>
<div class="mediaobject">
<img src="images/tools/GenerateMenu.png"></div>
<p>
				
</p>
<p>Targets include:</p>
<div class="section" title="Platform Targets">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Platform_Targets"></a>Platform Targets</h4>
</div>
</div>
</div>
<p>Creates code for one of the installed targets, such as Ascape, Escape, and Simphony. (Again, these generators are unnecessary for projects that already have target specific builders configured.)</p>
</div>
<div class="section" title="Interfaces">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Interfaces"></a>Interfaces</h4>
</div>
</div>
</div>
<p>Creates a complete set of interfaces for the model classes. These can be very useful for development and integration in enterprise environments. Generated classes are placed in the src directory with "I" added to the name. For example, if you generate interfaces for a model with an "Individual" agent, this target will create an "IIndividual" interface that includes getters, setters and methods for all of the agent's attributes and actions.</p>
</div>
<div class="section" title="Skeleton">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Skeleton"></a>Skeleton</h4>
</div>
</div>
</div>
<p>Creates a base class for the model. This is essentially a complete implementation, but without the action implementations. Again, these classes can be useful when generating code for use in enterprise and other specialized environments.</p>
</div>
<div class="section" title="Test Cases">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Test_Cases"></a>Test Cases</h4>
</div>
</div>
</div>
<p>Generates base support (needing customization) test cases for use in JUnit tests.</p>
</div>
<div class="section" title="Text Documents">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Text_Documents"></a>Text Documents</h4>
</div>
</div>
</div>
<p>Creates simple text documentation for use in other documents.</p>
</div>
<div class="section" title="Generate Key Graphics">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Generate_Key_Graphics"></a>Generate Key Graphics</h4>
</div>
</div>
</div>
<p>This specialized target supports the creation of graphic keys for the model. To use this target:</p>
<div class="orderedlist">
<ol class="orderedlist" type="1">
<li class="listitem">
<p>Generate the code.</p>
</li>
<li class="listitem">
<p>Add a dependency to the Manifest for "org.eclipse.amp.amf.gen.extras".</p>
</li>
<li class="listitem">
<p>In the srcutil directory find the Java source code for the calss {RootContext}GraphicsWriter. For example, for the Epidemic model, this would be srcutil/name.milesparker.epi/EpidemicGraphicsWriter.java.</p>
</li>
<li class="listitem">
<p>Right-click, and select 
								<span class="bold"><strong>Run As &gt; Java Application</strong></span>.
							</p>
</li>
<li class="listitem">
<p>Refresh the project by right-clicking on it and selecting 
								<span class="bold"><strong>Refresh</strong></span>.
							</p>
</li>
<li class="listitem">
<p>The Doc directory will now contain a number of new files, including</p>
<div class="orderedlist">
<ol class="orderedlist" type="a">
<li class="listitem">
<p>{RootContext}Key.png</p>
</li>
<li class="listitem">
<p>{RootContext}GraphicsKey.html</p>
</li>
</ol>
</div>
</li>
</ol>
</div>
<p>Both files contain graphic representations of the model using the definitions defined by the model styles, very useful artifacts for inclusion in papers and web pages describing your model. For example, here is the EpidemicKey.png:</p>
<p>
						
</p>
<div class="mediaobject">
<img src="images/tools/EpidemicKey.png"></div>
<p>
					
</p>
</div>
<div class="section" title="Function Docs">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Function_Docs"></a>Function Docs</h4>
</div>
</div>
</div>
<p>Generates WikiText documentation for function libraries. We use it to create the function documentation in this guide!</p>
</div>
</div>
</div>
<div class="section" title="Executing">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">
<a name="Executing"></a>Executing</h2>
</div>
</div>
</div>
<div class="section" title="Launching a Model (AMF)">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Launching_a_Model_.28AMF.29"></a>Launching a Model (AMF)</h3>
</div>
</div>
</div>
<table id="N10D13">
<tr>
						
<td>Launching AMF and Escape models is easy. When an AMF file is selected -- in any of the perspectives -- the toolbar and Application menus are updated to reflect the file you've selected and provide convenient access to other functions. For example, when we click on a metaabm file in the package explorer, model execution buttons appear in the toolbar. If you right-click on a file a pop-up menu appears like the one to the far right -- in this case we're selecting the "Execute Headless" option. To launch a model, just select one of the options. (Note that the execution framework doesn't know whether your code exists in an Escape project or another target project. If you attempt to execute a .metaabm model in an Ascape project for example, you will get an error.)</td>
						<td>
							
<div class="mediaobject">
<img src="images/tools/EditorToolbar.png"></div>
						
</td>
						<td>
							
<div class="mediaobject">
<img src="images/tools/EditorMenu.png"></div>
						
</td>
					
</tr>
</table>
<p>One a model has been launched, the Agent Execution Perspective automatically becomes active. The Provides a custom layout menus and tools specific to executing agent models.</p>
<p>
					
</p>
<div class="mediaobject">
<img src="images/execution/EpidemicExecNew.png"></div>
<p>
				
</p>
<p>The execution options are:</p>
<div class="section" title="Execute">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Execute"></a>Execute</h4>
</div>
</div>
</div>
<p>Launches the model using default graphics, opening the Agent Execution perspective.</p>
</div>
<div class="section" title="Execute Headless">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Execute_Headless"></a>Execute Headless</h4>
</div>
</div>
</div>
<p>Launches the model without graphics, opening the Agent Execution perspective.</p>
</div>
<div class="section" title="Execute Headless (Data)">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Execute_Headless_.28Data.29"></a>Execute Headless (Data)</h4>
</div>
</div>
</div>
<p>Launches the model with an observer that collects data into the AMF adata model representation.</p>
</div>
</div>
<div class="section" title="Executing a Model (Java / 3D)">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Executing_a_Model_.28Java_.2F_3D.29"></a>Executing a Model (Java / 3D)</h3>
</div>
</div>
</div>
<p>You can execute any Escape model directly from its Java file by right-clicking on it. This is used for models that have been written directly in Java, or that you have created or that have been automatically generated, such as the 3D versions of AMF models. In order for the model to launch correctly, it must have as a superclass the Escape "Scape" class. In the following screenshot, we've launched a 3D version of the Epidemic model. The 3D models are automatically generated for all .metaabm models.</p>
<p>
					
</p>
<div class="mediaobject">
<img src="images/execution/Epidemic3D.png"></div>
<p>
				
</p>
</div>
<div class="section" title="Controlling Model Execution">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Controlling_Model_Execution"></a>Controlling Model Execution</h3>
</div>
</div>
</div>
<p>Once a model has been launched, the toolbar buttons allow you to control model execution.</p>
<p>
					
</p>
<div class="mediaobject">
<img src="images/execution/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/execution/EpidemicModelComparison.png"></div>
<p>
				
</p>
<div class="section" title="The Active Model">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="The_Active_Model"></a>The Active Model</h4>
</div>
</div>
</div>
<p>An important concept in the execution workbench is the "active model". The active model is the model that is controlled by the toolbar buttons. As discussed, the Escape environment supports more than one running model at any given time. The active model is the current "focused" or front-most model, there can be only one active model at any given time and whenever any models are running one of them will be active. To make a model become the active model, you simply select a view of that model or select the model in the model manager (see below). When a model is closed, another model is automatically activated.</p>
</div>
</div>
<div class="section" title="Views">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Views_2"></a>Views</h3>
</div>
</div>
</div>
<p>There are many views specific to the Agent Execution environment that will enable you to explore and control running models.</p>
<div class="section" title="Properties">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Properties_2"></a>Properties</h4>
</div>
</div>
</div>
<p>If you want to find out more about an agent, show the properties view, and click on agent in the 2D view or any other views that support agent selection such as the tree view.</p>
<p>
						
</p>
<div class="mediaobject">
<img src="images/execution/EpidemicModelAgentProperties.png"></div>
<p>
					
</p>
<p>You can experiment with different parameters (settings) for models by then clicking on the model in the Model Manager or by selecting a general mode area such as the gray area enclosing the 2D view.</p>
<p>
						
</p>
<div class="mediaobject">
<img src="images/execution/EpidemicModelProperties.png"></div>
<p>
					
</p>
</div>
<div class="section" title="Agent Navigator">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Agent_Navigator"></a>Agent Navigator</h4>
</div>
</div>
</div>
<p>The 
						<span class="bold"><strong>Agent Navigator</strong></span> allows you to select agents from a tree view. The agent selection is coordinated across views so that for example when you select an agent in the navigator it is also selected in the 2D view. In the following screenshot you can see an agent selected in both views as well as the properties editor.
					</p>
<p>
						
</p>
<div class="mediaobject">
<img src="images/execution/AgentNavigator.png"></div>
<p>
					
</p>
</div>
<div class="section" title="Model Manager">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Model_Manager"></a>Model Manager</h4>
</div>
</div>
</div>
<p>The 
						<span class="bold"><strong>'Model Manager</strong></span>' allows you to examine and control the status of all running models. In the following screenshot, we've launched four separate models so that we can compare the typical model state at different periods.
					</p>
<p>
						
</p>
<div class="mediaobject">
<img src="images/execution/ModelManager.png"></div>
<p>
					
</p>
<p>The manager shows that two of the models are running and two are paused. By opening the model node, we can see the views that are currently being displayed. Note that we mean something different by "Views" in this context. Here "Views" are any thing that is monitoring the state of a running model. A view may not have a graphical component at all.</p>
<p>You can make any model the current active model by clicking on its node in this view.</p>
<div class="section" title="&quot;About this Model&quot;">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name=".22About_this_Model.22"></a>"About this Model"</h5>
</div>
</div>
</div>
<p>The 
							<span class="bold"><strong>'About this Model</strong></span>' view displays information about a (AMF or Java based) model if it has been provided by the developer. In order to appear in this dialog, create a file named "About[MyModel].html" where "MyModel" is the model's Scape Class Name (not the AMF model file name). The file should be placed in a "res" source folder in the model project directory in a parallel directory path to the root scape's Java class package. For example, an about file for a model defined by the scape "edu.brook.norms.Norms" should be placed at "res/edu/brook/norms/AboutNorms.html". The file should be an html fragment -- that is, without body and head tags -- and can include any valid html tags, including links.
						</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/execution/AboutView.png"></div>
<p>
						
</p>
</div>
</div>
</div>
<div class="section" title="Visualization">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Visualization"></a>Visualization</h3>
</div>
</div>
</div>
<p>The Agent Modeling Environment is designed to support many kinds of 2D or 3D visualization. AMP includes the following views for generated models. The Escape API supports a number of additional visualization to support Ascape models that aren't shown here. Look at the example org.ascape.escape.models.examples and org.ascape.escape.models.brook for examples of those.</p>
<div class="section" title="2D Views">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="2D_Views"></a>2D Views</h4>
</div>
</div>
</div>
<p>The 
						<span class="bold"><strong>Graphic 2D</strong></span> view is the most common view way to work with an Agent Model and is automatically generated and displayed for executing models.
					</p>
<p>
						
</p>
<div class="mediaobject">
<img src="images/execution/Epidemic2DView.png"></div>
<p>
					
</p>
<p>There are a number of view widgets in the upper-right hand corner that you can use to modify the view. You can:</p>
<div class="section" title="Scaling">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Scaling"></a>Scaling</h5>
</div>
</div>
</div>
<div class="orderedlist">
<ol class="orderedlist" type="1">
<li class="listitem">
<p>Enter or select a specific scale in the combo menu.</p>
</li>
<li class="listitem">
<p>Select a button to have the model scale either:</p>
<div class="orderedlist">
<ol class="orderedlist" type="a">
<li class="listitem">
<p>Freely</p>
</li>
<li class="listitem">
<p>Within the bounds of the view</p>
</li>
<li class="listitem">
<p>Within the vertical bounds of the view</p>
</li>
<li class="listitem">
<p>Within the horizontal bounds of the view</p>
</li>
</ol>
</div>
</li>
<li class="listitem">
<p>Zoom In</p>
</li>
<li class="listitem">
<p>Zoom Out</p>
</li>
</ol>
</div>
</div>
</div>
<div class="section" title="Charts">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Charts"></a>Charts</h4>
</div>
</div>
</div>
<p>A 
						<span class="bold"><strong>Chart</strong></span> view is automatically created and displayed for executing models. It can display aggregate values for any of the agent attributes you have set the "gather data" value to true for. Charts can be easily modified. While the built-in view is not meant to be the sole tool for Escape model data analysis, it provides an easy to use and powerful way to explore models interactively. The Chart view widgets allow you to modify the chart with the click of a button.
					</p>
<p>
						
</p>
<div class="mediaobject">
<img src="images/execution/EpidemicChartOptions.png"></div>
<p>
					
</p>
<div class="section" title="Chart Type">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Chart_Type"></a>Chart Type</h5>
</div>
</div>
</div>
<p>Several chart types are supported: The line, area, bar and pie chart. Click on one of the icons to select that type.</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/execution/LineChart.png"></div>
<p>

							
</p>
<div class="mediaobject">
<img src="images/execution/AreaChart.png"></div>
<p>

							
</p>
<div class="mediaobject">
<img src="images/execution/BarChart.png"></div>
<p>

							
</p>
<div class="mediaobject">
<img src="images/execution/PieChart.png"></div>
<p>
						
</p>
</div>
<div class="section" title="Chart Legend">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Chart_Legend"></a>Chart Legend</h5>
</div>
</div>
</div>
<p>Turn the legend on and off by selecting the "T" icon.</p>
</div>
<div class="section" title="Chart Data">
<div class="titlepage">
<div>
<div>
<h5 class="title">
<a name="Chart_Data"></a>Chart Data</h5>
</div>
</div>
</div>
<p>To select the statistics to display, show the 
							<span class="bold"><strong>Chart Customizer</strong></span> view. When the customizer has been selected, select a chart to customize. The customizer presents the possible choices in a 2D format. On one axis are the attributes that have data being collected, and on the other are the measurements collected on those axes, i.e. Count, Minimum, Maximum, Variance, Standard Deviation, Sum and Average. To clear all selections, click the Gray "X" button.
						</p>
<p>
							
</p>
<div class="mediaobject">
<img src="images/execution/EpidemicChartCustomize.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>
</div>
</div>
<div class="section" title="Launching Other Targets">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Launching_Other_Targets"></a>Launching Other Targets</h3>
</div>
</div>
</div>
<p>To execute applications for other targets such as Ascape or Simphony, just right-click on the metaabm model, select Run As.. and pick the target you want to launch. In the example below, we're launching Ascape from within an ..ascape project.</p>
<p>
					
</p>
<div class="mediaobject">
<img src="images/execution/LaunchAscape.png"></div>
<p>
				
</p>
<p>The external tool you've selected will then open into a separate Java application.</p>
<p>
					
</p>
<div class="mediaobject">
<img src="images/execution/AscapeRunning.png"></div>
<p>
				
</p>
<p>
					
<span class="italic">Note:</span> remember that the menu options are active regardless of whether the target is actually supported within a given project. If you attempt to Run (external targets) or Execute (internal targets) models from a project that does not support that target you will get an error! 
				</p>
</div>
<div class="section" title="Model Parameterization">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Model_Parameterization"></a>Model Parameterization</h3>
</div>
</div>
</div>
<p>Escape provides full support for parameterization of models. This allows you to create many sets of parameters for a given model, allowing you to decouple model runtime settings from the model itself. (Support for parameter sweeps is forthcoming.) To create a new parameterization, right-click in the location you want to create the parameter file, and select 
					<span class="bold"><strong>New &gt; Parameters File</strong></span>.
				</p>
<p>
					
</p>
<div class="mediaobject">
<img src="images/params/Create.png"></div>
<p>
				
</p>
<p>In the wizard that follows, give your parameter file a name:</p>
<p>
					
</p>
<div class="mediaobject">
<img src="images/params/Wizard.png"></div>
<p>
				
</p>
<p>The edit the file. See below for file syntax. The parameter editor has built-in support for code-completion, syntax high-lighting and other editor features.</p>
<p>
					
</p>
<div class="mediaobject">
<img src="images/params/Edit.png"></div>
<p>
				
</p>
<p>In the example below, we've created two separate parameter files for the epidemic model with different values for contact transmission probability.</p>
<p>
					
</p>
<div class="mediaobject">
<img src="images/params/Example.png"></div>
<p>
				
</p>
<p>As with other runnable files, you can launch a parameter file simply by selecting execute in the popup menu, application menu or toolbar.</p>
<p>
					
</p>
<div class="mediaobject">
<img src="images/params/Execute.png"></div>
<p>
				
</p>
<div class="section" title="Syntax">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Syntax"></a>Syntax</h4>
</div>
</div>
</div>
<p>Parameter files are quite simple. Every parameter file specifies the "model" that will be executed.The "incorporates" keyword supports including parameter values from other files. File locations are relative to the location of the parameter file, but it is usually more flexible to refer to model files relative to their project location. You can do that by inserting a "|" character at the beginning of the file name.</p>
<p>Attribute values are specified by the attribute ID (with the first character in upper-case) followed by "=" and the desired value.</p>
</div>
<div class="section" title="Example">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Example_2"></a>Example</h4>
</div>
</div>
</div>
<p>We can create a base parameters file called "EpiBase.apar".</p>
<div class="literallayout">
<p>model&nbsp;"|Epidemic.metaabm"<br>
StopPeriod=500<br>

</p>
</div>
<p>This means that we expect the Epidemic.metaabm model to be at the root of the project, and we want the model to stop at period 500. Then -- in this overly simple example -- we could create two other files, EpiHighTransmission.apar:</p>
<div class="literallayout">
<p>model&nbsp;"|Epidemic.metaabm"<br>
incorporates&nbsp;"EpiBase.apar"<br>
MinContactTransmissionProbability=0.05<br>
MaxContactTransmissionProbability=0.2<br>

</p>
</div>
<p>and EpiLowTransmission.apar:</p>
<div class="literallayout">
<p>model&nbsp;"|Epidemic.metaabm"<br>
incorporates&nbsp;"EpiBase.apar"<br>
MinContactTransmissionProbability=0.0<br>
MaxContactTransmissionProbability=0.15<br>

</p>
</div>
<p>Both of which reference the base set of parameters we've just defined and add run specific variables. Note that the incorporates reference is a parameter file relative reference so that we can easily move the set of parameter files to any location we want. With these two files defined we can click on both of them at once, select the Execute button and immediately compare the two values. (Not shown.)</p>
</div>
</div>
<div class="section" title="Model Testing">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Model_Testing"></a>Model Testing</h3>
</div>
</div>
</div>
<p>One of the most important and over-looked aspects of modeling is verification. Very loosely speaking, model 
					<span class="italic">validation</span> is the process of determining whether a model matches up to the "real world". Model 
					<span class="italic">verification</span> is the process of determining whether your model specification matches up to the model you've actually implemented. In other words, does the model do what you say it does?
				</p>
<p>To help you answer this important question, the modeling tools include unique support for an approach to validation and verification called "unit testing". A thorough discussion is far beyond the scope of this manual, but this guide should give you enough information to get testing your own models. Testing might seem tedious ut its actually a real time saver, because you can quickly run a set of tests to ensure that you a new model change hasn't broken existing functionality. This peace of mind is priceless, and once you start testing, you won't know how you lived without it!</p>
<p>To create a new test, right-click at the location you want to put the test files. (Not shown.) Then we can edit the test file using the syntax shown below. It's helpful to keep them organized in sets of folders. To execute a test or set of tests, simply select the test files and click "Test Once" or "Test 5 times" to run a set of identical tests. The latter is useful for stochastic tests in which tests may create significantly different results for the same random seeds. (We'll provide more options in a future release.) If you select an entire folder, the framework will run all of the tests in the folder. This process is very similar to that for parameter files, so we won't show it here.</p>
<p>Once a test is complete, an "ares" file is created in the "test-results" folder. To see how your tests faired, open the .ares file. For the example test file below, we should see something like this:</p>
<p>
					
</p>
<div class="mediaobject">
<img src="images/params/TestResults.png"></div>
<p>
				
</p>
<p>Notice that we can view the expected values and where our results actually fall.</p>
<div class="section" title="Syntax">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Syntax_2"></a>Syntax</h4>
</div>
</div>
</div>
<p>Test files are also pretty simple. It's a good idea to provide a description of the test so you can understand why you created it and what feature you're testing. Just put quote characters around your description. Then, use the "tests" keyword to specify what parameter file you'll be using. Again you can use file or project relative references. You don not specify a model here -- that's defined by the parameter file. You can use the "contains" keyword just like the incorporates keyword for parameter files, to specify a set of test constraints that you want to include with the new tests you've defined. This is useful for including a series of "sanity checks" with other tests. Then you specify the test constraints themselves. This uses the following form:</p>
<div class="literallayout">
<p>{Measure}({TestedAttribute})&nbsp;=&nbsp;[{MinimumConstraint},&nbsp;{MaximumConstraint}]<br>

</p>
</div>
<p>The measures available are Average, Minimum, Maximum Count and Sum. In order for an attribute to be tested the "gather data" value must be set for that attribute. All Measures are not appropriate for all attribute types. Booleans, Symbols and States should only use the Count measure as they represent discrete values that can either meet some condition or not.</p>
<p>The tested attributes are qualified by their model agent definition. The constraint definition is inclusive, as implied by the square brackets. Future implementations are expected to provide richer expressions and constraints but a very wide range of cases are supported by this construct, especially when combined with derived attributes. Tested Attributes are again specified by the attribute ID (with the first character in upper-case) followed by "=" and the desired value.</p>
</div>
<div class="section" title="Example">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Example_3"></a>Example</h4>
</div>
</div>
</div>
<p>In the following simple example we want to make sure that an epidemic can't occur without disease transmission taking place. Here we're just looking to make sure that we have some very basic logic right. (This might be almost too simple for a real-world design, depending on how rigorous we want to be.) Note that some individuals are infected at the beginning of the model run so we need to account for that in our expected results. So first we have defined the EpiZeroTransmission.apar file like the other transmission rate parameterizations above except with these settings:</p>
<div class="literallayout">
<p>MinContactTransmissionProbability=0.0<br>
MaxContactTransmissionProbability=0.0<br>

</p>
</div>
<p>Then we define our ZeroTransmission.atest file:</p>
<div class="literallayout">
<p>"Test&nbsp;that&nbsp;no&nbsp;disease&nbsp;transmission&nbsp;occurs&nbsp;with&nbsp;contact&nbsp;transmission&nbsp;set&nbsp;to&nbsp;0."<br>
tests&nbsp;"|params/EpiZeroTransmission.apar"<br>
Count(Individual.Status=Dead)&nbsp;=&nbsp;[0,5]<br>
Count(Individual.Status=Exposed)&nbsp;=&nbsp;[0,10]<br>
Count(Individual.Status=SymptomInfectious)=[0,0]<br>

</p>
</div>
<p>Here we have a nice description, a reference to the parameterization we want to use, and then the set of constraints we will apply to them. After running this test, a test result file like the one above will be created and placed in our "test-results" directory.</p>
</div>
</div>
</div>
</div>
<div class="navfooter">
<hr>
<table summary="Navigation footer" width="100%">
<tr>
<td align="left" width="40%"><a accesskey="p" href="Modeler_Guide.html">Prev</a>&nbsp;</td><td align="center" width="20%">&nbsp;</td><td align="right" width="40%">&nbsp;<a accesskey="n" href="Tutorials.html">Next</a></td>
</tr>
<tr>
<td valign="top" align="left" width="40%">Chapter&nbsp;2.&nbsp;Modeler Guide&nbsp;</td><td align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td valign="top" align="right" width="40%">&nbsp;Chapter&nbsp;4.&nbsp;Tutorials</td>
</tr>
</table>
</div>
</body>
</html>
