Reorg docs. Add model execution section.
diff --git a/documentation/amp.html b/documentation/amp.html
index 8ef3178..4f05639 100644
--- a/documentation/amp.html
+++ b/documentation/amp.html
@@ -52,13 +52,10 @@
 <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="#Tools">Tools</a></span>
 </dt>
 <dt>
-<span class="section"><a href="#Running_Agent_Models">Running Agent Models</a></span>
+<span class="section"><a href="#Tutorial">Tutorial</a></span>
 </dt>
 </dl>
 </dd>
@@ -79,6 +76,9 @@
 <dt>
 <span class="section"><a href="#More_Information">More Information</a></span>
 </dt>
+<dt>
+<span class="section"><a href="#Running_Agent_Models">Running Agent Models</a></span>
+</dt>
 </dl>
 </dd>
 <dt>
@@ -109,9 +109,6 @@
 <span class="section"><a href="#Feedback">Feedback</a></span>
 </dt>
 <dt>
-<span class="section"><a href="#Media_and_Private_Communications">Media and Private Communications</a></span>
-</dt>
-<dt>
 <span class="section"><a href="#Get_Involved">Get Involved</a></span>
 </dt>
 </dl>
@@ -446,7 +443,7 @@
 </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>
+<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. Note that Labels must be unique throughout the model. (This may change in future releases for Action names.) If you try to provide an object with a name that is already in use, "Copy" will be appended to the end of the name. </p>
 </div>
 <div class="section" title="ID">
 <div class="titlepage">
@@ -457,7 +454,7 @@
 </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>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.) Like labels, IDs need to be unique across the model, and the editing tools will assign a different id if you attempt to give two entities the same id.</p>
 <p>And most entities also define:</p>
 </div>
 <div class="section" title="Description">
@@ -918,7 +915,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/StructureComplexDiagram.png"></div>
+<img src="images/structure/StructureComplexDiagram.png"></div>
 <p> 
 						
 </p>
@@ -941,7 +938,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/StructureSimpleDiagram.png"></div>
+<img src="images/structure/StructureSimpleDiagram.png"></div>
 <p>
 						
 </p>
@@ -1047,7 +1044,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsBlocks.png"></div>
+<img src="images/actions/ActionsBlocks.png"></div>
 <p> 
 					
 </p>
@@ -1063,6 +1060,9 @@
 </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>An important aspect of the Actions design is that loop structures are not allowed -- that is, flows are acyclic. An action can never have an ancestor target (that is targets, targets of targets, etc..) that has as one of its ancestors that same action. As you'll see, actions don't typically 
+						<span class="italic">need</span> loop structures. By far the most common use of loops in conventional programming langauges is to loop through collections of objects. As selections (see below) refer to the entire collection of agents, any actions on a selection apply to all members of that collection. Recursive structures are needed for some particular usages and will be supported in future releases, but not through an explicit looping construct.
+					</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.
@@ -1071,7 +1071,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsSequence.png"></div>
+<img src="images/actions/ActionsSequence.png"></div>
 <p>
 					
 </p>
@@ -1080,7 +1080,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsSimpleSequence.png"></div>
+<img src="images/actions/ActionsSimpleSequence.png"></div>
 <p>
 					
 </p>
@@ -1089,7 +1089,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsSimpleSequence2.png"></div>
+<img src="images/actions/ActionsSimpleSequence2.png"></div>
 <p>
 					
 </p>
@@ -1098,7 +1098,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsFlowSimple.png"></div>
+<img src="images/actions/ActionsFlowSimple.png"></div>
 <p>
 					
 </p>
@@ -1107,7 +1107,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsFlowUnion.png"></div>
+<img src="images/actions/ActionsFlowUnion.png"></div>
 <p>
 					
 </p>
@@ -1149,7 +1149,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsSelBoundarySimple.png"></div>
+<img src="images/actions/ActionsSelBoundarySimple.png"></div>
 <p>
 					
 </p>
@@ -1158,7 +1158,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsSelBoundary2Parts.png"></div>
+<img src="images/actions/ActionsSelBoundary2Parts.png"></div>
 <p> 
 					
 </p>
@@ -1178,7 +1178,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsSelBoundary11A.png"></div>
+<img src="images/actions/ActionsSelBoundary11A.png"></div>
 <p>
 					
 </p>
@@ -1190,7 +1190,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsSelBoundaryComplex.png"></div>
+<img src="images/actions/ActionsSelBoundaryComplex.png"></div>
 <p>
 					
 </p>
@@ -1212,7 +1212,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsWeavingSetAnother.png"></div>
+<img src="images/actions/ActionsWeavingSetAnother.png"></div>
 <p>
 					
 </p>
@@ -1221,7 +1221,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsWeavingEvaluate.png"></div>
+<img src="images/actions/ActionsWeavingEvaluate.png"></div>
 <p>
 					
 </p>
@@ -1230,7 +1230,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsWeaving1A.png"></div>
+<img src="images/actions/ActionsWeaving1A.png"></div>
 <p>
 					
 </p>
@@ -1239,7 +1239,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsWeaving2.png"></div>
+<img src="images/actions/ActionsWeaving2.png"></div>
 <p>
 					
 </p>
@@ -1261,7 +1261,7 @@
 					
 </p>
 <div class="mediaobject">
-<img src="images/ActionsBlocks.png"></div>
+<img src="images/actions/ActionsBlocks.png"></div>
 <p> 
 				
 </p>
@@ -1341,6 +1341,17 @@
 </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="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>
@@ -1350,7 +1361,18 @@
 </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>
+<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. They must return logical values. 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 specified by the function prototype. Inputs can specify any source evaluation and any agent state or agent parent context state. They can also be literal values -- see the section on literals below. 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="Logic">
@@ -1557,7 +1579,7 @@
 <div>
 <div>
 <h6 class="title">
-<a name="Selection_2"></a>Selection</h6>
+<a name="Selection_3"></a>Selection</h6>
 </div>
 </div>
 </div>
@@ -1574,12 +1596,12 @@
 </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="section" title="Agent Count">
 <div class="titlepage">
 <div>
 <div>
 <h6 class="title">
-<a name=".3DAgent_Count"></a>=Agent Count</h6>
+<a name="Agent_Count"></a>Agent Count</h6>
 </div>
 </div>
 </div>
@@ -1722,7 +1744,7 @@
 <div>
 <div>
 <h6 class="title">
-<a name="Selection_3"></a>Selection</h6>
+<a name="Selection_4"></a>Selection</h6>
 </div>
 </div>
 </div>
@@ -1777,7 +1799,7 @@
 <div>
 <div>
 <h6 class="title">
-<a name="Selection_4"></a>Selection</h6>
+<a name="Selection_5"></a>Selection</h6>
 </div>
 </div>
 </div>
@@ -1829,6 +1851,459 @@
 <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 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_6"></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_2"></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. They can also be literal values -- see the discussion in the Tools section. 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_7"></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_8"></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="Destination"></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_9"></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="Destination_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_10"></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"></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_11"></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_2"></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_12"></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="Destination_3"></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_13"></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="Destination_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_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="Other">
+<div class="titlepage">
+<div>
+<div>
+<h4 class="title">
+<a name="Other"></a>Other</h4>
+</div>
+</div>
+</div>
+<div class="section" title="Method">
+<div class="titlepage">
+<div>
+<div>
+<h5 class="title">
+<a name="Method"></a>Method</h5>
+</div>
+</div>
+</div>
+<p>The Method action supports inclusion of arbitrary code within a generated method. Generally, this will be Java code as all of the current target platforms are Java-based but there is no technical requirement that it must be. For example, if a target has been developed to produce code for Swarm running on an iPad (and no, there are no current plans to support such a thing, though it would certainly be cool!) then the modeler could define Objective C code for the method.</p>
+<p>Please note that the Method Action should be avoided whenever possible. You should consider using it only in the case where there doesn't appear to be a way to construct equivalent functionality using the native Actions framework, such as when interfacing with third party APIs.  The aim of Actions is to provide the most general support for Agent Modeling possible without compromising the core design. Any use of native Java code strongly limits the set of platforms that your model will be able to generate code for and prevents you from using the AMF edit tools to explore the model behavior. In the case where you wish to construct a model feature and believe that it isn't possible or practical to do it with Actions, please contact us (see support section) so that we can suggest how you can accomplish what you want within Actions. If that is not possible, we'll consider developing new features that will support what you want to do.</p>
+<p>On the other hand, you may simply wish to use the Agent Modeling Framework to build a scaffolding for your model -- perhaps using your own custom Java framework for example -- and Method would be a good way to accomplish that. Also, note there are a number of other approaches to mixing hand-crafted Java together with AMF generated code. Please see the Programmer's Guide section "Integrating Java and AMF Models" for more on that.</p>
+<p>If you do decide to use the Method Action, keep in mind the following design practice recommendations:</p>
+<div class="orderedlist">
+<ol class="orderedlist" type="1">
+<li class="listitem">
+<p>Keep your usage of external API references to a minimum. If you can use only code provied by the core Java classes as well as the Apache Collections library, your code should work on every current Java target. On the other hand, if you make use of a specific ABM platform APIs your code will obviously only compile and run against that target.</p>
+</li>
+<li class="listitem">
+<p>Code should be in the form of a method body, excluding the signature. A single Java method is created using this code body. There is no support for input parameters -- if you need access to evaluated values from source actions, create agent attributes for them, set their values for the selected agents, and use them as sources for your Method Action.</p>
+</li>
+<li class="listitem">
+<p>All Java class references should be fully qualified. For example, if you wish to use the eclipse Draw2D Graphics class, you should refer to "org.eclipse.draw2d.Graphics", not simply "Graphics". If classes are not fully qualified, you will recieve compile errors. You can usually easily fix these by selecting your source code directory and choosing 
+									<span class="bold"><strong>Source &gt; Organize Imports..</strong></span> but it prevents automatic code generation.
+								</p>
+</li>
+<li class="listitem">
+<p>The method interface has no support for code completion, syntax checking or other common Java development environment features. You can avoid code maintenance and even support targetting multiple APIs by using the following technique. From your method body, call a helper method in a seperate class. The referred class could use a static method call, or you could instantiate the class and call a method against it, passing in the agent class so that the helper class can reference the agent's state. For example, if you wanted to use some custom java code to import agents from a specialized input file, you could put the following code in the Method Action body for the root Context: <span style="color: red">&lt;pre&gt;(new org.me.SpecialFileLoader()).load(this);&lt;/pre&gt;</span>Then create a new source directory in your project called "src" (
+									<span class="bold"><strong>New &gt; Source Folder...</strong></span>) and create the class for the specialized file loader including the following method: <span style="color: red">&lt;pre&gt;public void load(MyRootModel model) {...}&lt;/pre&gt;</span> This approach allows you to a) maintain the working code using the Java Development Environment, b) avoid changes to the Method Action within the model, and most importantly, c) allow other implementations of the code using multiple APIs. For example, if you need to create a specialized graphics routine, you could create seperate implementations for your Escape (Eclipse Draw 2D), Ascape (Java Swing), and Repast (Simphony API) and place them in the appropriate projects. As long as the different Java source files have the same names and signatures, they will all compile correctly and execute the appropriate behavior.
+								</p>
+</li>
+</ol>
+</div>
+<div class="section" title="Selection">
+<div class="titlepage">
+<div>
+<div>
+<h6 class="title">
+<a name="Selection_14"></a>Selection</h6>
+</div>
+</div>
+</div>
+<p>The selection determines what Agent class the code will be created within and the set of agents the method will be called upon.</p>
+</div>
+<div class="section" title="Body">
+<div class="titlepage">
+<div>
+<div>
+<h6 class="title">
+<a name="Body"></a>Body</h6>
+</div>
+</div>
+</div>
+<p>The actual code to insert in the method body. See the detailed recommendations for code use above.</p>
+</div>
+<div class="section" title="Generate">
+<div class="titlepage">
+<div>
+<div>
+<h6 class="title">
+<a name="Generate"></a>Generate</h6>
+</div>
+</div>
+</div>
+<p>Determines wether the code is actually inserted. If this is false, a bare method body will be constructed instead. This can be useful if you wish to turn off method generation in certain model implementaitons without removing the actual code.</p>
+</div>
+</div>
+</div>
+<div class="section" title="Query and Evaluation Inputs">
+<div class="titlepage">
+<div>
+<div>
+<h4 class="title">
+<a name="Query_and_Evaluation_Inputs"></a>Query and Evaluation Inputs</h4>
+</div>
+</div>
+</div>
+<p>Query and Evaluation Actions are both "Sinks" which means that they are capable of containing inputs. When you select a function, the appropriate number of inputs will be created. After selecting a function, you can view and select the inputs. The choices for the inputs will be constrained by the type of the function and the other operands you've selected.</p>
+<div class="section">
+<div class="titlepage"></div>
+<div class="section" title="Input Literals">
+<div class="titlepage">
+<div>
+<div>
+<h6 class="title">
+<a name="N105BB"></a>Input Literals</h6>
+</div>
+</div>
+</div>
+<p>Inputs can take literal values; that is values that you specify simply by entering them directly into the query. In general it is useful to think of literals as similar to local variables in a conventional programming language, whereas attributes are analogous to member variables. (And this is how they are represented in the generated Java code.) As with local variables in model code, literals are not recommended for any values that can change model behavior. The value cannot be easily accessed or changed by other model users. For greater transparency, you should instead create an Attribute with an appropriate default value, setting the "immutable" value to true. Still, literals can be useful for values that are special cases related to the evaluation or query, such as an input code, and for quickly prototyping functionality.</p>
+</div>
+</div>
+</div>
 </div>
 <div class="section" title="Example">
 <div class="titlepage">
@@ -1867,7 +2342,7 @@
 					
 </p>
 <div class="mediaobject">
-<img src="images/ActionsExample.png"></div>
+<img src="images/actions/ActionsExample.png"></div>
 <p>
 				
 </p>
@@ -1876,7 +2351,7 @@
 					
 </p>
 <div class="mediaobject">
-<img src="images/ActionsExampleNew.png"></div>
+<img src="images/actions/ActionsExampleNew.png"></div>
 <p>
 				
 </p>
@@ -1982,7 +2457,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/ActionsDiagram.png"></div>
+<img src="images/actions/ActionsDiagram.png"></div>
 <p>
 						
 </p>
@@ -2024,434 +2499,6 @@
 </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_5"></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_6"></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_7"></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="Destination"></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_8"></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="Destination_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_9"></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"></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_10"></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_2"></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_11"></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="Destination_3"></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_12"></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="Destination_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_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="Other">
-<div class="titlepage">
-<div>
-<div>
-<h4 class="title">
-<a name="Other"></a>Other</h4>
-</div>
-</div>
-</div>
-<div class="section" title="Method">
-<div class="titlepage">
-<div>
-<div>
-<h5 class="title">
-<a name="Method"></a>Method</h5>
-</div>
-</div>
-</div>
-<p>The Method action supports inclusion of arbitrary code within a generated method. Generally, this will be Java code as all of the current target platforms are Java-based but there is no technical requirement that it must be. For example, if a target has been developed to produce code for Swarm running on an iPad (and no, there are no current plans to support such a thing, though it would certainly be cool!) then the modeler could define Objective C code for the method.</p>
-<p>Please note that the Method Action should be avoided whenever possible. You should consider using it only in the case where there doesn't appear to be a way to construct equivalent functionality using the native Actions framework, such as when interfacing with third party APIs.  The aim of Actions is to provide the most general support for Agent Modeling possible without compromising the core design. Any use of native Java code strongly limits the set of platforms that your model will be able to generate code for and prevents you from using the AMF edit tools to explore the model behavior. In the case where you wish to construct a model feature and believe that it isn't possible or practical to do it with Actions, please contact us (see support section) so that we can suggest how you can accomplish what you want within Actions. If that is not possible, we'll consider developing new features that will support what you want to do.</p>
-<p>On the other hand, you may simply wish to use the Agent Modeling Framework to build a scaffolding for your model -- perhaps using your own custom Java framework for example -- and Method would be a good way to accomplish that. Also, note there are a number of other approaches to mixing hand-crafted Java together with AMF generated code. Please see the Programmer's Guide section "Integrating Java and AMF Models" for more on that.</p>
-<p>If you do decide to use the Method Action, keep in mind the following design practice recommendations:</p>
-<div class="orderedlist">
-<ol class="orderedlist" type="1">
-<li class="listitem">
-<p>Keep your usage of external API references to a minimum. If you can use only code provied by the core Java classes as well as the Apache Collections library, your code should work on every current Java target. On the other hand, if you make use of a specific ABM platform APIs your code will obviously only compile and run against that target.</p>
-</li>
-<li class="listitem">
-<p>Code should be in the form of a method body, excluding the signature. A single Java method is created using this code body. There is no support for input parameters -- if you need access to evaluated values from source actions, create agent attributes for them, set their values for the selected agents, and use them as sources for your Method Action.</p>
-</li>
-<li class="listitem">
-<p>All Java class references should be fully qualified. For example, if you wish to use the eclipse Draw2D Graphics class, you should refer to "org.eclipse.draw2d.Graphics", not simply "Graphics". If classes are not fully qualified, you will recieve compile errors. You can usually easily fix these by selecting your source code directory and choosing 
-									<span class="bold"><strong>Source &gt; Organize Imports..</strong></span> but it prevents automatic code generation.
-								</p>
-</li>
-<li class="listitem">
-<p>The method interface has no support for code completion, syntax checking or other common Java development environment features. You can avoid code maintenance and even support targetting multiple APIs by using the following technique. From your method body, call a helper method in a seperate class. The referred class could use a static method call, or you could instantiate the class and call a method against it, passing in the agent class so that the helper class can reference the agent's state. For example, if you wanted to use some custom java code to import agents from a specialized input file, you could put the following code in the Method Action body for the root Context: <span style="color: red">&lt;pre&gt;(new org.me.SpecialFileLoader()).load(this);&lt;/pre&gt;</span>Then create a new source directory in your project called "src" (
-									<span class="bold"><strong>New &gt; Source Folder...</strong></span>) and create the class for the specialized file loader including the following method: <span style="color: red">&lt;pre&gt;public void load(MyRootModel model) {...}&lt;/pre&gt;</span> This approach allows you to a) maintain the working code using the Java Development Environment, b) avoid changes to the Method Action within the model, and most importantly, c) allow other implementations of the code using multiple APIs. For example, if you need to create a specialized graphics routine, you could create seperate implementations for your Escape (Eclipse Draw 2D), Ascape (Java Swing), and Repast (Simphony API) and place them in the appropriate projects. As long as the different Java source files have the same names and signatures, they will all compile correctly and execute the appropriate behavior.
-								</p>
-</li>
-</ol>
-</div>
-<div class="section" title="Selection">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Selection_13"></a>Selection</h6>
-</div>
-</div>
-</div>
-<p>The selection determines what Agent class the code will be created within and the set of agents the method will be called upon.</p>
-</div>
-<div class="section" title="Body">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Body"></a>Body</h6>
-</div>
-</div>
-</div>
-<p>The actual code to insert in the method body. See the detailed recommendations for code use above.</p>
-</div>
-<div class="section" title="Generate">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Generate"></a>Generate</h6>
-</div>
-</div>
-</div>
-<p>Determines wether the code is actually inserted. If this is false, a bare method body will be constructed instead. This can be useful if you wish to turn off method generation in certain model implementaitons without removing the actual code.</p>
-</div>
-</div>
-</div>
 </div>
 </div>
 <div class="section" title="Functions">
@@ -3608,7 +3655,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/ActionsExampleNew.png"></div>
+<img src="images/actions/ActionsExampleNew.png"></div>
 <p>
 						
 </p>
@@ -3908,7 +3955,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/GraphicsFunctionExampleDesign.png"></div>
+<img src="images/functions/GraphicsFunctionExampleDesign.png"></div>
 <p>
 						
 </p>
@@ -3917,7 +3964,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/GraphicsFunctionExampleRun.png"></div>
+<img src="images/functions/GraphicsFunctionExampleRun.png"></div>
 <p>
 						
 </p>
@@ -4114,7 +4161,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/DistributionDesignChoice.png"></div>
+<img src="images/functions/DistributionDesignChoice.png"></div>
 <p> 
 						
 </p>
@@ -4123,7 +4170,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/DistributionDesign.png"></div>
+<img src="images/functions/DistributionDesign.png"></div>
 <p> 
 						
 </p>
@@ -4153,7 +4200,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/FunctionsDiagram.png"></div>
+<img src="images/functions/FunctionsDiagram.png"></div>
 <p>
 						
 </p>
@@ -4161,753 +4208,6 @@
 </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="N10C13"></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="Tools">
 <div class="titlepage">
 <div>
@@ -4962,70 +4262,7 @@
 </div>
 </div>
 </div>
-<p>The Provides a custom layout menus and tools specific to the Agent Modeling Platform. Because the Agent Modeling process 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="Views">
-<div class="titlepage">
-<div>
-<div>
-<h4 class="title">
-<a name="Views"></a>Views</h4>
-</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 customizes.</p>
-<p>
-						
-</p>
-<div class="mediaobject">
-<img src="images/tools/Workbench.png"></div>
-<p>
-					
-</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="Editor">
-<div class="titlepage">
-<div>
-<div>
-<h5 class="title">
-<a name="Editor"></a>Editor</h5>
-</div>
-</div>
-</div>
-<p>This 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="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 below for how the outline can be used to assist exploration Agent Models.</p>
-</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">
@@ -5041,7 +4278,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial3CreateModel.png"></div>
+<img src="images/edit_tutorial/SimpleTutorial3CreateModel.png"></div>
 <p>
 					
 </p>
@@ -5055,35 +4292,124 @@
 </div>
 </div>
 </div>
-<p>The popup menus and application menus provide access to various model features.</p>
-<div class="section" title="AMF (metaabm and acore) files">
+<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>
+<h4 class="title">
+<a name="Views"></a>Views</h4>
+</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>
 <h5 class="title">
-<a name="AMF_.28metaabm_and_acore.29_files"></a>AMF (metaabm and acore) files</h5>
+<a name="Editor"></a>Editor</h5>
 </div>
 </div>
 </div>
-<p>When an AMF file is selected, the pop-up menu looks like this:</p>
-<p>
-							
-</p>
-<div class="mediaobject">
-<img src="images/tools/EditorMenu.png"></div>
-<p>
-						
-</p>
-<p>(In this case we've selected the "Execute Headless" option.) Note that the toolbar and Application menus are updated to reflect the file you've selected and can provide more convenient access to many of the functions. For example, when we click on a metaabm file in the package explorer, model execution buttons appear in the toolbar. Throughout these screenshots, we've customized the toolbar in order to only show the agent Modeling specific features.</p>
-<p>
-							
-</p>
-<div class="mediaobject">
-<img src="images/tools/EditorToolbar.png"></div>
-<p>
-						
-</p>
-<p>There are a number of items listed in the menu bar, but the important tools are explained in the following sub-sections.</p>
+<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>
+<h5 class="title">
+<a name="Default_Views"></a>Default Views</h5>
+</div>
+</div>
+</div>
+<p>The default modeling views are visible by default.</p>
+<div class="section" title="Package Explorer">
+<div class="titlepage">
+<div>
+<div>
+<h6 class="title">
+<a name="Package_Explorer"></a>Package Explorer</h6>
+</div>
+</div>
+</div>
+<p>Supports navigation within projects.</p>
+</div>
+<div class="section" title="Properties">
+<div class="titlepage">
+<div>
+<div>
+<h6 class="title">
+<a name="Properties"></a>Properties</h6>
+</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>
+<h6 class="title">
+<a name="Outline"></a>Outline</h6>
+</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>
+<h5 class="title">
+<a name="Diagnostic_Views"></a>Diagnostic Views</h5>
+</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>
+<h6 class="title">
+<a name="Problems"></a>Problems</h6>
+</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>
+<h6 class="title">
+<a name="Console"></a>Console</h6>
+</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>
+<h6 class="title">
+<a name="Errors"></a>Errors</h6>
+</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="Editing Models">
@@ -5109,22 +4435,22 @@
 							<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 dicuss at the end of this section.
 						</p>
 </div>
-<div class="section" title="Using the Editor">
+<div class="section" title="Editing Structure">
 <div class="titlepage">
 <div>
 <div>
 <h5 class="title">
-<a name="Using_the_Editor"></a>Using the Editor</h5>
+<a name="Editing_Structure"></a>Editing Structure</h5>
 </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 Entities">
+<div class="section" title="Opening Components">
 <div class="titlepage">
 <div>
 <div>
 <h6 class="title">
-<a name="Opening_Entities"></a>Opening Entities</h6>
+<a name="Opening_Components"></a>Opening Components</h6>
 </div>
 </div>
 </div>
@@ -5138,16 +4464,18 @@
 							
 </p>
 </div>
-<div class="section" title="Editing Entities">
+<div class="section" title="Editing Components">
 <div class="titlepage">
 <div>
 <div>
 <h6 class="title">
-<a name="Editing_Entities"></a>Editing Entities</h6>
+<a name="Editing_Components"></a>Editing Components</h6>
 </div>
 </div>
 </div>
-<p>To edit entities, select the node you want to modify. The properties view 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>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>
@@ -5157,12 +4485,12 @@
 							
 </p>
 </div>
-<div class="section" title="Adding Entities">
+<div class="section" title="Adding Components">
 <div class="titlepage">
 <div>
 <div>
 <h6 class="title">
-<a name="Adding_Entities"></a>Adding Entities</h6>
+<a name="Adding_Components"></a>Adding Components</h6>
 </div>
 </div>
 </div>
@@ -5176,12 +4504,12 @@
 							
 </p>
 </div>
-<div class="section" title="Moving Entities">
+<div class="section" title="Moving Components">
 <div class="titlepage">
 <div>
 <div>
 <h6 class="title">
-<a name="Moving_Entities"></a>Moving Entities</h6>
+<a name="Moving_Components"></a>Moving Components</h6>
 </div>
 </div>
 </div>
@@ -5195,6 +4523,28 @@
 							
 </p>
 </div>
+<div class="section" title="Removing Components">
+<div class="titlepage">
+<div>
+<div>
+<h6 class="title">
+<a name="Removing_Components"></a>Removing Components</h6>
+</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 entitiy still exist.</p>
+</div>
+<div class="section" title="Copying Components">
+<div class="titlepage">
+<div>
+<div>
+<h6 class="title">
+<a name="Copying_Components"></a>Copying Components</h6>
+</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>
@@ -5204,7 +4554,7 @@
 </div>
 </div>
 </div>
-<p>The attributes node -- along with the actions and styles nodes -- represents a group of entities 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>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>
@@ -5234,16 +4584,17 @@
 </p>
 </div>
 </div>
-<div class="section" title="Actions">
+<div class="section" title="Editing Actions">
 <div class="titlepage">
 <div>
 <div>
 <h5 class="title">
-<a name="Actions_4"></a>Actions</h5>
+<a name="Editing_Actions"></a>Editing Actions</h5>
 </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 set of actions perfectly. (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.) Therefore, its helpful to take time to understand how action relationships appear in the editor.</p>
+<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 strucuture 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="Order">
 <div class="titlepage">
 <div>
@@ -5266,6 +4617,105 @@
 </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>
+<h6 class="title">
+<a name="Initial_Order"></a>Initial Order</h6>
+</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>
+<h6 class="title">
+<a name="Changing_Sources_and_Targets_.28Reordering.29"></a>Changing Sources and Targets (Reordering)</h6>
+</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>
+<h6 class="title">
+<a name="Adding_Sources_and_Targets"></a>Adding Sources and Targets</h6>
+</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>
+<h6 class="title">
+<a name="Removing_Sources_and_Targets"></a>Removing Sources and Targets</h6>
+</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>
+<h6 class="title">
+<a name="Removing_Actions"></a>Removing Actions</h6>
+</div>
+</div>
+</div>
+<p>You can remove actions in the same way as with strucutral 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 igh 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>
+<h6 class="title">
+<a name="Copying_Actions"></a>Copying Actions</h6>
+</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>
+<h6 class="title">
+<a name="Query_and_Evaluation_Inputs_2"></a>Query and Evaluation Inputs</h6>
+</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/ActionsExample.png"></div>
+<p>
+							
+</p>
+</div>
+<div class="section" title="Input Literals">
+<div class="titlepage">
+<div>
+<div>
+<h6 class="title">
+<a name="Input_Literals_2"></a>Input Literals</h6>
+</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 class="section" title="Building Models">
@@ -5440,128 +4890,425 @@
 <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="Agent Execution">
 <div class="titlepage">
 <div>
 <div>
-<h4 class="title">
-<a name="Agent_Execution"></a>Agent Execution</h4>
-</div>
-</div>
-</div>
-<p>Provides a custom layout menus and tools specific to the Agent Modeling Platform. Because the Agent Modeling process often involves Java and Eclipse Plugin development we include easy access to many of those tools here as well.</p>
-</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>
+<a name="Agent_Execution"></a>Agent Execution</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="section" title="Launching a Model (AMF)">
 <div class="titlepage">
 <div>
 <div>
 <h4 class="title">
-<a name="Downloading_Models"></a>Downloading Models</h4>
+<a name="Launching_a_Model_.28AMF.29"></a>Launching a Model (AMF)</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">
+<p>When an AMF file is selected -- in any of the perspectives -- the pop-up menu looks like this:</p>
+<p>
+						
+</p>
+<div class="mediaobject">
+<img src="images/tools/EditorMenu.png "></div>
+<p>
+					
+</p>
+<p>(In this case we've selected the "Execute Headless" option.) Note that the toolbar and Application menus are updated to reflect the file you've selected and can provide more convenient access to many of the functions. For example, when we click on a metaabm file in the package explorer, model execution buttons appear in the toolbar. An important note: the execution framework doesn't know whether your code exists in an Escape project or anohter target project. If you attempt to execute a .metaabm model in an Ascape project for example, you will get an error.</p>
+<p>
+						
+</p>
+<div class="mediaobject">
+<img src="images/tools/EditorToolbar.png"></div>
+<p>
+					
+</p>
+<p>To launch a model, select one of the options.</p>
+<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/EpidemicModelRunning.png"></div>
+<p>
+					
+</p>
+<p>The execution options are:</p>
+<div class="section" title="Execute">
 <div class="titlepage">
 <div>
 <div>
 <h5 class="title">
-<a name="AMF_Models"></a>AMF Models</h5>
+<a name="Execute"></a>Execute</h5>
 </div>
 </div>
 </div>
-<div class="literallayout">
-<p>org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.escape<br>
-
-</p>
+<p>Launches the model using default graphics, opening the Agent Execution perspective.</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="section" title="Execute Headless">
 <div class="titlepage">
 <div>
 <div>
 <h5 class="title">
-<a name="Escape_.2F_Ascape_Java_Models"></a>Escape / Ascape Java Models</h5>
+<a name="Execute_Headless"></a>Execute Headless</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>Launches the model without graphics, opening the Agent Execution perspective.</p>
+</div>
+<div class="section" title="Execute Headless (Data)">
+<div class="titlepage">
+<div>
+<div>
+<h5 class="title">
+<a name="Execute_Headless_.28Data.29"></a>Execute Headless (Data)</h5>
+</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>
+<h4 class="title">
+<a name="Executing_a_Model_.28Java_.2F_3D.29"></a>Executing a Model (Java / 3D)</h4>
+</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>
+<h4 class="title">
+<a name="Controlling_Model_Execution"></a>Controlling Model Execution</h4>
+</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>
+<h5 class="title">
+<a name="The_Active_Model"></a>The Active Model</h5>
+</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>
+<h4 class="title">
+<a name="Views_2"></a>Views</h4>
+</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>
+<h5 class="title">
+<a name="Properties_2"></a>Properties</h5>
+</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>
+<h5 class="title">
+<a name="Agent_Navigator"></a>Agent Navigator</h5>
+</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>
-<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>
+							
+</p>
+<div class="mediaobject">
+<img src="images/execution/AgentNavigator.png"></div>
+<p>
+						
 </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="section" title="Model Manager">
 <div class="titlepage">
 <div>
 <div>
 <h5 class="title">
-<a name="Creating_a_New_Escape_Project"></a>Creating a New Escape Project</h5>
+<a name="Model_Manager"></a>Model Manager</h5>
 </div>
 </div>
 </div>
-<p>The best option is to simply create a new Escape project and drag the models into it!</p>
+<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>
+<h6 class="title">
+<a name=".22About_this_Model.22"></a>"About this Model"</h6>
+</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>
+<h4 class="title">
+<a name="Visualization"></a>Visualization</h4>
+</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>
+<h5 class="title">
+<a name="2D_Views"></a>2D Views</h5>
+</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>
+<h6 class="title">
+<a name="Scaling"></a>Scaling</h6>
+</div>
+</div>
+</div>
 <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>
+<p>Enter or select a specific scale in the combo menu.</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>
+<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>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>
+<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>
+<h5 class="title">
+<a name="Charts"></a>Charts</h5>
+</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>
+<h6 class="title">
+<a name="Chart_Type"></a>Chart Type</h6>
+</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>
+<h6 class="title">
+<a name="Chart_Legend"></a>Chart Legend</h6>
+</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>
+<h6 class="title">
+<a name="Chart_Data"></a>Chart Data</h6>
+</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="Executing Internal Targets">
+<div class="titlepage">
+<div>
+<div>
+<h4 class="title">
+<a name="Executing_Internal_Targets"></a>Executing Internal Targets</h4>
+</div>
+</div>
+</div>
 </div>
 </div>
 </div>
@@ -5569,89 +5316,747 @@
 <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="Tutorial_2"></a>Tutorial</h3>
+<a name="Designing_a_Model"></a>Designing a Model</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">
+<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="Next_Steps"></a>Next Steps</h4>
+<a name="Model_Goals"></a>Model Goals</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>
+<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="Classic Java ABM Models">
+<div class="section" title="Model Implementation">
 <div class="titlepage">
 <div>
 <div>
 <h3 class="title">
-<a name="Classic_Java_ABM_Models"></a>Classic Java ABM Models</h3>
+<a name="Model_Implementation"></a>Model Implementation</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 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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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="N10F3E"></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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/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/edit_tutorial/SimpleTutorial32IntersectAdd.png "></div>
+<p>
+							
+</p>
+<p>Finally, add a Move target to the Intersection.</p>
+<p>
+								
+</p>
+<div class="mediaobject">
+<img src="images/edit_tutorial/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/edit_tutorial/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>
@@ -5792,7 +6197,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ProgrammingPojoGenerateProps.png"></div>
+<img src="images/pojo/ProgrammingPojoGenerateProps.png"></div>
 <p>
 					
 </p>
@@ -5801,7 +6206,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ProgrammingPojoGenerateCode.png"></div>
+<img src="images/pojo/ProgrammingPojoGenerateCode.png"></div>
 <p>
 					
 </p>
@@ -5820,7 +6225,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ProgrammingPojoGenerate.png"></div>
+<img src="images/pojo/ProgrammingPojoGenerate.png"></div>
 <p>
 					
 </p>
@@ -5970,6 +6375,161 @@
 </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.
+				</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;4.&nbsp;Resources">
 <div class="titlepage">
@@ -5997,7 +6557,7 @@
 <div>
 <div>
 <h4 class="title">
-<a name="N10F97"></a>Import from CVS</h4>
+<a name="N11112"></a>Import from CVS</h4>
 </div>
 </div>
 </div>
@@ -6166,6 +6726,17 @@
 </div>
 <p>The AMP project developers -- among the most experienced developers of agent models and tools anywhere -- are naturally the best source for Agent Modeling development, support and training. Please feel free to contact the project lead or other project contributors directly to discuss professional support options.</p>
 </div>
+<div class="section" title="Media and Private Communications">
+<div class="titlepage">
+<div>
+<div>
+<h3 class="title">
+<a name="Media_and_Private_Communications"></a>Media and Private Communications</h3>
+</div>
+</div>
+</div>
+<p>For project related but non-public communications such as media enquires or potential project sponsorship, please contact Miles Parker, the Eclipse AMP project lead, at amp_enquiry@metascapeabm.com. (Requests for support and other communications to this address will be ignored.)</p>
+</div>
 </div>
 <div class="section" title="Feedback">
 <div class="titlepage">
@@ -6178,17 +6749,6 @@
 </div>
 <p>If you have ideas, comments or requests for information about the project please contact us at the .</p>
 </div>
-<div class="section" title="Media and Private Communications">
-<div class="titlepage">
-<div>
-<div>
-<h2 class="title" style="clear: both">
-<a name="Media_and_Private_Communications"></a>Media and Private Communications</h2>
-</div>
-</div>
-</div>
-<p>For project related but non-public communications such as media enquires or potential project sponsorship, please contact Miles Parker, the Eclipse AMP project lead, at amp_enquiry@metascapeabm.com. (Requests for support and other communications to this address will be ignored.)</p>
-</div>
 <div class="section" title="Get Involved">
 <div class="titlepage">
 <div>
diff --git a/documentation/amp.pdf b/documentation/amp.pdf
index a46620c..2853fc1 100644
--- a/documentation/amp.pdf
+++ b/documentation/amp.pdf
Binary files differ
diff --git a/documentation/book.css b/documentation/book.css
index 8ea5bb4..2594674 100644
--- a/documentation/book.css
+++ b/documentation/book.css
@@ -135,24 +135,37 @@
 }
 
 h2 {
-	font-size: 14pt;
+	font-size: 15pt;
 	margin-top: 25;
 	margin-bottom: 3
 }
 
 h3 {
-	font-size: 11pt;
+	font-size: 13pt;
 	margin-top: 20;
 	margin-bottom: 3
 }
 
 h4 {
-	font-size: 10pt;
+	font-size: 11pt;
 	margin-top: 20;
 	margin-bottom: 3;
 	font-style: italic
 }
 
+h5 {
+	font-size: 9pt;
+	margin-top: 20;
+	margin-bottom: 3;
+}
+
+h6 {
+	font-size: 8pt;
+	margin-top: 20;
+	margin-bottom: 3;
+	color: #0F0FA1
+}
+
 p {
 	margin-top: 10px;
 	margin-bottom: 10px
diff --git a/documentation/images/actions/ActionsBlocks.png b/documentation/images/actions/ActionsBlocks.png
new file mode 100644
index 0000000..8dda80a
--- /dev/null
+++ b/documentation/images/actions/ActionsBlocks.png
Binary files differ
diff --git a/documentation/images/actions/ActionsComplexLogic.png b/documentation/images/actions/ActionsComplexLogic.png
new file mode 100644
index 0000000..5374ce3
--- /dev/null
+++ b/documentation/images/actions/ActionsComplexLogic.png
Binary files differ
diff --git a/documentation/images/actions/ActionsComplexLogicNoOr.png b/documentation/images/actions/ActionsComplexLogicNoOr.png
new file mode 100644
index 0000000..ff23606
--- /dev/null
+++ b/documentation/images/actions/ActionsComplexLogicNoOr.png
Binary files differ
diff --git a/documentation/images/actions/ActionsDiagram.png b/documentation/images/actions/ActionsDiagram.png
new file mode 100644
index 0000000..05b1499
--- /dev/null
+++ b/documentation/images/actions/ActionsDiagram.png
Binary files differ
diff --git a/documentation/images/actions/ActionsDiagram800.png b/documentation/images/actions/ActionsDiagram800.png
new file mode 100644
index 0000000..cc9336b
--- /dev/null
+++ b/documentation/images/actions/ActionsDiagram800.png
Binary files differ
diff --git a/documentation/images/actions/ActionsExample.png b/documentation/images/actions/ActionsExample.png
new file mode 100644
index 0000000..c5f907d
--- /dev/null
+++ b/documentation/images/actions/ActionsExample.png
Binary files differ
diff --git a/documentation/images/actions/ActionsExampleNew.png b/documentation/images/actions/ActionsExampleNew.png
new file mode 100644
index 0000000..9b81255
--- /dev/null
+++ b/documentation/images/actions/ActionsExampleNew.png
Binary files differ
diff --git a/documentation/images/actions/ActionsFlowSimple.png b/documentation/images/actions/ActionsFlowSimple.png
new file mode 100644
index 0000000..f4baf4e
--- /dev/null
+++ b/documentation/images/actions/ActionsFlowSimple.png
Binary files differ
diff --git a/documentation/images/actions/ActionsFlowUnion.png b/documentation/images/actions/ActionsFlowUnion.png
new file mode 100644
index 0000000..68ae5b4
--- /dev/null
+++ b/documentation/images/actions/ActionsFlowUnion.png
Binary files differ
diff --git a/documentation/images/actions/ActionsSelBoundary11A.png b/documentation/images/actions/ActionsSelBoundary11A.png
new file mode 100644
index 0000000..e8c745f
--- /dev/null
+++ b/documentation/images/actions/ActionsSelBoundary11A.png
Binary files differ
diff --git a/documentation/images/actions/ActionsSelBoundary2.png b/documentation/images/actions/ActionsSelBoundary2.png
new file mode 100644
index 0000000..d8a9e63
--- /dev/null
+++ b/documentation/images/actions/ActionsSelBoundary2.png
Binary files differ
diff --git a/documentation/images/actions/ActionsSelBoundary2Parts.png b/documentation/images/actions/ActionsSelBoundary2Parts.png
new file mode 100644
index 0000000..c0ffd39
--- /dev/null
+++ b/documentation/images/actions/ActionsSelBoundary2Parts.png
Binary files differ
diff --git a/documentation/images/actions/ActionsSelBoundaryComplex.png b/documentation/images/actions/ActionsSelBoundaryComplex.png
new file mode 100644
index 0000000..5e3a328
--- /dev/null
+++ b/documentation/images/actions/ActionsSelBoundaryComplex.png
Binary files differ
diff --git a/documentation/images/actions/ActionsSelBoundarySimple.png b/documentation/images/actions/ActionsSelBoundarySimple.png
new file mode 100644
index 0000000..72a1288
--- /dev/null
+++ b/documentation/images/actions/ActionsSelBoundarySimple.png
Binary files differ
diff --git a/documentation/images/actions/ActionsSequence.png b/documentation/images/actions/ActionsSequence.png
new file mode 100644
index 0000000..709b35a
--- /dev/null
+++ b/documentation/images/actions/ActionsSequence.png
Binary files differ
diff --git a/documentation/images/actions/ActionsSimpleMultiple.png b/documentation/images/actions/ActionsSimpleMultiple.png
new file mode 100644
index 0000000..e73296b
--- /dev/null
+++ b/documentation/images/actions/ActionsSimpleMultiple.png
Binary files differ
diff --git a/documentation/images/actions/ActionsSimpleSequence.png b/documentation/images/actions/ActionsSimpleSequence.png
new file mode 100644
index 0000000..0dd71af
--- /dev/null
+++ b/documentation/images/actions/ActionsSimpleSequence.png
Binary files differ
diff --git a/documentation/images/actions/ActionsSimpleSequence2.png b/documentation/images/actions/ActionsSimpleSequence2.png
new file mode 100644
index 0000000..4f897c5
--- /dev/null
+++ b/documentation/images/actions/ActionsSimpleSequence2.png
Binary files differ
diff --git a/documentation/images/actions/ActionsWeaving1A.png b/documentation/images/actions/ActionsWeaving1A.png
new file mode 100644
index 0000000..1c8d22c
--- /dev/null
+++ b/documentation/images/actions/ActionsWeaving1A.png
Binary files differ
diff --git a/documentation/images/actions/ActionsWeaving2.png b/documentation/images/actions/ActionsWeaving2.png
new file mode 100644
index 0000000..a16466f
--- /dev/null
+++ b/documentation/images/actions/ActionsWeaving2.png
Binary files differ
diff --git a/documentation/images/actions/ActionsWeavingComplexQuery.png b/documentation/images/actions/ActionsWeavingComplexQuery.png
new file mode 100644
index 0000000..11a61d9
--- /dev/null
+++ b/documentation/images/actions/ActionsWeavingComplexQuery.png
Binary files differ
diff --git a/documentation/images/actions/ActionsWeavingEvaluate.png b/documentation/images/actions/ActionsWeavingEvaluate.png
new file mode 100644
index 0000000..092983d
--- /dev/null
+++ b/documentation/images/actions/ActionsWeavingEvaluate.png
Binary files differ
diff --git a/documentation/images/actions/ActionsWeavingSetAnother.png b/documentation/images/actions/ActionsWeavingSetAnother.png
new file mode 100644
index 0000000..28a2caa
--- /dev/null
+++ b/documentation/images/actions/ActionsWeavingSetAnother.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial0Perspective.png b/documentation/images/edit_tutorial/SimpleTutorial0Perspective.png
new file mode 100644
index 0000000..5051459
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial0Perspective.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial0Perspective2.png b/documentation/images/edit_tutorial/SimpleTutorial0Perspective2.png
new file mode 100644
index 0000000..996209f
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial0Perspective2.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial1.png b/documentation/images/edit_tutorial/SimpleTutorial1.png
new file mode 100644
index 0000000..8689548
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial1.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial10AgentCount.png b/documentation/images/edit_tutorial/SimpleTutorial10AgentCount.png
new file mode 100644
index 0000000..79a5f8b
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial10AgentCount.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial11BuildAgents.png b/documentation/images/edit_tutorial/SimpleTutorial11BuildAgents.png
new file mode 100644
index 0000000..b056821
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial11BuildAgents.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial12BuildGrid.png b/documentation/images/edit_tutorial/SimpleTutorial12BuildGrid.png
new file mode 100644
index 0000000..0c103bb
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial12BuildGrid.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial13BuildGridAgents.png b/documentation/images/edit_tutorial/SimpleTutorial13BuildGridAgents.png
new file mode 100644
index 0000000..9285491
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial13BuildGridAgents.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial14BuildGridParams.png b/documentation/images/edit_tutorial/SimpleTutorial14BuildGridParams.png
new file mode 100644
index 0000000..452dc15
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial14BuildGridParams.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial15CreateInitialize.png b/documentation/images/edit_tutorial/SimpleTutorial15CreateInitialize.png
new file mode 100644
index 0000000..e14c4d5
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial15CreateInitialize.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial165Select2.png b/documentation/images/edit_tutorial/SimpleTutorial165Select2.png
new file mode 100644
index 0000000..011c989
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial165Select2.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial16CreateSelect.png b/documentation/images/edit_tutorial/SimpleTutorial16CreateSelect.png
new file mode 100644
index 0000000..45c8f53
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial16CreateSelect.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial17CreateQuery.png b/documentation/images/edit_tutorial/SimpleTutorial17CreateQuery.png
new file mode 100644
index 0000000..a35553d
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial17CreateQuery.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial18QueryFunction.png b/documentation/images/edit_tutorial/SimpleTutorial18QueryFunction.png
new file mode 100644
index 0000000..e46de94
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial18QueryFunction.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial19Move.png b/documentation/images/edit_tutorial/SimpleTutorial19Move.png
new file mode 100644
index 0000000..b123be5
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial19Move.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial2.png b/documentation/images/edit_tutorial/SimpleTutorial2.png
new file mode 100644
index 0000000..f31a19b
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial2.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial20ExecuteModel.png b/documentation/images/edit_tutorial/SimpleTutorial20ExecuteModel.png
new file mode 100644
index 0000000..2f325d6
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial20ExecuteModel.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial21Execute2.png b/documentation/images/edit_tutorial/SimpleTutorial21Execute2.png
new file mode 100644
index 0000000..9e2afbf
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial21Execute2.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial22CreateStyle.png b/documentation/images/edit_tutorial/SimpleTutorial22CreateStyle.png
new file mode 100644
index 0000000..3be03e0
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial22CreateStyle.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial23CreateStyleRule.png b/documentation/images/edit_tutorial/SimpleTutorial23CreateStyleRule.png
new file mode 100644
index 0000000..804e681
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial23CreateStyleRule.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial24EvaluationFunction.png b/documentation/images/edit_tutorial/SimpleTutorial24EvaluationFunction.png
new file mode 100644
index 0000000..497d69f
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial24EvaluationFunction.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial25FinishStyle.png b/documentation/images/edit_tutorial/SimpleTutorial25FinishStyle.png
new file mode 100644
index 0000000..39eb8c1
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial25FinishStyle.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial26CreateQuery2.png b/documentation/images/edit_tutorial/SimpleTutorial26CreateQuery2.png
new file mode 100644
index 0000000..1b34bcc
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial26CreateQuery2.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial27NoValue.png b/documentation/images/edit_tutorial/SimpleTutorial27NoValue.png
new file mode 100644
index 0000000..a94a868
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial27NoValue.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial28CreateAttribute.png b/documentation/images/edit_tutorial/SimpleTutorial28CreateAttribute.png
new file mode 100644
index 0000000..d282250
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial28CreateAttribute.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial29AttributeValues.png b/documentation/images/edit_tutorial/SimpleTutorial29AttributeValues.png
new file mode 100644
index 0000000..479becb
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial29AttributeValues.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial30AttributeInput.png b/documentation/images/edit_tutorial/SimpleTutorial30AttributeInput.png
new file mode 100644
index 0000000..bb752a6
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial30AttributeInput.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial31Intersect.png b/documentation/images/edit_tutorial/SimpleTutorial31Intersect.png
new file mode 100644
index 0000000..cffca86
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial31Intersect.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial32IntersectAdd.png b/documentation/images/edit_tutorial/SimpleTutorial32IntersectAdd.png
new file mode 100644
index 0000000..752d21f
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial32IntersectAdd.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial33Move.png b/documentation/images/edit_tutorial/SimpleTutorial33Move.png
new file mode 100644
index 0000000..d0c0fca
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial33Move.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial34RunFinal.png b/documentation/images/edit_tutorial/SimpleTutorial34RunFinal.png
new file mode 100644
index 0000000..baef45d
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial34RunFinal.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial3CreateModel.png b/documentation/images/edit_tutorial/SimpleTutorial3CreateModel.png
new file mode 100644
index 0000000..8adf4bf
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial3CreateModel.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial4CreateModel.png b/documentation/images/edit_tutorial/SimpleTutorial4CreateModel.png
new file mode 100644
index 0000000..1eb2da0
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial4CreateModel.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial5CreatePage2.png b/documentation/images/edit_tutorial/SimpleTutorial5CreatePage2.png
new file mode 100644
index 0000000..138967a
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial5CreatePage2.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial6CreateAgent.png b/documentation/images/edit_tutorial/SimpleTutorial6CreateAgent.png
new file mode 100644
index 0000000..19d2a49
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial6CreateAgent.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial6NameBug.png b/documentation/images/edit_tutorial/SimpleTutorial6NameBug.png
new file mode 100644
index 0000000..dfaaef3
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial6NameBug.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial7CreateGrid.png b/documentation/images/edit_tutorial/SimpleTutorial7CreateGrid.png
new file mode 100644
index 0000000..203a2af
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial7CreateGrid.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial8GridParameters.png b/documentation/images/edit_tutorial/SimpleTutorial8GridParameters.png
new file mode 100644
index 0000000..2b7ee0a
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial8GridParameters.png
Binary files differ
diff --git a/documentation/images/edit_tutorial/SimpleTutorial9GridDims.png b/documentation/images/edit_tutorial/SimpleTutorial9GridDims.png
new file mode 100644
index 0000000..e215f84
--- /dev/null
+++ b/documentation/images/edit_tutorial/SimpleTutorial9GridDims.png
Binary files differ
diff --git a/documentation/images/execution/AboutView.png b/documentation/images/execution/AboutView.png
new file mode 100644
index 0000000..b3d072d
--- /dev/null
+++ b/documentation/images/execution/AboutView.png
Binary files differ
diff --git a/documentation/images/execution/AgentNavigator.png b/documentation/images/execution/AgentNavigator.png
new file mode 100644
index 0000000..00f156b
--- /dev/null
+++ b/documentation/images/execution/AgentNavigator.png
Binary files differ
diff --git a/documentation/images/execution/AreaChart.png b/documentation/images/execution/AreaChart.png
new file mode 100644
index 0000000..4a7bda9
--- /dev/null
+++ b/documentation/images/execution/AreaChart.png
Binary files differ
diff --git a/documentation/images/execution/BarChart.png b/documentation/images/execution/BarChart.png
new file mode 100644
index 0000000..ee0b0f9
--- /dev/null
+++ b/documentation/images/execution/BarChart.png
Binary files differ
diff --git a/documentation/images/execution/Epidemic2DView.png b/documentation/images/execution/Epidemic2DView.png
new file mode 100644
index 0000000..76f3c6b
--- /dev/null
+++ b/documentation/images/execution/Epidemic2DView.png
Binary files differ
diff --git a/documentation/images/execution/Epidemic3D.png b/documentation/images/execution/Epidemic3D.png
new file mode 100644
index 0000000..0f2cb94
--- /dev/null
+++ b/documentation/images/execution/Epidemic3D.png
Binary files differ
diff --git a/documentation/images/execution/EpidemicChartCustomize.png b/documentation/images/execution/EpidemicChartCustomize.png
new file mode 100644
index 0000000..4e3f2fe
--- /dev/null
+++ b/documentation/images/execution/EpidemicChartCustomize.png
Binary files differ
diff --git a/documentation/images/execution/EpidemicChartOptions.png b/documentation/images/execution/EpidemicChartOptions.png
new file mode 100644
index 0000000..d14ade9
--- /dev/null
+++ b/documentation/images/execution/EpidemicChartOptions.png
Binary files differ
diff --git a/documentation/images/execution/EpidemicModelAgentProperties.png b/documentation/images/execution/EpidemicModelAgentProperties.png
new file mode 100644
index 0000000..4960cf3
--- /dev/null
+++ b/documentation/images/execution/EpidemicModelAgentProperties.png
Binary files differ
diff --git a/documentation/images/execution/EpidemicModelComparison.png b/documentation/images/execution/EpidemicModelComparison.png
new file mode 100644
index 0000000..c22e564
--- /dev/null
+++ b/documentation/images/execution/EpidemicModelComparison.png
Binary files differ
diff --git a/documentation/images/execution/EpidemicModelControls.png b/documentation/images/execution/EpidemicModelControls.png
new file mode 100644
index 0000000..658b37a
--- /dev/null
+++ b/documentation/images/execution/EpidemicModelControls.png
Binary files differ
diff --git a/documentation/images/execution/EpidemicModelProperties.png b/documentation/images/execution/EpidemicModelProperties.png
new file mode 100644
index 0000000..8ce9cd7
--- /dev/null
+++ b/documentation/images/execution/EpidemicModelProperties.png
Binary files differ
diff --git a/documentation/images/execution/EpidemicModelRunning.png b/documentation/images/execution/EpidemicModelRunning.png
new file mode 100644
index 0000000..f830965
--- /dev/null
+++ b/documentation/images/execution/EpidemicModelRunning.png
Binary files differ
diff --git a/documentation/images/execution/LineChart.png b/documentation/images/execution/LineChart.png
new file mode 100644
index 0000000..ca746d6
--- /dev/null
+++ b/documentation/images/execution/LineChart.png
Binary files differ
diff --git a/documentation/images/execution/ModelManager.png b/documentation/images/execution/ModelManager.png
new file mode 100644
index 0000000..401308a
--- /dev/null
+++ b/documentation/images/execution/ModelManager.png
Binary files differ
diff --git a/documentation/images/execution/PieChart.png b/documentation/images/execution/PieChart.png
new file mode 100644
index 0000000..1c8df01
--- /dev/null
+++ b/documentation/images/execution/PieChart.png
Binary files differ
diff --git a/documentation/images/functions/DistributionDesign.png b/documentation/images/functions/DistributionDesign.png
new file mode 100644
index 0000000..2398ec5
--- /dev/null
+++ b/documentation/images/functions/DistributionDesign.png
Binary files differ
diff --git a/documentation/images/functions/DistributionDesignChoice.png b/documentation/images/functions/DistributionDesignChoice.png
new file mode 100644
index 0000000..68762ce
--- /dev/null
+++ b/documentation/images/functions/DistributionDesignChoice.png
Binary files differ
diff --git a/documentation/images/functions/FunctionsDiagram.png b/documentation/images/functions/FunctionsDiagram.png
new file mode 100644
index 0000000..274a7de
--- /dev/null
+++ b/documentation/images/functions/FunctionsDiagram.png
Binary files differ
diff --git a/documentation/images/functions/GraphicsFunctionExampleDesign.png b/documentation/images/functions/GraphicsFunctionExampleDesign.png
new file mode 100644
index 0000000..646526d
--- /dev/null
+++ b/documentation/images/functions/GraphicsFunctionExampleDesign.png
Binary files differ
diff --git a/documentation/images/functions/GraphicsFunctionExampleRun.png b/documentation/images/functions/GraphicsFunctionExampleRun.png
new file mode 100644
index 0000000..10b304c
--- /dev/null
+++ b/documentation/images/functions/GraphicsFunctionExampleRun.png
Binary files differ
diff --git a/documentation/images/pojo/ProgrammingPojoGenerate.png b/documentation/images/pojo/ProgrammingPojoGenerate.png
new file mode 100644
index 0000000..9c7f2e6
--- /dev/null
+++ b/documentation/images/pojo/ProgrammingPojoGenerate.png
Binary files differ
diff --git a/documentation/images/pojo/ProgrammingPojoGenerateCode.png b/documentation/images/pojo/ProgrammingPojoGenerateCode.png
new file mode 100644
index 0000000..187e35e
--- /dev/null
+++ b/documentation/images/pojo/ProgrammingPojoGenerateCode.png
Binary files differ
diff --git a/documentation/images/pojo/ProgrammingPojoGenerateProps.png b/documentation/images/pojo/ProgrammingPojoGenerateProps.png
new file mode 100644
index 0000000..f6110bc
--- /dev/null
+++ b/documentation/images/pojo/ProgrammingPojoGenerateProps.png
Binary files differ
diff --git a/documentation/images/structure/StructureComplexDiagram.png b/documentation/images/structure/StructureComplexDiagram.png
new file mode 100644
index 0000000..f14b699
--- /dev/null
+++ b/documentation/images/structure/StructureComplexDiagram.png
Binary files differ
diff --git a/documentation/images/structure/StructureSimpleDiagram.png b/documentation/images/structure/StructureSimpleDiagram.png
new file mode 100644
index 0000000..b131898
--- /dev/null
+++ b/documentation/images/structure/StructureSimpleDiagram.png
Binary files differ
diff --git a/documentation/images/tools/ActionsExample.png b/documentation/images/tools/ActionsExample.png
index e140be0..657f1aa 100644
--- a/documentation/images/tools/ActionsExample.png
+++ b/documentation/images/tools/ActionsExample.png
Binary files differ
diff --git a/documentation/images/tools/EditorMenu.png b/documentation/images/tools/EditorMenu.png
index 66316d7..a998e2c 100644
--- a/documentation/images/tools/EditorMenu.png
+++ b/documentation/images/tools/EditorMenu.png
Binary files differ
diff --git a/documentation/images/tools/Inputs.png b/documentation/images/tools/Inputs.png
new file mode 100644
index 0000000..984ba4e
--- /dev/null
+++ b/documentation/images/tools/Inputs.png
Binary files differ