Reorg docs. Add model execution section.
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/META-INF/MANIFEST.MF b/org.eclipse.amp/doc/org.eclipse.amp.doc/META-INF/MANIFEST.MF
index c81e6ff..844a5f4 100644
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/META-INF/MANIFEST.MF
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/META-INF/MANIFEST.MF
@@ -7,8 +7,5 @@
 Require-Bundle: org.eclipse.ui.intro,
  org.eclipse.ui.intro.universal,
  org.eclipse.ui,
- org.eclipse.team.cvs.ui;bundle-version="3.3.201",
- org.eclipse.amp.escape.ide;bundle-version="0.5.0",
- org.eclipse.amp.axf.ide;bundle-version="0.5.0",
  org.eclipse.help
 Bundle-Localization: plugin
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/build/amp.mediawiki b/org.eclipse.amp/doc/org.eclipse.amp.doc/build/amp.mediawiki
index f45c212..ec18ada 100644
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/build/amp.mediawiki
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/build/amp.mediawiki
@@ -62,7 +62,7 @@
 
 ==Introduction==
 
-In this Modeler's Guide we provide an in-depth understanding of what goes into an Agent Model and how you can use the Agent Modeling Framework tools to design one. Fundamentally, an agent-based model, or "ABM", is composed of five pieces: Agents and Context Agents, Attributes, Spaces, and Actions. The first three refer to structural components, whereas Actions define behavior. Agent models also have styles, which are a special kind of Action used to determine how to portray an agent in a visualization. Finally Actions make use of Functions. We'll describe of these components in a separate section.
+In this Modeler's Guide we provide an in-depth understanding of what goes into an Agent Model and how you can use the Agent Modeling Framework and related tools to design one. Fundamentally, an agent-based model, or "ABM", is composed of five pieces: Agents and Context Agents, Attributes, Spaces, and Actions. The first three refer to structural components, whereas Actions define behavior. Agent models also have styles, which are a special kind of Action used to determine how to portray an agent in a visualization. Finally Actions make use of Functions. We'll describe of these components in a separate section.
 
 But first, we'll give a quick overview at what agent-based modeling is is and how the Agent Modeling Framework can help you to develop models for ABM or other problem domains.
 
@@ -118,7 +118,7 @@
 
 Unlike the approach of a traditional Object Oriented environment, the dominant organizing principal for agents within AMF follows a compositional hierarchical model, not an inheritance model. (Inheritance-like behavior will be supported in forthcoming versions of Acore, but in a more sophisticated, flexible and dynamic way than is supported by traditional programming languages such as Java.) Contexts -- also referred to as "Swarms" or "Scapes", are simply Agents that are capable of containing other agents. With this basic construct -- known as a Composition in design pattern language -- agents are able to contain other agents.
 
-===Details===
+===Concepts===
 
 ====General====
 
@@ -127,9 +127,10 @@
 =====Named Entities=====
 
 ======Label======
-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.
+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. 
+
 ======ID======
-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.)
+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.
 
 And most entities also define:
 
@@ -305,13 +306,13 @@
 
 Our first diagram depicts the core structural design of the model. 
 
-[[Image:images/StructureComplexDiagram.png|800px]] 
+[[Image:images/structure/StructureComplexDiagram.png|800px]] 
 
  There seems to be a lot going on here, but the basic components are pretty straightforward as we can see in the next diagram.
 
 =====Key Collaborations=====
 
-[[Image:images/StructureSimpleDiagram.png]]
+[[Image:images/structure/StructureSimpleDiagram.png]]
 
  Core interactions are in Red. The meta-model structure is essentially a Composite pattern. 
 
@@ -352,7 +353,7 @@
 
 These are all summarized in the diagram below:
 
-[[Image:images/ActionsBlocks.png]] 
+[[Image:images/actions/ActionsBlocks.png]] 
 
 ====Flow====
 
@@ -360,25 +361,27 @@
 
 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.
 
+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 ''need'' 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.
+
 Again, behaviors in Actions are always defined by a set of ''selections'' and ''queries''. In the following diagram, we can see the pattern.
 
-[[Image:images/ActionsSequence.png]]
+[[Image:images/actions/ActionsSequence.png]]
 
 First, we define a Root Selection for a Rule, Schedule or other triggering event. Then, we might add a series of Query and Logic Actions to define the specific agents that we are interested in. These are all part of the Selection. Next, we might define a series of Commands to determine what to do with those agents. Or, we could use the result of that selection to immediately define another selection, for example if we are searching for an agent that is near another agent. The next diagram depicts a simple example.
 
-[[Image:images/ActionsSimpleSequence.png]]
+[[Image:images/actions/ActionsSimpleSequence.png]]
 
 Here, we create a rule, and then check the results of two queries. For any agents that meet those criteria, we'll evaluate some function based on their state, and then set some value on them. In the next example, we'll first create the rule, and then create a new selection with a set of criteria. Finally, we'll do a move based on those queries.
 
-[[Image:images/ActionsSimpleSequence2.png]]
+[[Image:images/actions/ActionsSimpleSequence2.png]]
 
 In the following example, we've defined a set of actions and their relationships. We have a selection, a few queries and a couple of logic operators leading to a Set Action. We'll describe in detail below how Logic Actions are used in conjunction with other actions to assemble any kind of query structure needed. But for now, we'll focus on the control flow itself.
 
-[[Image:images/ActionsFlowSimple.png]]
+[[Image:images/actions/ActionsFlowSimple.png]]
 
 As you have probably already guessed, the agents that have the Set Action applied to them could take one of two paths through the Action flow. Readers with experience with programming or formal logic will note that this looks just like a parse tree, and while that's basically what it is, there are important differences. For example, if we looked at the following structure as a definition of control flow for a single agent we'd take them to be equivalent. Both would evaluate the statement (Query 1 AND Query 2) OR Query 3 for each agent.
 
-[[Image:images/ActionsFlowUnion.png]]
+[[Image:images/actions/ActionsFlowUnion.png]]
 
 Within Actions in many cases these two approaches will also act equivalently. If we are simply setting a value, it doesn't matter how an agent gets to that Set Action, as long as it gets there. All sources that flow into a given target Action act like a logical union since any of the paths might reach that target. But note that we have two flows moving in parallel in the flow on the right. What happens when the conditions for ''both'' branches are true? As the set of agents flow through each branch the Set Action on the left will be evaluated once, while the one on the right will be evaluated twice. Again, this often ends up with the same behavior, but not always. If for example, the evaluate Action uses the value of the attribute that we are setting as input, we can get different results. Of course, you can write code in any language that accomplishes the same thing, but the code will look quite different. For example, if we wrote the same basic logic in Java, in the first case we'd have something like:
 
@@ -403,11 +406,11 @@
 
 A selection boundary determines the set of selection actions that are used to determine what agents to apply target actions to. For example, in the following diagram, we can see the extent of the boundary for a straightforward selection.
 
-[[Image:images/ActionsSelBoundarySimple.png]]
+[[Image:images/actions/ActionsSelBoundarySimple.png]]
 
 Each time we create a new selection, we define a new set of boundaries.
 
-[[Image:images/ActionsSelBoundary2Parts.png]] 
+[[Image:images/actions/ActionsSelBoundary2Parts.png]] 
 
 A very important aspect of boundaries is that they apply to a group of actions that begin with a Query Action, and not just such a group that begins with a Select Action. This is because Query Actions can be directly part of a selection definition, but they can also refine selections, as we'll see. So where does one selection boundary end and the next one begin? The simple rule is that the end of the boundary is defined for a given Action by the place where:
 
@@ -416,13 +419,13 @@
 
 In other words, as soon as a Logic Action occurs in a path leading to an Action, any following Query will define a new boundary, as we can see in the following example. 
 
-[[Image:images/ActionsSelBoundary11A.png]]
+[[Image:images/actions/ActionsSelBoundary11A.png]]
 
 Note that we refer to "Selection 1" and Selection 1A". This is because Selection 1A is a refinement of Selection 1 along its particular path of flow. When a query appears for the same selection but past a particular boundary, you can think of it as a sort of filter on the selection contents. We don't have a "Selection 2" here because any Actions that refer to "Selection 1" along the current path of flow will be acting on the selection defined by Selection 1 and Selection 1A.
 
 These rules allow actions to be defined in the simplest possible way, but it is important to understand their implication as they result in behavior that can be different from what someone used to and imperative programming environment such as Java might expect. In a simple case the distinction might not matter. For example, if we are using a Query 1 to test whether an agent's attribute a == x and attribute b == y, we would get the same outcome if we placed intersected the queries as if we simply put them in sequence. Internally we would actually be searching for agents with a == x, and ''then'' taking those agents and choosing those agents with b==y, but the outcome would be the same. But consider a more sophisticated case, where we are searching for neighboring available cells.
 
-[[Image:images/ActionsSelBoundaryComplex.png]]
+[[Image:images/actions/ActionsSelBoundaryComplex.png]]
 
 In the first case, we execute a search for all agents that meet the two criteria. This means that if there are ''any'' neighboring cells which are available, we're guaranteed to find one (random) cell. In the second case, we first search for all cells that are neighbors. This will match any agents that include both available and non available agents. Now, at this point since our search returns one agent (in the current AMF design -- richer behavior will be supported in the future) the randomly selected agent could be either available or not. So in the second case, we might end up with no cell to move to, and thus make no move at all. This then becomes an important aspect of model design. For example, if one were defining a model where neighbors played a game with each other, one might want to instruct agents to play the game only with neighbors that have a certain wealth threshold. In the real-world situation that we are modeling, we might simply search for neighbors who are over a given wealth threshold and then play the game with them. This would imply that information about other agent's wealth is open knowledge. Or, we might simply select a random neighbor, and ask that neighbor to play a game with us. Upon discovering that our neighbor does not meet our wealth criteria, we would then choose not to play with them. Here we are modeling a cost in time to obtain information about another agent's wealth, because we might miss an opportunity to play the game with another agent on that round.
 
@@ -430,28 +433,28 @@
 
 Now, let's put the concepts of Actions sequences and boundaries together to see how we can easily define complex interactions between multiple selections. When we define a Select, the state of its selection flows through and with any subsequent selections. So for example, if we have a Root Action rule, and then do a selection based on it, we'll have access to the agent from the original context as well as all of the subsequent selections. We can refer to any previous selection for any subsequent action. For example, instead of setting the value for the rule agent, we might instead set a value for an agent we've found in a target selection.
 
-[[Image:images/ActionsWeavingSetAnother.png]]
+[[Image:images/actions/ActionsWeavingSetAnother.png]]
 
 Inputs to functions also use selections. (We'll discuss more details in the functions section.) In the following example, we're adding the wealth of the Selection 1 agent to the wealth of the Selection 2 agent and using that value to set some other value. (Here, perhaps we are modeling an agent in a winner takes all game, in which case we'd also add a Set Action on Selection 2 and set the second agent's wealth to 0.)
 
-[[Image:images/ActionsWeavingEvaluate.png]]
+[[Image:images/actions/ActionsWeavingEvaluate.png]]
 
 But we can also use selections in defining Query Actions themselves. So in the following example, we select a neighbor agent and then compare the age of our Rule agent with the age of the Selection 2 agent. If and only if those ages are the same will we execute the target Set Action. This example also demonstrates why we refer to the data flow as weaving. Query Actions can be used to refine selections at any point in the data flow. Selections and their uses are interwoven throughout an action sequence.
 
-[[Image:images/ActionsWeaving1A.png]]
+[[Image:images/actions/ActionsWeaving1A.png]]
 
 Finally, we can put all of these concepts together by weaving selections together with flows. As we discussed in the flow section, if we use multiple paths in the Query, the agents that flow through from any prior Query can follow multiple paths at once. And as we discussed in the selection section, the selection and its boundaries determine what agents we will be working with at any given evaluation point in the flow. Now, consider the following example:
 
-[[Image:images/ActionsWeaving2.png]]
+[[Image:images/actions/ActionsWeaving2.png]]
 
 Before going into further details we need to introduce one more important concept. As we'll see in the detailed explanation of each Action below, Transformation Actions such as Move or Connect take multiple selections. The first selection defines the set of agents that will be performing the action. In the case of a Move agent, this refers to the mover. The second selection, which for Move we call "destination", refers to the selection that will be receiving the action. In the case of movement this is the agent or location that the Rule agent will be moving to. If we follow the flows through, we can note two important outcomes of our model design -- a Rule agent might move twice if it meets the criteria for both the blue path and the red path and that it might move to a different location each time.
 
-===Details===
+===Concepts===
 
 In this section, we'll dig into the specific role of each of the Actions. From the design discussion we hopefully have some sense of how these all fit together in general.
 Let's look at the overall view again amd then dig into the details.
 
-[[Image:images/ActionsBlocks.png]] 
+[[Image:images/actions/ActionsBlocks.png]] 
 
 
 ====Selections====
@@ -484,9 +487,17 @@
 
 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. 
 
+======Selection======
+
+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.
+
 ======Function======
 
-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.
+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.
+
+======Inputs======
+
+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.
 
 =====Logic=====
 
@@ -548,134 +559,6 @@
 
 The attribute that will be monitored for change.
 
-====Commands====
-
-=====Evaluate=====
-
-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.
-
-======Selection======
-
-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.
-
-======Function======
-
-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.
-
-======Inputs======
-
-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.
-
-=====Set=====
-
-The Set Action assigns some value to another value.
-
-======Selection======
-
-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.
-
-======Attribute======
-
-The attribute to modify. It must be a member of this action's agent or of that agent's parent context.
-
-======Parameter======
-
-The value to assign to the attribute. Here, we can use either another agent attribute, or the results of a source evaluation. 
-
-
-=====Move=====
-
-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.
-
-======Selection======
-
-As in any other action, the selection determines what agent is affected -- in this case the agent that is being moved.
-
-=======Destination======
-
-Specifies the target agent or location for the movement.
-
-
-=====Leave=====
-
-Causes the agent to leave a particular space.
-
-======Selection======
-
-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.
-
-=======Destination======
-
-The destination is irrelevant for a leave action and should not be specified.
-
-=====Die=====
-
-Causes the agent to cease to exist within the model as a whole.
-
-======Selection======
-
-The selection determines what space the agent to remove.
-
-=======Destination======
-
-The destination is irrelevant in this case and will probably be removed.
-
-=====Connect=====
-
-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.
-
-======Selection======
-
-The selection determines the agent that will be connected to another agent. In the case of a directed graph, this is the source node.
-
-=======Destination======
-
-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.
-
-======Within======
-
-Specifies the network that the connection will be created within.
-
-=====Directed=====
-
-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).
-
-=====Disconnect=====
-
-Removes the connection between agents within a network space. See the description of the Connect Action for important details.
-
-======Selection======
-
-The selection determines one side of the agent relationship that will be disconnected.
-
-=======Destination======
-
-The selection determines one other side of the agent relationship that will be disconnected.
-
-======Within======
-
-Specifies the network that the connection will be created within.
-
-=====Replace=====
-
-Functions in the same way as a Connect Action excepth that all other connections to other agents will first be removed.
-
-======Selection======
-
-The selection determines the agent that will be connected to another agent. In the case of a directed graph, this is the source node.
-
-=======Destination======
-
-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.
-
-======Within======
-
-Specifies the network that the connection will be created within.
-
-=====Directed=====
-
-Determines whether the connection made is directed or not. See the Connect description for more details.
-
 ====Builders====
 
 Builders are a special category of actions that are used to create spaces. They should not be confused with the Build Action itself which is a root selection that defines the time at which builder actions should occur. Generally speaking, specific Builder Actions for spaces and Create Actions for agents are targets of Build Actions.
@@ -696,7 +579,7 @@
 
 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.
 
-=======Agent Count======
+======Agent Count======
 
 The number of agents to create. If used as part of an enclosing context's Initialize Action(s) an Attribute parameter will automatically be created. If not, then an evaluation or agent attribute should be used to define this number.
 
@@ -787,6 +670,171 @@
 
 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.
 
+====Commands====
+
+=====Evaluate=====
+
+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.
+
+======Selection======
+
+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.
+
+======Function======
+
+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.
+
+======Inputs======
+
+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.
+
+=====Set=====
+
+The Set Action assigns some value to another value.
+
+======Selection======
+
+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.
+
+======Attribute======
+
+The attribute to modify. It must be a member of this action's agent or of that agent's parent context.
+
+======Parameter======
+
+The value to assign to the attribute. Here, we can use either another agent attribute, or the results of a source evaluation. 
+
+
+=====Move=====
+
+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.
+
+======Selection======
+
+As in any other action, the selection determines what agent is affected -- in this case the agent that is being moved.
+
+======Destination======
+
+Specifies the target agent or location for the movement.
+
+
+=====Leave=====
+
+Causes the agent to leave a particular space.
+
+======Selection======
+
+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.
+
+======Destination======
+
+The destination is irrelevant for a leave action and should not be specified.
+
+=====Die=====
+
+Causes the agent to cease to exist within the model as a whole.
+
+======Selection======
+
+The selection determines what space the agent to remove.
+
+=======Destination======
+
+The destination is irrelevant in this case and will probably be removed.
+
+=====Connect=====
+
+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.
+
+======Selection======
+
+The selection determines the agent that will be connected to another agent. In the case of a directed graph, this is the source node.
+
+=======Destination======
+
+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.
+
+======Within======
+
+Specifies the network that the connection will be created within.
+
+=====Directed=====
+
+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).
+
+=====Disconnect=====
+
+Removes the connection between agents within a network space. See the description of the Connect Action for important details.
+
+======Selection======
+
+The selection determines one side of the agent relationship that will be disconnected.
+
+======Destination======
+
+The selection determines one other side of the agent relationship that will be disconnected.
+
+======Within======
+
+Specifies the network that the connection will be created within.
+
+=====Replace=====
+
+Functions in the same way as a Connect Action excepth that all other connections to other agents will first be removed.
+
+======Selection======
+
+The selection determines the agent that will be connected to another agent. In the case of a directed graph, this is the source node.
+
+======Destination======
+
+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.
+
+======Within======
+
+Specifies the network that the connection will be created within.
+
+=====Directed=====
+
+Determines whether the connection made is directed or not. See the Connect description for more details.
+
+====Other====
+
+=====Method=====
+
+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.
+
+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.
+
+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.
+
+If you do decide to use the Method Action, keep in mind the following design practice recommendations:
+
+#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.
+#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.
+#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 '''Source > Organize Imports..''' but it prevents automatic code generation.
+#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: <pre>(new org.me.SpecialFileLoader()).load(this);</pre>Then create a new source directory in your project called "src" ('''New > Source Folder...''') and create the class for the specialized file loader including the following method: <pre>public void load(MyRootModel model) {...}</pre> 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.
+
+======Selection======
+
+The selection determines what Agent class the code will be created within and the set of agents the method will be called upon.
+
+======Body======
+
+The actual code to insert in the method body. See the detailed recommendations for code use above.
+
+======Generate======
+
+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.
+
+====Query and Evaluation Inputs====
+
+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.
+
+======Input Literals======
+
+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.
+
 ===Example===
 
 In this section, we'll look at an example that should make clear how the basic Actions approach works in a model. Say we want to define a behavior like:
@@ -802,11 +850,11 @@
 
 Now, notice that although it's convenient to speak as if there is only one "Find Partner" and one "Partner Neighbor" in step 4 above, in fact selections are flowing through for each of the results of each of the previous action sequences, and we can refer to each of the directly. We could represent these behaviors in many different ways. For example, we might want to specify the model in a (hand-drawn) graphical language or in a (made-up) textual language:
 
-[[Image:images/ActionsExample.png|800px]]
+[[Image:images/actions/ActionsExample.png|800px]]
 
 This is how it looks in an actual model:
 
-[[Image:images/ActionsExampleNew.png|800px]]
+[[Image:images/actions/ActionsExampleNew.png|800px]]
 
 And here is how this works in detail:
 
@@ -835,7 +883,7 @@
 
 =====Meta-Classes=====
 
-[[Image:images/ActionsDiagram.png|800px]]
+[[Image:images/actions/ActionsDiagram.png|800px]]
 
 =====Details=====
 
@@ -867,7 +915,7 @@
 
 A technical note: conceptually, functions can return multi-values, but that is not currently implemented in the reference targets because of limitations of the target language Java.
 
-===Details===
+===Concepts===
 
 ====General Functions====
 
@@ -1088,7 +1136,7 @@
 
 For examples of how spatial functions can be used within action flows to provide agents with complex movement behaviors, see the Modelers Guide actions examples. In the following example from that section, we define an action that causes a partner agent to move to an available neighboring space.
 
-[[Image:images/ActionsExampleNew.png|800px]]
+[[Image:images/actions/ActionsExampleNew.png|800px]]
 
 ====Time====
 =====Details=====
@@ -1155,11 +1203,11 @@
 
 In the following action flow for the epidemic style, we've create Query Actions to determine each agent's current state, picked a color based on that, and then used a shared target to select a shape for the agent style and fill it:
 
-[[Image:images/GraphicsFunctionExampleDesign.png]]
+[[Image:images/functions/GraphicsFunctionExampleDesign.png]]
 
 After saving the model we can execute the two and three dimensional visualizations. Note something really nice -- even the charts have used the colors we've defined!
 
-[[Image:images/GraphicsFunctionExampleRun.png]]
+[[Image:images/functions/GraphicsFunctionExampleRun.png]]
 
 ====Lists====
 
@@ -1224,11 +1272,11 @@
 # Opened the "Multiple Value" node in the editor, and clicked the "Multiple Values" item within it.
 # Selected the "Status" attribute.
 
-[[Image:images/DistributionDesignChoice.png]] 
+[[Image:images/functions/DistributionDesignChoice.png]] 
 
 The appropriate attributes are automatically added to the model, as you can see below.
 
-[[Image:images/DistributionDesign.png]] 
+[[Image:images/functions/DistributionDesign.png]] 
 
 In order to assign these values to the agent, we'd simply need to assign the results of this Evaluate Action to the agent.
 
@@ -1238,7 +1286,381 @@
 
 =====Meta-Classes=====
 
-[[Image:images/FunctionsDiagram.png]]
+[[Image:images/functions/FunctionsDiagram.png]]
+==Tools==
+
+In this section of the guide, we'll discuss specific aspects of the Agent Modeling tools and show you how to use them in your day to day agent development activities. We discuss only tools specific to Agent Modeling itself. For more general information about the tools, such as how to customize editors, views, and perspectives, see the '''Workbench User Guide'''.
+
+===Overview===
+
+The Agent Modeling Platform provides two general modes or "perspectives" for working with Agent Models.
+
+[[Image:images/tools/Perspectives.png]]
+
+'''Agent Modeling''' supports all aspects of working with models, including editing models and automatically generating all the of your code and documentation. '''Agent Execution''' supports running and exploring those models. A key feature of the Agent Modeling Platform is the ability to execute models within the same environment that they are developed within -- you don't need to launch a separate environment in order to run a model. Agent Execution automatically activates when you launch a model. We'll discuss the agent modeling tools first, and then turn to agent execution.
+===Agent Modeling===
+
+====Perspective====
+
+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.
+
+====Creating Projects and Models====
+
+You can create projects and project components using the Popup menu. Just click in a blank space within the Package Explorer. Any installed project targets are displayed in this menu. For example, if you've installed the Simphony target, you'd see that displayed in this menu as well.
+
+[[Image:images/edit_tutorial/SimpleTutorial3CreateModel.png]]
+
+====Menus, Popups and Toolbar====
+
+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.
+====Views====
+
+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.
+
+[[Image:images/tools/Workbench.png]]
+
+=====Editor=====
+
+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.
+
+=====Default Views=====
+
+The default modeling views are visible by default.
+
+======Package Explorer======
+
+Supports navigation within projects.
+
+======Properties======
+
+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.
+
+======Outline======
+
+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.
+
+=====Diagnostic Views=====
+
+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.
+
+======Problems======
+
+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.
+
+======Console======
+
+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.
+
+======Errors======
+
+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:
+
+   
+====Editing Models====
+
+The Eclipse Agent Modeling Framework includes a full-featured model editor based on the Eclipse Modeling Framework's Edit tools. All aspects of an AMF model can be managed from within this tool. Note that the tree editor is only one of many ways of editing a model. Other editors of AMF models incude textual languages and custom editors that are part of commercial offerings.
+
+=====Opening the Editor=====
+
+To open a model in the editor, simply double-click on it. If the model doesn't open in the model editor (if for example it had been previously opened using another editor), you can always access the editor using '''Open With > Other...''' 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.
+
+=====Editing Structure=====
+
+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.
+
+======Opening Components======
+
+After opening a model, you can see the contents by clicking the Triangle symbol to the left of an item. For example, opening the root context node, we see:
+
+[[Image:images/tools/Editor.png]]
+
+======Editing Components======
+
+To edit components, 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.
+
+[[Image:images/tools/EditorEditing.png]]
+
+======Adding Components======
+
+You add nodes by right-clicking on a node, like so:
+
+[[Image:images/tools/EditorAdd.png]]
+
+======Moving Components======
+
+You can often rearrange model components by dragging them from one place to another. In the following example, we're creating a model of a regional epidemic by creating a City sub-context and moving the agent into it: 
+
+[[Image:images/tools/EditorMoving.png]]
+
+======Removing Components======
+
+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.
+
+======Copying Components======
+
+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.
+
+======Editing Attributes======
+
+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.
+
+[[Image:images/tools/EditorAttributes.png]]
+
+======Editing Styles======
+
+The Styles node is another group node, in this case representing a set of styles that can be used to visualize the agents. When creating a style, you will need to create a Rule for each style as well, like so:
+
+[[Image:images/tools/EditorStyles.png]]
+
+=====Editing Actions=====
+
+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.
+
+Like attributes and styles, every agent has a single Actions nodes which contains its Root Action(s).
+
+======Order======
+
+Generally, action sources will appear above their targets. In the case where there is only one source for a given target, and that target has no other sources, they will appear directly above one another. Its important to note however that ''the order of the nodes does not indicate a specific source and target relationship''. For example, in the case where there are multiple targets for a source, they will typically follow that source immediately. To make the relationships clear, every action lists its source actions as part of the action label. Agent selections also appear as part .
+
+[[Image:images/tools/ActionsExample.png]]
+
+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 <nowiki>"Vulnerable Neighbor [Potential Exposure] <- [Potential Exposure]"</nowiki> indicating that the "Potential Exposure" action serves as its selection as well as its source.
+
+======Initial Order======
+
+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.
+
+======Changing Sources and Targets (Reordering)======
+
+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. 
+
+======Adding Sources and Targets======
+
+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.
+
+======Removing Sources and Targets======
+
+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.
+
+======Removing Actions======
+
+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.
+
+======Copying Actions======
+
+Copying actions works just as with other entities, and copies will become targets of their option-drag destination. 
+
+======Query and Evaluation Inputs======
+
+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.
+ 
+[[Image:images/tools/ActionsExample.png]]
+
+
+======Input Literals======
+
+To create an input value, right click on the input and select '''Create Member > Literal'''. Then specify the actual value in the Value property in the '''Properties View'''.
+====Building Models====
+
+If you've used other development environments, you're probably used to a separate build step. For example, if you edit a set of Java files, you might invoke a compile command. Eclipse and the Agent Modeling Platform support automatic building. This means that in order to build your code, you simply save the model and the environment takes care of the rest. What gets built is defined by the project. For example, if you save a model that is contained within an Agent Modeling Escape Project, the following steps occur automatically:
+
+#The Escape builder generates Java code for the Escape API, including support for specialized graphics and (if enabled) 3D visualization.
+#The Documentation builder generates custom html documentation for the model.
+#The Java builder takes the Java code generated above and compiles it.
+#The Manifest and Schema builders package the project for use as part of the Eclipse plugin environment.
+
+So what do you do if you want to generate code for a different target, such as Repast? Here, you simply create another project and drag the model into it. You can also edit the builders for a given project (see the Workbench Documentation) but you'll only want to do that if you're making permanent changes to the project itself.
+
+====Generating Specialized Model Artifacts====
+
+You can also manually generate code for models. This is useful if you want to create code for a model in a non target project and don't want the automatic build capabilities. There are also specialized targets that can be generated manually that are bundled with the tools -- AMP plugin developers can easily add custom generation targets for this menu. To generate custom artifacts, right-click on a model and select '''Generate'''.
+
+[[Image:images/tools/GenerateMenu.png]]
+
+Targets include:
+
+=====Platform Targets=====
+
+Creates code for one of the installed targets, such as Ascape, Escape, and Simphony. (Again, these generators are unnecessary for projects that already have target specific builders configured.)
+
+=====Interfaces=====
+
+Creates a complete set of interfaces for the model classes. These can be very useful for development and integration in enterprise environments. Generated classes are placed in the src directory with "I" added to the name. For example, if you generate interfaces for a model with an "Individual" agent, this target will create an "IIndividual" interface that includes getters, setters and methods for all of the agent's attributes and actions.
+
+=====Skeleton===== 
+
+Creates a base class for the model. This is essentially a complete implementation, but without the action implementations. Again, these classes can be useful when generating code for use in enterprise and other specialized environments.
+
+=====Test Cases===== 
+
+Generates base support (needing customization) test cases for use in JUnit tests.
+
+=====Text Documents=====
+
+Creates simple text documentation for use in other documents.
+
+=====Generate Key Graphics===== 
+
+This specialized target supports the creation of graphic keys for the model. To use this target:
+
+#Generate the code.
+#Add a dependency to the Manifest for "org.eclipse.amp.amf.gen.extras".
+#In the srcutil directory find the Java source code for the calss {RootContext}GraphicsWriter. For example, for the Epidemic model, this would be srcutil/name.milesparker.epi/EpidemicGraphicsWriter.java.
+#Right-click, and select '''Run As > Java Application'''.
+#Refresh the project by right-clicking on it and selecting '''Refresh'''.
+#The Doc directory will now contain a number of new files, including
+##{RootContext}Key.png
+##{RootContext}GraphicsKey.html
+
+Both files contain graphic representations of the model using the definitions defined by the model styles, very useful artifacts for inclusion in papers and web pages describing your model. For example, here is the EpidemicKey.png:
+
+[[Image:images/tools/EpidemicKey.png]]
+
+=====Function Docs=====
+
+Generates WikiText documentation for function libraries. We use it to create the function documentation in this guide!
+===Agent Execution===
+
+====Launching a Model (AMF)====
+
+
+When an AMF file is selected -- in any of the perspectives -- the pop-up menu looks like this:
+
+[[Image:images/tools/EditorMenu.png | left]]
+
+(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.
+
+[[Image:images/tools/EditorToolbar.png]]
+
+To launch a model, select one of the options.
+
+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.
+
+[[Image:images/execution/EpidemicModelRunning.png]]
+
+The execution options are:
+
+=====Execute=====
+
+Launches the model using default graphics, opening the Agent Execution perspective.
+
+=====Execute Headless=====
+
+Launches the model without graphics, opening the Agent Execution perspective.
+
+=====Execute Headless (Data)=====
+
+Launches the model with an observer that collects data into the AMF adata model representation.
+
+====Executing a Model (Java / 3D)====
+
+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.
+
+[[Image:images/execution/Epidemic3D.png]]
+
+====Controlling Model Execution====
+
+Once a model has been launched, the toolbar buttons allow you to control model execution.
+
+[[Image:images/execution/EpidemicModelControls.png]]
+
+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.
+
+[[Image:images/execution/EpidemicModelComparison.png]]
+
+=====The Active Model=====
+
+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.
+
+====Views====
+
+There are many views specific to the Agent Execution environment that will enable you to explore and control running models.
+
+=====Properties=====
+
+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.
+
+[[Image:images/execution/EpidemicModelAgentProperties.png]]
+
+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.
+
+[[Image:images/execution/EpidemicModelProperties.png]]
+
+=====Agent Navigator=====
+
+The '''Agent Navigator''' 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.
+
+[[Image:images/execution/AgentNavigator.png]]
+
+=====Model Manager=====
+
+The ''''Model Manager'''' 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.
+
+[[Image:images/execution/ModelManager.png]]
+
+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.
+
+You can make any model the current active model by clicking on its node in this view.
+
+======"About this Model"======
+
+The ''''About this Model'''' 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 <nowiki>"About[MyModel].html"</nowiki> 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.
+
+[[Image:images/execution/AboutView.png]]
+
+
+====Visualization====
+
+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.
+
+=====2D Views=====
+
+The '''Graphic 2D''' view is the most common view way to work with an Agent Model and is automatically generated and displayed for executing models.
+
+[[Image:images/execution/Epidemic2DView.png]]
+
+There are a number of view widgets in the upper-right hand corner that you can use to modify the view. You can:
+
+======Scaling======
+
+#Enter or select a specific scale in the combo menu.
+#Select a button to have the model scale either:
+##Freely
+##Within the bounds of the view
+##Within the vertical bounds of the view
+##Within the horizontal bounds of the view
+#Zoom In
+#Zoom Out
+
+=====Charts=====
+
+A '''Chart''' 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.
+
+[[Image:images/execution/EpidemicChartOptions.png]]
+
+======Chart Type======
+
+Several chart types are supported: The line, area, bar and pie chart. Click on one of the icons to select that type.
+
+[[Image:images/execution/LineChart.png|400px|Line Chart]]
+[[Image:images/execution/AreaChart.png|400px|Area Chart]]
+[[Image:images/execution/BarChart.png|400px|Bar Chart]]
+[[Image:images/execution/PieChart.png|400px|Pie Chart]]
+
+======Chart Legend======
+
+Turn the legend on and off by selecting the "T" icon.
+
+======Chart Data======
+
+To select the statistics to display, show the '''Chart Customizer''' 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.
+
+[[Image:images/execution/EpidemicChartCustomize.png]]
+
+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.
+
+
+====Executing Internal Targets==== 
 ==Tutorial==
 
 ===Designing a Model===
@@ -1261,38 +1683,37 @@
 
 A special Agent Modeling '''Perspective''' can be used to setup your '''Workspace''' 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:
 
-[[Image:images/SimpleTutorial0Perspective.png]]
+[[Image:images/edit_tutorial/SimpleTutorial0Perspective.png]]
 
 Or, if you can't see it there, you can access it by selecting the menu '''Open Perspective > Other... and then selecting the Agent Modeling perspective from the provided options:
 
-[[Image:images/SimpleTutorial0Perspective2.png]]
-
+[[Image:images/edit_tutorial/SimpleTutorial0Perspective2.png]]
 
 =====Create Project=====
 
 Before doing anything else, we need a project -- a folder to organize our models within. Right-click in the Package Explorer and select '''New > Agent Modeling Escape Project'''.
 
-[[Image:images/SimpleTutorial1.png]]
+[[Image:images/edit_tutorial/SimpleTutorial1.png]]
 
 =====Name project=====
 
 We'll get a dialog allowing us to name the project. Let's call it something simple.
 
-[[Image:images/SimpleTutorial2.png]]
+[[Image:images/edit_tutorial/SimpleTutorial2.png]]
 
 =====Create Model=====
 
 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 '''New > Agent Model'''.
 
-[[Image:images/SimpleTutorial3CreateModel.png]]
+[[Image:images/edit_tutorial/SimpleTutorial3CreateModel.png]]
 
 You'll see a model creation wizard from which you can name the model. Just give it the name "StupidModel.metaabm".
 
-[[Image:images/SimpleTutorial4CreateModel.png]]
+[[Image:images/edit_tutorial/SimpleTutorial4CreateModel.png]]
 
 Click '''Next''' to see some other options. We don't need to change any of this:
 
-[[Image:images/SimpleTutorial5CreatePage2.png]]
+[[Image:images/edit_tutorial/SimpleTutorial5CreatePage2.png]]
 
 So just click the '''Finish''' button and we're ready to move on with the tutorial.
 
@@ -1304,23 +1725,23 @@
 
 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 '''Create Member > Agent'''.
 
-[[Image:images/SimpleTutorial6Createagent.png]]
+[[Image:images/edit_tutorial/SimpleTutorial6Createagent.png]]
 
 ======Name Agent======
 
 Let's call it "Bug". In the lower left-hand corner you should see the '''Properties''' 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 '''Window > Show View > Other'''. Find the "Label" property and type our new name into it. You'll see that all of the related name properites are also updated.
 
-[[Image:images/SimpleTutorial6NameBug.png]]
+[[Image:images/edit_tutorial/SimpleTutorial6NameBug.png]]
 
 ======The Create Agent Action====== 
 
 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).
 
-[[Image:images/SimpleTutorial10AgentCount.png]]
+[[Image:images/edit_tutorial/SimpleTutorial10AgentCount.png]]
 
 You might want to take a look at the Create Bugs rule, but there isn't anything we need to change there.
 
-[[Image:images/SimpleTutorial11BuildAgents.png]]
+[[Image:images/edit_tutorial/SimpleTutorial11BuildAgents.png]]
 
 =====Grid Space=====
 
@@ -1328,7 +1749,7 @@
 
 Next, we'll create a grid for the Bugs to move around upon. Right-click on the StupidModel1 context and choose '''New > Grid'''.
 
-[[Image:images/SimpleTutorial7CreateGrid.png]]
+[[Image:images/edit_tutorial/SimpleTutorial7CreateGrid.png]]
 
 ======Set Grid Parameters======
 
@@ -1338,21 +1759,21 @@
 #Set the "Neighborhood" property to be "Moore" -- that's how we are going to interpret the statement "in the X and Y directions".
 #Set the dimensionality to "2". (You might need to enlarge the Property view or use the scroll bar to see the Dimensionality property.)
 
-[[Image:images/SimpleTutorial8GridParameters.png]]
+[[Image:images/edit_tutorial/SimpleTutorial8GridParameters.png]]
 
 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.)
 
-[[Image:images/SimpleTutorial9GridDims.png]]
+[[Image:images/edit_tutorial/SimpleTutorial9GridDims.png]]
 
 ======The Build Grid Action======
 
 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:
 
-[[Image:images/SimpleTutorial14BuildGridParams.png]]
+[[Image:images/edit_tutorial/SimpleTutorial14BuildGridParams.png]]
 
 If you click on the '''...''' button next to the "Agents" property you'll see see the Bug, which is the agent that will be moving around upon the grid.
 
-[[Image:images/SimpleTutorial13BuildGridAgents.png]]
+[[Image:images/edit_tutorial/SimpleTutorial13BuildGridAgents.png]]
 
 ====Actions====
 
@@ -1360,43 +1781,43 @@
 
 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 > Initialize Action.
 
-[[Image:images/SimpleTutorial15CreateInitialize.png]]
+[[Image:images/edit_tutorial/SimpleTutorial15CreateInitialize.png]]
 
 ======Create Select Action======
 
 Next, right click on the new Initialize node and choose '''Create Member > Select''' to create a Select target.
 
-[[Image:images/SimpleTutorial16CreateSelect.png]]
+[[Image:images/edit_tutorial/SimpleTutorial16CreateSelect.png]]
 
 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).
 
-[[Image:images/SimpleTutorial165Select2.png]]
+[[Image:images/edit_tutorial/SimpleTutorial165Select2.png]]
 
 ======Create Query Action======
 
 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.
 
-[[Image:images/SimpleTutorial17CreateQuery.png]]
+[[Image:images/edit_tutorial/SimpleTutorial17CreateQuery.png]]
 
 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.
 
-[[Image:images/SimpleTutorial18QueryFunction.png]]
+[[Image:images/edit_tutorial/SimpleTutorial18QueryFunction.png]]
 
 ======Create Move Action======
 
 Finally, as the last part of the initial action specification, we'll create a Move Action using '''Create Member > Move'''. (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:
 
-[[Image:images/SimpleTutorial19Move.png]]
+[[Image:images/edit_tutorial/SimpleTutorial19Move.png]]
 
 =====Run Initial Model=====
 
 That's all we have to do to create our first working model! Now, go to the '''Package Explorer''' and select the StupidModel1.metaabm file. Right-click on it and select '''Execute'''. 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.
 
-[[Image:images/SimpleTutorial20ExecuteModel.png]]
+[[Image:images/edit_tutorial/SimpleTutorial20ExecuteModel.png]]
 
 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.
 
-[[Image:images/SimpleTutorial21Execute2.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial21Execute2.png | right]]
 
 ====Styles====
 
@@ -1406,13 +1827,13 @@
 
 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 '''
 
-[[Image:images/SimpleTutorial22CreateStyle.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial22CreateStyle.png | right]]
 
 By default the style will be called BugStyle2D. Open the Style to the Actions node and create a rule.
 
 ======Create Style Rule======
 
-[[Image:images/SimpleTutorial23CreateStyleRule.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial23CreateStyleRule.png | right]]
 
 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.
 
@@ -1420,11 +1841,11 @@
 
 We make the first Evaluation define a Color of "Red". Right click on the new Rule, and select '''New > Command > Evaluate''' (not shown) to create an Evaluation. Then in the function property, select "Graphic: Color Red".
 
-[[Image:images/SimpleTutorial24EvaluationFunction.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial24EvaluationFunction.png | right]]
 
 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:
 
-[[Image:images/SimpleTutorial25FinishStyle.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial25FinishStyle.png | right]]
 
 
 ====Actions 2 Movement Rule====
@@ -1437,7 +1858,7 @@
 
 But now, instead of moving <i>anywhere</i> we want to move nearby. So now, we create a ''parallel'' 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 ''Select'' Action and choose '''Create Target > Select > Query'''. Like so:
 
-[[Image:images/SimpleTutorial26CreateQuery2.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial26CreateQuery2.png | right]]
 
 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.
 
@@ -1445,33 +1866,33 @@
 
 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 '''File > Save''' from the application menu. Notice that a red marker appears next to the StupidModel1.metaabm file. If you reveal the '''Problems View''' 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.
 
-[[Image:images/SimpleTutorial27NoValue.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial27NoValue.png | right]]
     
 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.)
 
 To fix this error we just need to assign a value for search distance. We '''could''' 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.
 
-[[Image:images/SimpleTutorial28CreateAttribute.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial28CreateAttribute.png | right]]
 
 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.
 
-[[Image:images/SimpleTutorial29AttributeValues.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial29AttributeValues.png | right]]
 
 Finally, we assign the Vision attribute to the "Input" node in our Spatial: Within Query.
 
-[[Image:images/SimpleTutorial30AttributeInput.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial30AttributeInput.png | right]]
 
 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).
 
-[[Image:images/SimpleTutorial31Intersect.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial31Intersect.png | right]]
 
 The Intersection Action needs to be a target of ''both'' 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.
 
-[[Image:images/SimpleTutorial32IntersectAdd.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial32IntersectAdd.png | right]]
 
 Finally, add a Move target to the Intersection.
 
-[[Image:images/SimpleTutorial33Move.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial33Move.png | right]]
 
 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 <- indicator showing the immediate sources of each of the nodes. ''Note especially than while the targets for actions often appear immediately following their source actions, this is not always the case.''
 
@@ -1479,89 +1900,10 @@
 
 Now, we can select the model in the '''Package Navigator''' 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.
 
-[[Image:images/SimpleTutorial34RunFinal.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial34RunFinal.png | right]]
 
 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.
 
-==Running Agent Models==
-
-
-===Exploring Example ABM Models===
-
-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.
-
-====Downloading Models====
-
-To obtain the models, simply launch the cheat sheet. Go to the '''Help > Cheat Sheets...''' menu and choose "Load Sample Projects".
-
-Or you can get them yourself from the following locations:
-
-=====AMF Models=====
-
- org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.escape
-
-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:
-
- org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.ascape
- org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.repast
-
-=====Escape / Ascape Java Models=====
-
-These are SVN projects in the sourceforge SVN. For help, see [[http://www.eclipse.org/subversive/documentation/teamSupport/find_check_wiz.php this page]].
-
- http://ascape.svn.sourceforge.net/svnroot/ascape/org.ascape.escape.models.brook
- http://ascape.svn.sourceforge.net/svnroot/ascape/org.ascape.escape.models.examples
- 
-====Generating Models====
-
-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:
-
-=====Creating a New Escape Project=====
-
-The best option is to simply create a new Escape project and drag the models into it!
-
-#If you're not already there, open the Agent Modeling Perspective. Select Window > Open Perspective > Other.. and then Agent Modeling. (Or you can choose Window > Reset Perspective and the Agent Modeling perspective should appear in the Open Perspective list itself.)
-#Next, let's create the project where we'll place our model. Select File > New > Escape AMF Project. Give it a name like "escape.tutorial", then click Finish.
-#Finally grab the Epidemic.metaabm model at http://download.eclipse.org/amp/models/Epidemic.metaabm 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.)
-
-===Tutorial===
-
-We've developer have a complete cheat sheet supporting this tutorial. Simply go to '''Help > Cheat Sheets...''' and then select "Run an Example Model" from within the "Agent Modeling" category. Or install the example models and then explore the following steps.
-
-Right-click on the model, and select "Execute". You should see something like this:
-
-[[Image:images/EpidemicModelRunning.png]]
-
-The toolbar buttons allow you to control model execution.
-
-[[Image:images/EpidemicModelControls.png]]
-
-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.
-
-[[Image:images/EpidemicModelComparison.png]]
-
-If you want to find out more about an agent, show the properties view, and click on agent.
-
-[[Image:images/EpidemicModelAgentProperties.png]]
-
-You can experiment with different parameters (settings) for models by then clicking in the gray area away within the view.
-
-[[Image:images/EpidemicModelProperties.png]]
-
-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.
-
-====Next Steps====
-
-To understand the capabilities of AMF, you might also want to try out running the same models automatically generated for Ascape or Repast.
-
- org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.ascape
- org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.repast
-
-===Classic Java ABM Models===
-
-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:
-
-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.)
 =Programer's Guide=
 
 ==Overview==
@@ -1607,17 +1949,17 @@
 
 You can mix and match Action behavior with Java and generated code with POJOs. One way to do this is through using protected regions. Select the agent you want to create protected methods for and then select "Generate Protected" from the "Mode" property. Now, create actions just as you have before, or use your existing ones. On code generation, open up the relevant java file and examine the methods that have been created. 
 
-[[Image:images/ProgrammingPojoGenerateProps.png]]
+[[Image:images/pojo/ProgrammingPojoGenerateProps.png]]
 
 You can put whatever you want within the PROTECTED REGION comments and those changes will be preserved when the model is regenerated. You can create a schedule, rule or watcher, maintain custom code for the actual implementations, and still have the model adapt to changes in the underlying data structure -- if for example you want to import a modified shape file.
 
-[[Image:images/ProgrammingPojoGenerateCode.png]]
+[[Image:images/pojo/ProgrammingPojoGenerateCode.png]]
 
 ====Implement Sub-classes====
 
 Another approach which can be more robust is to generate the basic model stubs (like an abstract base class except that it isn't abstract) and then override your model with implementations. AMF provides support for generic skeletons and interfaces.
 
-[[Image:images/ProgrammingPojoGenerate.png]]
+[[Image:images/pojo/ProgrammingPojoGenerate.png]]
 
 ===Converting Existing Ascape models===
 
@@ -1664,6 +2006,64 @@
 ====Configuration====
 
 Instead of using Ant, Escape has really nice support for parameterizing and testing models. See [[Experimenting and Testing]] (todo). If you do want to work with ant you will need to install the plugins from the Sourceforge download site. (These have dependencies that I didn't want to bother with going through the Eclipse IP process to get in. If for some reason you think these should be part of core Escape let Miles know and I'll take care of it.) Ant has not been tested for Escape so it's not even clear it will work.
+==Running Agent Models==
+
+
+===Exploring Example ABM Models===
+
+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.
+
+====Downloading Models====
+
+To obtain the models, simply launch the cheat sheet. Go to the '''Help > Cheat Sheets...''' menu and choose "Load Sample Projects".
+
+Or you can get them yourself from the following locations:
+
+=====AMF Models=====
+
+ org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.escape
+
+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:
+
+ org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.ascape
+ org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.repast
+
+=====Escape / Ascape Java Models=====
+
+These are SVN projects in the sourceforge SVN. For help, see [[http://www.eclipse.org/subversive/documentation/teamSupport/find_check_wiz.php this page]].
+
+ http://ascape.svn.sourceforge.net/svnroot/ascape/org.ascape.escape.models.brook
+ http://ascape.svn.sourceforge.net/svnroot/ascape/org.ascape.escape.models.examples
+ 
+====Generating Models====
+
+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:
+
+=====Creating a New Escape Project=====
+
+The best option is to simply create a new Escape project and drag the models into it!
+
+#If you're not already there, open the Agent Modeling Perspective. Select Window > Open Perspective > Other.. and then Agent Modeling. (Or you can choose Window > Reset Perspective and the Agent Modeling perspective should appear in the Open Perspective list itself.)
+#Next, let's create the project where we'll place our model. Select File > New > Escape AMF Project. Give it a name like "escape.tutorial", then click Finish.
+#Finally grab the Epidemic.metaabm model at http://download.eclipse.org/amp/models/Epidemic.metaabm 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.)
+
+===Tutorial===
+
+We've developer have a complete cheat sheet supporting this tutorial. Simply go to '''Help > Cheat Sheets...''' and then select "Run an Example Model" from within the "Agent Modeling" category.
+
+
+====Next Steps====
+
+To understand the capabilities of AMF, you might also want to try out running the same models automatically generated for Ascape or Repast.
+
+ org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.ascape
+ org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.repast
+
+===Classic Java ABM Models===
+
+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:
+
+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.)
 =Resources=
 
 ==Obtaining Example Models==
@@ -1692,3 +2092,46 @@
 [http://www.pnas.org/content/99/suppl.3/7280.full Agent-Based Modeling]
 [http://jasss.soc.surrey.ac.uk/11/4/12.html Why Model?]
 
+=Support=
+
+==Issues==
+
+Eclipse and the AMP project have a mandate for open communication. Please note that unless you are a customer of an AMP project contributor we will not respond to direct requests for support. We ''will'' make every effort to support your use of AMP in the following ways:
+
+===General Support, Questions and Discussion===
+
+The [http://www.eclipse.org/forums/index.php?t=thread&frm_id=17&S=f4fa6cb31327772a3b626dc409db409b Agent Modeling Platform Newsgroup] is the place to discuss or get support for any of the Eclipse AMP tools. 
+
+===View Existing Bugs and Feature Requests===
+
+If you have a problem or idea for improvement, there's a good chance that its already been discovered. To avoid duplication, please check the current bugs before filing a new bug report or feature request.
+
+[https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=AMP&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0= Search Existing Bugs]
+
+===File a Bug===
+
+This may sound obvious, but if something doesn't work as it should, the only way that we're going to find out is if someone reports it. All AMP related bugs or feature requests should use the Eclipse Bugzilla.
+
+[https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AMP&rep_platform=All&op_sys=All File a Bug or Feature Request]
+
+===Discuss AMP Development and Project===
+
+All discussion about software development, design and project management issues take place on the AMP dev-list. If you're interested in contributing to the AMP project, this is a good place to contact us. [https://dev.eclipse.org/mailman/listinfo/amp-dev].
+
+===Professional Support===
+
+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.
+
+===Media and Private Communications===
+
+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.)
+
+==Feedback==
+
+If you have ideas, comments or requests for information about the project please contact us at the .
+
+==Get Involved==
+
+If you find this tool valuable, please be aware that most of its development occurred through volunteer contributions from individuals and companies that have received no direct funding. You can support continual development efforts financially by purchasing related software tools from companies and organizations that help develop it, including funding for developer time in grant proposals. You can support the Eclipse platform in general by becoming a member organization of Eclipse. But the most important thing that you can contribute is your own time and enthusiasm, either through directly contributing to AMP or by promoting its use in blogs and other social media. For more detailed information about contributing to AMP, please see [http://wiki.eclipse.org/AMP/Getting_Involved our wiki].
+
+ 
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/build/amp.xml b/org.eclipse.amp/doc/org.eclipse.amp.doc/build/amp.xml
index 324319d..09b14f8 100644
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/build/amp.xml
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/build/amp.xml
@@ -71,7 +71,7 @@
 		<title>Modeler's Guide</title>
 		<section id="Introduction">
 			<title>Introduction</title>
-			<para>In this Modeler's Guide we provide an in-depth understanding of what goes into an Agent Model and how you can use the Agent Modeling Framework tools to design one. Fundamentally, an agent-based model, or "ABM", is composed of five pieces: Agents and Context Agents, Attributes, Spaces, and Actions. The first three refer to structural components, whereas Actions define behavior. Agent models also have styles, which are a special kind of Action used to determine how to portray an agent in a visualization. Finally Actions make use of Functions. We'll describe of these components in a separate section.</para>
+			<para>In this Modeler's Guide we provide an in-depth understanding of what goes into an Agent Model and how you can use the Agent Modeling Framework and related tools to design one. Fundamentally, an agent-based model, or "ABM", is composed of five pieces: Agents and Context Agents, Attributes, Spaces, and Actions. The first three refer to structural components, whereas Actions define behavior. Agent models also have styles, which are a special kind of Action used to determine how to portray an agent in a visualization. Finally Actions make use of Functions. We'll describe of these components in a separate section.</para>
 			<para>But first, we'll give a quick overview at what agent-based modeling is is and how the Agent Modeling Framework can help you to develop models for ABM or other problem domains.</para>
 			<section id="Agent-Based_Modeling">
 				<title>Agent-Based Modeling</title>
@@ -149,8 +149,8 @@
 				<para>The basic structure of an agent-based model can be quite simple. While there are many subtle complexities  -- beyond the scope of this manual -- we can construct most models following some straightforward and elegant design principles. And in fact, one of the main goals of the Agent Modeling Framework is to provide a consistent framework that can support using those principles to support the creation of models that can be easily understood, shared, and that can be used interchangeably as components in other models.</para>
 				<para>Unlike the approach of a traditional Object Oriented environment, the dominant organizing principal for agents within AMF follows a compositional hierarchical model, not an inheritance model. (Inheritance-like behavior will be supported in forthcoming versions of Acore, but in a more sophisticated, flexible and dynamic way than is supported by traditional programming languages such as Java.) Contexts -- also referred to as "Swarms" or "Scapes", are simply Agents that are capable of containing other agents. With this basic construct -- known as a Composition in design pattern language -- agents are able to contain other agents.</para>
 			</section>
-			<section id="Details">
-				<title>Details</title>
+			<section id="Concepts">
+				<title>Concepts</title>
 				<section id="General">
 					<title>General</title>
 					<para>Everything represented in an Acore model needs to be referred to in some way. Just as software classes have names, Acore provides a way to label and describe every entity, but in a richer and more maintainable way. All entities in Acore -- including Actions and Functions which we describe in the next two sections -- have a number of shared values.</para>
@@ -158,11 +158,11 @@
 						<title>Named Entities</title>
 						<section id="Label">
 							<title>Label</title>
-							<para>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.</para>
+							<para>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. </para>
 						</section>
 						<section id="ID">
 							<title>ID</title>
-							<para>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.)</para>
+							<para>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.</para>
 							<para>And most entities also define:</para>
 						</section>
 						<section id="Description">
@@ -365,7 +365,7 @@
 						<para>
 							<mediaobject>
 								<imageobject>
-									<imagedata fileref="images/StructureComplexDiagram.png"/>
+									<imagedata fileref="images/structure/StructureComplexDiagram.png"/>
 								</imageobject>
 							</mediaobject> 
 						</para>
@@ -377,14 +377,14 @@
 						<para>
 							<mediaobject>
 								<imageobject>
-									<imagedata fileref="images/StructureSimpleDiagram.png"/>
+									<imagedata fileref="images/structure/StructureSimpleDiagram.png"/>
 								</imageobject>
 							</mediaobject>
 						</para>
 						<literallayout>Core interactions are in Red. The meta-model structure is essentially a Composite pattern. 
 </literallayout>
 					</section>
-					<section id="Details_2">
+					<section id="Details">
 						<title>Details</title>
 						<orderedlist>
 							<listitem>
@@ -442,7 +442,7 @@
 					<para>
 						<mediaobject>
 							<imageobject>
-								<imagedata fileref="images/ActionsBlocks.png"/>
+								<imagedata fileref="images/actions/ActionsBlocks.png"/>
 							</imageobject>
 						</mediaobject> 
 					</para>
@@ -451,6 +451,9 @@
 					<title>Flow</title>
 					<para>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.</para>
 					<para>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.</para>
+					<para>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 
+						<emphasis role="italic">need</emphasis> 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.
+					</para>
 					<para>Again, behaviors in Actions are always defined by a set of 
 						<emphasis role="italic">selections</emphasis> and 
 						<emphasis role="italic">queries</emphasis>. In the following diagram, we can see the pattern.
@@ -458,7 +461,7 @@
 					<para>
 						<mediaobject>
 							<imageobject>
-								<imagedata fileref="images/ActionsSequence.png"/>
+								<imagedata fileref="images/actions/ActionsSequence.png"/>
 							</imageobject>
 						</mediaobject>
 					</para>
@@ -466,7 +469,7 @@
 					<para>
 						<mediaobject>
 							<imageobject>
-								<imagedata fileref="images/ActionsSimpleSequence.png"/>
+								<imagedata fileref="images/actions/ActionsSimpleSequence.png"/>
 							</imageobject>
 						</mediaobject>
 					</para>
@@ -474,7 +477,7 @@
 					<para>
 						<mediaobject>
 							<imageobject>
-								<imagedata fileref="images/ActionsSimpleSequence2.png"/>
+								<imagedata fileref="images/actions/ActionsSimpleSequence2.png"/>
 							</imageobject>
 						</mediaobject>
 					</para>
@@ -482,7 +485,7 @@
 					<para>
 						<mediaobject>
 							<imageobject>
-								<imagedata fileref="images/ActionsFlowSimple.png"/>
+								<imagedata fileref="images/actions/ActionsFlowSimple.png"/>
 							</imageobject>
 						</mediaobject>
 					</para>
@@ -490,7 +493,7 @@
 					<para>
 						<mediaobject>
 							<imageobject>
-								<imagedata fileref="images/ActionsFlowUnion.png"/>
+								<imagedata fileref="images/actions/ActionsFlowUnion.png"/>
 							</imageobject>
 						</mediaobject>
 					</para>
@@ -518,7 +521,7 @@
 					<para>
 						<mediaobject>
 							<imageobject>
-								<imagedata fileref="images/ActionsSelBoundarySimple.png"/>
+								<imagedata fileref="images/actions/ActionsSelBoundarySimple.png"/>
 							</imageobject>
 						</mediaobject>
 					</para>
@@ -526,7 +529,7 @@
 					<para>
 						<mediaobject>
 							<imageobject>
-								<imagedata fileref="images/ActionsSelBoundary2Parts.png"/>
+								<imagedata fileref="images/actions/ActionsSelBoundary2Parts.png"/>
 							</imageobject>
 						</mediaobject> 
 					</para>
@@ -543,7 +546,7 @@
 					<para>
 						<mediaobject>
 							<imageobject>
-								<imagedata fileref="images/ActionsSelBoundary11A.png"/>
+								<imagedata fileref="images/actions/ActionsSelBoundary11A.png"/>
 							</imageobject>
 						</mediaobject>
 					</para>
@@ -554,7 +557,7 @@
 					<para>
 						<mediaobject>
 							<imageobject>
-								<imagedata fileref="images/ActionsSelBoundaryComplex.png"/>
+								<imagedata fileref="images/actions/ActionsSelBoundaryComplex.png"/>
 							</imageobject>
 						</mediaobject>
 					</para>
@@ -568,7 +571,7 @@
 					<para>
 						<mediaobject>
 							<imageobject>
-								<imagedata fileref="images/ActionsWeavingSetAnother.png"/>
+								<imagedata fileref="images/actions/ActionsWeavingSetAnother.png"/>
 							</imageobject>
 						</mediaobject>
 					</para>
@@ -576,7 +579,7 @@
 					<para>
 						<mediaobject>
 							<imageobject>
-								<imagedata fileref="images/ActionsWeavingEvaluate.png"/>
+								<imagedata fileref="images/actions/ActionsWeavingEvaluate.png"/>
 							</imageobject>
 						</mediaobject>
 					</para>
@@ -584,7 +587,7 @@
 					<para>
 						<mediaobject>
 							<imageobject>
-								<imagedata fileref="images/ActionsWeaving1A.png"/>
+								<imagedata fileref="images/actions/ActionsWeaving1A.png"/>
 							</imageobject>
 						</mediaobject>
 					</para>
@@ -592,21 +595,21 @@
 					<para>
 						<mediaobject>
 							<imageobject>
-								<imagedata fileref="images/ActionsWeaving2.png"/>
+								<imagedata fileref="images/actions/ActionsWeaving2.png"/>
 							</imageobject>
 						</mediaobject>
 					</para>
 					<para>Before going into further details we need to introduce one more important concept. As we'll see in the detailed explanation of each Action below, Transformation Actions such as Move or Connect take multiple selections. The first selection defines the set of agents that will be performing the action. In the case of a Move agent, this refers to the mover. The second selection, which for Move we call "destination", refers to the selection that will be receiving the action. In the case of movement this is the agent or location that the Rule agent will be moving to. If we follow the flows through, we can note two important outcomes of our model design -- a Rule agent might move twice if it meets the criteria for both the blue path and the red path and that it might move to a different location each time.</para>
 				</section>
 			</section>
-			<section id="Details_3">
-				<title>Details</title>
+			<section id="Concepts_2">
+				<title>Concepts</title>
 				<para>In this section, we'll dig into the specific role of each of the Actions. From the design discussion we hopefully have some sense of how these all fit together in general.
 					Let's look at the overall view again amd then dig into the details.</para>
 				<para>
 					<mediaobject>
 						<imageobject>
-							<imagedata fileref="images/ActionsBlocks.png"/>
+							<imagedata fileref="images/actions/ActionsBlocks.png"/>
 						</imageobject>
 					</mediaobject> 
 				</para>
@@ -637,9 +640,17 @@
 					<section id="Query">
 						<title>Query</title>
 						<para>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. </para>
+						<section id="Selection_2">
+							<title>Selection</title>
+							<para>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.</para>
+						</section>
 						<section id="Function">
 							<title>Function</title>
-							<para>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.</para>
+							<para>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.</para>
+						</section>
+						<section id="Inputs">
+							<title>Inputs</title>
+							<para>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.</para>
 						</section>
 					</section>
 					<section id="Logic">
@@ -703,133 +714,6 @@
 						</section>
 					</section>
 				</section>
-				<section id="Commands">
-					<title>Commands</title>
-					<section id="Evaluate">
-						<title>Evaluate</title>
-						<para>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.</para>
-						<section id="Selection_2">
-							<title>Selection</title>
-							<para>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.</para>
-						</section>
-						<section id="Function_2">
-							<title>Function</title>
-							<para>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.</para>
-						</section>
-						<section id="Inputs">
-							<title>Inputs</title>
-							<para>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.</para>
-						</section>
-					</section>
-					<section id="Set">
-						<title>Set</title>
-						<para>The Set Action assigns some value to another value.</para>
-						<section id="Selection_3">
-							<title>Selection</title>
-							<para>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.</para>
-						</section>
-						<section id="Attribute_2">
-							<title>Attribute</title>
-							<para>The attribute to modify. It must be a member of this action's agent or of that agent's parent context.</para>
-						</section>
-						<section id="Parameter">
-							<title>Parameter</title>
-							<para>The value to assign to the attribute. Here, we can use either another agent attribute, or the results of a source evaluation. </para>
-						</section>
-					</section>
-					<section id="Move">
-						<title>Move</title>
-						<para>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.</para>
-						<section id="Selection_4">
-							<title>Selection</title>
-							<para>As in any other action, the selection determines what agent is affected -- in this case the agent that is being moved.</para>
-						</section>
-						<section id=".3DDestination">
-							<title>=Destination</title>
-							<para>Specifies the target agent or location for the movement.</para>
-						</section>
-					</section>
-					<section id="Leave">
-						<title>Leave</title>
-						<para>Causes the agent to leave a particular space.</para>
-						<section id="Selection_5">
-							<title>Selection</title>
-							<para>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.</para>
-						</section>
-						<section id=".3DDestination_2">
-							<title>=Destination</title>
-							<para>The destination is irrelevant for a leave action and should not be specified.</para>
-						</section>
-					</section>
-					<section id="Die">
-						<title>Die</title>
-						<para>Causes the agent to cease to exist within the model as a whole.</para>
-						<section id="Selection_6">
-							<title>Selection</title>
-							<para>The selection determines what space the agent to remove.</para>
-						</section>
-						<section id=".3DDestination_3">
-							<title>=Destination</title>
-							<para>The destination is irrelevant in this case and will probably be removed.</para>
-						</section>
-					</section>
-					<section id="Connect">
-						<title>Connect</title>
-						<para>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.</para>
-						<section id="Selection_7">
-							<title>Selection</title>
-							<para>The selection determines the agent that will be connected to another agent. In the case of a directed graph, this is the source node.</para>
-						</section>
-						<section id=".3DDestination_4">
-							<title>=Destination</title>
-							<para>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.</para>
-						</section>
-						<section id="Within">
-							<title>Within</title>
-							<para>Specifies the network that the connection will be created within.</para>
-						</section>
-					</section>
-					<section id="Directed_2">
-						<title>Directed</title>
-						<para>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).</para>
-					</section>
-					<section id="Disconnect">
-						<title>Disconnect</title>
-						<para>Removes the connection between agents within a network space. See the description of the Connect Action for important details.</para>
-						<section id="Selection_8">
-							<title>Selection</title>
-							<para>The selection determines one side of the agent relationship that will be disconnected.</para>
-						</section>
-						<section id=".3DDestination_5">
-							<title>=Destination</title>
-							<para>The selection determines one other side of the agent relationship that will be disconnected.</para>
-						</section>
-						<section id="Within_2">
-							<title>Within</title>
-							<para>Specifies the network that the connection will be created within.</para>
-						</section>
-					</section>
-					<section id="Replace">
-						<title>Replace</title>
-						<para>Functions in the same way as a Connect Action excepth that all other connections to other agents will first be removed.</para>
-						<section id="Selection_9">
-							<title>Selection</title>
-							<para>The selection determines the agent that will be connected to another agent. In the case of a directed graph, this is the source node.</para>
-						</section>
-						<section id=".3DDestination_6">
-							<title>=Destination</title>
-							<para>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.</para>
-						</section>
-						<section id="Within_3">
-							<title>Within</title>
-							<para>Specifies the network that the connection will be created within.</para>
-						</section>
-					</section>
-					<section id="Directed_3">
-						<title>Directed</title>
-						<para>Determines whether the connection made is directed or not. See the Connect description for more details.</para>
-					</section>
-				</section>
 				<section id="Builders">
 					<title>Builders</title>
 					<para>Builders are a special category of actions that are used to create spaces. They should not be confused with the Build Action itself which is a root selection that defines the time at which builder actions should occur. Generally speaking, specific Builder Actions for spaces and Create Actions for agents are targets of Build Actions.</para>
@@ -842,7 +726,7 @@
 							<title>Agent</title>
 							<para>The kind of agent to create.</para>
 						</section>
-						<section id="Selection_10">
+						<section id="Selection_3">
 							<title>Selection</title>
 							<para>The selection to use as the basic for this selection. This is generally not important except to define control flow.</para>
 						</section>
@@ -850,8 +734,8 @@
 							<title>Space</title>
 							<para>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.</para>
 						</section>
-						<section id=".3DAgent_Count">
-							<title>=Agent Count</title>
+						<section id="Agent_Count">
+							<title>Agent Count</title>
 							<para>The number of agents to create. If used as part of an enclosing context's Initialize Action(s) an Attribute parameter will automatically be created. If not, then an evaluation or agent attribute should be used to define this number.</para>
 						</section>
 						<section id="For_2">
@@ -914,7 +798,7 @@
 							<title>Network Type</title>
 							<para>Deprecated. This feature is only currently supported for Repast targets and is likely to be removed from future versions of the AMF meta-model. Future AMF implementations are likely will provide a different mechanism for instantiating and importing network structures either within the network defintion or through other Action definitions. Instead of using this feature, modelers should create specific networks by building them up with Connect Actions for indivdual agents. For example to create a small world netowrk, a modeler might create random links between agents and then replace or augment those connections.</para>
 						</section>
-						<section id="Selection_11">
+						<section id="Selection_4">
 							<title>Selection</title>
 							<para>Not relevant for network builders except as part of normal control flow.</para>
 						</section>
@@ -934,7 +818,7 @@
 							<title>Space Type</title>
 							<para>Deprecated. Should not be used.</para>
 						</section>
-						<section id="Selection_12">
+						<section id="Selection_5">
 							<title>Selection</title>
 							<para>Not relevant for builders except as part of normal control flow.</para>
 						</section>
@@ -956,6 +840,183 @@
 						<para>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.</para>
 					</section>
 				</section>
+				<section id="Commands">
+					<title>Commands</title>
+					<section id="Evaluate">
+						<title>Evaluate</title>
+						<para>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.</para>
+						<section id="Selection_6">
+							<title>Selection</title>
+							<para>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.</para>
+						</section>
+						<section id="Function_2">
+							<title>Function</title>
+							<para>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.</para>
+						</section>
+						<section id="Inputs_2">
+							<title>Inputs</title>
+							<para>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.</para>
+						</section>
+					</section>
+					<section id="Set">
+						<title>Set</title>
+						<para>The Set Action assigns some value to another value.</para>
+						<section id="Selection_7">
+							<title>Selection</title>
+							<para>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.</para>
+						</section>
+						<section id="Attribute_2">
+							<title>Attribute</title>
+							<para>The attribute to modify. It must be a member of this action's agent or of that agent's parent context.</para>
+						</section>
+						<section id="Parameter">
+							<title>Parameter</title>
+							<para>The value to assign to the attribute. Here, we can use either another agent attribute, or the results of a source evaluation. </para>
+						</section>
+					</section>
+					<section id="Move">
+						<title>Move</title>
+						<para>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.</para>
+						<section id="Selection_8">
+							<title>Selection</title>
+							<para>As in any other action, the selection determines what agent is affected -- in this case the agent that is being moved.</para>
+						</section>
+						<section id="Destination">
+							<title>Destination</title>
+							<para>Specifies the target agent or location for the movement.</para>
+						</section>
+					</section>
+					<section id="Leave">
+						<title>Leave</title>
+						<para>Causes the agent to leave a particular space.</para>
+						<section id="Selection_9">
+							<title>Selection</title>
+							<para>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.</para>
+						</section>
+						<section id="Destination_2">
+							<title>Destination</title>
+							<para>The destination is irrelevant for a leave action and should not be specified.</para>
+						</section>
+					</section>
+					<section id="Die">
+						<title>Die</title>
+						<para>Causes the agent to cease to exist within the model as a whole.</para>
+						<section id="Selection_10">
+							<title>Selection</title>
+							<para>The selection determines what space the agent to remove.</para>
+						</section>
+						<section id=".3DDestination">
+							<title>=Destination</title>
+							<para>The destination is irrelevant in this case and will probably be removed.</para>
+						</section>
+					</section>
+					<section id="Connect">
+						<title>Connect</title>
+						<para>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.</para>
+						<section id="Selection_11">
+							<title>Selection</title>
+							<para>The selection determines the agent that will be connected to another agent. In the case of a directed graph, this is the source node.</para>
+						</section>
+						<section id=".3DDestination_2">
+							<title>=Destination</title>
+							<para>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.</para>
+						</section>
+						<section id="Within">
+							<title>Within</title>
+							<para>Specifies the network that the connection will be created within.</para>
+						</section>
+					</section>
+					<section id="Directed_2">
+						<title>Directed</title>
+						<para>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).</para>
+					</section>
+					<section id="Disconnect">
+						<title>Disconnect</title>
+						<para>Removes the connection between agents within a network space. See the description of the Connect Action for important details.</para>
+						<section id="Selection_12">
+							<title>Selection</title>
+							<para>The selection determines one side of the agent relationship that will be disconnected.</para>
+						</section>
+						<section id="Destination_3">
+							<title>Destination</title>
+							<para>The selection determines one other side of the agent relationship that will be disconnected.</para>
+						</section>
+						<section id="Within_2">
+							<title>Within</title>
+							<para>Specifies the network that the connection will be created within.</para>
+						</section>
+					</section>
+					<section id="Replace">
+						<title>Replace</title>
+						<para>Functions in the same way as a Connect Action excepth that all other connections to other agents will first be removed.</para>
+						<section id="Selection_13">
+							<title>Selection</title>
+							<para>The selection determines the agent that will be connected to another agent. In the case of a directed graph, this is the source node.</para>
+						</section>
+						<section id="Destination_4">
+							<title>Destination</title>
+							<para>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.</para>
+						</section>
+						<section id="Within_3">
+							<title>Within</title>
+							<para>Specifies the network that the connection will be created within.</para>
+						</section>
+					</section>
+					<section id="Directed_3">
+						<title>Directed</title>
+						<para>Determines whether the connection made is directed or not. See the Connect description for more details.</para>
+					</section>
+				</section>
+				<section id="Other">
+					<title>Other</title>
+					<section id="Method">
+						<title>Method</title>
+						<para>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.</para>
+						<para>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.</para>
+						<para>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.</para>
+						<para>If you do decide to use the Method Action, keep in mind the following design practice recommendations:</para>
+						<orderedlist>
+							<listitem>
+								<para>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.</para>
+							</listitem>
+							<listitem>
+								<para>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.</para>
+							</listitem>
+							<listitem>
+								<para>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 
+									<emphasis role="bold">Source &gt; Organize Imports..</emphasis> but it prevents automatic code generation.
+								</para>
+							</listitem>
+							<listitem>
+								<para>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: <pre>(new org.me.SpecialFileLoader()).load(this);</pre>Then create a new source directory in your project called "src" (
+									<emphasis role="bold">New &gt; Source Folder...</emphasis>) and create the class for the specialized file loader including the following method: <pre>public void load(MyRootModel model) {...}</pre> 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.
+								</para>
+							</listitem>
+						</orderedlist>
+						<section id="Selection_14">
+							<title>Selection</title>
+							<para>The selection determines what Agent class the code will be created within and the set of agents the method will be called upon.</para>
+						</section>
+						<section id="Body">
+							<title>Body</title>
+							<para>The actual code to insert in the method body. See the detailed recommendations for code use above.</para>
+						</section>
+						<section id="Generate">
+							<title>Generate</title>
+							<para>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.</para>
+						</section>
+					</section>
+				</section>
+				<section id="Query_and_Evaluation_Inputs">
+					<title>Query and Evaluation Inputs</title>
+					<para>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.</para>
+					<section id="Input_Literals">
+						<section>
+							<title>Input Literals</title>
+							<para>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.</para>
+						</section>
+					</section>
+				</section>
 			</section>
 			<section id="Example">
 				<title>Example</title>
@@ -981,7 +1042,7 @@
 				<para>
 					<mediaobject>
 						<imageobject>
-							<imagedata fileref="images/ActionsExample.png"/>
+							<imagedata fileref="images/actions/ActionsExample.png"/>
 						</imageobject>
 					</mediaobject>
 				</para>
@@ -989,7 +1050,7 @@
 				<para>
 					<mediaobject>
 						<imageobject>
-							<imagedata fileref="images/ActionsExampleNew.png"/>
+							<imagedata fileref="images/actions/ActionsExampleNew.png"/>
 						</imageobject>
 					</mediaobject>
 				</para>
@@ -1063,12 +1124,12 @@
 						<para>
 							<mediaobject>
 								<imageobject>
-									<imagedata fileref="images/ActionsDiagram.png"/>
+									<imagedata fileref="images/actions/ActionsDiagram.png"/>
 								</imageobject>
 							</mediaobject>
 						</para>
 					</section>
-					<section id="Details_4">
+					<section id="Details_2">
 						<title>Details</title>
 						<para>In the diagram above, all meta-objects except for Input, Literal, and the enumerators (lists of options) are Actions. Blue meta-classes are concrete (you can create and use them directly). Red meta-classes are key collaborations.</para>
 						<orderedlist>
@@ -1124,8 +1185,8 @@
 				<para>The most important thing to point out about functions is that - as we've seen with other Acore concepts -- they provide richer sets of functionality than traditional approaches. Many functions are designed to collaborate with one another as we'll see when looking at Spatial and Graphical functions. Functions can also trigger the creation of related model artifacts as we'll see with the Distribution functions.</para>
 				<para>A technical note: conceptually, functions can return multi-values, but that is not currently implemented in the reference targets because of limitations of the target language Java.</para>
 			</section>
-			<section id="Details_5">
-				<title>Details</title>
+			<section id="Concepts_3">
+				<title>Concepts</title>
 				<section id="General_Functions">
 					<title>General Functions</title>
 					<para>Naturally, the Modeling tools provide general functions for performing calculations, comparisons and more complex mathematical expressions. The function library can be easily extended, and we'll be adding additional capabilities over time. As always, we welcome feedback and we'd like to hear what functions you need that aren't covered here.</para>
@@ -1419,7 +1480,7 @@
 						<para>Random functions are especially significant for agent models. Of particular interest are the weighted membership and random state and boolean value functions. You should be familiar with these functions so that you don't have to create more complex Action flows to accomplish the same thing.</para>
 						<para>Note that we only have support for uniform distributions as of this release. We're working on a collaborative design for evaluations that allow easy mixing and matching of random functions and distributions.</para>
 					</section>
-					<section id="Details_6">
+					<section id="Details_3">
 						<title>Details</title>
 						<section id="Random_In_Range">
 							<title>Random In Range</title>
@@ -1486,7 +1547,7 @@
 						<title>Design</title>
 						<para>Spatial functions provide the core functionality for Agent Models. Spatial functions are polymorphic, which basically means that they don't care what space they are operating on as long as that space is suitable for them. Spatial functions are designed to collaborate with one another. For example, by intersecting the "Neighbor", "Available" and "Toward" functions, we can design a rule that causes the agent to move to the next neighboring cell that get's it closer to some target agent. See the function details for more information.</para>
 					</section>
-					<section id="Details_7">
+					<section id="Details_4">
 						<title>Details</title>
 						<section id="Nearest">
 							<title>Nearest</title>
@@ -1568,7 +1629,7 @@
 						<para>
 							<mediaobject>
 								<imageobject>
-									<imagedata fileref="images/ActionsExampleNew.png"/>
+									<imagedata fileref="images/actions/ActionsExampleNew.png"/>
 								</imageobject>
 							</mediaobject>
 						</para>
@@ -1576,7 +1637,7 @@
 				</section>
 				<section id="Time">
 					<title>Time</title>
-					<section id="Details_8">
+					<section id="Details_5">
 						<title>Details</title>
 						<section id="Now">
 							<title>Now</title>
@@ -1594,7 +1655,7 @@
 						<para>Graphic functions are combined within Style Evaluate Actions to determine how to draw an agent within a visualization. One nice aspect of this approach is that the same style definition can be used in multiple places without changing any code. For example, the same style could be used to draw an agent on a two-dimensional grid within Escape, a three-dimensional shape within Escape, a Java Swing based visualization in Ascape, and an XML configured visualizaiton in Repast Simphony.</para>
 						<para>To define a graphic style for an agent, design a flow in which you create Evaluate Actions for color and shape, and then create an Evaluate Action with the graphic fill or outline function as a target of these.</para>
 					</section>
-					<section id="Details_9">
+					<section id="Details_6">
 						<title>Details</title>
 						<section id="Shape_Oval">
 							<title>Shape Oval</title>
@@ -1683,7 +1744,7 @@
 						<para>
 							<mediaobject>
 								<imageobject>
-									<imagedata fileref="images/GraphicsFunctionExampleDesign.png"/>
+									<imagedata fileref="images/functions/GraphicsFunctionExampleDesign.png"/>
 								</imageobject>
 							</mediaobject>
 						</para>
@@ -1691,7 +1752,7 @@
 						<para>
 							<mediaobject>
 								<imageobject>
-									<imagedata fileref="images/GraphicsFunctionExampleRun.png"/>
+									<imagedata fileref="images/functions/GraphicsFunctionExampleRun.png"/>
 								</imageobject>
 							</mediaobject>
 						</para>
@@ -1699,7 +1760,7 @@
 				</section>
 				<section id="Lists">
 					<title>Lists</title>
-					<section id="Details_10">
+					<section id="Details_7">
 						<title>Details</title>
 						<section id="Item">
 							<title>Item</title>
@@ -1790,7 +1851,7 @@
 						<para>
 							<mediaobject>
 								<imageobject>
-									<imagedata fileref="images/DistributionDesignChoice.png"/>
+									<imagedata fileref="images/functions/DistributionDesignChoice.png"/>
 								</imageobject>
 							</mediaobject> 
 						</para>
@@ -1798,7 +1859,7 @@
 						<para>
 							<mediaobject>
 								<imageobject>
-									<imagedata fileref="images/DistributionDesign.png"/>
+									<imagedata fileref="images/functions/DistributionDesign.png"/>
 								</imageobject>
 							</mediaobject> 
 						</para>
@@ -1813,7 +1874,7 @@
 						<para>
 							<mediaobject>
 								<imageobject>
-									<imagedata fileref="images/FunctionsDiagram.png"/>
+									<imagedata fileref="images/functions/FunctionsDiagram.png"/>
 								</imageobject>
 							</mediaobject>
 						</para>
@@ -1821,6 +1882,602 @@
 				</section>
 			</section>
 		</section>
+		<section id="Tools">
+			<title>Tools</title>
+			<para>In this section of the guide, we'll discuss specific aspects of the Agent Modeling tools and show you how to use them in your day to day agent development activities. We discuss only tools specific to Agent Modeling itself. For more general information about the tools, such as how to customize editors, views, and perspectives, see the 
+				<emphasis role="bold">Workbench User Guide</emphasis>.
+			</para>
+			<section id="Overview_5">
+				<title>Overview</title>
+				<para>The Agent Modeling Platform provides two general modes or "perspectives" for working with Agent Models.</para>
+				<para>
+					<mediaobject>
+						<imageobject>
+							<imagedata fileref="images/tools/Perspectives.png"/>
+						</imageobject>
+					</mediaobject>
+				</para>
+				<para>
+					<emphasis role="bold">Agent Modeling</emphasis> supports all aspects of working with models, including editing models and automatically generating all the of your code and documentation. 
+					<emphasis role="bold">Agent Execution</emphasis> supports running and exploring those models. A key feature of the Agent Modeling Platform is the ability to execute models within the same environment that they are developed within -- you don't need to launch a separate environment in order to run a model. Agent Execution automatically activates when you launch a model. We'll discuss the agent modeling tools first, and then turn to agent execution.
+				</para>
+			</section>
+			<section id="Agent_Modeling">
+				<title>Agent Modeling</title>
+				<section id="Perspective">
+					<title>Perspective</title>
+					<para>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.</para>
+				</section>
+				<section id="Creating_Projects_and_Models">
+					<title>Creating Projects and Models</title>
+					<para>You can create projects and project components using the Popup menu. Just click in a blank space within the Package Explorer. Any installed project targets are displayed in this menu. For example, if you've installed the Simphony target, you'd see that displayed in this menu as well.</para>
+					<para>
+						<mediaobject>
+							<imageobject>
+								<imagedata fileref="images/edit_tutorial/SimpleTutorial3CreateModel.png"/>
+							</imageobject>
+						</mediaobject>
+					</para>
+				</section>
+				<section id="Menus.2C_Popups_and_Toolbar">
+					<title>Menus, Popups and Toolbar</title>
+					<para>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.</para>
+				</section>
+				<section id="Views">
+					<title>Views</title>
+					<para>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.</para>
+					<para>
+						<mediaobject>
+							<imageobject>
+								<imagedata fileref="images/tools/Workbench.png"/>
+							</imageobject>
+						</mediaobject>
+					</para>
+					<section id="Editor">
+						<title>Editor</title>
+						<para>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.</para>
+					</section>
+					<section id="Default_Views">
+						<title>Default Views</title>
+						<para>The default modeling views are visible by default.</para>
+						<section id="Package_Explorer">
+							<title>Package Explorer</title>
+							<para>Supports navigation within projects.</para>
+						</section>
+						<section id="Properties">
+							<title>Properties</title>
+							<para>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.</para>
+						</section>
+						<section id="Outline">
+							<title>Outline</title>
+							<para>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.</para>
+						</section>
+					</section>
+					<section id="Diagnostic_Views">
+						<title>Diagnostic Views</title>
+						<para>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.</para>
+						<section id="Problems">
+							<title>Problems</title>
+							<para>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.</para>
+						</section>
+						<section id="Console">
+							<title>Console</title>
+							<para>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.</para>
+						</section>
+						<section id="Errors">
+							<title>Errors</title>
+							<para>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:</para>
+						</section>
+					</section>
+				</section>
+				<section id="Editing_Models">
+					<title>Editing Models</title>
+					<para>The Eclipse Agent Modeling Framework includes a full-featured model editor based on the Eclipse Modeling Framework's Edit tools. All aspects of an AMF model can be managed from within this tool. Note that the tree editor is only one of many ways of editing a model. Other editors of AMF models incude textual languages and custom editors that are part of commercial offerings.</para>
+					<section id="Opening_the_Editor">
+						<title>Opening the Editor</title>
+						<para>To open a model in the editor, simply double-click on it. If the model doesn't open in the model editor (if for example it had been previously opened using another editor), you can always access the editor using 
+							<emphasis role="bold">Open With &gt; Other...</emphasis> 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.
+						</para>
+					</section>
+					<section id="Editing_Structure">
+						<title>Editing Structure</title>
+						<para>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.</para>
+						<section id="Opening_Components">
+							<title>Opening Components</title>
+							<para>After opening a model, you can see the contents by clicking the Triangle symbol to the left of an item. For example, opening the root context node, we see:</para>
+							<para>
+								<mediaobject>
+									<imageobject>
+										<imagedata fileref="images/tools/Editor.png"/>
+									</imageobject>
+								</mediaobject>
+							</para>
+						</section>
+						<section id="Editing_Components">
+							<title>Editing Components</title>
+							<para>To edit components, select the node you want to modify. The 
+								<emphasis role="bold">Properties View</emphasis> 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.
+							</para>
+							<para>
+								<mediaobject>
+									<imageobject>
+										<imagedata fileref="images/tools/EditorEditing.png"/>
+									</imageobject>
+								</mediaobject>
+							</para>
+						</section>
+						<section id="Adding_Components">
+							<title>Adding Components</title>
+							<para>You add nodes by right-clicking on a node, like so:</para>
+							<para>
+								<mediaobject>
+									<imageobject>
+										<imagedata fileref="images/tools/EditorAdd.png"/>
+									</imageobject>
+								</mediaobject>
+							</para>
+						</section>
+						<section id="Moving_Components">
+							<title>Moving Components</title>
+							<para>You can often rearrange model components by dragging them from one place to another. In the following example, we're creating a model of a regional epidemic by creating a City sub-context and moving the agent into it: </para>
+							<para>
+								<mediaobject>
+									<imageobject>
+										<imagedata fileref="images/tools/EditorMoving.png"/>
+									</imageobject>
+								</mediaobject>
+							</para>
+						</section>
+						<section id="Removing_Components">
+							<title>Removing Components</title>
+							<para>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.</para>
+						</section>
+						<section id="Copying_Components">
+							<title>Copying Components</title>
+							<para>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.</para>
+						</section>
+						<section id="Editing_Attributes">
+							<title>Editing Attributes</title>
+							<para>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.</para>
+							<para>
+								<mediaobject>
+									<imageobject>
+										<imagedata fileref="images/tools/EditorAttributes.png"/>
+									</imageobject>
+								</mediaobject>
+							</para>
+						</section>
+						<section id="Editing_Styles">
+							<title>Editing Styles</title>
+							<para>The Styles node is another group node, in this case representing a set of styles that can be used to visualize the agents. When creating a style, you will need to create a Rule for each style as well, like so:</para>
+							<para>
+								<mediaobject>
+									<imageobject>
+										<imagedata fileref="images/tools/EditorStyles.png"/>
+									</imageobject>
+								</mediaobject>
+							</para>
+						</section>
+					</section>
+					<section id="Editing_Actions">
+						<title>Editing Actions</title>
+						<para>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.</para>
+						<para>Like attributes and styles, every agent has a single Actions nodes which contains its Root Action(s).</para>
+						<section id="Order">
+							<title>Order</title>
+							<para>Generally, action sources will appear above their targets. In the case where there is only one source for a given target, and that target has no other sources, they will appear directly above one another. Its important to note however that 
+								<emphasis role="italic">the order of the nodes does not indicate a specific source and target relationship</emphasis>. For example, in the case where there are multiple targets for a source, they will typically follow that source immediately. To make the relationships clear, every action lists its source actions as part of the action label. Agent selections also appear as part .
+							</para>
+							<para>
+								<mediaobject>
+									<imageobject>
+										<imagedata fileref="images/tools/ActionsExample.png"/>
+									</imageobject>
+								</mediaobject>
+							</para>
+							<para>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.</para>
+						</section>
+						<section id="Initial_Order">
+							<title>Initial Order</title>
+							<para>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.</para>
+						</section>
+						<section id="Changing_Sources_and_Targets_.28Reordering.29">
+							<title>Changing Sources and Targets (Reordering)</title>
+							<para>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. </para>
+						</section>
+						<section id="Adding_Sources_and_Targets">
+							<title>Adding Sources and Targets</title>
+							<para>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.</para>
+						</section>
+						<section id="Removing_Sources_and_Targets">
+							<title>Removing Sources and Targets</title>
+							<para>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.</para>
+						</section>
+						<section id="Removing_Actions">
+							<title>Removing Actions</title>
+							<para>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.</para>
+						</section>
+						<section id="Copying_Actions">
+							<title>Copying Actions</title>
+							<para>Copying actions works just as with other entities, and copies will become targets of their option-drag destination. </para>
+						</section>
+						<section id="Query_and_Evaluation_Inputs_2">
+							<title>Query and Evaluation Inputs</title>
+							<para>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.</para>
+							<para>
+								<mediaobject>
+									<imageobject>
+										<imagedata fileref="images/tools/ActionsExample.png"/>
+									</imageobject>
+								</mediaobject>
+							</para>
+						</section>
+						<section id="Input_Literals_2">
+							<title>Input Literals</title>
+							<para>To create an input value, right click on the input and select 
+								<emphasis role="bold">Create Member &gt; Literal</emphasis>. Then specify the actual value in the Value property in the 
+								<emphasis role="bold">Properties View</emphasis>.
+							</para>
+						</section>
+					</section>
+				</section>
+				<section id="Building_Models">
+					<title>Building Models</title>
+					<para>If you've used other development environments, you're probably used to a separate build step. For example, if you edit a set of Java files, you might invoke a compile command. Eclipse and the Agent Modeling Platform support automatic building. This means that in order to build your code, you simply save the model and the environment takes care of the rest. What gets built is defined by the project. For example, if you save a model that is contained within an Agent Modeling Escape Project, the following steps occur automatically:</para>
+					<orderedlist>
+						<listitem>
+							<para>The Escape builder generates Java code for the Escape API, including support for specialized graphics and (if enabled) 3D visualization.</para>
+						</listitem>
+						<listitem>
+							<para>The Documentation builder generates custom html documentation for the model.</para>
+						</listitem>
+						<listitem>
+							<para>The Java builder takes the Java code generated above and compiles it.</para>
+						</listitem>
+						<listitem>
+							<para>The Manifest and Schema builders package the project for use as part of the Eclipse plugin environment.</para>
+						</listitem>
+					</orderedlist>
+					<para>So what do you do if you want to generate code for a different target, such as Repast? Here, you simply create another project and drag the model into it. You can also edit the builders for a given project (see the Workbench Documentation) but you'll only want to do that if you're making permanent changes to the project itself.</para>
+				</section>
+				<section id="Generating_Specialized_Model_Artifacts">
+					<title>Generating Specialized Model Artifacts</title>
+					<para>You can also manually generate code for models. This is useful if you want to create code for a model in a non target project and don't want the automatic build capabilities. There are also specialized targets that can be generated manually that are bundled with the tools -- AMP plugin developers can easily add custom generation targets for this menu. To generate custom artifacts, right-click on a model and select 
+						<emphasis role="bold">Generate</emphasis>.
+					</para>
+					<para>
+						<mediaobject>
+							<imageobject>
+								<imagedata fileref="images/tools/GenerateMenu.png"/>
+							</imageobject>
+						</mediaobject>
+					</para>
+					<para>Targets include:</para>
+					<section id="Platform_Targets">
+						<title>Platform Targets</title>
+						<para>Creates code for one of the installed targets, such as Ascape, Escape, and Simphony. (Again, these generators are unnecessary for projects that already have target specific builders configured.)</para>
+					</section>
+					<section id="Interfaces">
+						<title>Interfaces</title>
+						<para>Creates a complete set of interfaces for the model classes. These can be very useful for development and integration in enterprise environments. Generated classes are placed in the src directory with "I" added to the name. For example, if you generate interfaces for a model with an "Individual" agent, this target will create an "IIndividual" interface that includes getters, setters and methods for all of the agent's attributes and actions.</para>
+					</section>
+					<section id="Skeleton">
+						<title>Skeleton</title>
+						<para>Creates a base class for the model. This is essentially a complete implementation, but without the action implementations. Again, these classes can be useful when generating code for use in enterprise and other specialized environments.</para>
+					</section>
+					<section id="Test_Cases">
+						<title>Test Cases</title>
+						<para>Generates base support (needing customization) test cases for use in JUnit tests.</para>
+					</section>
+					<section id="Text_Documents">
+						<title>Text Documents</title>
+						<para>Creates simple text documentation for use in other documents.</para>
+					</section>
+					<section id="Generate_Key_Graphics">
+						<title>Generate Key Graphics</title>
+						<para>This specialized target supports the creation of graphic keys for the model. To use this target:</para>
+						<orderedlist>
+							<listitem>
+								<para>Generate the code.</para>
+							</listitem>
+							<listitem>
+								<para>Add a dependency to the Manifest for "org.eclipse.amp.amf.gen.extras".</para>
+							</listitem>
+							<listitem>
+								<para>In the srcutil directory find the Java source code for the calss {RootContext}GraphicsWriter. For example, for the Epidemic model, this would be srcutil/name.milesparker.epi/EpidemicGraphicsWriter.java.</para>
+							</listitem>
+							<listitem>
+								<para>Right-click, and select 
+									<emphasis role="bold">Run As &gt; Java Application</emphasis>.
+								</para>
+							</listitem>
+							<listitem>
+								<para>Refresh the project by right-clicking on it and selecting 
+									<emphasis role="bold">Refresh</emphasis>.
+								</para>
+							</listitem>
+							<listitem>
+								<para>The Doc directory will now contain a number of new files, including</para>
+								<orderedlist>
+									<listitem>
+										<para>{RootContext}Key.png</para>
+									</listitem>
+									<listitem>
+										<para>{RootContext}GraphicsKey.html</para>
+									</listitem>
+								</orderedlist>
+							</listitem>
+						</orderedlist>
+						<para>Both files contain graphic representations of the model using the definitions defined by the model styles, very useful artifacts for inclusion in papers and web pages describing your model. For example, here is the EpidemicKey.png:</para>
+						<para>
+							<mediaobject>
+								<imageobject>
+									<imagedata fileref="images/tools/EpidemicKey.png"/>
+								</imageobject>
+							</mediaobject>
+						</para>
+					</section>
+					<section id="Function_Docs">
+						<title>Function Docs</title>
+						<para>Generates WikiText documentation for function libraries. We use it to create the function documentation in this guide!</para>
+					</section>
+				</section>
+			</section>
+			<section id="Agent_Execution">
+				<title>Agent Execution</title>
+				<section id="Launching_a_Model_.28AMF.29">
+					<title>Launching a Model (AMF)</title>
+					<para>When an AMF file is selected -- in any of the perspectives -- the pop-up menu looks like this:</para>
+					<para>
+						<mediaobject>
+							<imageobject>
+								<imagedata fileref="images/tools/EditorMenu.png "/>
+							</imageobject>
+						</mediaobject>
+					</para>
+					<para>(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.</para>
+					<para>
+						<mediaobject>
+							<imageobject>
+								<imagedata fileref="images/tools/EditorToolbar.png"/>
+							</imageobject>
+						</mediaobject>
+					</para>
+					<para>To launch a model, select one of the options.</para>
+					<para>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.</para>
+					<para>
+						<mediaobject>
+							<imageobject>
+								<imagedata fileref="images/execution/EpidemicModelRunning.png"/>
+							</imageobject>
+						</mediaobject>
+					</para>
+					<para>The execution options are:</para>
+					<section id="Execute">
+						<title>Execute</title>
+						<para>Launches the model using default graphics, opening the Agent Execution perspective.</para>
+					</section>
+					<section id="Execute_Headless">
+						<title>Execute Headless</title>
+						<para>Launches the model without graphics, opening the Agent Execution perspective.</para>
+					</section>
+					<section id="Execute_Headless_.28Data.29">
+						<title>Execute Headless (Data)</title>
+						<para>Launches the model with an observer that collects data into the AMF adata model representation.</para>
+					</section>
+				</section>
+				<section id="Executing_a_Model_.28Java_.2F_3D.29">
+					<title>Executing a Model (Java / 3D)</title>
+					<para>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.</para>
+					<para>
+						<mediaobject>
+							<imageobject>
+								<imagedata fileref="images/execution/Epidemic3D.png"/>
+							</imageobject>
+						</mediaobject>
+					</para>
+				</section>
+				<section id="Controlling_Model_Execution">
+					<title>Controlling Model Execution</title>
+					<para>Once a model has been launched, the toolbar buttons allow you to control model execution.</para>
+					<para>
+						<mediaobject>
+							<imageobject>
+								<imagedata fileref="images/execution/EpidemicModelControls.png"/>
+							</imageobject>
+						</mediaobject>
+					</para>
+					<para>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.</para>
+					<para>
+						<mediaobject>
+							<imageobject>
+								<imagedata fileref="images/execution/EpidemicModelComparison.png"/>
+							</imageobject>
+						</mediaobject>
+					</para>
+					<section id="The_Active_Model">
+						<title>The Active Model</title>
+						<para>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.</para>
+					</section>
+				</section>
+				<section id="Views_2">
+					<title>Views</title>
+					<para>There are many views specific to the Agent Execution environment that will enable you to explore and control running models.</para>
+					<section id="Properties_2">
+						<title>Properties</title>
+						<para>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.</para>
+						<para>
+							<mediaobject>
+								<imageobject>
+									<imagedata fileref="images/execution/EpidemicModelAgentProperties.png"/>
+								</imageobject>
+							</mediaobject>
+						</para>
+						<para>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.</para>
+						<para>
+							<mediaobject>
+								<imageobject>
+									<imagedata fileref="images/execution/EpidemicModelProperties.png"/>
+								</imageobject>
+							</mediaobject>
+						</para>
+					</section>
+					<section id="Agent_Navigator">
+						<title>Agent Navigator</title>
+						<para>The 
+							<emphasis role="bold">Agent Navigator</emphasis> 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.
+						</para>
+						<para>
+							<mediaobject>
+								<imageobject>
+									<imagedata fileref="images/execution/AgentNavigator.png"/>
+								</imageobject>
+							</mediaobject>
+						</para>
+					</section>
+					<section id="Model_Manager">
+						<title>Model Manager</title>
+						<para>The 
+							<emphasis role="bold">'Model Manager</emphasis>' 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.
+						</para>
+						<para>
+							<mediaobject>
+								<imageobject>
+									<imagedata fileref="images/execution/ModelManager.png"/>
+								</imageobject>
+							</mediaobject>
+						</para>
+						<para>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.</para>
+						<para>You can make any model the current active model by clicking on its node in this view.</para>
+						<section id=".22About_this_Model.22">
+							<title>"About this Model"</title>
+							<para>The 
+								<emphasis role="bold">'About this Model</emphasis>' 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.
+							</para>
+							<para>
+								<mediaobject>
+									<imageobject>
+										<imagedata fileref="images/execution/AboutView.png"/>
+									</imageobject>
+								</mediaobject>
+							</para>
+						</section>
+					</section>
+				</section>
+				<section id="Visualization">
+					<title>Visualization</title>
+					<para>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.</para>
+					<section id="2D_Views">
+						<title>2D Views</title>
+						<para>The 
+							<emphasis role="bold">Graphic 2D</emphasis> view is the most common view way to work with an Agent Model and is automatically generated and displayed for executing models.
+						</para>
+						<para>
+							<mediaobject>
+								<imageobject>
+									<imagedata fileref="images/execution/Epidemic2DView.png"/>
+								</imageobject>
+							</mediaobject>
+						</para>
+						<para>There are a number of view widgets in the upper-right hand corner that you can use to modify the view. You can:</para>
+						<section id="Scaling">
+							<title>Scaling</title>
+							<orderedlist>
+								<listitem>
+									<para>Enter or select a specific scale in the combo menu.</para>
+								</listitem>
+								<listitem>
+									<para>Select a button to have the model scale either:</para>
+									<orderedlist>
+										<listitem>
+											<para>Freely</para>
+										</listitem>
+										<listitem>
+											<para>Within the bounds of the view</para>
+										</listitem>
+										<listitem>
+											<para>Within the vertical bounds of the view</para>
+										</listitem>
+										<listitem>
+											<para>Within the horizontal bounds of the view</para>
+										</listitem>
+									</orderedlist>
+								</listitem>
+								<listitem>
+									<para>Zoom In</para>
+								</listitem>
+								<listitem>
+									<para>Zoom Out</para>
+								</listitem>
+							</orderedlist>
+						</section>
+					</section>
+					<section id="Charts">
+						<title>Charts</title>
+						<para>A 
+							<emphasis role="bold">Chart</emphasis> 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.
+						</para>
+						<para>
+							<mediaobject>
+								<imageobject>
+									<imagedata fileref="images/execution/EpidemicChartOptions.png"/>
+								</imageobject>
+							</mediaobject>
+						</para>
+						<section id="Chart_Type">
+							<title>Chart Type</title>
+							<para>Several chart types are supported: The line, area, bar and pie chart. Click on one of the icons to select that type.</para>
+							<para>
+								<mediaobject>
+									<imageobject>
+										<imagedata fileref="images/execution/LineChart.png"/>
+									</imageobject>
+								</mediaobject>
+
+								<mediaobject>
+									<imageobject>
+										<imagedata fileref="images/execution/AreaChart.png"/>
+									</imageobject>
+								</mediaobject>
+
+								<mediaobject>
+									<imageobject>
+										<imagedata fileref="images/execution/BarChart.png"/>
+									</imageobject>
+								</mediaobject>
+
+								<mediaobject>
+									<imageobject>
+										<imagedata fileref="images/execution/PieChart.png"/>
+									</imageobject>
+								</mediaobject>
+							</para>
+						</section>
+						<section id="Chart_Legend">
+							<title>Chart Legend</title>
+							<para>Turn the legend on and off by selecting the "T" icon.</para>
+						</section>
+						<section id="Chart_Data">
+							<title>Chart Data</title>
+							<para>To select the statistics to display, show the 
+								<emphasis role="bold">Chart Customizer</emphasis> 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.
+							</para>
+							<para>
+								<mediaobject>
+									<imageobject>
+										<imagedata fileref="images/execution/EpidemicChartCustomize.png"/>
+									</imageobject>
+								</mediaobject>
+							</para>
+							<para>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.</para>
+						</section>
+					</section>
+				</section>
+				<section id="Executing_Internal_Targets">
+					<title>Executing Internal Targets</title>
+				</section>
+			</section>
+		</section>
 		<section id="Tutorial">
 			<title>Tutorial</title>
 			<section id="Designing_a_Model">
@@ -1855,7 +2512,7 @@
 						<para>
 							<mediaobject>
 								<imageobject>
-									<imagedata fileref="images/SimpleTutorial0Perspective.png"/>
+									<imagedata fileref="images/edit_tutorial/SimpleTutorial0Perspective.png"/>
 								</imageobject>
 							</mediaobject>
 						</para>
@@ -1863,7 +2520,7 @@
 						<para>
 							<mediaobject>
 								<imageobject>
-									<imagedata fileref="images/SimpleTutorial0Perspective2.png"/>
+									<imagedata fileref="images/edit_tutorial/SimpleTutorial0Perspective2.png"/>
 								</imageobject>
 							</mediaobject>
 						</para>
@@ -1876,7 +2533,7 @@
 						<para>
 							<mediaobject>
 								<imageobject>
-									<imagedata fileref="images/SimpleTutorial1.png"/>
+									<imagedata fileref="images/edit_tutorial/SimpleTutorial1.png"/>
 								</imageobject>
 							</mediaobject>
 						</para>
@@ -1887,7 +2544,7 @@
 						<para>
 							<mediaobject>
 								<imageobject>
-									<imagedata fileref="images/SimpleTutorial2.png"/>
+									<imagedata fileref="images/edit_tutorial/SimpleTutorial2.png"/>
 								</imageobject>
 							</mediaobject>
 						</para>
@@ -1900,7 +2557,7 @@
 						<para>
 							<mediaobject>
 								<imageobject>
-									<imagedata fileref="images/SimpleTutorial3CreateModel.png"/>
+									<imagedata fileref="images/edit_tutorial/SimpleTutorial3CreateModel.png"/>
 								</imageobject>
 							</mediaobject>
 						</para>
@@ -1908,7 +2565,7 @@
 						<para>
 							<mediaobject>
 								<imageobject>
-									<imagedata fileref="images/SimpleTutorial4CreateModel.png"/>
+									<imagedata fileref="images/edit_tutorial/SimpleTutorial4CreateModel.png"/>
 								</imageobject>
 							</mediaobject>
 						</para>
@@ -1918,7 +2575,7 @@
 						<para>
 							<mediaobject>
 								<imageobject>
-									<imagedata fileref="images/SimpleTutorial5CreatePage2.png"/>
+									<imagedata fileref="images/edit_tutorial/SimpleTutorial5CreatePage2.png"/>
 								</imageobject>
 							</mediaobject>
 						</para>
@@ -1939,7 +2596,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial6Createagent.png"/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial6Createagent.png"/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -1953,7 +2610,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial6NameBug.png"/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial6NameBug.png"/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -1964,7 +2621,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial10AgentCount.png"/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial10AgentCount.png"/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -1972,7 +2629,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial11BuildAgents.png"/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial11BuildAgents.png"/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -1988,7 +2645,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial7CreateGrid.png"/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial7CreateGrid.png"/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -2010,7 +2667,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial8GridParameters.png"/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial8GridParameters.png"/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -2018,7 +2675,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial9GridDims.png"/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial9GridDims.png"/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -2029,7 +2686,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial14BuildGridParams.png"/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial14BuildGridParams.png"/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -2039,7 +2696,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial13BuildGridAgents.png"/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial13BuildGridAgents.png"/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -2054,7 +2711,7 @@
 						<para>
 							<mediaobject>
 								<imageobject>
-									<imagedata fileref="images/SimpleTutorial15CreateInitialize.png"/>
+									<imagedata fileref="images/edit_tutorial/SimpleTutorial15CreateInitialize.png"/>
 								</imageobject>
 							</mediaobject>
 						</para>
@@ -2066,7 +2723,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial16CreateSelect.png"/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial16CreateSelect.png"/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -2074,7 +2731,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial165Select2.png"/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial165Select2.png"/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -2085,7 +2742,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial17CreateQuery.png"/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial17CreateQuery.png"/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -2093,7 +2750,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial18QueryFunction.png"/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial18QueryFunction.png"/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -2106,7 +2763,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial19Move.png"/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial19Move.png"/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -2121,7 +2778,7 @@
 						<para>
 							<mediaobject>
 								<imageobject>
-									<imagedata fileref="images/SimpleTutorial20ExecuteModel.png"/>
+									<imagedata fileref="images/edit_tutorial/SimpleTutorial20ExecuteModel.png"/>
 								</imageobject>
 							</mediaobject>
 						</para>
@@ -2129,7 +2786,7 @@
 						<para>
 							<mediaobject>
 								<imageobject>
-									<imagedata fileref="images/SimpleTutorial21Execute2.png "/>
+									<imagedata fileref="images/edit_tutorial/SimpleTutorial21Execute2.png "/>
 								</imageobject>
 							</mediaobject>
 						</para>
@@ -2145,7 +2802,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial22CreateStyle.png "/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial22CreateStyle.png "/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -2156,7 +2813,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial23CreateStyleRule.png "/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial23CreateStyleRule.png "/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -2170,7 +2827,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial24EvaluationFunction.png "/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial24EvaluationFunction.png "/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -2178,7 +2835,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial25FinishStyle.png "/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial25FinishStyle.png "/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -2200,7 +2857,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial26CreateQuery2.png "/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial26CreateQuery2.png "/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -2215,7 +2872,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial27NoValue.png "/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial27NoValue.png "/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -2226,7 +2883,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial28CreateAttribute.png "/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial28CreateAttribute.png "/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -2234,7 +2891,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial29AttributeValues.png "/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial29AttributeValues.png "/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -2242,7 +2899,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial30AttributeInput.png "/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial30AttributeInput.png "/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -2250,7 +2907,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial31Intersect.png "/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial31Intersect.png "/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -2260,7 +2917,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial32IntersectAdd.png "/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial32IntersectAdd.png "/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -2268,7 +2925,7 @@
 							<para>
 								<mediaobject>
 									<imageobject>
-										<imagedata fileref="images/SimpleTutorial33Move.png "/>
+										<imagedata fileref="images/edit_tutorial/SimpleTutorial33Move.png "/>
 									</imageobject>
 								</mediaobject>
 							</para>
@@ -2285,7 +2942,7 @@
 						<para>
 							<mediaobject>
 								<imageobject>
-									<imagedata fileref="images/SimpleTutorial34RunFinal.png "/>
+									<imagedata fileref="images/edit_tutorial/SimpleTutorial34RunFinal.png "/>
 								</imageobject>
 							</mediaobject>
 						</para>
@@ -2294,122 +2951,10 @@
 				</section>
 			</section>
 		</section>
-		<section id="Running_Agent_Models">
-			<title>Running Agent Models</title>
-			<section id="Exploring_Example_ABM_Models">
-				<title>Exploring Example ABM Models</title>
-				<para>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.</para>
-				<section id="Downloading_Models">
-					<title>Downloading Models</title>
-					<para>To obtain the models, simply launch the cheat sheet. Go to the 
-						<emphasis role="bold">Help &gt; Cheat Sheets...</emphasis> menu and choose "Load Sample Projects".
-					</para>
-					<para>Or you can get them yourself from the following locations:</para>
-					<section id="AMF_Models">
-						<title>AMF Models</title>
-						<literallayout>org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.escape
-</literallayout>
-						<para>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:</para>
-						<literallayout>org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.ascape
-org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.repast
-</literallayout>
-					</section>
-					<section id="Escape_.2F_Ascape_Java_Models">
-						<title>Escape / Ascape Java Models</title>
-						<para>These are SVN projects in the sourceforge SVN. For help, see 
-							<ulink url="/wiki/http://www.eclipse.org/subversive/documentation/teamSupport/find_check_wiz.php_this_page">http://www.eclipse.org/subversive/documentation/teamSupport/find_check_wiz.php this page</ulink>.
-						</para>
-						<literallayout>http://ascape.svn.sourceforge.net/svnroot/ascape/org.ascape.escape.models.brook
-http://ascape.svn.sourceforge.net/svnroot/ascape/org.ascape.escape.models.examples
-</literallayout>
-					</section>
-				</section>
-				<section id="Generating_Models">
-					<title>Generating Models</title>
-					<para>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:</para>
-					<section id="Creating_a_New_Escape_Project">
-						<title>Creating a New Escape Project</title>
-						<para>The best option is to simply create a new Escape project and drag the models into it!</para>
-						<orderedlist>
-							<listitem>
-								<para>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.)</para>
-							</listitem>
-							<listitem>
-								<para>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.</para>
-							</listitem>
-							<listitem>
-								<para>Finally grab the Epidemic.metaabm model at 
-									<ulink url="http://download.eclipse.org/amp/models/Epidemic.metaabm">http://download.eclipse.org/amp/models/Epidemic.metaabm</ulink> 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.)
-								</para>
-							</listitem>
-						</orderedlist>
-					</section>
-				</section>
-			</section>
-			<section id="Tutorial_2">
-				<title>Tutorial</title>
-				<para>We've developer have a complete cheat sheet supporting this tutorial. Simply go to 
-					<emphasis role="bold">Help &gt; Cheat Sheets...</emphasis> and then select "Run an Example Model" from within the "Agent Modeling" category. Or install the example models and then explore the following steps.
-				</para>
-				<para>Right-click on the model, and select "Execute". You should see something like this:</para>
-				<para>
-					<mediaobject>
-						<imageobject>
-							<imagedata fileref="images/EpidemicModelRunning.png"/>
-						</imageobject>
-					</mediaobject>
-				</para>
-				<para>The toolbar buttons allow you to control model execution.</para>
-				<para>
-					<mediaobject>
-						<imageobject>
-							<imagedata fileref="images/EpidemicModelControls.png"/>
-						</imageobject>
-					</mediaobject>
-				</para>
-				<para>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.</para>
-				<para>
-					<mediaobject>
-						<imageobject>
-							<imagedata fileref="images/EpidemicModelComparison.png"/>
-						</imageobject>
-					</mediaobject>
-				</para>
-				<para>If you want to find out more about an agent, show the properties view, and click on agent.</para>
-				<para>
-					<mediaobject>
-						<imageobject>
-							<imagedata fileref="images/EpidemicModelAgentProperties.png"/>
-						</imageobject>
-					</mediaobject>
-				</para>
-				<para>You can experiment with different parameters (settings) for models by then clicking in the gray area away within the view.</para>
-				<para>
-					<mediaobject>
-						<imageobject>
-							<imagedata fileref="images/EpidemicModelProperties.png"/>
-						</imageobject>
-					</mediaobject>
-				</para>
-				<para>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.</para>
-				<section id="Next_Steps">
-					<title>Next Steps</title>
-					<para>To understand the capabilities of AMF, you might also want to try out running the same models automatically generated for Ascape or Repast.</para>
-					<literallayout>org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.ascape
-org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.repast
-</literallayout>
-				</section>
-			</section>
-			<section id="Classic_Java_ABM_Models">
-				<title>Classic Java ABM Models</title>
-				<para>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:</para>
-				<para>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.)</para>
-			</section>
-		</section>
 	</chapter>
 	<chapter id="Programer.27s_Guide">
 		<title>Programer's Guide</title>
-		<section id="Overview_5">
+		<section id="Overview_6">
 			<title>Overview</title>
 			<para>Escape is a full-featured Agent-Based Modeling (ABM) integrated development environment (IDE) with a Java based API and end user modeling tools. It's based on Ascape, which has been in use for more than 10 years. The core API is very stable, and that should give users a way to explore the features of AMP without concerns about keeping in synch with the rapidly evolving AXF /AGF API. It allows modelers to code in Java and/or generate models with AMF and then execute those models within the same development environment.</para>
 			<para>
@@ -2468,7 +3013,7 @@
 					<para>
 						<mediaobject>
 							<imageobject>
-								<imagedata fileref="images/ProgrammingPojoGenerateProps.png"/>
+								<imagedata fileref="images/pojo/ProgrammingPojoGenerateProps.png"/>
 							</imageobject>
 						</mediaobject>
 					</para>
@@ -2476,7 +3021,7 @@
 					<para>
 						<mediaobject>
 							<imageobject>
-								<imagedata fileref="images/ProgrammingPojoGenerateCode.png"/>
+								<imagedata fileref="images/pojo/ProgrammingPojoGenerateCode.png"/>
 							</imageobject>
 						</mediaobject>
 					</para>
@@ -2487,7 +3032,7 @@
 					<para>
 						<mediaobject>
 							<imageobject>
-								<imagedata fileref="images/ProgrammingPojoGenerate.png"/>
+								<imagedata fileref="images/pojo/ProgrammingPojoGenerate.png"/>
 							</imageobject>
 						</mediaobject>
 					</para>
@@ -2556,6 +3101,77 @@
 				</section>
 			</section>
 		</section>
+		<section id="Running_Agent_Models">
+			<title>Running Agent Models</title>
+			<section id="Exploring_Example_ABM_Models">
+				<title>Exploring Example ABM Models</title>
+				<para>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.</para>
+				<section id="Downloading_Models">
+					<title>Downloading Models</title>
+					<para>To obtain the models, simply launch the cheat sheet. Go to the 
+						<emphasis role="bold">Help &gt; Cheat Sheets...</emphasis> menu and choose "Load Sample Projects".
+					</para>
+					<para>Or you can get them yourself from the following locations:</para>
+					<section id="AMF_Models">
+						<title>AMF Models</title>
+						<literallayout>org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.escape
+</literallayout>
+						<para>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:</para>
+						<literallayout>org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.ascape
+org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.repast
+</literallayout>
+					</section>
+					<section id="Escape_.2F_Ascape_Java_Models">
+						<title>Escape / Ascape Java Models</title>
+						<para>These are SVN projects in the sourceforge SVN. For help, see 
+							<ulink url="/wiki/http://www.eclipse.org/subversive/documentation/teamSupport/find_check_wiz.php_this_page">http://www.eclipse.org/subversive/documentation/teamSupport/find_check_wiz.php this page</ulink>.
+						</para>
+						<literallayout>http://ascape.svn.sourceforge.net/svnroot/ascape/org.ascape.escape.models.brook
+http://ascape.svn.sourceforge.net/svnroot/ascape/org.ascape.escape.models.examples
+</literallayout>
+					</section>
+				</section>
+				<section id="Generating_Models">
+					<title>Generating Models</title>
+					<para>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:</para>
+					<section id="Creating_a_New_Escape_Project">
+						<title>Creating a New Escape Project</title>
+						<para>The best option is to simply create a new Escape project and drag the models into it!</para>
+						<orderedlist>
+							<listitem>
+								<para>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.)</para>
+							</listitem>
+							<listitem>
+								<para>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.</para>
+							</listitem>
+							<listitem>
+								<para>Finally grab the Epidemic.metaabm model at 
+									<ulink url="http://download.eclipse.org/amp/models/Epidemic.metaabm">http://download.eclipse.org/amp/models/Epidemic.metaabm</ulink> 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.)
+								</para>
+							</listitem>
+						</orderedlist>
+					</section>
+				</section>
+			</section>
+			<section id="Tutorial_2">
+				<title>Tutorial</title>
+				<para>We've developer have a complete cheat sheet supporting this tutorial. Simply go to 
+					<emphasis role="bold">Help &gt; Cheat Sheets...</emphasis> and then select "Run an Example Model" from within the "Agent Modeling" category.
+				</para>
+				<section id="Next_Steps">
+					<title>Next Steps</title>
+					<para>To understand the capabilities of AMF, you might also want to try out running the same models automatically generated for Ascape or Repast.</para>
+					<literallayout>org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.ascape
+org.eclipse.amp/org.eclipse.amp.amf/examples/org.eclipse.amp.amf.examples.repast
+</literallayout>
+				</section>
+			</section>
+			<section id="Classic_Java_ABM_Models">
+				<title>Classic Java ABM Models</title>
+				<para>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:</para>
+				<para>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.)</para>
+			</section>
+		</section>
 	</chapter>
 	<chapter id="Resources">
 		<title>Resources</title>
@@ -2611,4 +3227,57 @@
 			</para>
 		</section>
 	</chapter>
+	<chapter id="Support">
+		<title>Support</title>
+		<section id="Issues">
+			<title>Issues</title>
+			<para>Eclipse and the AMP project have a mandate for open communication. Please note that unless you are a customer of an AMP project contributor we will not respond to direct requests for support. We 
+				<emphasis role="italic">will</emphasis> make every effort to support your use of AMP in the following ways:
+			</para>
+			<section id="General_Support.2C_Questions_and_Discussion">
+				<title>General Support, Questions and Discussion</title>
+				<para>The 
+					<ulink url="http://www.eclipse.org/forums/index.php?t=thread&amp;frm_id=17&amp;S=f4fa6cb31327772a3b626dc409db409b">Agent Modeling Platform Newsgroup</ulink> is the place to discuss or get support for any of the Eclipse AMP tools. 
+				</para>
+			</section>
+			<section id="View_Existing_Bugs_and_Feature_Requests">
+				<title>View Existing Bugs and Feature Requests</title>
+				<para>If you have a problem or idea for improvement, there's a good chance that its already been discovered. To avoid duplication, please check the current bugs before filing a new bug report or feature request.</para>
+				<para>
+					<ulink url="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;product=AMP&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;status_whiteboard_type=allwordssubstr&amp;status_whiteboard=&amp;keywords_type=allwords&amp;keywords=&amp;emailtype1=substring&amp;email1=&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=">Search Existing Bugs</ulink>
+				</para>
+			</section>
+			<section id="File_a_Bug">
+				<title>File a Bug</title>
+				<para>This may sound obvious, but if something doesn't work as it should, the only way that we're going to find out is if someone reports it. All AMP related bugs or feature requests should use the Eclipse Bugzilla.</para>
+				<para>
+					<ulink url="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AMP&amp;rep_platform=All&amp;op_sys=All">File a Bug or Feature Request</ulink>
+				</para>
+			</section>
+			<section id="Discuss_AMP_Development_and_Project">
+				<title>Discuss AMP Development and Project</title>
+				<para>All discussion about software development, design and project management issues take place on the AMP dev-list. If you're interested in contributing to the AMP project, this is a good place to contact us. 
+					<ulink url="https://dev.eclipse.org/mailman/listinfo/amp-dev">https://dev.eclipse.org/mailman/listinfo/amp-dev</ulink>.
+				</para>
+			</section>
+			<section id="Professional_Support">
+				<title>Professional Support</title>
+				<para>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.</para>
+			</section>
+			<section id="Media_and_Private_Communications">
+				<title>Media and Private Communications</title>
+				<para>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.)</para>
+			</section>
+		</section>
+		<section id="Feedback">
+			<title>Feedback</title>
+			<para>If you have ideas, comments or requests for information about the project please contact us at the .</para>
+		</section>
+		<section id="Get_Involved">
+			<title>Get Involved</title>
+			<para>If you find this tool valuable, please be aware that most of its development occurred through volunteer contributions from individuals and companies that have received no direct funding. You can support continual development efforts financially by purchasing related software tools from companies and organizations that help develop it, including funding for developer time in grant proposals. You can support the Eclipse platform in general by becoming a member organization of Eclipse. But the most important thing that you can contribute is your own time and enthusiasm, either through directly contributing to AMP or by promoting its use in blogs and other social media. For more detailed information about contributing to AMP, please see 
+				<ulink url="http://wiki.eclipse.org/AMP/Getting_Involved">our wiki</ulink>.
+			</para>
+		</section>
+	</chapter>
 </book>
\ No newline at end of file
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/customBuild.xml b/org.eclipse.amp/doc/org.eclipse.amp.doc/customBuild.xml
index 5775ee7..a362743 100644
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/customBuild.xml
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/customBuild.xml
@@ -236,7 +236,11 @@
 			<param name="admon.graphics.extension" expression=".gif"/>

 			<param name="admon.textlabel" expression="0"/>

 			<param name="admon.graphics" expression="1"/>

-			<param name="default.image.width" expression="400px"/>

+			<param name="scale" expression="30"/>

+			<param name="width" expression="50%"/>

+			<param name="contentdepth" expression="50%"/>

+		    <param name="default.image.width" expression="400"/>

+				

 		</xslt>

 

 		<docbook2pdf 

diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/100-ModelersGuide_Intro.mediawiki b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/100-ModelersGuide_Intro.mediawiki
index ee4afb1..aa1cdd4 100644
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/100-ModelersGuide_Intro.mediawiki
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/100-ModelersGuide_Intro.mediawiki
@@ -2,7 +2,7 @@
 
 ==Introduction==
 
-In this Modeler's Guide we provide an in-depth understanding of what goes into an Agent Model and how you can use the Agent Modeling Framework tools to design one. Fundamentally, an agent-based model, or "ABM", is composed of five pieces: Agents and Context Agents, Attributes, Spaces, and Actions. The first three refer to structural components, whereas Actions define behavior. Agent models also have styles, which are a special kind of Action used to determine how to portray an agent in a visualization. Finally Actions make use of Functions. We'll describe of these components in a separate section.
+In this Modeler's Guide we provide an in-depth understanding of what goes into an Agent Model and how you can use the Agent Modeling Framework and related tools to design one. Fundamentally, an agent-based model, or "ABM", is composed of five pieces: Agents and Context Agents, Attributes, Spaces, and Actions. The first three refer to structural components, whereas Actions define behavior. Agent models also have styles, which are a special kind of Action used to determine how to portray an agent in a visualization. Finally Actions make use of Functions. We'll describe of these components in a separate section.
 
 But first, we'll give a quick overview at what agent-based modeling is is and how the Agent Modeling Framework can help you to develop models for ABM or other problem domains.
 
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/110-ModelersGuide_Structure.mediawiki b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/110-ModelersGuide_Structure.mediawiki
index 0692e9c..125be47 100644
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/110-ModelersGuide_Structure.mediawiki
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/110-ModelersGuide_Structure.mediawiki
@@ -6,7 +6,7 @@
 
 Unlike the approach of a traditional Object Oriented environment, the dominant organizing principal for agents within AMF follows a compositional hierarchical model, not an inheritance model. (Inheritance-like behavior will be supported in forthcoming versions of Acore, but in a more sophisticated, flexible and dynamic way than is supported by traditional programming languages such as Java.) Contexts -- also referred to as "Swarms" or "Scapes", are simply Agents that are capable of containing other agents. With this basic construct -- known as a Composition in design pattern language -- agents are able to contain other agents.
 
-===Details===
+===Concepts===
 
 ====General====
 
@@ -15,9 +15,10 @@
 =====Named Entities=====
 
 ======Label======
-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.
+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. 
+
 ======ID======
-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.)
+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.
 
 And most entities also define:
 
@@ -193,13 +194,13 @@
 
 Our first diagram depicts the core structural design of the model. 
 
-[[Image:images/StructureComplexDiagram.png|800px]] 
+[[Image:images/structure/StructureComplexDiagram.png|800px]] 
 
  There seems to be a lot going on here, but the basic components are pretty straightforward as we can see in the next diagram.
 
 =====Key Collaborations=====
 
-[[Image:images/StructureSimpleDiagram.png]]
+[[Image:images/structure/StructureSimpleDiagram.png]]
 
  Core interactions are in Red. The meta-model structure is essentially a Composite pattern. 
 
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/120-ModelersGuide_Actions.mediawiki b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/120-ModelersGuide_Actions.mediawiki
index 4f83c34..3750704 100644
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/120-ModelersGuide_Actions.mediawiki
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/120-ModelersGuide_Actions.mediawiki
@@ -27,7 +27,7 @@
 
 These are all summarized in the diagram below:
 
-[[Image:images/ActionsBlocks.png]] 
+[[Image:images/actions/ActionsBlocks.png]] 
 
 ====Flow====
 
@@ -35,25 +35,27 @@
 
 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.
 
+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 ''need'' 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.
+
 Again, behaviors in Actions are always defined by a set of ''selections'' and ''queries''. In the following diagram, we can see the pattern.
 
-[[Image:images/ActionsSequence.png]]
+[[Image:images/actions/ActionsSequence.png]]
 
 First, we define a Root Selection for a Rule, Schedule or other triggering event. Then, we might add a series of Query and Logic Actions to define the specific agents that we are interested in. These are all part of the Selection. Next, we might define a series of Commands to determine what to do with those agents. Or, we could use the result of that selection to immediately define another selection, for example if we are searching for an agent that is near another agent. The next diagram depicts a simple example.
 
-[[Image:images/ActionsSimpleSequence.png]]
+[[Image:images/actions/ActionsSimpleSequence.png]]
 
 Here, we create a rule, and then check the results of two queries. For any agents that meet those criteria, we'll evaluate some function based on their state, and then set some value on them. In the next example, we'll first create the rule, and then create a new selection with a set of criteria. Finally, we'll do a move based on those queries.
 
-[[Image:images/ActionsSimpleSequence2.png]]
+[[Image:images/actions/ActionsSimpleSequence2.png]]
 
 In the following example, we've defined a set of actions and their relationships. We have a selection, a few queries and a couple of logic operators leading to a Set Action. We'll describe in detail below how Logic Actions are used in conjunction with other actions to assemble any kind of query structure needed. But for now, we'll focus on the control flow itself.
 
-[[Image:images/ActionsFlowSimple.png]]
+[[Image:images/actions/ActionsFlowSimple.png]]
 
 As you have probably already guessed, the agents that have the Set Action applied to them could take one of two paths through the Action flow. Readers with experience with programming or formal logic will note that this looks just like a parse tree, and while that's basically what it is, there are important differences. For example, if we looked at the following structure as a definition of control flow for a single agent we'd take them to be equivalent. Both would evaluate the statement (Query 1 AND Query 2) OR Query 3 for each agent.
 
-[[Image:images/ActionsFlowUnion.png]]
+[[Image:images/actions/ActionsFlowUnion.png]]
 
 Within Actions in many cases these two approaches will also act equivalently. If we are simply setting a value, it doesn't matter how an agent gets to that Set Action, as long as it gets there. All sources that flow into a given target Action act like a logical union since any of the paths might reach that target. But note that we have two flows moving in parallel in the flow on the right. What happens when the conditions for ''both'' branches are true? As the set of agents flow through each branch the Set Action on the left will be evaluated once, while the one on the right will be evaluated twice. Again, this often ends up with the same behavior, but not always. If for example, the evaluate Action uses the value of the attribute that we are setting as input, we can get different results. Of course, you can write code in any language that accomplishes the same thing, but the code will look quite different. For example, if we wrote the same basic logic in Java, in the first case we'd have something like:
 
@@ -78,11 +80,11 @@
 
 A selection boundary determines the set of selection actions that are used to determine what agents to apply target actions to. For example, in the following diagram, we can see the extent of the boundary for a straightforward selection.
 
-[[Image:images/ActionsSelBoundarySimple.png]]
+[[Image:images/actions/ActionsSelBoundarySimple.png]]
 
 Each time we create a new selection, we define a new set of boundaries.
 
-[[Image:images/ActionsSelBoundary2Parts.png]] 
+[[Image:images/actions/ActionsSelBoundary2Parts.png]] 
 
 A very important aspect of boundaries is that they apply to a group of actions that begin with a Query Action, and not just such a group that begins with a Select Action. This is because Query Actions can be directly part of a selection definition, but they can also refine selections, as we'll see. So where does one selection boundary end and the next one begin? The simple rule is that the end of the boundary is defined for a given Action by the place where:
 
@@ -91,13 +93,13 @@
 
 In other words, as soon as a Logic Action occurs in a path leading to an Action, any following Query will define a new boundary, as we can see in the following example. 
 
-[[Image:images/ActionsSelBoundary11A.png]]
+[[Image:images/actions/ActionsSelBoundary11A.png]]
 
 Note that we refer to "Selection 1" and Selection 1A". This is because Selection 1A is a refinement of Selection 1 along its particular path of flow. When a query appears for the same selection but past a particular boundary, you can think of it as a sort of filter on the selection contents. We don't have a "Selection 2" here because any Actions that refer to "Selection 1" along the current path of flow will be acting on the selection defined by Selection 1 and Selection 1A.
 
 These rules allow actions to be defined in the simplest possible way, but it is important to understand their implication as they result in behavior that can be different from what someone used to and imperative programming environment such as Java might expect. In a simple case the distinction might not matter. For example, if we are using a Query 1 to test whether an agent's attribute a == x and attribute b == y, we would get the same outcome if we placed intersected the queries as if we simply put them in sequence. Internally we would actually be searching for agents with a == x, and ''then'' taking those agents and choosing those agents with b==y, but the outcome would be the same. But consider a more sophisticated case, where we are searching for neighboring available cells.
 
-[[Image:images/ActionsSelBoundaryComplex.png]]
+[[Image:images/actions/ActionsSelBoundaryComplex.png]]
 
 In the first case, we execute a search for all agents that meet the two criteria. This means that if there are ''any'' neighboring cells which are available, we're guaranteed to find one (random) cell. In the second case, we first search for all cells that are neighbors. This will match any agents that include both available and non available agents. Now, at this point since our search returns one agent (in the current AMF design -- richer behavior will be supported in the future) the randomly selected agent could be either available or not. So in the second case, we might end up with no cell to move to, and thus make no move at all. This then becomes an important aspect of model design. For example, if one were defining a model where neighbors played a game with each other, one might want to instruct agents to play the game only with neighbors that have a certain wealth threshold. In the real-world situation that we are modeling, we might simply search for neighbors who are over a given wealth threshold and then play the game with them. This would imply that information about other agent's wealth is open knowledge. Or, we might simply select a random neighbor, and ask that neighbor to play a game with us. Upon discovering that our neighbor does not meet our wealth criteria, we would then choose not to play with them. Here we are modeling a cost in time to obtain information about another agent's wealth, because we might miss an opportunity to play the game with another agent on that round.
 
@@ -105,28 +107,28 @@
 
 Now, let's put the concepts of Actions sequences and boundaries together to see how we can easily define complex interactions between multiple selections. When we define a Select, the state of its selection flows through and with any subsequent selections. So for example, if we have a Root Action rule, and then do a selection based on it, we'll have access to the agent from the original context as well as all of the subsequent selections. We can refer to any previous selection for any subsequent action. For example, instead of setting the value for the rule agent, we might instead set a value for an agent we've found in a target selection.
 
-[[Image:images/ActionsWeavingSetAnother.png]]
+[[Image:images/actions/ActionsWeavingSetAnother.png]]
 
 Inputs to functions also use selections. (We'll discuss more details in the functions section.) In the following example, we're adding the wealth of the Selection 1 agent to the wealth of the Selection 2 agent and using that value to set some other value. (Here, perhaps we are modeling an agent in a winner takes all game, in which case we'd also add a Set Action on Selection 2 and set the second agent's wealth to 0.)
 
-[[Image:images/ActionsWeavingEvaluate.png]]
+[[Image:images/actions/ActionsWeavingEvaluate.png]]
 
 But we can also use selections in defining Query Actions themselves. So in the following example, we select a neighbor agent and then compare the age of our Rule agent with the age of the Selection 2 agent. If and only if those ages are the same will we execute the target Set Action. This example also demonstrates why we refer to the data flow as weaving. Query Actions can be used to refine selections at any point in the data flow. Selections and their uses are interwoven throughout an action sequence.
 
-[[Image:images/ActionsWeaving1A.png]]
+[[Image:images/actions/ActionsWeaving1A.png]]
 
 Finally, we can put all of these concepts together by weaving selections together with flows. As we discussed in the flow section, if we use multiple paths in the Query, the agents that flow through from any prior Query can follow multiple paths at once. And as we discussed in the selection section, the selection and its boundaries determine what agents we will be working with at any given evaluation point in the flow. Now, consider the following example:
 
-[[Image:images/ActionsWeaving2.png]]
+[[Image:images/actions/ActionsWeaving2.png]]
 
 Before going into further details we need to introduce one more important concept. As we'll see in the detailed explanation of each Action below, Transformation Actions such as Move or Connect take multiple selections. The first selection defines the set of agents that will be performing the action. In the case of a Move agent, this refers to the mover. The second selection, which for Move we call "destination", refers to the selection that will be receiving the action. In the case of movement this is the agent or location that the Rule agent will be moving to. If we follow the flows through, we can note two important outcomes of our model design -- a Rule agent might move twice if it meets the criteria for both the blue path and the red path and that it might move to a different location each time.
 
-===Details===
+===Concepts===
 
 In this section, we'll dig into the specific role of each of the Actions. From the design discussion we hopefully have some sense of how these all fit together in general.
 Let's look at the overall view again amd then dig into the details.
 
-[[Image:images/ActionsBlocks.png]] 
+[[Image:images/actions/ActionsBlocks.png]] 
 
 
 ====Selections====
@@ -159,9 +161,17 @@
 
 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. 
 
+======Selection======
+
+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.
+
 ======Function======
 
-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.
+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.
+
+======Inputs======
+
+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.
 
 =====Logic=====
 
@@ -223,134 +233,6 @@
 
 The attribute that will be monitored for change.
 
-====Commands====
-
-=====Evaluate=====
-
-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.
-
-======Selection======
-
-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.
-
-======Function======
-
-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.
-
-======Inputs======
-
-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.
-
-=====Set=====
-
-The Set Action assigns some value to another value.
-
-======Selection======
-
-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.
-
-======Attribute======
-
-The attribute to modify. It must be a member of this action's agent or of that agent's parent context.
-
-======Parameter======
-
-The value to assign to the attribute. Here, we can use either another agent attribute, or the results of a source evaluation. 
-
-
-=====Move=====
-
-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.
-
-======Selection======
-
-As in any other action, the selection determines what agent is affected -- in this case the agent that is being moved.
-
-=======Destination======
-
-Specifies the target agent or location for the movement.
-
-
-=====Leave=====
-
-Causes the agent to leave a particular space.
-
-======Selection======
-
-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.
-
-=======Destination======
-
-The destination is irrelevant for a leave action and should not be specified.
-
-=====Die=====
-
-Causes the agent to cease to exist within the model as a whole.
-
-======Selection======
-
-The selection determines what space the agent to remove.
-
-=======Destination======
-
-The destination is irrelevant in this case and will probably be removed.
-
-=====Connect=====
-
-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.
-
-======Selection======
-
-The selection determines the agent that will be connected to another agent. In the case of a directed graph, this is the source node.
-
-=======Destination======
-
-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.
-
-======Within======
-
-Specifies the network that the connection will be created within.
-
-=====Directed=====
-
-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).
-
-=====Disconnect=====
-
-Removes the connection between agents within a network space. See the description of the Connect Action for important details.
-
-======Selection======
-
-The selection determines one side of the agent relationship that will be disconnected.
-
-=======Destination======
-
-The selection determines one other side of the agent relationship that will be disconnected.
-
-======Within======
-
-Specifies the network that the connection will be created within.
-
-=====Replace=====
-
-Functions in the same way as a Connect Action excepth that all other connections to other agents will first be removed.
-
-======Selection======
-
-The selection determines the agent that will be connected to another agent. In the case of a directed graph, this is the source node.
-
-=======Destination======
-
-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.
-
-======Within======
-
-Specifies the network that the connection will be created within.
-
-=====Directed=====
-
-Determines whether the connection made is directed or not. See the Connect description for more details.
-
 ====Builders====
 
 Builders are a special category of actions that are used to create spaces. They should not be confused with the Build Action itself which is a root selection that defines the time at which builder actions should occur. Generally speaking, specific Builder Actions for spaces and Create Actions for agents are targets of Build Actions.
@@ -371,7 +253,7 @@
 
 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.
 
-=======Agent Count======
+======Agent Count======
 
 The number of agents to create. If used as part of an enclosing context's Initialize Action(s) an Attribute parameter will automatically be created. If not, then an evaluation or agent attribute should be used to define this number.
 
@@ -462,6 +344,171 @@
 
 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.
 
+====Commands====
+
+=====Evaluate=====
+
+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.
+
+======Selection======
+
+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.
+
+======Function======
+
+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.
+
+======Inputs======
+
+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.
+
+=====Set=====
+
+The Set Action assigns some value to another value.
+
+======Selection======
+
+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.
+
+======Attribute======
+
+The attribute to modify. It must be a member of this action's agent or of that agent's parent context.
+
+======Parameter======
+
+The value to assign to the attribute. Here, we can use either another agent attribute, or the results of a source evaluation. 
+
+
+=====Move=====
+
+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.
+
+======Selection======
+
+As in any other action, the selection determines what agent is affected -- in this case the agent that is being moved.
+
+======Destination======
+
+Specifies the target agent or location for the movement.
+
+
+=====Leave=====
+
+Causes the agent to leave a particular space.
+
+======Selection======
+
+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.
+
+======Destination======
+
+The destination is irrelevant for a leave action and should not be specified.
+
+=====Die=====
+
+Causes the agent to cease to exist within the model as a whole.
+
+======Selection======
+
+The selection determines what space the agent to remove.
+
+=======Destination======
+
+The destination is irrelevant in this case and will probably be removed.
+
+=====Connect=====
+
+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.
+
+======Selection======
+
+The selection determines the agent that will be connected to another agent. In the case of a directed graph, this is the source node.
+
+=======Destination======
+
+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.
+
+======Within======
+
+Specifies the network that the connection will be created within.
+
+=====Directed=====
+
+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).
+
+=====Disconnect=====
+
+Removes the connection between agents within a network space. See the description of the Connect Action for important details.
+
+======Selection======
+
+The selection determines one side of the agent relationship that will be disconnected.
+
+======Destination======
+
+The selection determines one other side of the agent relationship that will be disconnected.
+
+======Within======
+
+Specifies the network that the connection will be created within.
+
+=====Replace=====
+
+Functions in the same way as a Connect Action excepth that all other connections to other agents will first be removed.
+
+======Selection======
+
+The selection determines the agent that will be connected to another agent. In the case of a directed graph, this is the source node.
+
+======Destination======
+
+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.
+
+======Within======
+
+Specifies the network that the connection will be created within.
+
+=====Directed=====
+
+Determines whether the connection made is directed or not. See the Connect description for more details.
+
+====Other====
+
+=====Method=====
+
+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.
+
+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.
+
+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.
+
+If you do decide to use the Method Action, keep in mind the following design practice recommendations:
+
+#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.
+#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.
+#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 '''Source > Organize Imports..''' but it prevents automatic code generation.
+#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: <pre>(new org.me.SpecialFileLoader()).load(this);</pre>Then create a new source directory in your project called "src" ('''New > Source Folder...''') and create the class for the specialized file loader including the following method: <pre>public void load(MyRootModel model) {...}</pre> 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.
+
+======Selection======
+
+The selection determines what Agent class the code will be created within and the set of agents the method will be called upon.
+
+======Body======
+
+The actual code to insert in the method body. See the detailed recommendations for code use above.
+
+======Generate======
+
+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.
+
+====Query and Evaluation Inputs====
+
+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.
+
+======Input Literals======
+
+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.
+
 ===Example===
 
 In this section, we'll look at an example that should make clear how the basic Actions approach works in a model. Say we want to define a behavior like:
@@ -477,11 +524,11 @@
 
 Now, notice that although it's convenient to speak as if there is only one "Find Partner" and one "Partner Neighbor" in step 4 above, in fact selections are flowing through for each of the results of each of the previous action sequences, and we can refer to each of the directly. We could represent these behaviors in many different ways. For example, we might want to specify the model in a (hand-drawn) graphical language or in a (made-up) textual language:
 
-[[Image:images/ActionsExample.png|800px]]
+[[Image:images/actions/ActionsExample.png|800px]]
 
 This is how it looks in an actual model:
 
-[[Image:images/ActionsExampleNew.png|800px]]
+[[Image:images/actions/ActionsExampleNew.png|800px]]
 
 And here is how this works in detail:
 
@@ -510,7 +557,7 @@
 
 =====Meta-Classes=====
 
-[[Image:images/ActionsDiagram.png|800px]]
+[[Image:images/actions/ActionsDiagram.png|800px]]
 
 =====Details=====
 
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/130-ModelersGuide_Functions.mediawiki b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/130-ModelersGuide_Functions.mediawiki
index 5b570e2..ba0dee9 100644
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/130-ModelersGuide_Functions.mediawiki
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/130-ModelersGuide_Functions.mediawiki
@@ -18,7 +18,7 @@
 
 A technical note: conceptually, functions can return multi-values, but that is not currently implemented in the reference targets because of limitations of the target language Java.
 
-===Details===
+===Concepts===
 
 ====General Functions====
 
@@ -239,7 +239,7 @@
 
 For examples of how spatial functions can be used within action flows to provide agents with complex movement behaviors, see the Modelers Guide actions examples. In the following example from that section, we define an action that causes a partner agent to move to an available neighboring space.
 
-[[Image:images/ActionsExampleNew.png|800px]]
+[[Image:images/actions/ActionsExampleNew.png|800px]]
 
 ====Time====
 =====Details=====
@@ -306,11 +306,11 @@
 
 In the following action flow for the epidemic style, we've create Query Actions to determine each agent's current state, picked a color based on that, and then used a shared target to select a shape for the agent style and fill it:
 
-[[Image:images/GraphicsFunctionExampleDesign.png]]
+[[Image:images/functions/GraphicsFunctionExampleDesign.png]]
 
 After saving the model we can execute the two and three dimensional visualizations. Note something really nice -- even the charts have used the colors we've defined!
 
-[[Image:images/GraphicsFunctionExampleRun.png]]
+[[Image:images/functions/GraphicsFunctionExampleRun.png]]
 
 ====Lists====
 
@@ -375,11 +375,11 @@
 # Opened the "Multiple Value" node in the editor, and clicked the "Multiple Values" item within it.
 # Selected the "Status" attribute.
 
-[[Image:images/DistributionDesignChoice.png]] 
+[[Image:images/functions/DistributionDesignChoice.png]] 
 
 The appropriate attributes are automatically added to the model, as you can see below.
 
-[[Image:images/DistributionDesign.png]] 
+[[Image:images/functions/DistributionDesign.png]] 
 
 In order to assign these values to the agent, we'd simply need to assign the results of this Evaluate Action to the agent.
 
@@ -389,4 +389,4 @@
 
 =====Meta-Classes=====
 
-[[Image:images/FunctionsDiagram.png]]
+[[Image:images/functions/FunctionsDiagram.png]]
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/200-ModelersGuide_Tutorial.mediawiki b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/200-ModelersGuide_Tutorial.mediawiki
index 72b02b8..29656aa 100644
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/200-ModelersGuide_Tutorial.mediawiki
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/200-ModelersGuide_Tutorial.mediawiki
@@ -20,38 +20,37 @@
 
 A special Agent Modeling '''Perspective''' can be used to setup your '''Workspace''' 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:
 
-[[Image:images/SimpleTutorial0Perspective.png]]
+[[Image:images/edit_tutorial/SimpleTutorial0Perspective.png]]
 
 Or, if you can't see it there, you can access it by selecting the menu '''Open Perspective > Other... and then selecting the Agent Modeling perspective from the provided options:
 
-[[Image:images/SimpleTutorial0Perspective2.png]]
-
+[[Image:images/edit_tutorial/SimpleTutorial0Perspective2.png]]
 
 =====Create Project=====
 
 Before doing anything else, we need a project -- a folder to organize our models within. Right-click in the Package Explorer and select '''New > Agent Modeling Escape Project'''.
 
-[[Image:images/SimpleTutorial1.png]]
+[[Image:images/edit_tutorial/SimpleTutorial1.png]]
 
 =====Name project=====
 
 We'll get a dialog allowing us to name the project. Let's call it something simple.
 
-[[Image:images/SimpleTutorial2.png]]
+[[Image:images/edit_tutorial/SimpleTutorial2.png]]
 
 =====Create Model=====
 
 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 '''New > Agent Model'''.
 
-[[Image:images/SimpleTutorial3CreateModel.png]]
+[[Image:images/edit_tutorial/SimpleTutorial3CreateModel.png]]
 
 You'll see a model creation wizard from which you can name the model. Just give it the name "StupidModel.metaabm".
 
-[[Image:images/SimpleTutorial4CreateModel.png]]
+[[Image:images/edit_tutorial/SimpleTutorial4CreateModel.png]]
 
 Click '''Next''' to see some other options. We don't need to change any of this:
 
-[[Image:images/SimpleTutorial5CreatePage2.png]]
+[[Image:images/edit_tutorial/SimpleTutorial5CreatePage2.png]]
 
 So just click the '''Finish''' button and we're ready to move on with the tutorial.
 
@@ -63,23 +62,23 @@
 
 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 '''Create Member > Agent'''.
 
-[[Image:images/SimpleTutorial6Createagent.png]]
+[[Image:images/edit_tutorial/SimpleTutorial6Createagent.png]]
 
 ======Name Agent======
 
 Let's call it "Bug". In the lower left-hand corner you should see the '''Properties''' 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 '''Window > Show View > Other'''. Find the "Label" property and type our new name into it. You'll see that all of the related name properites are also updated.
 
-[[Image:images/SimpleTutorial6NameBug.png]]
+[[Image:images/edit_tutorial/SimpleTutorial6NameBug.png]]
 
 ======The Create Agent Action====== 
 
 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).
 
-[[Image:images/SimpleTutorial10AgentCount.png]]
+[[Image:images/edit_tutorial/SimpleTutorial10AgentCount.png]]
 
 You might want to take a look at the Create Bugs rule, but there isn't anything we need to change there.
 
-[[Image:images/SimpleTutorial11BuildAgents.png]]
+[[Image:images/edit_tutorial/SimpleTutorial11BuildAgents.png]]
 
 =====Grid Space=====
 
@@ -87,7 +86,7 @@
 
 Next, we'll create a grid for the Bugs to move around upon. Right-click on the StupidModel1 context and choose '''New > Grid'''.
 
-[[Image:images/SimpleTutorial7CreateGrid.png]]
+[[Image:images/edit_tutorial/SimpleTutorial7CreateGrid.png]]
 
 ======Set Grid Parameters======
 
@@ -97,21 +96,21 @@
 #Set the "Neighborhood" property to be "Moore" -- that's how we are going to interpret the statement "in the X and Y directions".
 #Set the dimensionality to "2". (You might need to enlarge the Property view or use the scroll bar to see the Dimensionality property.)
 
-[[Image:images/SimpleTutorial8GridParameters.png]]
+[[Image:images/edit_tutorial/SimpleTutorial8GridParameters.png]]
 
 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.)
 
-[[Image:images/SimpleTutorial9GridDims.png]]
+[[Image:images/edit_tutorial/SimpleTutorial9GridDims.png]]
 
 ======The Build Grid Action======
 
 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:
 
-[[Image:images/SimpleTutorial14BuildGridParams.png]]
+[[Image:images/edit_tutorial/SimpleTutorial14BuildGridParams.png]]
 
 If you click on the '''...''' button next to the "Agents" property you'll see see the Bug, which is the agent that will be moving around upon the grid.
 
-[[Image:images/SimpleTutorial13BuildGridAgents.png]]
+[[Image:images/edit_tutorial/SimpleTutorial13BuildGridAgents.png]]
 
 ====Actions====
 
@@ -119,43 +118,43 @@
 
 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 > Initialize Action.
 
-[[Image:images/SimpleTutorial15CreateInitialize.png]]
+[[Image:images/edit_tutorial/SimpleTutorial15CreateInitialize.png]]
 
 ======Create Select Action======
 
 Next, right click on the new Initialize node and choose '''Create Member > Select''' to create a Select target.
 
-[[Image:images/SimpleTutorial16CreateSelect.png]]
+[[Image:images/edit_tutorial/SimpleTutorial16CreateSelect.png]]
 
 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).
 
-[[Image:images/SimpleTutorial165Select2.png]]
+[[Image:images/edit_tutorial/SimpleTutorial165Select2.png]]
 
 ======Create Query Action======
 
 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.
 
-[[Image:images/SimpleTutorial17CreateQuery.png]]
+[[Image:images/edit_tutorial/SimpleTutorial17CreateQuery.png]]
 
 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.
 
-[[Image:images/SimpleTutorial18QueryFunction.png]]
+[[Image:images/edit_tutorial/SimpleTutorial18QueryFunction.png]]
 
 ======Create Move Action======
 
 Finally, as the last part of the initial action specification, we'll create a Move Action using '''Create Member > Move'''. (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:
 
-[[Image:images/SimpleTutorial19Move.png]]
+[[Image:images/edit_tutorial/SimpleTutorial19Move.png]]
 
 =====Run Initial Model=====
 
 That's all we have to do to create our first working model! Now, go to the '''Package Explorer''' and select the StupidModel1.metaabm file. Right-click on it and select '''Execute'''. 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.
 
-[[Image:images/SimpleTutorial20ExecuteModel.png]]
+[[Image:images/edit_tutorial/SimpleTutorial20ExecuteModel.png]]
 
 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.
 
-[[Image:images/SimpleTutorial21Execute2.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial21Execute2.png | right]]
 
 ====Styles====
 
@@ -165,13 +164,13 @@
 
 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 '''
 
-[[Image:images/SimpleTutorial22CreateStyle.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial22CreateStyle.png | right]]
 
 By default the style will be called BugStyle2D. Open the Style to the Actions node and create a rule.
 
 ======Create Style Rule======
 
-[[Image:images/SimpleTutorial23CreateStyleRule.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial23CreateStyleRule.png | right]]
 
 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.
 
@@ -179,11 +178,11 @@
 
 We make the first Evaluation define a Color of "Red". Right click on the new Rule, and select '''New > Command > Evaluate''' (not shown) to create an Evaluation. Then in the function property, select "Graphic: Color Red".
 
-[[Image:images/SimpleTutorial24EvaluationFunction.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial24EvaluationFunction.png | right]]
 
 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:
 
-[[Image:images/SimpleTutorial25FinishStyle.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial25FinishStyle.png | right]]
 
 
 ====Actions 2 Movement Rule====
@@ -196,7 +195,7 @@
 
 But now, instead of moving <i>anywhere</i> we want to move nearby. So now, we create a ''parallel'' 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 ''Select'' Action and choose '''Create Target > Select > Query'''. Like so:
 
-[[Image:images/SimpleTutorial26CreateQuery2.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial26CreateQuery2.png | right]]
 
 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.
 
@@ -204,33 +203,33 @@
 
 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 '''File > Save''' from the application menu. Notice that a red marker appears next to the StupidModel1.metaabm file. If you reveal the '''Problems View''' 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.
 
-[[Image:images/SimpleTutorial27NoValue.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial27NoValue.png | right]]
     
 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.)
 
 To fix this error we just need to assign a value for search distance. We '''could''' 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.
 
-[[Image:images/SimpleTutorial28CreateAttribute.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial28CreateAttribute.png | right]]
 
 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.
 
-[[Image:images/SimpleTutorial29AttributeValues.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial29AttributeValues.png | right]]
 
 Finally, we assign the Vision attribute to the "Input" node in our Spatial: Within Query.
 
-[[Image:images/SimpleTutorial30AttributeInput.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial30AttributeInput.png | right]]
 
 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).
 
-[[Image:images/SimpleTutorial31Intersect.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial31Intersect.png | right]]
 
 The Intersection Action needs to be a target of ''both'' 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.
 
-[[Image:images/SimpleTutorial32IntersectAdd.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial32IntersectAdd.png | right]]
 
 Finally, add a Move target to the Intersection.
 
-[[Image:images/SimpleTutorial33Move.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial33Move.png | right]]
 
 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 <- indicator showing the immediate sources of each of the nodes. ''Note especially than while the targets for actions often appear immediately following their source actions, this is not always the case.''
 
@@ -238,7 +237,7 @@
 
 Now, we can select the model in the '''Package Navigator''' 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.
 
-[[Image:images/SimpleTutorial34RunFinal.png | right]]
+[[Image:images/edit_tutorial/SimpleTutorial34RunFinal.png | right]]
 
 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.
 
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/300-ModelersGuide_Tools_Intro.mediawiki b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/300-ModelersGuide_Tools_Intro.mediawiki
new file mode 100644
index 0000000..bfb8ab0
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/300-ModelersGuide_Tools_Intro.mediawiki
@@ -0,0 +1,11 @@
+==Tools==
+
+In this section of the guide, we'll discuss specific aspects of the Agent Modeling tools and show you how to use them in your day to day agent development activities. We discuss only tools specific to Agent Modeling itself. For more general information about the tools, such as how to customize editors, views, and perspectives, see the '''Workbench User Guide'''.
+
+===Overview===
+
+The Agent Modeling Platform provides two general modes or "perspectives" for working with Agent Models.
+
+[[Image:images/tools/Perspectives.png]]
+
+'''Agent Modeling''' supports all aspects of working with models, including editing models and automatically generating all the of your code and documentation. '''Agent Execution''' supports running and exploring those models. A key feature of the Agent Modeling Platform is the ability to execute models within the same environment that they are developed within -- you don't need to launch a separate environment in order to run a model. Agent Execution automatically activates when you launch a model. We'll discuss the agent modeling tools first, and then turn to agent execution.
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/310-ModelersGuide_Tools_Modeling.mediawiki b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/310-ModelersGuide_Tools_Modeling.mediawiki
new file mode 100644
index 0000000..28dfdbe
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/310-ModelersGuide_Tools_Modeling.mediawiki
@@ -0,0 +1,2 @@
+===Agent Modeling===
+
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/311-ModelersGuide_Tools_Modeling_General.mediawiki b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/311-ModelersGuide_Tools_Modeling_General.mediawiki
new file mode 100644
index 0000000..d17a135
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/311-ModelersGuide_Tools_Modeling_General.mediawiki
@@ -0,0 +1,13 @@
+====Perspective====
+
+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.
+
+====Creating Projects and Models====
+
+You can create projects and project components using the Popup menu. Just click in a blank space within the Package Explorer. Any installed project targets are displayed in this menu. For example, if you've installed the Simphony target, you'd see that displayed in this menu as well.
+
+[[Image:images/edit_tutorial/SimpleTutorial3CreateModel.png]]
+
+====Menus, Popups and Toolbar====
+
+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.
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/312-ModelersGuide_Tools_Modeling_Views.mediawiki b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/312-ModelersGuide_Tools_Modeling_Views.mediawiki
new file mode 100644
index 0000000..3fc676d
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/312-ModelersGuide_Tools_Modeling_Views.mediawiki
@@ -0,0 +1,43 @@
+====Views====
+
+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.
+
+[[Image:images/tools/Workbench.png]]
+
+=====Editor=====
+
+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.
+
+=====Default Views=====
+
+The default modeling views are visible by default.
+
+======Package Explorer======
+
+Supports navigation within projects.
+
+======Properties======
+
+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.
+
+======Outline======
+
+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.
+
+=====Diagnostic Views=====
+
+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.
+
+======Problems======
+
+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.
+
+======Console======
+
+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.
+
+======Errors======
+
+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:
+
+   
\ No newline at end of file
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/315-ModelersGuide_Tools_Modeling_Editing.mediawiki b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/315-ModelersGuide_Tools_Modeling_Editing.mediawiki
new file mode 100644
index 0000000..582fb27
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/315-ModelersGuide_Tools_Modeling_Editing.mediawiki
@@ -0,0 +1,104 @@
+====Editing Models====
+
+The Eclipse Agent Modeling Framework includes a full-featured model editor based on the Eclipse Modeling Framework's Edit tools. All aspects of an AMF model can be managed from within this tool. Note that the tree editor is only one of many ways of editing a model. Other editors of AMF models incude textual languages and custom editors that are part of commercial offerings.
+
+=====Opening the Editor=====
+
+To open a model in the editor, simply double-click on it. If the model doesn't open in the model editor (if for example it had been previously opened using another editor), you can always access the editor using '''Open With > Other...''' 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.
+
+=====Editing Structure=====
+
+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.
+
+======Opening Components======
+
+After opening a model, you can see the contents by clicking the Triangle symbol to the left of an item. For example, opening the root context node, we see:
+
+[[Image:images/tools/Editor.png]]
+
+======Editing Components======
+
+To edit components, 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.
+
+[[Image:images/tools/EditorEditing.png]]
+
+======Adding Components======
+
+You add nodes by right-clicking on a node, like so:
+
+[[Image:images/tools/EditorAdd.png]]
+
+======Moving Components======
+
+You can often rearrange model components by dragging them from one place to another. In the following example, we're creating a model of a regional epidemic by creating a City sub-context and moving the agent into it: 
+
+[[Image:images/tools/EditorMoving.png]]
+
+======Removing Components======
+
+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.
+
+======Copying Components======
+
+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.
+
+======Editing Attributes======
+
+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.
+
+[[Image:images/tools/EditorAttributes.png]]
+
+======Editing Styles======
+
+The Styles node is another group node, in this case representing a set of styles that can be used to visualize the agents. When creating a style, you will need to create a Rule for each style as well, like so:
+
+[[Image:images/tools/EditorStyles.png]]
+
+=====Editing Actions=====
+
+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.
+
+Like attributes and styles, every agent has a single Actions nodes which contains its Root Action(s).
+
+======Order======
+
+Generally, action sources will appear above their targets. In the case where there is only one source for a given target, and that target has no other sources, they will appear directly above one another. Its important to note however that ''the order of the nodes does not indicate a specific source and target relationship''. For example, in the case where there are multiple targets for a source, they will typically follow that source immediately. To make the relationships clear, every action lists its source actions as part of the action label. Agent selections also appear as part .
+
+[[Image:images/tools/ActionsExample.png]]
+
+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 <nowiki>"Vulnerable Neighbor [Potential Exposure] <- [Potential Exposure]"</nowiki> indicating that the "Potential Exposure" action serves as its selection as well as its source.
+
+======Initial Order======
+
+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.
+
+======Changing Sources and Targets (Reordering)======
+
+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. 
+
+======Adding Sources and Targets======
+
+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.
+
+======Removing Sources and Targets======
+
+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.
+
+======Removing Actions======
+
+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.
+
+======Copying Actions======
+
+Copying actions works just as with other entities, and copies will become targets of their option-drag destination. 
+
+======Query and Evaluation Inputs======
+
+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.
+ 
+[[Image:images/tools/ActionsExample.png]]
+
+
+======Input Literals======
+
+To create an input value, right click on the input and select '''Create Member > Literal'''. Then specify the actual value in the Value property in the '''Properties View'''.
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/318-ModelersGuide_Tools_Modeling_BuildingGenerating.mediawiki b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/318-ModelersGuide_Tools_Modeling_BuildingGenerating.mediawiki
new file mode 100644
index 0000000..ef9f840
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/318-ModelersGuide_Tools_Modeling_BuildingGenerating.mediawiki
@@ -0,0 +1,59 @@
+====Building Models====
+
+If you've used other development environments, you're probably used to a separate build step. For example, if you edit a set of Java files, you might invoke a compile command. Eclipse and the Agent Modeling Platform support automatic building. This means that in order to build your code, you simply save the model and the environment takes care of the rest. What gets built is defined by the project. For example, if you save a model that is contained within an Agent Modeling Escape Project, the following steps occur automatically:
+
+#The Escape builder generates Java code for the Escape API, including support for specialized graphics and (if enabled) 3D visualization.
+#The Documentation builder generates custom html documentation for the model.
+#The Java builder takes the Java code generated above and compiles it.
+#The Manifest and Schema builders package the project for use as part of the Eclipse plugin environment.
+
+So what do you do if you want to generate code for a different target, such as Repast? Here, you simply create another project and drag the model into it. You can also edit the builders for a given project (see the Workbench Documentation) but you'll only want to do that if you're making permanent changes to the project itself.
+
+====Generating Specialized Model Artifacts====
+
+You can also manually generate code for models. This is useful if you want to create code for a model in a non target project and don't want the automatic build capabilities. There are also specialized targets that can be generated manually that are bundled with the tools -- AMP plugin developers can easily add custom generation targets for this menu. To generate custom artifacts, right-click on a model and select '''Generate'''.
+
+[[Image:images/tools/GenerateMenu.png]]
+
+Targets include:
+
+=====Platform Targets=====
+
+Creates code for one of the installed targets, such as Ascape, Escape, and Simphony. (Again, these generators are unnecessary for projects that already have target specific builders configured.)
+
+=====Interfaces=====
+
+Creates a complete set of interfaces for the model classes. These can be very useful for development and integration in enterprise environments. Generated classes are placed in the src directory with "I" added to the name. For example, if you generate interfaces for a model with an "Individual" agent, this target will create an "IIndividual" interface that includes getters, setters and methods for all of the agent's attributes and actions.
+
+=====Skeleton===== 
+
+Creates a base class for the model. This is essentially a complete implementation, but without the action implementations. Again, these classes can be useful when generating code for use in enterprise and other specialized environments.
+
+=====Test Cases===== 
+
+Generates base support (needing customization) test cases for use in JUnit tests.
+
+=====Text Documents=====
+
+Creates simple text documentation for use in other documents.
+
+=====Generate Key Graphics===== 
+
+This specialized target supports the creation of graphic keys for the model. To use this target:
+
+#Generate the code.
+#Add a dependency to the Manifest for "org.eclipse.amp.amf.gen.extras".
+#In the srcutil directory find the Java source code for the calss {RootContext}GraphicsWriter. For example, for the Epidemic model, this would be srcutil/name.milesparker.epi/EpidemicGraphicsWriter.java.
+#Right-click, and select '''Run As > Java Application'''.
+#Refresh the project by right-clicking on it and selecting '''Refresh'''.
+#The Doc directory will now contain a number of new files, including
+##{RootContext}Key.png
+##{RootContext}GraphicsKey.html
+
+Both files contain graphic representations of the model using the definitions defined by the model styles, very useful artifacts for inclusion in papers and web pages describing your model. For example, here is the EpidemicKey.png:
+
+[[Image:images/tools/EpidemicKey.png]]
+
+=====Function Docs=====
+
+Generates WikiText documentation for function libraries. We use it to create the function documentation in this guide!
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/320-ModelersGuide_Tools_Execution.mediawiki b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/320-ModelersGuide_Tools_Execution.mediawiki
new file mode 100644
index 0000000..db60ccb
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/320-ModelersGuide_Tools_Execution.mediawiki
@@ -0,0 +1,142 @@
+===Agent Execution===
+
+====Launching a Model (AMF)====
+
+
+When an AMF file is selected -- in any of the perspectives -- the pop-up menu looks like this:
+
+[[Image:images/tools/EditorMenu.png | left]]
+
+(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.
+
+[[Image:images/tools/EditorToolbar.png]]
+
+To launch a model, select one of the options.
+
+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.
+
+[[Image:images/execution/EpidemicModelRunning.png]]
+
+The execution options are:
+
+=====Execute=====
+
+Launches the model using default graphics, opening the Agent Execution perspective.
+
+=====Execute Headless=====
+
+Launches the model without graphics, opening the Agent Execution perspective.
+
+=====Execute Headless (Data)=====
+
+Launches the model with an observer that collects data into the AMF adata model representation.
+
+====Executing a Model (Java / 3D)====
+
+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.
+
+[[Image:images/execution/Epidemic3D.png]]
+
+====Controlling Model Execution====
+
+Once a model has been launched, the toolbar buttons allow you to control model execution.
+
+[[Image:images/execution/EpidemicModelControls.png]]
+
+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.
+
+[[Image:images/execution/EpidemicModelComparison.png]]
+
+=====The Active Model=====
+
+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.
+
+====Views====
+
+There are many views specific to the Agent Execution environment that will enable you to explore and control running models.
+
+=====Properties=====
+
+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.
+
+[[Image:images/execution/EpidemicModelAgentProperties.png]]
+
+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.
+
+[[Image:images/execution/EpidemicModelProperties.png]]
+
+=====Agent Navigator=====
+
+The '''Agent Navigator''' 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.
+
+[[Image:images/execution/AgentNavigator.png]]
+
+=====Model Manager=====
+
+The ''''Model Manager'''' 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.
+
+[[Image:images/execution/ModelManager.png]]
+
+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.
+
+You can make any model the current active model by clicking on its node in this view.
+
+======"About this Model"======
+
+The ''''About this Model'''' 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 <nowiki>"About[MyModel].html"</nowiki> 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.
+
+[[Image:images/execution/AboutView.png]]
+
+
+====Visualization====
+
+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.
+
+=====2D Views=====
+
+The '''Graphic 2D''' view is the most common view way to work with an Agent Model and is automatically generated and displayed for executing models.
+
+[[Image:images/execution/Epidemic2DView.png]]
+
+There are a number of view widgets in the upper-right hand corner that you can use to modify the view. You can:
+
+======Scaling======
+
+#Enter or select a specific scale in the combo menu.
+#Select a button to have the model scale either:
+##Freely
+##Within the bounds of the view
+##Within the vertical bounds of the view
+##Within the horizontal bounds of the view
+#Zoom In
+#Zoom Out
+
+=====Charts=====
+
+A '''Chart''' 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.
+
+[[Image:images/execution/EpidemicChartOptions.png]]
+
+======Chart Type======
+
+Several chart types are supported: The line, area, bar and pie chart. Click on one of the icons to select that type.
+
+[[Image:images/execution/LineChart.png|400px|Line Chart]]
+[[Image:images/execution/AreaChart.png|400px|Area Chart]]
+[[Image:images/execution/BarChart.png|400px|Bar Chart]]
+[[Image:images/execution/PieChart.png|400px|Pie Chart]]
+
+======Chart Legend======
+
+Turn the legend on and off by selecting the "T" icon.
+
+======Chart Data======
+
+To select the statistics to display, show the '''Chart Customizer''' 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.
+
+[[Image:images/execution/EpidemicChartCustomize.png]]
+
+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.
+
+
+====Executing Internal Targets==== 
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/410-ProgrammersGuide_AMFPojo.mediawiki b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/410-ProgrammersGuide_AMFPojo.mediawiki
index e5ff0e6..753056d 100644
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/410-ProgrammersGuide_AMFPojo.mediawiki
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/410-ProgrammersGuide_AMFPojo.mediawiki
@@ -12,14 +12,14 @@
 
 You can mix and match Action behavior with Java and generated code with POJOs. One way to do this is through using protected regions. Select the agent you want to create protected methods for and then select "Generate Protected" from the "Mode" property. Now, create actions just as you have before, or use your existing ones. On code generation, open up the relevant java file and examine the methods that have been created. 
 
-[[Image:images/ProgrammingPojoGenerateProps.png]]
+[[Image:images/pojo/ProgrammingPojoGenerateProps.png]]
 
 You can put whatever you want within the PROTECTED REGION comments and those changes will be preserved when the model is regenerated. You can create a schedule, rule or watcher, maintain custom code for the actual implementations, and still have the model adapt to changes in the underlying data structure -- if for example you want to import a modified shape file.
 
-[[Image:images/ProgrammingPojoGenerateCode.png]]
+[[Image:images/pojo/ProgrammingPojoGenerateCode.png]]
 
 ====Implement Sub-classes====
 
 Another approach which can be more robust is to generate the basic model stubs (like an abstract base class except that it isn't abstract) and then override your model with implementations. AMF provides support for generic skeletons and interfaces.
 
-[[Image:images/ProgrammingPojoGenerate.png]]
\ No newline at end of file
+[[Image:images/pojo/ProgrammingPojoGenerate.png]]
\ No newline at end of file
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/300-ModelersGuide_Exploring.mediawiki b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/450-ProgrammersGuide_Running.mediawiki
similarity index 74%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/300-ModelersGuide_Exploring.mediawiki
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/450-ProgrammersGuide_Running.mediawiki
index f3e2c7a..fdb9853 100644
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/300-ModelersGuide_Exploring.mediawiki
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/450-ProgrammersGuide_Running.mediawiki
@@ -41,29 +41,8 @@
 
 ===Tutorial===
 
-We've developer have a complete cheat sheet supporting this tutorial. Simply go to '''Help > Cheat Sheets...''' and then select "Run an Example Model" from within the "Agent Modeling" category. Or install the example models and then explore the following steps.
+We've developer have a complete cheat sheet supporting this tutorial. Simply go to '''Help > Cheat Sheets...''' and then select "Run an Example Model" from within the "Agent Modeling" category.
 
-Right-click on the model, and select "Execute". You should see something like this:
-
-[[Image:images/EpidemicModelRunning.png]]
-
-The toolbar buttons allow you to control model execution.
-
-[[Image:images/EpidemicModelControls.png]]
-
-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.
-
-[[Image:images/EpidemicModelComparison.png]]
-
-If you want to find out more about an agent, show the properties view, and click on agent.
-
-[[Image:images/EpidemicModelAgentProperties.png]]
-
-You can experiment with different parameters (settings) for models by then clicking in the gray area away within the view.
-
-[[Image:images/EpidemicModelProperties.png]]
-
-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.
 
 ====Next Steps====
 
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/950-Support.mediawiki b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/950-Support.mediawiki
new file mode 100644
index 0000000..815ff3d
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/950-Support.mediawiki
@@ -0,0 +1,43 @@
+=Support=
+
+==Issues==
+
+Eclipse and the AMP project have a mandate for open communication. Please note that unless you are a customer of an AMP project contributor we will not respond to direct requests for support. We ''will'' make every effort to support your use of AMP in the following ways:
+
+===General Support, Questions and Discussion===
+
+The [http://www.eclipse.org/forums/index.php?t=thread&frm_id=17&S=f4fa6cb31327772a3b626dc409db409b Agent Modeling Platform Newsgroup] is the place to discuss or get support for any of the Eclipse AMP tools. 
+
+===View Existing Bugs and Feature Requests===
+
+If you have a problem or idea for improvement, there's a good chance that its already been discovered. To avoid duplication, please check the current bugs before filing a new bug report or feature request.
+
+[https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=AMP&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0= Search Existing Bugs]
+
+===File a Bug===
+
+This may sound obvious, but if something doesn't work as it should, the only way that we're going to find out is if someone reports it. All AMP related bugs or feature requests should use the Eclipse Bugzilla.
+
+[https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AMP&rep_platform=All&op_sys=All File a Bug or Feature Request]
+
+===Discuss AMP Development and Project===
+
+All discussion about software development, design and project management issues take place on the AMP dev-list. If you're interested in contributing to the AMP project, this is a good place to contact us. [https://dev.eclipse.org/mailman/listinfo/amp-dev].
+
+===Professional Support===
+
+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.
+
+===Media and Private Communications===
+
+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.)
+
+==Feedback==
+
+If you have ideas, comments or requests for information about the project please contact us at the .
+
+==Get Involved==
+
+If you find this tool valuable, please be aware that most of its development occurred through volunteer contributions from individuals and companies that have received no direct funding. You can support continual development efforts financially by purchasing related software tools from companies and organizations that help develop it, including funding for developer time in grant proposals. You can support the Eclipse platform in general by becoming a member organization of Eclipse. But the most important thing that you can contribute is your own time and enthusiasm, either through directly contributing to AMP or by promoting its use in blogs and other social media. For more detailed information about contributing to AMP, please see [http://wiki.eclipse.org/AMP/Getting_Involved our wiki].
+
+ 
\ No newline at end of file
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/amp-index.txt b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/amp-index.txt
index 103023b..0921168 100644
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/amp-index.txt
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/amp-index.txt
@@ -5,9 +5,17 @@
 110-ModelersGuide_Structure.mediawiki
 120-ModelersGuide_Actions.mediawiki
 130-ModelersGuide_Functions.mediawiki
+300-ModelersGuide_Tools_Intro.mediawiki
+310-ModelersGuide_Tools_Modeling.mediawiki
+311-ModelersGuide_Tools_Modeling_General.mediawiki
+312-ModelersGuide_Tools_Modeling_Views.mediawiki
+315-ModelersGuide_Tools_Modeling_Editing.mediawiki
+318-ModelersGuide_Tools_Modeling_BuildingGenerating.mediawiki
+320-ModelersGuide_Tools_Execution.mediawiki
 200-ModelersGuide_Tutorial.mediawiki
-300-ModelersGuide_Exploring.mediawiki
 400-ProgrammersGuide_Escape.mediawiki
 410-ProgrammersGuide_AMFPojo.mediawiki
 420-ProgrammersGuide_Converting.mediawiki
-900-Resources.mediawiki
\ No newline at end of file
+450-ProgrammersGuide_Running.mediawiki
+900-Resources.mediawiki
+950-Support.mediawiki
\ No newline at end of file
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/DistributionRun.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/DistributionRun.png
deleted file mode 100644
index 932a0d7..0000000
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/DistributionRun.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/Functions.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/Functions.png
deleted file mode 100644
index 559e1fb..0000000
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/Functions.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsBlocks.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsBlocks.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsBlocks.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsBlocks.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsComplexLogic.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsComplexLogic.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsComplexLogic.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsComplexLogic.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsComplexLogicNoOr.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsComplexLogicNoOr.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsComplexLogicNoOr.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsComplexLogicNoOr.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsDiagram.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsDiagram.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsDiagram.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsDiagram.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsDiagram800.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsDiagram800.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsDiagram800.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsDiagram800.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsExample.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsExample.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsExample.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsExample.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsExampleNew.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsExampleNew.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsExampleNew.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsExampleNew.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsFlowSimple.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsFlowSimple.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsFlowSimple.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsFlowSimple.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsFlowUnion.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsFlowUnion.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsFlowUnion.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsFlowUnion.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsSelBoundary11A.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsSelBoundary11A.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsSelBoundary11A.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsSelBoundary11A.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsSelBoundary2.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsSelBoundary2.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsSelBoundary2.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsSelBoundary2.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsSelBoundary2Parts.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsSelBoundary2Parts.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsSelBoundary2Parts.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsSelBoundary2Parts.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsSelBoundaryComplex.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsSelBoundaryComplex.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsSelBoundaryComplex.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsSelBoundaryComplex.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsSelBoundarySimple.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsSelBoundarySimple.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsSelBoundarySimple.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsSelBoundarySimple.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsSequence.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsSequence.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsSequence.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsSequence.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsSimpleMultiple.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsSimpleMultiple.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsSimpleMultiple.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsSimpleMultiple.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsSimpleSequence.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsSimpleSequence.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsSimpleSequence.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsSimpleSequence.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsSimpleSequence2.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsSimpleSequence2.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsSimpleSequence2.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsSimpleSequence2.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsWeaving1A.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsWeaving1A.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsWeaving1A.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsWeaving1A.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsWeaving2.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsWeaving2.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsWeaving2.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsWeaving2.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsWeavingComplexQuery.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsWeavingComplexQuery.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsWeavingComplexQuery.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsWeavingComplexQuery.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsWeavingEvaluate.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsWeavingEvaluate.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsWeavingEvaluate.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsWeavingEvaluate.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsWeavingSetAnother.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsWeavingSetAnother.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ActionsWeavingSetAnother.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/actions/ActionsWeavingSetAnother.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial0Perspective.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial0Perspective.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial0Perspective.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial0Perspective.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial0Perspective2.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial0Perspective2.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial0Perspective2.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial0Perspective2.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial1.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial1.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial1.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial1.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial10AgentCount.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial10AgentCount.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial10AgentCount.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial10AgentCount.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial11BuildAgents.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial11BuildAgents.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial11BuildAgents.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial11BuildAgents.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial12BuildGrid.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial12BuildGrid.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial12BuildGrid.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial12BuildGrid.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial13BuildGridAgents.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial13BuildGridAgents.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial13BuildGridAgents.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial13BuildGridAgents.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial14BuildGridParams.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial14BuildGridParams.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial14BuildGridParams.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial14BuildGridParams.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial15CreateInitialize.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial15CreateInitialize.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial15CreateInitialize.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial15CreateInitialize.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial165Select2.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial165Select2.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial165Select2.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial165Select2.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial16CreateSelect.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial16CreateSelect.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial16CreateSelect.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial16CreateSelect.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial17CreateQuery.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial17CreateQuery.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial17CreateQuery.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial17CreateQuery.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial18QueryFunction.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial18QueryFunction.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial18QueryFunction.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial18QueryFunction.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial19Move.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial19Move.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial19Move.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial19Move.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial2.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial2.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial2.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial2.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial20ExecuteModel.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial20ExecuteModel.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial20ExecuteModel.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial20ExecuteModel.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial21Execute2.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial21Execute2.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial21Execute2.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial21Execute2.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial22CreateStyle.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial22CreateStyle.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial22CreateStyle.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial22CreateStyle.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial23CreateStyleRule.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial23CreateStyleRule.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial23CreateStyleRule.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial23CreateStyleRule.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial24EvaluationFunction.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial24EvaluationFunction.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial24EvaluationFunction.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial24EvaluationFunction.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial25FinishStyle.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial25FinishStyle.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial25FinishStyle.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial25FinishStyle.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial26CreateQuery2.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial26CreateQuery2.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial26CreateQuery2.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial26CreateQuery2.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial27NoValue.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial27NoValue.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial27NoValue.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial27NoValue.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial28CreateAttribute.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial28CreateAttribute.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial28CreateAttribute.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial28CreateAttribute.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial29AttributeValues.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial29AttributeValues.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial29AttributeValues.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial29AttributeValues.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial30AttributeInput.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial30AttributeInput.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial30AttributeInput.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial30AttributeInput.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial31Intersect.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial31Intersect.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial31Intersect.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial31Intersect.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial32IntersectAdd.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial32IntersectAdd.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial32IntersectAdd.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial32IntersectAdd.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial33Move.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial33Move.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial33Move.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial33Move.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial34RunFinal.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial34RunFinal.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial34RunFinal.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial34RunFinal.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial3CreateModel.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial3CreateModel.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial3CreateModel.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial3CreateModel.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial4CreateModel.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial4CreateModel.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial4CreateModel.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial4CreateModel.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial5CreatePage2.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial5CreatePage2.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial5CreatePage2.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial5CreatePage2.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial6CreateAgent.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial6CreateAgent.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial6CreateAgent.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial6CreateAgent.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial6NameBug.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial6NameBug.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial6NameBug.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial6NameBug.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial7CreateGrid.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial7CreateGrid.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial7CreateGrid.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial7CreateGrid.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial8GridParameters.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial8GridParameters.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial8GridParameters.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial8GridParameters.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial9GridDims.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial9GridDims.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/SimpleTutorial9GridDims.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/edit_tutorial/SimpleTutorial9GridDims.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/AboutView.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/AboutView.png
new file mode 100644
index 0000000..b3d072d
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/AboutView.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/AgentNavigator.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/AgentNavigator.png
new file mode 100644
index 0000000..00f156b
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/AgentNavigator.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/AreaChart.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/AreaChart.png
new file mode 100644
index 0000000..4a7bda9
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/AreaChart.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/BarChart.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/BarChart.png
new file mode 100644
index 0000000..ee0b0f9
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/BarChart.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/Epidemic2DView.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/Epidemic2DView.png
new file mode 100644
index 0000000..76f3c6b
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/Epidemic2DView.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/Epidemic3D.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/Epidemic3D.png
new file mode 100644
index 0000000..0f2cb94
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/Epidemic3D.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/EpidemicChartCustomize.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/EpidemicChartCustomize.png
new file mode 100644
index 0000000..4e3f2fe
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/EpidemicChartCustomize.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/EpidemicChartOptions.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/EpidemicChartOptions.png
new file mode 100644
index 0000000..d14ade9
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/EpidemicChartOptions.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/EpidemicModelAgentProperties.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/EpidemicModelAgentProperties.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/EpidemicModelAgentProperties.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/EpidemicModelAgentProperties.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/EpidemicModelComparison.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/EpidemicModelComparison.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/EpidemicModelComparison.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/EpidemicModelComparison.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/EpidemicModelControls.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/EpidemicModelControls.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/EpidemicModelControls.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/EpidemicModelControls.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/EpidemicModelProperties.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/EpidemicModelProperties.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/EpidemicModelProperties.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/EpidemicModelProperties.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/EpidemicModelRunning.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/EpidemicModelRunning.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/EpidemicModelRunning.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/EpidemicModelRunning.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/LineChart.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/LineChart.png
new file mode 100644
index 0000000..ca746d6
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/LineChart.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/ModelManager.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/ModelManager.png
new file mode 100644
index 0000000..401308a
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/ModelManager.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/PieChart.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/PieChart.png
new file mode 100644
index 0000000..1c8df01
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/execution/PieChart.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/DistributionDesign.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/functions/DistributionDesign.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/DistributionDesign.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/functions/DistributionDesign.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/DistributionDesignChoice.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/functions/DistributionDesignChoice.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/DistributionDesignChoice.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/functions/DistributionDesignChoice.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/FunctionsDiagram.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/functions/FunctionsDiagram.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/FunctionsDiagram.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/functions/FunctionsDiagram.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/GraphicsFunctionExampleDesign.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/functions/GraphicsFunctionExampleDesign.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/GraphicsFunctionExampleDesign.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/functions/GraphicsFunctionExampleDesign.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/GraphicsFunctionExampleRun.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/functions/GraphicsFunctionExampleRun.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/GraphicsFunctionExampleRun.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/functions/GraphicsFunctionExampleRun.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ProgrammingPojoGenerate.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/pojo/ProgrammingPojoGenerate.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ProgrammingPojoGenerate.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/pojo/ProgrammingPojoGenerate.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ProgrammingPojoGenerateCode.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/pojo/ProgrammingPojoGenerateCode.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ProgrammingPojoGenerateCode.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/pojo/ProgrammingPojoGenerateCode.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ProgrammingPojoGenerateProps.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/pojo/ProgrammingPojoGenerateProps.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/ProgrammingPojoGenerateProps.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/pojo/ProgrammingPojoGenerateProps.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/StructureComplexDiagram.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/structure/StructureComplexDiagram.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/StructureComplexDiagram.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/structure/StructureComplexDiagram.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/StructureSimpleDiagram.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/structure/StructureSimpleDiagram.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/StructureSimpleDiagram.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/structure/StructureSimpleDiagram.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/ActionsExample.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/ActionsExample.png
new file mode 100644
index 0000000..657f1aa
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/ActionsExample.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/Editor.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/Editor.png
new file mode 100644
index 0000000..0c55db5
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/Editor.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/EditorAdd.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/EditorAdd.png
new file mode 100644
index 0000000..72095ec
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/EditorAdd.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/EditorAttributes.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/EditorAttributes.png
new file mode 100644
index 0000000..59e9a41
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/EditorAttributes.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/EditorEditing.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/EditorEditing.png
new file mode 100644
index 0000000..5d841ec
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/EditorEditing.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/EditorMenu.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/EditorMenu.png
new file mode 100644
index 0000000..a998e2c
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/EditorMenu.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/EditorMoving.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/EditorMoving.png
new file mode 100644
index 0000000..979ad2d
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/EditorMoving.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/EditorStyles.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/EditorStyles.png
new file mode 100644
index 0000000..7fca559
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/EditorStyles.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/EditorToolbar.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/EditorToolbar.png
new file mode 100644
index 0000000..2354aa2
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/EditorToolbar.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/EpidemicKey.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/EpidemicKey.png
new file mode 100644
index 0000000..c86926d
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/EpidemicKey.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/GenerateMenu.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/GenerateMenu.png
new file mode 100644
index 0000000..4c41f63
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/GenerateMenu.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/Inputs.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/Inputs.png
new file mode 100644
index 0000000..984ba4e
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/Inputs.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/Perspectives.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/Perspectives.png
new file mode 100644
index 0000000..006745d
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/Perspectives.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/Workbench.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/Workbench.png
new file mode 100644
index 0000000..9cdea2e
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/doc/images/tools/Workbench.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Actions_2.html b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Actions_2.html
index 2c89c84..a38d187 100644
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Actions_2.html
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Actions_2.html
@@ -63,7 +63,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsBlocks.png"></div>
+<img src="images/actions/ActionsBlocks.png"></div>
 <p> 
 					
 </p>
@@ -79,6 +79,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.
@@ -87,7 +90,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsSequence.png"></div>
+<img src="images/actions/ActionsSequence.png"></div>
 <p>
 					
 </p>
@@ -96,7 +99,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsSimpleSequence.png"></div>
+<img src="images/actions/ActionsSimpleSequence.png"></div>
 <p>
 					
 </p>
@@ -105,7 +108,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsSimpleSequence2.png"></div>
+<img src="images/actions/ActionsSimpleSequence2.png"></div>
 <p>
 					
 </p>
@@ -114,7 +117,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsFlowSimple.png"></div>
+<img src="images/actions/ActionsFlowSimple.png"></div>
 <p>
 					
 </p>
@@ -123,7 +126,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsFlowUnion.png"></div>
+<img src="images/actions/ActionsFlowUnion.png"></div>
 <p>
 					
 </p>
@@ -165,7 +168,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsSelBoundarySimple.png"></div>
+<img src="images/actions/ActionsSelBoundarySimple.png"></div>
 <p>
 					
 </p>
@@ -174,7 +177,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsSelBoundary2Parts.png"></div>
+<img src="images/actions/ActionsSelBoundary2Parts.png"></div>
 <p> 
 					
 </p>
@@ -194,7 +197,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsSelBoundary11A.png"></div>
+<img src="images/actions/ActionsSelBoundary11A.png"></div>
 <p>
 					
 </p>
@@ -206,7 +209,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsSelBoundaryComplex.png"></div>
+<img src="images/actions/ActionsSelBoundaryComplex.png"></div>
 <p>
 					
 </p>
@@ -228,7 +231,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsWeavingSetAnother.png"></div>
+<img src="images/actions/ActionsWeavingSetAnother.png"></div>
 <p>
 					
 </p>
@@ -237,7 +240,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsWeavingEvaluate.png"></div>
+<img src="images/actions/ActionsWeavingEvaluate.png"></div>
 <p>
 					
 </p>
@@ -246,7 +249,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsWeaving1A.png"></div>
+<img src="images/actions/ActionsWeaving1A.png"></div>
 <p>
 					
 </p>
@@ -255,19 +258,19 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsWeaving2.png"></div>
+<img src="images/actions/ActionsWeaving2.png"></div>
 <p>
 					
 </p>
 <p>Before going into further details we need to introduce one more important concept. As we'll see in the detailed explanation of each Action below, Transformation Actions such as Move or Connect take multiple selections. The first selection defines the set of agents that will be performing the action. In the case of a Move agent, this refers to the mover. The second selection, which for Move we call "destination", refers to the selection that will be receiving the action. In the case of movement this is the agent or location that the Rule agent will be moving to. If we follow the flows through, we can note two important outcomes of our model design -- a Rule agent might move twice if it meets the criteria for both the blue path and the red path and that it might move to a different location each time.</p>
 </div>
 </div>
-<div class="section" title="Details">
+<div class="section" title="Concepts">
 <div class="titlepage">
 <div>
 <div>
 <h3 class="title">
-<a name="Details_3"></a>Details</h3>
+<a name="Concepts_2"></a>Concepts</h3>
 </div>
 </div>
 </div>
@@ -277,7 +280,7 @@
 					
 </p>
 <div class="mediaobject">
-<img src="images/ActionsBlocks.png"></div>
+<img src="images/actions/ActionsBlocks.png"></div>
 <p> 
 				
 </p>
@@ -357,6 +360,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>
@@ -366,7 +380,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">
@@ -535,357 +560,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_2"></a>Selection</h6>
-</div>
-</div>
-</div>
-<p>As with all other actions, evaluations specify a selection, and just as with the other actions, this determines the set of agents that the evaluation occurs for, but the input selections determine what agent is used for the calculation itself.</p>
-</div>
-<div class="section" title="Function">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Function_2"></a>Function</h6>
-</div>
-</div>
-</div>
-<p>A with queries, a function is evaluated against its input set. Functions can represent simple operators as well as complex functions. See the functions section for more information on specific functions.</p>
-</div>
-<div class="section" title="Inputs">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Inputs"></a>Inputs</h6>
-</div>
-</div>
-</div>
-<p>The set of values that will be used to determine the result, in the order of the function prototype. Inputs can specify any source evaluation and any agent state or agent parent context state. The selection determines which agent's will be used to determine the value, and different inputs can specify different selections.</p>
-</div>
-</div>
-<div class="section" title="Set">
-<div class="titlepage">
-<div>
-<div>
-<h5 class="title">
-<a name="Set"></a>Set</h5>
-</div>
-</div>
-</div>
-<p>The Set Action assigns some value to another value.</p>
-<div class="section" title="Selection">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Selection_3"></a>Selection</h6>
-</div>
-</div>
-</div>
-<p>Here the selection refers to the agent that we want to change. This does not have to be the immediatily preceeding selection but can be any accessible selection.</p>
-</div>
-<div class="section" title="Attribute">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Attribute_2"></a>Attribute</h6>
-</div>
-</div>
-</div>
-<p>The attribute to modify. It must be a member of this action's agent or of that agent's parent context.</p>
-</div>
-<div class="section" title="Parameter">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Parameter"></a>Parameter</h6>
-</div>
-</div>
-</div>
-<p>The value to assign to the attribute. Here, we can use either another agent attribute, or the results of a source evaluation. </p>
-</div>
-</div>
-<div class="section" title="Move">
-<div class="titlepage">
-<div>
-<div>
-<h5 class="title">
-<a name="Move"></a>Move</h5>
-</div>
-</div>
-</div>
-<p>The Move Action causes an agent to change its location in some space or network. The agent will leave whatever location it was in before within the selection space, and move to its new destination.</p>
-<div class="section" title="Selection">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Selection_4"></a>Selection</h6>
-</div>
-</div>
-</div>
-<p>As in any other action, the selection determines what agent is affected -- in this case the agent that is being moved.</p>
-</div>
-<div class="section" title="=Destination">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name=".3DDestination"></a>=Destination</h6>
-</div>
-</div>
-</div>
-<p>Specifies the target agent or location for the movement.</p>
-</div>
-</div>
-<div class="section" title="Leave">
-<div class="titlepage">
-<div>
-<div>
-<h5 class="title">
-<a name="Leave"></a>Leave</h5>
-</div>
-</div>
-</div>
-<p>Causes the agent to leave a particular space.</p>
-<div class="section" title="Selection">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Selection_5"></a>Selection</h6>
-</div>
-</div>
-</div>
-<p>The selection determines what agent will be leaving and what space the agent will be leaving. If the agent doesn't exist in that space nothing will happen.</p>
-</div>
-<div class="section" title="=Destination">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name=".3DDestination_2"></a>=Destination</h6>
-</div>
-</div>
-</div>
-<p>The destination is irrelevant for a leave action and should not be specified.</p>
-</div>
-</div>
-<div class="section" title="Die">
-<div class="titlepage">
-<div>
-<div>
-<h5 class="title">
-<a name="Die"></a>Die</h5>
-</div>
-</div>
-</div>
-<p>Causes the agent to cease to exist within the model as a whole.</p>
-<div class="section" title="Selection">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Selection_6"></a>Selection</h6>
-</div>
-</div>
-</div>
-<p>The selection determines what space the agent to remove.</p>
-</div>
-<div class="section" title="=Destination">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name=".3DDestination_3"></a>=Destination</h6>
-</div>
-</div>
-</div>
-<p>The destination is irrelevant in this case and will probably be removed.</p>
-</div>
-</div>
-<div class="section" title="Connect">
-<div class="titlepage">
-<div>
-<div>
-<h5 class="title">
-<a name="Connect"></a>Connect</h5>
-</div>
-</div>
-</div>
-<p>Connects two agents within a network space. This Action is not applicable for any other kinds of spaces. Note that unlike with other transformational commands, we do not use the destination space to determine the space that will be impacted by the Action. This provides a more efficient representation without any loss in generality, because it allows us to search for a source and target agent within other spaces and then create a connection without creating a separate selection. As the important structural feature of networks are the relationships themselves, not the nodes this provides a more direct way to specify these relationships.</p>
-<div class="section" title="Selection">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Selection_7"></a>Selection</h6>
-</div>
-</div>
-</div>
-<p>The selection determines the agent that will be connected to another agent. In the case of a directed graph, this is the source node.</p>
-</div>
-<div class="section" title="=Destination">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name=".3DDestination_4"></a>=Destination</h6>
-</div>
-</div>
-</div>
-<p>The destination determines the agent that the selection agent will be connected to. In the case of a directed graph, this is the target node.</p>
-</div>
-<div class="section" title="Within">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Within"></a>Within</h6>
-</div>
-</div>
-</div>
-<p>Specifies the network that the connection will be created within.</p>
-</div>
-</div>
-<div class="section" title="Directed">
-<div class="titlepage">
-<div>
-<div>
-<h5 class="title">
-<a name="Directed_2"></a>Directed</h5>
-</div>
-</div>
-</div>
-<p>Determines whether the connection made is directed or not. If true, selections from source agents will include the target, but target agent selections will not include the source agents (unless they are connected through some other path).</p>
-</div>
-<div class="section" title="Disconnect">
-<div class="titlepage">
-<div>
-<div>
-<h5 class="title">
-<a name="Disconnect"></a>Disconnect</h5>
-</div>
-</div>
-</div>
-<p>Removes the connection between agents within a network space. See the description of the Connect Action for important details.</p>
-<div class="section" title="Selection">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Selection_8"></a>Selection</h6>
-</div>
-</div>
-</div>
-<p>The selection determines one side of the agent relationship that will be disconnected.</p>
-</div>
-<div class="section" title="=Destination">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name=".3DDestination_5"></a>=Destination</h6>
-</div>
-</div>
-</div>
-<p>The selection determines one other side of the agent relationship that will be disconnected.</p>
-</div>
-<div class="section" title="Within">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Within_2"></a>Within</h6>
-</div>
-</div>
-</div>
-<p>Specifies the network that the connection will be created within.</p>
-</div>
-</div>
-<div class="section" title="Replace">
-<div class="titlepage">
-<div>
-<div>
-<h5 class="title">
-<a name="Replace"></a>Replace</h5>
-</div>
-</div>
-</div>
-<p>Functions in the same way as a Connect Action excepth that all other connections to other agents will first be removed.</p>
-<div class="section" title="Selection">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Selection_9"></a>Selection</h6>
-</div>
-</div>
-</div>
-<p>The selection determines the agent that will be connected to another agent. In the case of a directed graph, this is the source node.</p>
-</div>
-<div class="section" title="=Destination">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name=".3DDestination_6"></a>=Destination</h6>
-</div>
-</div>
-</div>
-<p>The destination determines the agent that the selection agent will be connected to. In the case of a directed graph, this is the target node.</p>
-</div>
-<div class="section" title="Within">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Within_3"></a>Within</h6>
-</div>
-</div>
-</div>
-<p>Specifies the network that the connection will be created within.</p>
-</div>
-</div>
-<div class="section" title="Directed">
-<div class="titlepage">
-<div>
-<div>
-<h5 class="title">
-<a name="Directed_3"></a>Directed</h5>
-</div>
-</div>
-</div>
-<p>Determines whether the connection made is directed or not. See the Connect description for more details.</p>
-</div>
-</div>
 <div class="section" title="Builders">
 <div class="titlepage">
 <div>
@@ -924,7 +598,7 @@
 <div>
 <div>
 <h6 class="title">
-<a name="Selection_10"></a>Selection</h6>
+<a name="Selection_3"></a>Selection</h6>
 </div>
 </div>
 </div>
@@ -941,12 +615,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>
@@ -1089,7 +763,7 @@
 <div>
 <div>
 <h6 class="title">
-<a name="Selection_11"></a>Selection</h6>
+<a name="Selection_4"></a>Selection</h6>
 </div>
 </div>
 </div>
@@ -1144,7 +818,7 @@
 <div>
 <div>
 <h6 class="title">
-<a name="Selection_12"></a>Selection</h6>
+<a name="Selection_5"></a>Selection</h6>
 </div>
 </div>
 </div>
@@ -1196,6 +870,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">
@@ -1234,7 +1361,7 @@
 					
 </p>
 <div class="mediaobject">
-<img src="images/ActionsExample.png"></div>
+<img src="images/actions/ActionsExample.png"></div>
 <p>
 				
 </p>
@@ -1243,7 +1370,7 @@
 					
 </p>
 <div class="mediaobject">
-<img src="images/ActionsExampleNew.png"></div>
+<img src="images/actions/ActionsExampleNew.png"></div>
 <p>
 				
 </p>
@@ -1349,7 +1476,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/ActionsDiagram.png"></div>
+<img src="images/actions/ActionsDiagram.png"></div>
 <p>
 						
 </p>
@@ -1359,7 +1486,7 @@
 <div>
 <div>
 <h5 class="title">
-<a name="Details_4"></a>Details</h5>
+<a name="Details_2"></a>Details</h5>
 </div>
 </div>
 </div>
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Feedback.html b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Feedback.html
new file mode 100644
index 0000000..bb1a77f
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Feedback.html
@@ -0,0 +1,16 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Feedback</title>
+<link href="book.css" rel="stylesheet" type="text/css">
+<meta content="DocBook XSL Stylesheets V1.75.1" name="generator">
+<link rel="home" href="index.html" title="Agent Modeling Guide">
+<link rel="up" href="Support.html" title="Support">
+<link rel="prev" href="Support.html" title="Support">
+<link rel="next" href="Get_Involved.html" title="Get Involved">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<h1 xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">Feedback</h1>
+<p>If you have ideas, comments or requests for information about the project please contact us at the .</p>
+</body>
+</html>
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Functions.html b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Functions.html
index 8320205..7062466 100644
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Functions.html
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Functions.html
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="Agent Modeling Guide">
 <link rel="up" href="Modeler.27s_Guide.html" title="Modeler's Guide">
 <link rel="prev" href="Actions_2.html" title="Actions">
-<link rel="next" href="Tutorial.html" title="Tutorial">
+<link rel="next" href="Tools.html" title="Tools">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <h1 xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">Functions</h1>
@@ -46,12 +46,12 @@
 <p>The most important thing to point out about functions is that - as we've seen with other Acore concepts -- they provide richer sets of functionality than traditional approaches. Many functions are designed to collaborate with one another as we'll see when looking at Spatial and Graphical functions. Functions can also trigger the creation of related model artifacts as we'll see with the Distribution functions.</p>
 <p>A technical note: conceptually, functions can return multi-values, but that is not currently implemented in the reference targets because of limitations of the target language Java.</p>
 </div>
-<div class="section" title="Details">
+<div class="section" title="Concepts">
 <div class="titlepage">
 <div>
 <div>
 <h3 class="title">
-<a name="Details_5"></a>Details</h3>
+<a name="Concepts_3"></a>Concepts</h3>
 </div>
 </div>
 </div>
@@ -796,7 +796,7 @@
 <div>
 <div>
 <h5 class="title">
-<a name="Details_6"></a>Details</h5>
+<a name="Details_3"></a>Details</h5>
 </div>
 </div>
 </div>
@@ -951,7 +951,7 @@
 <div>
 <div>
 <h5 class="title">
-<a name="Details_7"></a>Details</h5>
+<a name="Details_4"></a>Details</h5>
 </div>
 </div>
 </div>
@@ -1156,7 +1156,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/ActionsExampleNew.png"></div>
+<img src="images/actions/ActionsExampleNew.png"></div>
 <p>
 						
 </p>
@@ -1176,7 +1176,7 @@
 <div>
 <div>
 <h5 class="title">
-<a name="Details_8"></a>Details</h5>
+<a name="Details_5"></a>Details</h5>
 </div>
 </div>
 </div>
@@ -1225,7 +1225,7 @@
 <div>
 <div>
 <h5 class="title">
-<a name="Details_9"></a>Details</h5>
+<a name="Details_6"></a>Details</h5>
 </div>
 </div>
 </div>
@@ -1456,7 +1456,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/GraphicsFunctionExampleDesign.png"></div>
+<img src="images/functions/GraphicsFunctionExampleDesign.png"></div>
 <p>
 						
 </p>
@@ -1465,7 +1465,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/GraphicsFunctionExampleRun.png"></div>
+<img src="images/functions/GraphicsFunctionExampleRun.png"></div>
 <p>
 						
 </p>
@@ -1485,7 +1485,7 @@
 <div>
 <div>
 <h5 class="title">
-<a name="Details_10"></a>Details</h5>
+<a name="Details_7"></a>Details</h5>
 </div>
 </div>
 </div>
@@ -1662,7 +1662,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/DistributionDesignChoice.png"></div>
+<img src="images/functions/DistributionDesignChoice.png"></div>
 <p> 
 						
 </p>
@@ -1671,7 +1671,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/DistributionDesign.png"></div>
+<img src="images/functions/DistributionDesign.png"></div>
 <p> 
 						
 </p>
@@ -1701,7 +1701,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/FunctionsDiagram.png"></div>
+<img src="images/functions/FunctionsDiagram.png"></div>
 <p>
 						
 </p>
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Get_Involved.html b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Get_Involved.html
new file mode 100644
index 0000000..177fc83
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Get_Involved.html
@@ -0,0 +1,17 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Get Involved</title>
+<link href="book.css" rel="stylesheet" type="text/css">
+<meta content="DocBook XSL Stylesheets V1.75.1" name="generator">
+<link rel="home" href="index.html" title="Agent Modeling Guide">
+<link rel="up" href="Support.html" title="Support">
+<link rel="prev" href="Feedback.html" title="Feedback">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<h1 xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">Get Involved</h1>
+<p>If you find this tool valuable, please be aware that most of its development occurred through volunteer contributions from individuals and companies that have received no direct funding. You can support continual development efforts financially by purchasing related software tools from companies and organizations that help develop it, including funding for developer time in grant proposals. You can support the Eclipse platform in general by becoming a member organization of Eclipse. But the most important thing that you can contribute is your own time and enthusiasm, either through directly contributing to AMP or by promoting its use in blogs and other social media. For more detailed information about contributing to AMP, please see 
+				<a class="ulink" href="http://wiki.eclipse.org/AMP/Getting_Involved" target="_new">our wiki</a>.
+			</p>
+</body>
+</html>
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Modeler.27s_Guide.html b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Modeler.27s_Guide.html
index 4b6483f..c2e7d05 100644
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Modeler.27s_Guide.html
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Modeler.27s_Guide.html
@@ -20,7 +20,7 @@
 </div>
 </div>
 </div>
-<p>In this Modeler's Guide we provide an in-depth understanding of what goes into an Agent Model and how you can use the Agent Modeling Framework tools to design one. Fundamentally, an agent-based model, or "ABM", is composed of five pieces: Agents and Context Agents, Attributes, Spaces, and Actions. The first three refer to structural components, whereas Actions define behavior. Agent models also have styles, which are a special kind of Action used to determine how to portray an agent in a visualization. Finally Actions make use of Functions. We'll describe of these components in a separate section.</p>
+<p>In this Modeler's Guide we provide an in-depth understanding of what goes into an Agent Model and how you can use the Agent Modeling Framework and related tools to design one. Fundamentally, an agent-based model, or "ABM", is composed of five pieces: Agents and Context Agents, Attributes, Spaces, and Actions. The first three refer to structural components, whereas Actions define behavior. Agent models also have styles, which are a special kind of Action used to determine how to portray an agent in a visualization. Finally Actions make use of Functions. We'll describe of these components in a separate section.</p>
 <p>But first, we'll give a quick overview at what agent-based modeling is is and how the Agent Modeling Framework can help you to develop models for ABM or other problem domains.</p>
 <div class="section" title="Agent-Based Modeling">
 <div class="titlepage">
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/More_Information.html b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/More_Information.html
index 863ed5d..1c59c1b 100644
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/More_Information.html
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/More_Information.html
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="Agent Modeling Guide">
 <link rel="up" href="Programer.27s_Guide.html" title="Programer's Guide">
 <link rel="prev" href="Developing_Models.html" title="Developing Models">
-<link rel="next" href="Resources.html" title="Resources">
+<link rel="next" href="Running_Agent_Models.html" title="Running Agent Models">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <h1 xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">More Information</h1>
@@ -46,7 +46,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ProgrammingPojoGenerateProps.png"></div>
+<img src="images/pojo/ProgrammingPojoGenerateProps.png"></div>
 <p>
 					
 </p>
@@ -55,7 +55,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ProgrammingPojoGenerateCode.png"></div>
+<img src="images/pojo/ProgrammingPojoGenerateCode.png"></div>
 <p>
 					
 </p>
@@ -74,7 +74,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ProgrammingPojoGenerate.png"></div>
+<img src="images/pojo/ProgrammingPojoGenerate.png"></div>
 <p>
 					
 </p>
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Papers.html b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Papers.html
index 729e5fc..09bbcf7 100644
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Papers.html
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Papers.html
@@ -7,6 +7,7 @@
 <link rel="home" href="index.html" title="Agent Modeling Guide">
 <link rel="up" href="Resources.html" title="Resources">
 <link rel="prev" href="Websites.html" title="Websites">
+<link rel="next" href="Support.html" title="Support">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <h1 xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">Papers</h1>
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Programer.27s_Guide.html b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Programer.27s_Guide.html
index cab5666..9634ea4 100644
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Programer.27s_Guide.html
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Programer.27s_Guide.html
@@ -6,7 +6,7 @@
 <meta content="DocBook XSL Stylesheets V1.75.1" name="generator">
 <link rel="home" href="index.html" title="Agent Modeling Guide">
 <link rel="up" href="index.html" title="Agent Modeling Guide">
-<link rel="prev" href="Running_Agent_Models.html" title="Running Agent Models">
+<link rel="prev" href="Tutorial.html" title="Tutorial">
 <link rel="next" href="Getting_Started_2.html" title="Getting Started">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -16,7 +16,7 @@
 <div>
 <div>
 <h2 class="title" style="clear: both">
-<a name="Overview_5"></a>Overview</h2>
+<a name="Overview_6"></a>Overview</h2>
 </div>
 </div>
 </div>
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Resources.html b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Resources.html
index 8081add..3bbc4f0 100644
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Resources.html
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Resources.html
@@ -6,7 +6,7 @@
 <meta content="DocBook XSL Stylesheets V1.75.1" name="generator">
 <link rel="home" href="index.html" title="Agent Modeling Guide">
 <link rel="up" href="index.html" title="Agent Modeling Guide">
-<link rel="prev" href="More_Information.html" title="More Information">
+<link rel="prev" href="Running_Agent_Models.html" title="Running Agent Models">
 <link rel="next" href="Websites.html" title="Websites">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -28,7 +28,7 @@
 <div>
 <div>
 <h4 class="title">
-<a name="N10DD7"></a>Import from CVS</h4>
+<a name="N11112"></a>Import from CVS</h4>
 </div>
 </div>
 </div>
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Running_Agent_Models.html b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Running_Agent_Models.html
index 884f43b..234e9f7 100644
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Running_Agent_Models.html
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Running_Agent_Models.html
@@ -5,9 +5,9 @@
 <link href="book.css" rel="stylesheet" type="text/css">
 <meta content="DocBook XSL Stylesheets V1.75.1" name="generator">
 <link rel="home" href="index.html" title="Agent Modeling Guide">
-<link rel="up" href="Modeler.27s_Guide.html" title="Modeler's Guide">
-<link rel="prev" href="Tutorial.html" title="Tutorial">
-<link rel="next" href="Programer.27s_Guide.html" title="Programer's Guide">
+<link rel="up" href="Programer.27s_Guide.html" title="Programer's Guide">
+<link rel="prev" href="More_Information.html" title="More Information">
+<link rel="next" href="Resources.html" title="Resources">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <h1 xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">Running Agent Models</h1>
@@ -124,54 +124,8 @@
 </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.
+					<span class="bold"><strong>Help &gt; Cheat Sheets...</strong></span> and then select "Run an Example Model" from within the "Agent Modeling" category.
 				</p>
-<p>Right-click on the model, and select "Execute". You should see something like this:</p>
-<p>
-					
-</p>
-<div class="mediaobject">
-<img src="images/EpidemicModelRunning.png"></div>
-<p>
-				
-</p>
-<p>The toolbar buttons allow you to control model execution.</p>
-<p>
-					
-</p>
-<div class="mediaobject">
-<img src="images/EpidemicModelControls.png"></div>
-<p>
-				
-</p>
-<p>From right to left, you can start, restart, pause, step, stop and close a model. You can even run multiple models and control them independently. You can also move views around, close them and so on as with any other Eclipse views. Here we're running two separate models for comparison.</p>
-<p>
-					
-</p>
-<div class="mediaobject">
-<img src="images/EpidemicModelComparison.png"></div>
-<p>
-				
-</p>
-<p>If you want to find out more about an agent, show the properties view, and click on agent.</p>
-<p>
-					
-</p>
-<div class="mediaobject">
-<img src="images/EpidemicModelAgentProperties.png"></div>
-<p>
-				
-</p>
-<p>You can experiment with different parameters (settings) for models by then clicking in the gray area away within the view.</p>
-<p>
-					
-</p>
-<div class="mediaobject">
-<img src="images/EpidemicModelProperties.png"></div>
-<p>
-				
-</p>
-<p>There are a number of other things to play around with, such as zooming the agent view or selecting other chart series to display using the Chart Customizer, so just explore. You can always close an active model by clicking on the close toolbar button. Or if you can't access the models controls for some reason, you can open the progress view and close projects form there.</p>
 <div class="section" title="Next Steps">
 <div class="titlepage">
 <div>
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Structure.html b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Structure.html
index bc81ee3..ac47f69 100644
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Structure.html
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Structure.html
@@ -23,12 +23,12 @@
 <p>The basic structure of an agent-based model can be quite simple. While there are many subtle complexities  -- beyond the scope of this manual -- we can construct most models following some straightforward and elegant design principles. And in fact, one of the main goals of the Agent Modeling Framework is to provide a consistent framework that can support using those principles to support the creation of models that can be easily understood, shared, and that can be used interchangeably as components in other models.</p>
 <p>Unlike the approach of a traditional Object Oriented environment, the dominant organizing principal for agents within AMF follows a compositional hierarchical model, not an inheritance model. (Inheritance-like behavior will be supported in forthcoming versions of Acore, but in a more sophisticated, flexible and dynamic way than is supported by traditional programming languages such as Java.) Contexts -- also referred to as "Swarms" or "Scapes", are simply Agents that are capable of containing other agents. With this basic construct -- known as a Composition in design pattern language -- agents are able to contain other agents.</p>
 </div>
-<div class="section" title="Details">
+<div class="section" title="Concepts">
 <div class="titlepage">
 <div>
 <div>
 <h3 class="title">
-<a name="Details"></a>Details</h3>
+<a name="Concepts"></a>Concepts</h3>
 </div>
 </div>
 </div>
@@ -60,7 +60,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">
@@ -71,7 +71,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">
@@ -532,7 +532,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/StructureComplexDiagram.png"></div>
+<img src="images/structure/StructureComplexDiagram.png"></div>
 <p> 
 						
 </p>
@@ -555,7 +555,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/StructureSimpleDiagram.png"></div>
+<img src="images/structure/StructureSimpleDiagram.png"></div>
 <p>
 						
 </p>
@@ -570,7 +570,7 @@
 <div>
 <div>
 <h5 class="title">
-<a name="Details_2"></a>Details</h5>
+<a name="Details"></a>Details</h5>
 </div>
 </div>
 </div>
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Support.html b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Support.html
new file mode 100644
index 0000000..98aa767
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Support.html
@@ -0,0 +1,108 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Support</title>
+<link href="book.css" rel="stylesheet" type="text/css">
+<meta content="DocBook XSL Stylesheets V1.75.1" name="generator">
+<link rel="home" href="index.html" title="Agent Modeling Guide">
+<link rel="up" href="index.html" title="Agent Modeling Guide">
+<link rel="prev" href="Papers.html" title="Papers">
+<link rel="next" href="Feedback.html" title="Feedback">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<h1 xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">Support</h1>
+<div class="section" title="Issues">
+<div class="titlepage">
+<div>
+<div>
+<h2 class="title" style="clear: both">
+<a name="Issues"></a>Issues</h2>
+</div>
+</div>
+</div>
+<p>Eclipse and the AMP project have a mandate for open communication. Please note that unless you are a customer of an AMP project contributor we will not respond to direct requests for support. We 
+				<span class="italic">will</span> make every effort to support your use of AMP in the following ways:
+			</p>
+<div class="section" title="General Support, Questions and Discussion">
+<div class="titlepage">
+<div>
+<div>
+<h3 class="title">
+<a name="General_Support.2C_Questions_and_Discussion"></a>General Support, Questions and Discussion</h3>
+</div>
+</div>
+</div>
+<p>The 
+					<a class="ulink" href="http://www.eclipse.org/forums/index.php?t=thread&frm_id=17&S=f4fa6cb31327772a3b626dc409db409b" target="_new">Agent Modeling Platform Newsgroup</a> is the place to discuss or get support for any of the Eclipse AMP tools. 
+				</p>
+</div>
+<div class="section" title="View Existing Bugs and Feature Requests">
+<div class="titlepage">
+<div>
+<div>
+<h3 class="title">
+<a name="View_Existing_Bugs_and_Feature_Requests"></a>View Existing Bugs and Feature Requests</h3>
+</div>
+</div>
+</div>
+<p>If you have a problem or idea for improvement, there's a good chance that its already been discovered. To avoid duplication, please check the current bugs before filing a new bug report or feature request.</p>
+<p>
+					
+<a class="ulink" href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=AMP&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=" target="_new">Search Existing Bugs</a>
+				
+</p>
+</div>
+<div class="section" title="File a Bug">
+<div class="titlepage">
+<div>
+<div>
+<h3 class="title">
+<a name="File_a_Bug"></a>File a Bug</h3>
+</div>
+</div>
+</div>
+<p>This may sound obvious, but if something doesn't work as it should, the only way that we're going to find out is if someone reports it. All AMP related bugs or feature requests should use the Eclipse Bugzilla.</p>
+<p>
+					
+<a class="ulink" href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=AMP&rep_platform=All&op_sys=All" target="_new">File a Bug or Feature Request</a>
+				
+</p>
+</div>
+<div class="section" title="Discuss AMP Development and Project">
+<div class="titlepage">
+<div>
+<div>
+<h3 class="title">
+<a name="Discuss_AMP_Development_and_Project"></a>Discuss AMP Development and Project</h3>
+</div>
+</div>
+</div>
+<p>All discussion about software development, design and project management issues take place on the AMP dev-list. If you're interested in contributing to the AMP project, this is a good place to contact us. 
+					<a class="ulink" href="https://dev.eclipse.org/mailman/listinfo/amp-dev" target="_new">https://dev.eclipse.org/mailman/listinfo/amp-dev</a>.
+				</p>
+</div>
+<div class="section" title="Professional Support">
+<div class="titlepage">
+<div>
+<div>
+<h3 class="title">
+<a name="Professional_Support"></a>Professional Support</h3>
+</div>
+</div>
+</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>
+</body>
+</html>
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Tools.html b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Tools.html
new file mode 100644
index 0000000..7baaafd
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Tools.html
@@ -0,0 +1,1109 @@
+<html>
+<head>
+<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Tools</title>
+<link href="book.css" rel="stylesheet" type="text/css">
+<meta content="DocBook XSL Stylesheets V1.75.1" name="generator">
+<link rel="home" href="index.html" title="Agent Modeling Guide">
+<link rel="up" href="Modeler.27s_Guide.html" title="Modeler's Guide">
+<link rel="prev" href="Functions.html" title="Functions">
+<link rel="next" href="Tutorial.html" title="Tutorial">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<h1 xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">Tools</h1>
+<p>In this section of the guide, we'll discuss specific aspects of the Agent Modeling tools and show you how to use them in your day to day agent development activities. We discuss only tools specific to Agent Modeling itself. For more general information about the tools, such as how to customize editors, views, and perspectives, see the 
+				<span class="bold"><strong>Workbench User Guide</strong></span>.
+			</p>
+<div class="section" title="Overview">
+<div class="titlepage">
+<div>
+<div>
+<h3 class="title">
+<a name="Overview_5"></a>Overview</h3>
+</div>
+</div>
+</div>
+<p>The Agent Modeling Platform provides two general modes or "perspectives" for working with Agent Models.</p>
+<p>
+					
+</p>
+<div class="mediaobject">
+<img src="images/tools/Perspectives.png"></div>
+<p>
+				
+</p>
+<p>
+					
+<span class="bold"><strong>Agent Modeling</strong></span> supports all aspects of working with models, including editing models and automatically generating all the of your code and documentation. 
+					<span class="bold"><strong>Agent Execution</strong></span> supports running and exploring those models. A key feature of the Agent Modeling Platform is the ability to execute models within the same environment that they are developed within -- you don't need to launch a separate environment in order to run a model. Agent Execution automatically activates when you launch a model. We'll discuss the agent modeling tools first, and then turn to agent execution.
+				</p>
+</div>
+<div class="section" title="Agent Modeling">
+<div class="titlepage">
+<div>
+<div>
+<h3 class="title">
+<a name="Agent_Modeling"></a>Agent Modeling</h3>
+</div>
+</div>
+</div>
+<div class="section" title="Perspective">
+<div class="titlepage">
+<div>
+<div>
+<h4 class="title">
+<a name="Perspective"></a>Perspective</h4>
+</div>
+</div>
+</div>
+<p>The Provides a custom layout menus and tools specific to working with agent models. Because the agent modeling process also often involves Java and Eclipse Plugin development we include easy access to many of those tools here as well.</p>
+</div>
+<div class="section" title="Creating Projects and Models">
+<div class="titlepage">
+<div>
+<div>
+<h4 class="title">
+<a name="Creating_Projects_and_Models"></a>Creating Projects and Models</h4>
+</div>
+</div>
+</div>
+<p>You can create projects and project components using the Popup menu. Just click in a blank space within the Package Explorer. Any installed project targets are displayed in this menu. For example, if you've installed the Simphony target, you'd see that displayed in this menu as well.</p>
+<p>
+						
+</p>
+<div class="mediaobject">
+<img src="images/edit_tutorial/SimpleTutorial3CreateModel.png"></div>
+<p>
+					
+</p>
+</div>
+<div class="section" title="Menus, Popups and Toolbar">
+<div class="titlepage">
+<div>
+<div>
+<h4 class="title">
+<a name="Menus.2C_Popups_and_Toolbar"></a>Menus, Popups and Toolbar</h4>
+</div>
+</div>
+</div>
+<p>The popup menus and application menus provide access to various model features and are context sensitive.  Throughout these screenshots, we've customized the toolbar in order to only show the agent Modeling specific features.</p>
+</div>
+<div class="section" title="Views">
+<div class="titlepage">
+<div>
+<div>
+<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="Editor"></a>Editor</h5>
+</div>
+</div>
+</div>
+<p>This is not technically a view in itself. It is the major focus of the workbench and contains any edit models or other files such as Java source or parameters.</p>
+</div>
+<div class="section" title="Default Views">
+<div class="titlepage">
+<div>
+<div>
+<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">
+<div class="titlepage">
+<div>
+<div>
+<h4 class="title">
+<a name="Editing_Models"></a>Editing Models</h4>
+</div>
+</div>
+</div>
+<p>The Eclipse Agent Modeling Framework includes a full-featured model editor based on the Eclipse Modeling Framework's Edit tools. All aspects of an AMF model can be managed from within this tool. Note that the tree editor is only one of many ways of editing a model. Other editors of AMF models incude textual languages and custom editors that are part of commercial offerings.</p>
+<div class="section" title="Opening the Editor">
+<div class="titlepage">
+<div>
+<div>
+<h5 class="title">
+<a name="Opening_the_Editor"></a>Opening the Editor</h5>
+</div>
+</div>
+</div>
+<p>To open a model in the editor, simply double-click on it. If the model doesn't open in the model editor (if for example it had been previously opened using another editor), you can always access the editor using 
+							<span class="bold"><strong>Open With &gt; Other...</strong></span> and selecting "MetaABM Editor". The editor has two pages, an Editor page that we'll focus on first and a "description" page that we'll dicuss at the end of this section.
+						</p>
+</div>
+<div class="section" title="Editing Structure">
+<div class="titlepage">
+<div>
+<div>
+<h5 class="title">
+<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 Components">
+<div class="titlepage">
+<div>
+<div>
+<h6 class="title">
+<a name="Opening_Components"></a>Opening Components</h6>
+</div>
+</div>
+</div>
+<p>After opening a model, you can see the contents by clicking the Triangle symbol to the left of an item. For example, opening the root context node, we see:</p>
+<p>
+								
+</p>
+<div class="mediaobject">
+<img src="images/tools/Editor.png"></div>
+<p>
+							
+</p>
+</div>
+<div class="section" title="Editing Components">
+<div class="titlepage">
+<div>
+<div>
+<h6 class="title">
+<a name="Editing_Components"></a>Editing Components</h6>
+</div>
+</div>
+</div>
+<p>To edit components, select the node you want to modify. The 
+								<span class="bold"><strong>Properties View</strong></span> will be updated with the agent details. Use the properties view to modify the values. In the screenshot below, we're editing the values for the City space.
+							</p>
+<p>
+								
+</p>
+<div class="mediaobject">
+<img src="images/tools/EditorEditing.png"></div>
+<p>
+							
+</p>
+</div>
+<div class="section" title="Adding Components">
+<div class="titlepage">
+<div>
+<div>
+<h6 class="title">
+<a name="Adding_Components"></a>Adding Components</h6>
+</div>
+</div>
+</div>
+<p>You add nodes by right-clicking on a node, like so:</p>
+<p>
+								
+</p>
+<div class="mediaobject">
+<img src="images/tools/EditorAdd.png"></div>
+<p>
+							
+</p>
+</div>
+<div class="section" title="Moving Components">
+<div class="titlepage">
+<div>
+<div>
+<h6 class="title">
+<a name="Moving_Components"></a>Moving Components</h6>
+</div>
+</div>
+</div>
+<p>You can often rearrange model components by dragging them from one place to another. In the following example, we're creating a model of a regional epidemic by creating a City sub-context and moving the agent into it: </p>
+<p>
+								
+</p>
+<div class="mediaobject">
+<img src="images/tools/EditorMoving.png"></div>
+<p>
+							
+</p>
+</div>
+<div class="section" title="Removing Components">
+<div class="titlepage">
+<div>
+<div>
+<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>
+<div>
+<h6 class="title">
+<a name="Editing_Attributes"></a>Editing Attributes</h6>
+</div>
+</div>
+</div>
+<p>The attributes node -- along with the actions and styles nodes -- represents a group of components rather than an entity itself. It contains all of the attributes for the parent agent or context. In the examples below, we can see the attributes for the Epidemic route model. Note that the top level attributes in a root context act as the parameters for the model itself.</p>
+<p>
+								
+</p>
+<div class="mediaobject">
+<img src="images/tools/EditorAttributes.png"></div>
+<p>
+							
+</p>
+</div>
+<div class="section" title="Editing Styles">
+<div class="titlepage">
+<div>
+<div>
+<h6 class="title">
+<a name="Editing_Styles"></a>Editing Styles</h6>
+</div>
+</div>
+</div>
+<p>The Styles node is another group node, in this case representing a set of styles that can be used to visualize the agents. When creating a style, you will need to create a Rule for each style as well, like so:</p>
+<p>
+								
+</p>
+<div class="mediaobject">
+<img src="images/tools/EditorStyles.png"></div>
+<p>
+							
+</p>
+</div>
+</div>
+<div class="section" title="Editing Actions">
+<div class="titlepage">
+<div>
+<div>
+<h5 class="title">
+<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 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>
+<div>
+<h6 class="title">
+<a name="Order"></a>Order</h6>
+</div>
+</div>
+</div>
+<p>Generally, action sources will appear above their targets. In the case where there is only one source for a given target, and that target has no other sources, they will appear directly above one another. Its important to note however that 
+								<span class="italic">the order of the nodes does not indicate a specific source and target relationship</span>. For example, in the case where there are multiple targets for a source, they will typically follow that source immediately. To make the relationships clear, every action lists its source actions as part of the action label. Agent selections also appear as part .
+							</p>
+<p>
+								
+</p>
+<div class="mediaobject">
+<img src="images/tools/ActionsExample.png"></div>
+<p>
+							
+</p>
+<p>In the above example, the Initialize Location "Initialize Action" is straightforward. We simply define a Select Action, a Query Action target for that selection, and then a Move Action target for the query. The "Transmission" Rule is more complicated. Note for example that the "Infectious" Union Action is the target of both the "Asymptomatic Infectious" and  "Symptomatic Infectious" Query Actions. The "Vulnerable Neighbor" action has the label "Vulnerable Neighbor [Potential Exposure] &lt;- [Potential Exposure]" indicating that the "Potential Exposure" action serves as its selection as well as its source.</p>
+</div>
+<div class="section" title="Initial Order">
+<div class="titlepage">
+<div>
+<div>
+<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">
+<div class="titlepage">
+<div>
+<div>
+<h4 class="title">
+<a name="Building_Models"></a>Building Models</h4>
+</div>
+</div>
+</div>
+<p>If you've used other development environments, you're probably used to a separate build step. For example, if you edit a set of Java files, you might invoke a compile command. Eclipse and the Agent Modeling Platform support automatic building. This means that in order to build your code, you simply save the model and the environment takes care of the rest. What gets built is defined by the project. For example, if you save a model that is contained within an Agent Modeling Escape Project, the following steps occur automatically:</p>
+<div class="orderedlist">
+<ol class="orderedlist" type="1">
+<li class="listitem">
+<p>The Escape builder generates Java code for the Escape API, including support for specialized graphics and (if enabled) 3D visualization.</p>
+</li>
+<li class="listitem">
+<p>The Documentation builder generates custom html documentation for the model.</p>
+</li>
+<li class="listitem">
+<p>The Java builder takes the Java code generated above and compiles it.</p>
+</li>
+<li class="listitem">
+<p>The Manifest and Schema builders package the project for use as part of the Eclipse plugin environment.</p>
+</li>
+</ol>
+</div>
+<p>So what do you do if you want to generate code for a different target, such as Repast? Here, you simply create another project and drag the model into it. You can also edit the builders for a given project (see the Workbench Documentation) but you'll only want to do that if you're making permanent changes to the project itself.</p>
+</div>
+<div class="section" title="Generating Specialized Model Artifacts">
+<div class="titlepage">
+<div>
+<div>
+<h4 class="title">
+<a name="Generating_Specialized_Model_Artifacts"></a>Generating Specialized Model Artifacts</h4>
+</div>
+</div>
+</div>
+<p>You can also manually generate code for models. This is useful if you want to create code for a model in a non target project and don't want the automatic build capabilities. There are also specialized targets that can be generated manually that are bundled with the tools -- AMP plugin developers can easily add custom generation targets for this menu. To generate custom artifacts, right-click on a model and select 
+						<span class="bold"><strong>Generate</strong></span>.
+					</p>
+<p>
+						
+</p>
+<div class="mediaobject">
+<img src="images/tools/GenerateMenu.png"></div>
+<p>
+					
+</p>
+<p>Targets include:</p>
+<div class="section" title="Platform Targets">
+<div class="titlepage">
+<div>
+<div>
+<h5 class="title">
+<a name="Platform_Targets"></a>Platform Targets</h5>
+</div>
+</div>
+</div>
+<p>Creates code for one of the installed targets, such as Ascape, Escape, and Simphony. (Again, these generators are unnecessary for projects that already have target specific builders configured.)</p>
+</div>
+<div class="section" title="Interfaces">
+<div class="titlepage">
+<div>
+<div>
+<h5 class="title">
+<a name="Interfaces"></a>Interfaces</h5>
+</div>
+</div>
+</div>
+<p>Creates a complete set of interfaces for the model classes. These can be very useful for development and integration in enterprise environments. Generated classes are placed in the src directory with "I" added to the name. For example, if you generate interfaces for a model with an "Individual" agent, this target will create an "IIndividual" interface that includes getters, setters and methods for all of the agent's attributes and actions.</p>
+</div>
+<div class="section" title="Skeleton">
+<div class="titlepage">
+<div>
+<div>
+<h5 class="title">
+<a name="Skeleton"></a>Skeleton</h5>
+</div>
+</div>
+</div>
+<p>Creates a base class for the model. This is essentially a complete implementation, but without the action implementations. Again, these classes can be useful when generating code for use in enterprise and other specialized environments.</p>
+</div>
+<div class="section" title="Test Cases">
+<div class="titlepage">
+<div>
+<div>
+<h5 class="title">
+<a name="Test_Cases"></a>Test Cases</h5>
+</div>
+</div>
+</div>
+<p>Generates base support (needing customization) test cases for use in JUnit tests.</p>
+</div>
+<div class="section" title="Text Documents">
+<div class="titlepage">
+<div>
+<div>
+<h5 class="title">
+<a name="Text_Documents"></a>Text Documents</h5>
+</div>
+</div>
+</div>
+<p>Creates simple text documentation for use in other documents.</p>
+</div>
+<div class="section" title="Generate Key Graphics">
+<div class="titlepage">
+<div>
+<div>
+<h5 class="title">
+<a name="Generate_Key_Graphics"></a>Generate Key Graphics</h5>
+</div>
+</div>
+</div>
+<p>This specialized target supports the creation of graphic keys for the model. To use this target:</p>
+<div class="orderedlist">
+<ol class="orderedlist" type="1">
+<li class="listitem">
+<p>Generate the code.</p>
+</li>
+<li class="listitem">
+<p>Add a dependency to the Manifest for "org.eclipse.amp.amf.gen.extras".</p>
+</li>
+<li class="listitem">
+<p>In the srcutil directory find the Java source code for the calss {RootContext}GraphicsWriter. For example, for the Epidemic model, this would be srcutil/name.milesparker.epi/EpidemicGraphicsWriter.java.</p>
+</li>
+<li class="listitem">
+<p>Right-click, and select 
+									<span class="bold"><strong>Run As &gt; Java Application</strong></span>.
+								</p>
+</li>
+<li class="listitem">
+<p>Refresh the project by right-clicking on it and selecting 
+									<span class="bold"><strong>Refresh</strong></span>.
+								</p>
+</li>
+<li class="listitem">
+<p>The Doc directory will now contain a number of new files, including</p>
+<div class="orderedlist">
+<ol class="orderedlist" type="a">
+<li class="listitem">
+<p>{RootContext}Key.png</p>
+</li>
+<li class="listitem">
+<p>{RootContext}GraphicsKey.html</p>
+</li>
+</ol>
+</div>
+</li>
+</ol>
+</div>
+<p>Both files contain graphic representations of the model using the definitions defined by the model styles, very useful artifacts for inclusion in papers and web pages describing your model. For example, here is the EpidemicKey.png:</p>
+<p>
+							
+</p>
+<div class="mediaobject">
+<img src="images/tools/EpidemicKey.png"></div>
+<p>
+						
+</p>
+</div>
+<div class="section" title="Function Docs">
+<div class="titlepage">
+<div>
+<div>
+<h5 class="title">
+<a name="Function_Docs"></a>Function Docs</h5>
+</div>
+</div>
+</div>
+<p>Generates WikiText documentation for function libraries. We use it to create the function documentation in this guide!</p>
+</div>
+</div>
+</div>
+<div class="section" title="Agent Execution">
+<div class="titlepage">
+<div>
+<div>
+<h3 class="title">
+<a name="Agent_Execution"></a>Agent Execution</h3>
+</div>
+</div>
+</div>
+<div class="section" title="Launching a Model (AMF)">
+<div class="titlepage">
+<div>
+<div>
+<h4 class="title">
+<a name="Launching_a_Model_.28AMF.29"></a>Launching a Model (AMF)</h4>
+</div>
+</div>
+</div>
+<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="Execute"></a>Execute</h5>
+</div>
+</div>
+</div>
+<p>Launches the model using default graphics, opening the Agent Execution perspective.</p>
+</div>
+<div class="section" title="Execute Headless">
+<div class="titlepage">
+<div>
+<div>
+<h5 class="title">
+<a name="Execute_Headless"></a>Execute Headless</h5>
+</div>
+</div>
+</div>
+<p>Launches the model without graphics, opening the Agent Execution perspective.</p>
+</div>
+<div class="section" title="Execute Headless (Data)">
+<div class="titlepage">
+<div>
+<div>
+<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>
+<p>
+							
+</p>
+<div class="mediaobject">
+<img src="images/execution/AgentNavigator.png"></div>
+<p>
+						
+</p>
+</div>
+<div class="section" title="Model Manager">
+<div class="titlepage">
+<div>
+<div>
+<h5 class="title">
+<a name="Model_Manager"></a>Model Manager</h5>
+</div>
+</div>
+</div>
+<p>The 
+							<span class="bold"><strong>'Model Manager</strong></span>' allows you to examine and control the status of all running models. In the following screenshot, we've launched four separate models so that we can compare the typical model state at different periods.
+						</p>
+<p>
+							
+</p>
+<div class="mediaobject">
+<img src="images/execution/ModelManager.png"></div>
+<p>
+						
+</p>
+<p>The manager shows that two of the models are running and two are paused. By opening the model node, we can see the views that are currently being displayed. Note that we mean something different by "Views" in this context. Here "Views" are any thing that is monitoring the state of a running model. A view may not have a graphical component at all.</p>
+<p>You can make any model the current active model by clicking on its node in this view.</p>
+<div class="section" title="&quot;About this Model&quot;">
+<div class="titlepage">
+<div>
+<div>
+<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>Enter or select a specific scale in the combo menu.</p>
+</li>
+<li class="listitem">
+<p>Select a button to have the model scale either:</p>
+<div class="orderedlist">
+<ol class="orderedlist" type="a">
+<li class="listitem">
+<p>Freely</p>
+</li>
+<li class="listitem">
+<p>Within the bounds of the view</p>
+</li>
+<li class="listitem">
+<p>Within the vertical bounds of the view</p>
+</li>
+<li class="listitem">
+<p>Within the horizontal bounds of the view</p>
+</li>
+</ol>
+</div>
+</li>
+<li class="listitem">
+<p>Zoom In</p>
+</li>
+<li class="listitem">
+<p>Zoom Out</p>
+</li>
+</ol>
+</div>
+</div>
+</div>
+<div class="section" title="Charts">
+<div class="titlepage">
+<div>
+<div>
+<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>
+</body>
+</html>
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Tutorial.html b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Tutorial.html
index c5d486e..3089a26 100644
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Tutorial.html
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/Tutorial.html
@@ -6,8 +6,8 @@
 <meta content="DocBook XSL Stylesheets V1.75.1" name="generator">
 <link rel="home" href="index.html" title="Agent Modeling Guide">
 <link rel="up" href="Modeler.27s_Guide.html" title="Modeler's Guide">
-<link rel="prev" href="Functions.html" title="Functions">
-<link rel="next" href="Running_Agent_Models.html" title="Running Agent Models">
+<link rel="prev" href="Tools.html" title="Tools">
+<link rel="next" href="Programer.27s_Guide.html" title="Programer's Guide">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <h1 xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">Tutorial</h1>
@@ -81,7 +81,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial0Perspective.png"></div>
+<img src="images/edit_tutorial/SimpleTutorial0Perspective.png"></div>
 <p>
 						
 </p>
@@ -90,7 +90,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial0Perspective2.png"></div>
+<img src="images/edit_tutorial/SimpleTutorial0Perspective2.png"></div>
 <p>
 						
 </p>
@@ -111,7 +111,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial1.png"></div>
+<img src="images/edit_tutorial/SimpleTutorial1.png"></div>
 <p>
 						
 </p>
@@ -130,7 +130,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial2.png"></div>
+<img src="images/edit_tutorial/SimpleTutorial2.png"></div>
 <p>
 						
 </p>
@@ -151,7 +151,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial3CreateModel.png"></div>
+<img src="images/edit_tutorial/SimpleTutorial3CreateModel.png"></div>
 <p>
 						
 </p>
@@ -160,7 +160,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial4CreateModel.png"></div>
+<img src="images/edit_tutorial/SimpleTutorial4CreateModel.png"></div>
 <p>
 						
 </p>
@@ -171,7 +171,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial5CreatePage2.png"></div>
+<img src="images/edit_tutorial/SimpleTutorial5CreatePage2.png"></div>
 <p>
 						
 </p>
@@ -214,7 +214,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial6Createagent.png"></div>
+<img src="images/edit_tutorial/SimpleTutorial6Createagent.png"></div>
 <p>
 							
 </p>
@@ -236,7 +236,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial6NameBug.png"></div>
+<img src="images/edit_tutorial/SimpleTutorial6NameBug.png"></div>
 <p>
 							
 </p>
@@ -255,7 +255,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial10AgentCount.png"></div>
+<img src="images/edit_tutorial/SimpleTutorial10AgentCount.png"></div>
 <p>
 							
 </p>
@@ -264,7 +264,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial11BuildAgents.png"></div>
+<img src="images/edit_tutorial/SimpleTutorial11BuildAgents.png"></div>
 <p>
 							
 </p>
@@ -295,7 +295,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial7CreateGrid.png"></div>
+<img src="images/edit_tutorial/SimpleTutorial7CreateGrid.png"></div>
 <p>
 							
 </p>
@@ -327,7 +327,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial8GridParameters.png"></div>
+<img src="images/edit_tutorial/SimpleTutorial8GridParameters.png"></div>
 <p>
 							
 </p>
@@ -336,7 +336,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial9GridDims.png"></div>
+<img src="images/edit_tutorial/SimpleTutorial9GridDims.png"></div>
 <p>
 							
 </p>
@@ -355,7 +355,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial14BuildGridParams.png"></div>
+<img src="images/edit_tutorial/SimpleTutorial14BuildGridParams.png"></div>
 <p>
 							
 </p>
@@ -366,7 +366,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial13BuildGridAgents.png"></div>
+<img src="images/edit_tutorial/SimpleTutorial13BuildGridAgents.png"></div>
 <p>
 							
 </p>
@@ -396,7 +396,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial15CreateInitialize.png"></div>
+<img src="images/edit_tutorial/SimpleTutorial15CreateInitialize.png"></div>
 <p>
 						
 </p>
@@ -416,7 +416,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial16CreateSelect.png"></div>
+<img src="images/edit_tutorial/SimpleTutorial16CreateSelect.png"></div>
 <p>
 							
 </p>
@@ -425,7 +425,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial165Select2.png"></div>
+<img src="images/edit_tutorial/SimpleTutorial165Select2.png"></div>
 <p>
 							
 </p>
@@ -444,7 +444,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial17CreateQuery.png"></div>
+<img src="images/edit_tutorial/SimpleTutorial17CreateQuery.png"></div>
 <p>
 							
 </p>
@@ -453,7 +453,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial18QueryFunction.png"></div>
+<img src="images/edit_tutorial/SimpleTutorial18QueryFunction.png"></div>
 <p>
 							
 </p>
@@ -474,7 +474,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial19Move.png"></div>
+<img src="images/edit_tutorial/SimpleTutorial19Move.png"></div>
 <p>
 							
 </p>
@@ -497,7 +497,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial20ExecuteModel.png"></div>
+<img src="images/edit_tutorial/SimpleTutorial20ExecuteModel.png"></div>
 <p>
 						
 </p>
@@ -506,7 +506,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial21Execute2.png "></div>
+<img src="images/edit_tutorial/SimpleTutorial21Execute2.png "></div>
 <p>
 						
 </p>
@@ -544,7 +544,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial22CreateStyle.png "></div>
+<img src="images/edit_tutorial/SimpleTutorial22CreateStyle.png "></div>
 <p>
 							
 </p>
@@ -563,7 +563,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial23CreateStyleRule.png "></div>
+<img src="images/edit_tutorial/SimpleTutorial23CreateStyleRule.png "></div>
 <p>
 							
 </p>
@@ -585,7 +585,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial24EvaluationFunction.png "></div>
+<img src="images/edit_tutorial/SimpleTutorial24EvaluationFunction.png "></div>
 <p>
 							
 </p>
@@ -594,7 +594,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial25FinishStyle.png "></div>
+<img src="images/edit_tutorial/SimpleTutorial25FinishStyle.png "></div>
 <p>
 							
 </p>
@@ -618,7 +618,7 @@
 <div>
 <div>
 <h6 class="title">
-<a name="N10BD4"></a>Create Select and Query Actions</h6>
+<a name="N10F3E"></a>Create Select and Query Actions</h6>
 </div>
 </div>
 </div>
@@ -632,7 +632,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial26CreateQuery2.png "></div>
+<img src="images/edit_tutorial/SimpleTutorial26CreateQuery2.png "></div>
 <p>
 							
 </p>
@@ -655,7 +655,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial27NoValue.png "></div>
+<img src="images/edit_tutorial/SimpleTutorial27NoValue.png "></div>
 <p>
 							
 </p>
@@ -667,7 +667,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial28CreateAttribute.png "></div>
+<img src="images/edit_tutorial/SimpleTutorial28CreateAttribute.png "></div>
 <p>
 							
 </p>
@@ -676,7 +676,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial29AttributeValues.png "></div>
+<img src="images/edit_tutorial/SimpleTutorial29AttributeValues.png "></div>
 <p>
 							
 </p>
@@ -685,7 +685,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial30AttributeInput.png "></div>
+<img src="images/edit_tutorial/SimpleTutorial30AttributeInput.png "></div>
 <p>
 							
 </p>
@@ -694,7 +694,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial31Intersect.png "></div>
+<img src="images/edit_tutorial/SimpleTutorial31Intersect.png "></div>
 <p>
 							
 </p>
@@ -705,7 +705,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial32IntersectAdd.png "></div>
+<img src="images/edit_tutorial/SimpleTutorial32IntersectAdd.png "></div>
 <p>
 							
 </p>
@@ -714,7 +714,7 @@
 								
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial33Move.png "></div>
+<img src="images/edit_tutorial/SimpleTutorial33Move.png "></div>
 <p>
 							
 </p>
@@ -740,7 +740,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/SimpleTutorial34RunFinal.png "></div>
+<img src="images/edit_tutorial/SimpleTutorial34RunFinal.png "></div>
 <p>
 						
 </p>
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/book.css b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/book.css
index 8ea5bb4..2594674 100644
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/book.css
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/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/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/DistributionRun.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/DistributionRun.png
deleted file mode 100644
index 932a0d7..0000000
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/DistributionRun.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/Functions.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/Functions.png
deleted file mode 100644
index 559e1fb..0000000
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/Functions.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsBlocks.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsBlocks.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsBlocks.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsBlocks.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsComplexLogic.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsComplexLogic.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsComplexLogic.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsComplexLogic.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsComplexLogicNoOr.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsComplexLogicNoOr.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsComplexLogicNoOr.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsComplexLogicNoOr.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsDiagram.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsDiagram.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsDiagram.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsDiagram.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsDiagram800.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsDiagram800.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsDiagram800.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsDiagram800.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsExample.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsExample.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsExample.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsExample.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsExampleNew.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsExampleNew.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsExampleNew.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsExampleNew.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsFlowSimple.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsFlowSimple.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsFlowSimple.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsFlowSimple.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsFlowUnion.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsFlowUnion.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsFlowUnion.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsFlowUnion.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsSelBoundary11A.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsSelBoundary11A.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsSelBoundary11A.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsSelBoundary11A.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsSelBoundary2.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsSelBoundary2.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsSelBoundary2.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsSelBoundary2.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsSelBoundary2Parts.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsSelBoundary2Parts.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsSelBoundary2Parts.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsSelBoundary2Parts.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsSelBoundaryComplex.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsSelBoundaryComplex.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsSelBoundaryComplex.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsSelBoundaryComplex.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsSelBoundarySimple.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsSelBoundarySimple.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsSelBoundarySimple.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsSelBoundarySimple.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsSequence.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsSequence.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsSequence.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsSequence.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsSimpleMultiple.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsSimpleMultiple.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsSimpleMultiple.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsSimpleMultiple.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsSimpleSequence.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsSimpleSequence.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsSimpleSequence.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsSimpleSequence.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsSimpleSequence2.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsSimpleSequence2.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsSimpleSequence2.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsSimpleSequence2.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsWeaving1A.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsWeaving1A.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsWeaving1A.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsWeaving1A.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsWeaving2.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsWeaving2.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsWeaving2.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsWeaving2.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsWeavingComplexQuery.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsWeavingComplexQuery.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsWeavingComplexQuery.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsWeavingComplexQuery.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsWeavingEvaluate.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsWeavingEvaluate.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsWeavingEvaluate.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsWeavingEvaluate.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsWeavingSetAnother.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsWeavingSetAnother.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ActionsWeavingSetAnother.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/actions/ActionsWeavingSetAnother.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial0Perspective.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial0Perspective.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial0Perspective.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial0Perspective.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial0Perspective2.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial0Perspective2.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial0Perspective2.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial0Perspective2.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial1.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial1.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial1.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial1.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial10AgentCount.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial10AgentCount.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial10AgentCount.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial10AgentCount.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial11BuildAgents.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial11BuildAgents.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial11BuildAgents.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial11BuildAgents.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial12BuildGrid.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial12BuildGrid.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial12BuildGrid.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial12BuildGrid.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial13BuildGridAgents.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial13BuildGridAgents.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial13BuildGridAgents.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial13BuildGridAgents.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial14BuildGridParams.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial14BuildGridParams.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial14BuildGridParams.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial14BuildGridParams.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial15CreateInitialize.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial15CreateInitialize.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial15CreateInitialize.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial15CreateInitialize.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial165Select2.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial165Select2.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial165Select2.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial165Select2.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial16CreateSelect.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial16CreateSelect.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial16CreateSelect.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial16CreateSelect.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial17CreateQuery.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial17CreateQuery.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial17CreateQuery.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial17CreateQuery.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial18QueryFunction.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial18QueryFunction.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial18QueryFunction.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial18QueryFunction.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial19Move.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial19Move.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial19Move.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial19Move.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial2.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial2.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial2.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial2.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial20ExecuteModel.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial20ExecuteModel.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial20ExecuteModel.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial20ExecuteModel.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial21Execute2.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial21Execute2.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial21Execute2.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial21Execute2.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial22CreateStyle.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial22CreateStyle.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial22CreateStyle.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial22CreateStyle.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial23CreateStyleRule.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial23CreateStyleRule.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial23CreateStyleRule.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial23CreateStyleRule.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial24EvaluationFunction.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial24EvaluationFunction.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial24EvaluationFunction.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial24EvaluationFunction.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial25FinishStyle.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial25FinishStyle.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial25FinishStyle.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial25FinishStyle.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial26CreateQuery2.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial26CreateQuery2.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial26CreateQuery2.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial26CreateQuery2.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial27NoValue.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial27NoValue.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial27NoValue.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial27NoValue.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial28CreateAttribute.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial28CreateAttribute.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial28CreateAttribute.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial28CreateAttribute.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial29AttributeValues.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial29AttributeValues.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial29AttributeValues.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial29AttributeValues.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial30AttributeInput.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial30AttributeInput.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial30AttributeInput.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial30AttributeInput.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial31Intersect.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial31Intersect.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial31Intersect.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial31Intersect.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial32IntersectAdd.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial32IntersectAdd.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial32IntersectAdd.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial32IntersectAdd.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial33Move.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial33Move.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial33Move.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial33Move.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial34RunFinal.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial34RunFinal.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial34RunFinal.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial34RunFinal.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial3CreateModel.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial3CreateModel.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial3CreateModel.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial3CreateModel.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial4CreateModel.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial4CreateModel.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial4CreateModel.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial4CreateModel.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial5CreatePage2.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial5CreatePage2.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial5CreatePage2.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial5CreatePage2.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial6CreateAgent.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial6CreateAgent.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial6CreateAgent.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial6CreateAgent.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial6NameBug.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial6NameBug.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial6NameBug.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial6NameBug.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial7CreateGrid.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial7CreateGrid.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial7CreateGrid.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial7CreateGrid.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial8GridParameters.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial8GridParameters.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial8GridParameters.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial8GridParameters.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial9GridDims.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial9GridDims.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/SimpleTutorial9GridDims.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/edit_tutorial/SimpleTutorial9GridDims.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/AboutView.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/AboutView.png
new file mode 100644
index 0000000..b3d072d
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/AboutView.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/AgentNavigator.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/AgentNavigator.png
new file mode 100644
index 0000000..00f156b
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/AgentNavigator.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/AreaChart.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/AreaChart.png
new file mode 100644
index 0000000..4a7bda9
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/AreaChart.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/BarChart.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/BarChart.png
new file mode 100644
index 0000000..ee0b0f9
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/BarChart.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/Epidemic2DView.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/Epidemic2DView.png
new file mode 100644
index 0000000..76f3c6b
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/Epidemic2DView.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/Epidemic3D.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/Epidemic3D.png
new file mode 100644
index 0000000..0f2cb94
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/Epidemic3D.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/EpidemicChartCustomize.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/EpidemicChartCustomize.png
new file mode 100644
index 0000000..4e3f2fe
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/EpidemicChartCustomize.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/EpidemicChartOptions.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/EpidemicChartOptions.png
new file mode 100644
index 0000000..d14ade9
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/EpidemicChartOptions.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/EpidemicModelAgentProperties.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/EpidemicModelAgentProperties.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/EpidemicModelAgentProperties.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/EpidemicModelAgentProperties.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/EpidemicModelComparison.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/EpidemicModelComparison.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/EpidemicModelComparison.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/EpidemicModelComparison.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/EpidemicModelControls.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/EpidemicModelControls.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/EpidemicModelControls.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/EpidemicModelControls.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/EpidemicModelProperties.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/EpidemicModelProperties.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/EpidemicModelProperties.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/EpidemicModelProperties.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/EpidemicModelRunning.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/EpidemicModelRunning.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/EpidemicModelRunning.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/EpidemicModelRunning.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/LineChart.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/LineChart.png
new file mode 100644
index 0000000..ca746d6
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/LineChart.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/ModelManager.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/ModelManager.png
new file mode 100644
index 0000000..401308a
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/ModelManager.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/PieChart.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/PieChart.png
new file mode 100644
index 0000000..1c8df01
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/execution/PieChart.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/DistributionDesign.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/functions/DistributionDesign.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/DistributionDesign.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/functions/DistributionDesign.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/DistributionDesignChoice.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/functions/DistributionDesignChoice.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/DistributionDesignChoice.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/functions/DistributionDesignChoice.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/FunctionsDiagram.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/functions/FunctionsDiagram.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/FunctionsDiagram.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/functions/FunctionsDiagram.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/GraphicsFunctionExampleDesign.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/functions/GraphicsFunctionExampleDesign.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/GraphicsFunctionExampleDesign.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/functions/GraphicsFunctionExampleDesign.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/GraphicsFunctionExampleRun.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/functions/GraphicsFunctionExampleRun.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/GraphicsFunctionExampleRun.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/functions/GraphicsFunctionExampleRun.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ProgrammingPojoGenerate.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/pojo/ProgrammingPojoGenerate.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ProgrammingPojoGenerate.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/pojo/ProgrammingPojoGenerate.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ProgrammingPojoGenerateCode.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/pojo/ProgrammingPojoGenerateCode.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ProgrammingPojoGenerateCode.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/pojo/ProgrammingPojoGenerateCode.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ProgrammingPojoGenerateProps.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/pojo/ProgrammingPojoGenerateProps.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/ProgrammingPojoGenerateProps.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/pojo/ProgrammingPojoGenerateProps.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/StructureComplexDiagram.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/structure/StructureComplexDiagram.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/StructureComplexDiagram.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/structure/StructureComplexDiagram.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/StructureSimpleDiagram.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/structure/StructureSimpleDiagram.png
similarity index 100%
rename from org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/StructureSimpleDiagram.png
rename to org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/structure/StructureSimpleDiagram.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/ActionsExample.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/ActionsExample.png
new file mode 100644
index 0000000..657f1aa
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/ActionsExample.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/Editor.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/Editor.png
new file mode 100644
index 0000000..0c55db5
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/Editor.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/EditorAdd.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/EditorAdd.png
new file mode 100644
index 0000000..72095ec
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/EditorAdd.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/EditorAttributes.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/EditorAttributes.png
new file mode 100644
index 0000000..59e9a41
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/EditorAttributes.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/EditorEditing.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/EditorEditing.png
new file mode 100644
index 0000000..5d841ec
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/EditorEditing.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/EditorMenu.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/EditorMenu.png
new file mode 100644
index 0000000..a998e2c
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/EditorMenu.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/EditorMoving.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/EditorMoving.png
new file mode 100644
index 0000000..979ad2d
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/EditorMoving.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/EditorStyles.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/EditorStyles.png
new file mode 100644
index 0000000..7fca559
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/EditorStyles.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/EditorToolbar.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/EditorToolbar.png
new file mode 100644
index 0000000..2354aa2
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/EditorToolbar.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/EpidemicKey.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/EpidemicKey.png
new file mode 100644
index 0000000..c86926d
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/EpidemicKey.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/GenerateMenu.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/GenerateMenu.png
new file mode 100644
index 0000000..4c41f63
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/GenerateMenu.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/Inputs.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/Inputs.png
new file mode 100644
index 0000000..984ba4e
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/Inputs.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/Perspectives.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/Perspectives.png
new file mode 100644
index 0000000..006745d
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/Perspectives.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/Workbench.png b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/Workbench.png
new file mode 100644
index 0000000..9cdea2e
--- /dev/null
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/help/images/tools/Workbench.png
Binary files differ
diff --git a/org.eclipse.amp/doc/org.eclipse.amp.doc/html/amp.html b/org.eclipse.amp/doc/org.eclipse.amp.doc/html/amp.html
index 2781ef9..4f05639 100644
--- a/org.eclipse.amp/doc/org.eclipse.amp.doc/html/amp.html
+++ b/org.eclipse.amp/doc/org.eclipse.amp.doc/html/amp.html
@@ -52,10 +52,10 @@
 <span class="section"><a href="#Functions">Functions</a></span>
 </dt>
 <dt>
-<span class="section"><a href="#Tutorial">Tutorial</a></span>
+<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>
@@ -65,7 +65,7 @@
 <dd>
 <dl>
 <dt>
-<span class="section"><a href="#Overview_5">Overview</a></span>
+<span class="section"><a href="#Overview_6">Overview</a></span>
 </dt>
 <dt>
 <span class="section"><a href="#Getting_Started_2">Getting Started</a></span>
@@ -76,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>
@@ -94,6 +97,22 @@
 </dt>
 </dl>
 </dd>
+<dt>
+<span class="chapter"><a href="#Support">5. Support</a></span>
+</dt>
+<dd>
+<dl>
+<dt>
+<span class="section"><a href="#Issues">Issues</a></span>
+</dt>
+<dt>
+<span class="section"><a href="#Feedback">Feedback</a></span>
+</dt>
+<dt>
+<span class="section"><a href="#Get_Involved">Get Involved</a></span>
+</dt>
+</dl>
+</dd>
 </dl>
 </div>
 <div class="chapter" title="Chapter&nbsp;1.&nbsp;Overview">
@@ -265,7 +284,7 @@
 </div>
 </div>
 </div>
-<p>In this Modeler's Guide we provide an in-depth understanding of what goes into an Agent Model and how you can use the Agent Modeling Framework tools to design one. Fundamentally, an agent-based model, or "ABM", is composed of five pieces: Agents and Context Agents, Attributes, Spaces, and Actions. The first three refer to structural components, whereas Actions define behavior. Agent models also have styles, which are a special kind of Action used to determine how to portray an agent in a visualization. Finally Actions make use of Functions. We'll describe of these components in a separate section.</p>
+<p>In this Modeler's Guide we provide an in-depth understanding of what goes into an Agent Model and how you can use the Agent Modeling Framework and related tools to design one. Fundamentally, an agent-based model, or "ABM", is composed of five pieces: Agents and Context Agents, Attributes, Spaces, and Actions. The first three refer to structural components, whereas Actions define behavior. Agent models also have styles, which are a special kind of Action used to determine how to portray an agent in a visualization. Finally Actions make use of Functions. We'll describe of these components in a separate section.</p>
 <p>But first, we'll give a quick overview at what agent-based modeling is is and how the Agent Modeling Framework can help you to develop models for ABM or other problem domains.</p>
 <div class="section" title="Agent-Based Modeling">
 <div class="titlepage">
@@ -387,12 +406,12 @@
 <p>The basic structure of an agent-based model can be quite simple. While there are many subtle complexities  -- beyond the scope of this manual -- we can construct most models following some straightforward and elegant design principles. And in fact, one of the main goals of the Agent Modeling Framework is to provide a consistent framework that can support using those principles to support the creation of models that can be easily understood, shared, and that can be used interchangeably as components in other models.</p>
 <p>Unlike the approach of a traditional Object Oriented environment, the dominant organizing principal for agents within AMF follows a compositional hierarchical model, not an inheritance model. (Inheritance-like behavior will be supported in forthcoming versions of Acore, but in a more sophisticated, flexible and dynamic way than is supported by traditional programming languages such as Java.) Contexts -- also referred to as "Swarms" or "Scapes", are simply Agents that are capable of containing other agents. With this basic construct -- known as a Composition in design pattern language -- agents are able to contain other agents.</p>
 </div>
-<div class="section" title="Details">
+<div class="section" title="Concepts">
 <div class="titlepage">
 <div>
 <div>
 <h3 class="title">
-<a name="Details"></a>Details</h3>
+<a name="Concepts"></a>Concepts</h3>
 </div>
 </div>
 </div>
@@ -424,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">
@@ -435,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">
@@ -896,7 +915,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/StructureComplexDiagram.png"></div>
+<img src="images/structure/StructureComplexDiagram.png"></div>
 <p> 
 						
 </p>
@@ -919,7 +938,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/StructureSimpleDiagram.png"></div>
+<img src="images/structure/StructureSimpleDiagram.png"></div>
 <p>
 						
 </p>
@@ -934,7 +953,7 @@
 <div>
 <div>
 <h5 class="title">
-<a name="Details_2"></a>Details</h5>
+<a name="Details"></a>Details</h5>
 </div>
 </div>
 </div>
@@ -1025,7 +1044,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsBlocks.png"></div>
+<img src="images/actions/ActionsBlocks.png"></div>
 <p> 
 					
 </p>
@@ -1041,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.
@@ -1049,7 +1071,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsSequence.png"></div>
+<img src="images/actions/ActionsSequence.png"></div>
 <p>
 					
 </p>
@@ -1058,7 +1080,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsSimpleSequence.png"></div>
+<img src="images/actions/ActionsSimpleSequence.png"></div>
 <p>
 					
 </p>
@@ -1067,7 +1089,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsSimpleSequence2.png"></div>
+<img src="images/actions/ActionsSimpleSequence2.png"></div>
 <p>
 					
 </p>
@@ -1076,7 +1098,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsFlowSimple.png"></div>
+<img src="images/actions/ActionsFlowSimple.png"></div>
 <p>
 					
 </p>
@@ -1085,7 +1107,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsFlowUnion.png"></div>
+<img src="images/actions/ActionsFlowUnion.png"></div>
 <p>
 					
 </p>
@@ -1127,7 +1149,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsSelBoundarySimple.png"></div>
+<img src="images/actions/ActionsSelBoundarySimple.png"></div>
 <p>
 					
 </p>
@@ -1136,7 +1158,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsSelBoundary2Parts.png"></div>
+<img src="images/actions/ActionsSelBoundary2Parts.png"></div>
 <p> 
 					
 </p>
@@ -1156,7 +1178,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsSelBoundary11A.png"></div>
+<img src="images/actions/ActionsSelBoundary11A.png"></div>
 <p>
 					
 </p>
@@ -1168,7 +1190,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsSelBoundaryComplex.png"></div>
+<img src="images/actions/ActionsSelBoundaryComplex.png"></div>
 <p>
 					
 </p>
@@ -1190,7 +1212,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsWeavingSetAnother.png"></div>
+<img src="images/actions/ActionsWeavingSetAnother.png"></div>
 <p>
 					
 </p>
@@ -1199,7 +1221,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsWeavingEvaluate.png"></div>
+<img src="images/actions/ActionsWeavingEvaluate.png"></div>
 <p>
 					
 </p>
@@ -1208,7 +1230,7 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsWeaving1A.png"></div>
+<img src="images/actions/ActionsWeaving1A.png"></div>
 <p>
 					
 </p>
@@ -1217,19 +1239,19 @@
 						
 </p>
 <div class="mediaobject">
-<img src="images/ActionsWeaving2.png"></div>
+<img src="images/actions/ActionsWeaving2.png"></div>
 <p>
 					
 </p>
 <p>Before going into further details we need to introduce one more important concept. As we'll see in the detailed explanation of each Action below, Transformation Actions such as Move or Connect take multiple selections. The first selection defines the set of agents that will be performing the action. In the case of a Move agent, this refers to the mover. The second selection, which for Move we call "destination", refers to the selection that will be receiving the action. In the case of movement this is the agent or location that the Rule agent will be moving to. If we follow the flows through, we can note two important outcomes of our model design -- a Rule agent might move twice if it meets the criteria for both the blue path and the red path and that it might move to a different location each time.</p>
 </div>
 </div>
-<div class="section" title="Details">
+<div class="section" title="Concepts">
 <div class="titlepage">
 <div>
 <div>
 <h3 class="title">
-<a name="Details_3"></a>Details</h3>
+<a name="Concepts_2"></a>Concepts</h3>
 </div>
 </div>
 </div>
@@ -1239,7 +1261,7 @@
 					
 </p>
 <div class="mediaobject">
-<img src="images/ActionsBlocks.png"></div>
+<img src="images/actions/ActionsBlocks.png"></div>
 <p> 
 				
 </p>
@@ -1319,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>
@@ -1328,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">
@@ -1497,357 +1541,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_2"></a>Selection</h6>
-</div>
-</div>
-</div>
-<p>As with all other actions, evaluations specify a selection, and just as with the other actions, this determines the set of agents that the evaluation occurs for, but the input selections determine what agent is used for the calculation itself.</p>
-</div>
-<div class="section" title="Function">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Function_2"></a>Function</h6>
-</div>
-</div>
-</div>
-<p>A with queries, a function is evaluated against its input set. Functions can represent simple operators as well as complex functions. See the functions section for more information on specific functions.</p>
-</div>
-<div class="section" title="Inputs">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Inputs"></a>Inputs</h6>
-</div>
-</div>
-</div>
-<p>The set of values that will be used to determine the result, in the order of the function prototype. Inputs can specify any source evaluation and any agent state or agent parent context state. The selection determines which agent's will be used to determine the value, and different inputs can specify different selections.</p>
-</div>
-</div>
-<div class="section" title="Set">
-<div class="titlepage">
-<div>
-<div>
-<h5 class="title">
-<a name="Set"></a>Set</h5>
-</div>
-</div>
-</div>
-<p>The Set Action assigns some value to another value.</p>
-<div class="section" title="Selection">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Selection_3"></a>Selection</h6>
-</div>
-</div>
-</div>
-<p>Here the selection refers to the agent that we want to change. This does not have to be the immediatily preceeding selection but can be any accessible selection.</p>
-</div>
-<div class="section" title="Attribute">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Attribute_2"></a>Attribute</h6>
-</div>
-</div>
-</div>
-<p>The attribute to modify. It must be a member of this action's agent or of that agent's parent context.</p>
-</div>
-<div class="section" title="Parameter">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Parameter"></a>Parameter</h6>
-</div>
-</div>
-</div>
-<p>The value to assign to the attribute. Here, we can use either another agent attribute, or the results of a source evaluation. </p>
-</div>
-</div>
-<div class="section" title="Move">
-<div class="titlepage">
-<div>
-<div>
-<h5 class="title">
-<a name="Move"></a>Move</h5>
-</div>
-</div>
-</div>
-<p>The Move Action causes an agent to change its location in some space or network. The agent will leave whatever location it was in before within the selection space, and move to its new destination.</p>
-<div class="section" title="Selection">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Selection_4"></a>Selection</h6>
-</div>
-</div>
-</div>
-<p>As in any other action, the selection determines what agent is affected -- in this case the agent that is being moved.</p>
-</div>
-<div class="section" title="=Destination">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name=".3DDestination"></a>=Destination</h6>
-</div>
-</div>
-</div>
-<p>Specifies the target agent or location for the movement.</p>
-</div>
-</div>
-<div class="section" title="Leave">
-<div class="titlepage">
-<div>
-<div>
-<h5 class="title">
-<a name="Leave"></a>Leave</h5>
-</div>
-</div>
-</div>
-<p>Causes the agent to leave a particular space.</p>
-<div class="section" title="Selection">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Selection_5"></a>Selection</h6>
-</div>
-</div>
-</div>
-<p>The selection determines what agent will be leaving and what space the agent will be leaving. If the agent doesn't exist in that space nothing will happen.</p>
-</div>
-<div class="section" title="=Destination">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name=".3DDestination_2"></a>=Destination</h6>
-</div>
-</div>
-</div>
-<p>The destination is irrelevant for a leave action and should not be specified.</p>
-</div>
-</div>
-<div class="section" title="Die">
-<div class="titlepage">
-<div>
-<div>
-<h5 class="title">
-<a name="Die"></a>Die</h5>
-</div>
-</div>
-</div>
-<p>Causes the agent to cease to exist within the model as a whole.</p>
-<div class="section" title="Selection">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Selection_6"></a>Selection</h6>
-</div>
-</div>
-</div>
-<p>The selection determines what space the agent to remove.</p>
-</div>
-<div class="section" title="=Destination">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name=".3DDestination_3"></a>=Destination</h6>
-</div>
-</div>
-</div>
-<p>The destination is irrelevant in this case and will probably be removed.</p>
-</div>
-</div>
-<div class="section" title="Connect">
-<div class="titlepage">
-<div>
-<div>
-<h5 class="title">
-<a name="Connect"></a>Connect</h5>
-</div>
-</div>
-</div>
-<p>Connects two agents within a network space. This Action is not applicable for any other kinds of spaces. Note that unlike with other transformational commands, we do not use the destination space to determine the space that will be impacted by the Action. This provides a more efficient representation without any loss in generality, because it allows us to search for a source and target agent within other spaces and then create a connection without creating a separate selection. As the important structural feature of networks are the relationships themselves, not the nodes this provides a more direct way to specify these relationships.</p>
-<div class="section" title="Selection">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Selection_7"></a>Selection</h6>
-</div>
-</div>
-</div>
-<p>The selection determines the agent that will be connected to another agent. In the case of a directed graph, this is the source node.</p>
-</div>
-<div class="section" title="=Destination">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name=".3DDestination_4"></a>=Destination</h6>
-</div>
-</div>
-</div>
-<p>The destination determines the agent that the selection agent will be connected to. In the case of a directed graph, this is the target node.</p>
-</div>
-<div class="section" title="Within">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Within"></a>Within</h6>
-</div>
-</div>
-</div>
-<p>Specifies the network that the connection will be created within.</p>
-</div>
-</div>
-<div class="section" title="Directed">
-<div class="titlepage">
-<div>
-<div>
-<h5 class="title">
-<a name="Directed_2"></a>Directed</h5>
-</div>
-</div>
-</div>
-<p>Determines whether the connection made is directed or not. If true, selections from source agents will include the target, but target agent selections will not include the source agents (unless they are connected through some other path).</p>
-</div>
-<div class="section" title="Disconnect">
-<div class="titlepage">
-<div>
-<div>
-<h5 class="title">
-<a name="Disconnect"></a>Disconnect</h5>
-</div>
-</div>
-</div>
-<p>Removes the connection between agents within a network space. See the description of the Connect Action for important details.</p>
-<div class="section" title="Selection">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Selection_8"></a>Selection</h6>
-</div>
-</div>
-</div>
-<p>The selection determines one side of the agent relationship that will be disconnected.</p>
-</div>
-<div class="section" title="=Destination">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name=".3DDestination_5"></a>=Destination</h6>
-</div>
-</div>
-</div>
-<p>The selection determines one other side of the agent relationship that will be disconnected.</p>
-</div>
-<div class="section" title="Within">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Within_2"></a>Within</h6>
-</div>
-</div>
-</div>
-<p>Specifies the network that the connection will be created within.</p>
-</div>
-</div>
-<div class="section" title="Replace">
-<div class="titlepage">
-<div>
-<div>
-<h5 class="title">
-<a name="Replace"></a>Replace</h5>
-</div>
-</div>
-</div>
-<p>Functions in the same way as a Connect Action excepth that all other connections to other agents will first be removed.</p>
-<div class="section" title="Selection">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Selection_9"></a>Selection</h6>
-</div>
-</div>
-</div>
-<p>The selection determines the agent that will be connected to another agent. In the case of a directed graph, this is the source node.</p>
-</div>
-<div class="section" title="=Destination">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name=".3DDestination_6"></a>=Destination</h6>
-</div>
-</div>
-</div>
-<p>The destination determines the agent that the selection agent will be connected to. In the case of a directed graph, this is the target node.</p>
-</div>
-<div class="section" title="Within">
-<div class="titlepage">
-<div>
-<div>
-<h6 class="title">
-<a name="Within_3"></a>Within</h6>
-</div>
-</div>
-</div>
-<p>Specifies the network that the connection will be created within.</p>
-</div>
-</div>
-<div class="section" title="Directed">
-<div class="titlepage">
-<div>
-<div>
-<h5 class="title">
-<a name="Directed_3"></a>Directed</h5>
-</div>
-</div>
-</div>
-<p>Determines whether the connection made is directed or not. See the Connect description for more details.</p>
-</div>
-</div>
 <div class="section" title="Builders">
 <div class="titlepage">
 <div>
@@ -1886,7 +1579,7 @@
 <div>
 <div>
 <h6 class="title">
-<a name="Selection_10"></a>Selection</h6>
+<a name="Selection_3"></a>Selection</h6>
 </div>
 </div>
 </div>
@@ -1903,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>
@@ -2051,7 +1744,7 @@
 <div>
 <div>
 <h6 class="title">
-<a name="Selection_11"></a>Selection</h6>
+<a name="Selection_4"></a>Selection</h6>
 </div>
 </div>
 </div>
@@ -2106,7 +1799,7 @@
 <div>
 <div>
 <h6 class="title">
-<a name="Selection_12"></a>Selection</h6>
+<a name="Selection_5"></a>Selection</h6>
 </div>
 </div>
 </div>
@@ -2158,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">
@@ -2196,7 +2342,7 @@
 					
 </p>
 <div class="mediaobject">
-<img src="images/ActionsExample.png"></div>
+<img src="images/actions/ActionsExample.png"></div>
 <p>
 				
 </p>
@@ -2205,7 +2351,7 @@
 					
 </p>
 <div class="mediaobject">
-<img src="images/ActionsExampleNew.png"></div>
+<img src="images/actions/ActionsExampleNew.png"></div>
 <p>
 				
 </p>
@@ -2311,7 +2457,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/ActionsDiagram.png"></div>
+<img src="images/actions/ActionsDiagram.png"></div>
 <p>
 						
 </p>
@@ -2321,7 +2467,7 @@
 <div>
 <div>
 <h5 class="title">
-<a name="Details_4"></a>Details</h5>
+<a name="Details_2"></a>Details</h5>
 </div>
 </div>
 </div>
@@ -2399,12 +2545,12 @@
 <p>The most important thing to point out about functions is that - as we've seen with other Acore concepts -- they provide richer sets of functionality than traditional approaches. Many functions are designed to collaborate with one another as we'll see when looking at Spatial and Graphical functions. Functions can also trigger the creation of related model artifacts as we'll see with the Distribution functions.</p>
 <p>A technical note: conceptually, functions can return multi-values, but that is not currently implemented in the reference targets because of limitations of the target language Java.</p>
 </div>
-<div class="section" title="Details">
+<div class="section" title="Concepts">
 <div class="titlepage">
 <div>
 <div>
 <h3 class="title">
-<a name="Details_5"></a>Details</h3>
+<a name="Concepts_3"></a>Concepts</h3>
 </div>
 </div>
 </div>
@@ -3149,7 +3295,7 @@
 <div>
 <div>
 <h5 class="title">
-<a name="Details_6"></a>Details</h5>
+<a name="Details_3"></a>Details</h5>
 </div>
 </div>
 </div>
@@ -3304,7 +3450,7 @@
 <div>
 <div>
 <h5 class="title">
-<a name="Details_7"></a>Details</h5>
+<a name="Details_4"></a>Details</h5>
 </div>
 </div>
 </div>
@@ -3509,7 +3655,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/ActionsExampleNew.png"></div>
+<img src="images/actions/ActionsExampleNew.png"></div>
 <p>
 						
 </p>
@@ -3529,7 +3675,7 @@
 <div>
 <div>
 <h5 class="title">
-<a name="Details_8"></a>Details</h5>
+<a name="Details_5"></a>Details</h5>
 </div>
 </div>
 </div>
@@ -3578,7 +3724,7 @@
 <div>
 <div>
 <h5 class="title">
-<a name="Details_9"></a>Details</h5>
+<a name="Details_6"></a>Details</h5>
 </div>
 </div>
 </div>
@@ -3809,7 +3955,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/GraphicsFunctionExampleDesign.png"></div>
+<img src="images/functions/GraphicsFunctionExampleDesign.png"></div>
 <p>
 						
 </p>
@@ -3818,7 +3964,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/GraphicsFunctionExampleRun.png"></div>
+<img src="images/functions/GraphicsFunctionExampleRun.png"></div>
 <p>
 						
 </p>
@@ -3838,7 +3984,7 @@
 <div>
 <div>
 <h5 class="title">
-<a name="Details_10"></a>Details</h5>
+<a name="Details_7"></a>Details</h5>
 </div>
 </div>
 </div>
@@ -4015,7 +4161,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/DistributionDesignChoice.png"></div>
+<img src="images/functions/DistributionDesignChoice.png"></div>
 <p> 
 						
 </p>
@@ -4024,7 +4170,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/DistributionDesign.png"></div>
+<img src="images/functions/DistributionDesign.png"></div>
 <p> 
 						
 </p>
@@ -4054,7 +4200,7 @@
 							
 </p>
 <div class="mediaobject">
-<img src="images/FunctionsDiagram.png"></div>
+<img src="images/functions/FunctionsDiagram.png"></div>
 <p>
 						
 </p>
@@ -4062,6 +4208,1110 @@
 </div>
 </div>
 </div>
+<div class="section" title="Tools">
+<div class="titl