blob: e3352657bbfaf54bedbb4432db92f293b781c218 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<metaabm:SContext xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:act="http://metaabm.org/act" xmlns:function="http://metaabm.org/function" xmlns:metaabm="http://metaabm.org/structure" label="Spatial Model" ID="spatialModel" pluralLabel="Spatial Models">
<attributes label="Complex Movement Agent Count" ID="complexMovementAgentCount" pluralLabel="Complex Movement Agent Counts" description="The number of complex movement agents to create." sType="INTEGER" defaultValue="1"/>
<attributes label="Complex Location Count" ID="complexLocationCount" pluralLabel="Complex Location Counts" description="The number of complex locations to create." sType="INTEGER"/>
<attributes label="Spatial Model Agent Count" ID="spatialModelAgentCount" pluralLabel="Spatial Model Agent Counts" description="The number of spatial model agents to create." sType="INTEGER"/>
<attributes xsi:type="metaabm:SAttributeArray" label="Good Boundary" ID="goodBoundary" pluralLabel="Good Boundarys" sType="REAL" defaultValue="1,1,4,4" size="4"/>
<rootActivity xsi:type="act:AGroup" label="Root Act Group" ID="rootActGroup" pluralLabel="Root Act Groups">
<members xsi:type="act:ABuild" label="Build SimpleMovement" ID="buildSimpleMovement" targets="//@rootActivity/@members[ID='createComplexMovementAgents'] //@rootActivity/@members[ID='createComplexLocations'] //@rootActivity/@members[ID='buildGrid'] //@rootActivity/@members[ID='buildNet']" selected="//@rootActivity/@members[ID='buildSimpleMovement']" agent="/" pluralLabel="Build SimpleMovements"/>
<members xsi:type="act:ACreateAgents" label="Create Complex Movement Agents" ID="createComplexMovementAgents" sources="//@rootActivity/@members[ID='buildSimpleMovement']" selected="//@rootActivity/@members[ID='buildSimpleMovement']" agent="//@agents[ID='complexMovementAgent']" agentCount="//@attributes[ID='complexMovementAgentCount']"/>
<members xsi:type="act:ACreateAgents" label="Create Complex Locations" ID="createComplexLocations" sources="//@rootActivity/@members[ID='buildSimpleMovement']" selected="//@rootActivity/@members[ID='buildSimpleMovement']" agent="//@agents[ID='complexLocation']" agentCount="//@attributes[ID='complexLocationCount']"/>
<members xsi:type="act:ABuildGrid" label="Build Grid" ID="buildGrid" sources="//@rootActivity/@members[ID='buildSimpleMovement']" selected="//@rootActivity/@members[ID='buildSimpleMovement']" pluralLabel="Build Grids" agents="//@agents[ID='complexMovementAgent']" projection="//@projections[ID='grid2D']" fillAgent="//@agents[ID='complexLocation']"/>
<members xsi:type="act:ABuildNetwork" label="Build Net" ID="buildNet" sources="//@rootActivity/@members[ID='buildSimpleMovement']" selected="//@rootActivity/@members[ID='buildSimpleMovement']" pluralLabel="Build Nets" agents="//@agents[ID='complexMovementAgent']" projection="//@projections[ID='complexNet']"/>
</rootActivity>
<implementation package="org.eclipse.amp.amf.gen.test" className="SpatialModel" basePath=""/>
<agents label="Complex Movement Agent" ID="complexMovementAgent" pluralLabel="Complex Movement Agents">
<attributes label="Some Boolean" ID="someBoolean" pluralLabel="Some Booleans"/>
<attributes xsi:type="metaabm:SAttributeArray" label="Within Space" ID="withinSpace" pluralLabel="Within Spaces" sType="REAL" defaultValue="1,1,3,3" size="4"/>
<attributes label="Result" ID="result" pluralLabel="Results" sType="INTEGER"/>
<attributes xsi:type="metaabm:SState" label="Spatial State" ID="spatialState" pluralLabel="Spatial States" sType="SYMBOL" defaultValue="Option 1" defaultOption="//@agents[ID='complexMovementAgent']/@attributes[ID='spatialState']/@options.0">
<options label="Option 1" ID="option1" pluralLabel="Option 1s"/>
<options label="Option 2" ID="option2" pluralLabel="Option 2s"/>
<options label="Option 3" ID="option3" pluralLabel="Option 3s"/>
</attributes>
<attributes label="Vision" ID="vision" pluralLabel="Visions" sType="INTEGER" defaultValue="4"/>
<rootActivity xsi:type="act:AGroup" label="Root Act Group" ID="rootActGroup" pluralLabel="Root Act Groups">
<members xsi:type="act:ARule" label="Test Die All" ID="testDieAll" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='dieRandomAgent']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testDieAll']" agent="//@agents[ID='complexMovementAgent']" space="//@projections[ID='grid2D']" pluralLabel="Test Die Alls"/>
<members xsi:type="act:ASelect" label="Die Random Agent" ID="dieRandomAgent" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testDieAll']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='moverDieinDieRandomAgent']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testDieAll']" agent="//@agents[ID='complexMovementAgent']" space="//@projections[ID='grid2D']"/>
<members xsi:type="act:ADie" label="Mover Die in Die Random Agent" ID="moverDieinDieRandomAgent" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='dieRandomAgent']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='dieRandomAgent']" destination="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='dieRandomAgent']"/>
<members xsi:type="act:ARule" label="Test Negate Spatial Then Identity" ID="testNegateSpatialThenIdentity" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='locationGoodMove']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testNegateSpatialThenIdentity']" agent="//@agents[ID='complexMovementAgent']" space="//@projections[ID='grid2D']" pluralLabel="Test Negate Spatial Then Identitys"/>
<members xsi:type="act:ASelect" label="Location Good Move" ID="locationGoodMove" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testNegateSpatialThenIdentity']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='neighborBeforeIdentity']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testNegateSpatialThenIdentity']" agent="//@agents[ID='complexLocation']" space="//@projections[ID='grid2D']"/>
<members xsi:type="act:AQuery" label="Neighbor Before Identity" ID="neighborBeforeIdentity" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='locationGoodMove']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='locationGood']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='locationGoodMove']">
<function xsi:type="function:FGenericLogical" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='spatial']/@functions[ID='neighbor']"/>
</members>
<members xsi:type="act:AQuery" label="Location Good" ID="locationGood" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='neighborBeforeIdentity']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='moveLocationNoNegate'] //@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='notGoodLocation']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='locationGoodMove']">
<inputs selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='locationGoodMove']" value="//@agents[ID='complexLocation']/@attributes[ID='locationGood']"/>
<function xsi:type="function:FLogicalOperator" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='operators']/@subs[ID='logicalOperators']/@functions[ID='identity']"/>
</members>
<members xsi:type="act:AMove" label="Move Location No Negate" ID="moveLocationNoNegate" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='locationGood']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testNegateSpatialThenIdentity']" destination="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='locationGoodMove']"/>
<members xsi:type="act:ANone" label="Not Good Location" ID="notGoodLocation" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='locationGood']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='setBooleanOnNegateGoodLocation']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='locationGoodMove']"/>
<members xsi:type="act:ASet" label="Set Boolean On Negate Good Location" ID="setBooleanOnNegateGoodLocation" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='notGoodLocation']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testNegateSpatialThenIdentity']" attribute="//@agents[ID='complexMovementAgent']/@attributes[ID='someBoolean']">
<parameter xsi:type="metaabm:SAttribute" href="http://metaabm.org/core_library.metaabm#//@attributes[ID='true']"/>
</members>
<members xsi:type="act:ARule" label="Test Negate Spatial With Identity" ID="testNegateSpatialWithIdentity" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='moverNotNeighbor']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testNegateSpatialWithIdentity']" agent="//@agents[ID='complexMovementAgent']" space="//@projections[ID='grid2D']" pluralLabel="Test Negate Spatial With Identitys"/>
<members xsi:type="act:ASelect" label="Mover Not Neighbor" ID="moverNotNeighbor" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testNegateSpatialWithIdentity']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='negateNeighbor']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testNegateSpatialWithIdentity']" agent="//@agents[ID='complexMovementAgent']" space="//@projections[ID='grid2D']"/>
<members xsi:type="act:AQuery" label="Negate Neighbor" ID="negateNeighbor" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='moverNotNeighbor']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='notNeighbor']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='moverNotNeighbor']">
<function xsi:type="function:FGenericLogical" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='spatial']/@functions[ID='neighbor']"/>
</members>
<members xsi:type="act:ANone" label="Not Neighbor" ID="notNeighbor" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='negateNeighbor']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='setSomeBooleanToTrueCopyCopy']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='moverNotNeighbor']"/>
<members xsi:type="act:ASet" label="Set Some Boolean To True Copy Copy" ID="setSomeBooleanToTrueCopyCopy" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='notNeighbor']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testNegateSpatialWithIdentity']" attribute="//@agents[ID='complexMovementAgent']/@attributes[ID='someBoolean']">
<parameter xsi:type="metaabm:SAttribute" href="http://metaabm.org/core_library.metaabm#//@attributes[ID='true']"/>
</members>
<members xsi:type="act:ARule" label="Test Host Here" ID="testHostHere" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='location']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testHostHere']" agent="//@agents[ID='complexMovementAgent']" space="//@projections[ID='grid2D']" pluralLabel="Test Host Heres"/>
<members xsi:type="act:ASelect" label="Location" ID="location" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testHostHere']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='locationHereQuery']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testHostHere']" agent="//@agents[ID='complexLocation']" space="//@projections[ID='grid2D']"/>
<members xsi:type="act:AQuery" label="Location: Here() Query" ID="locationHereQuery" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='location']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='setLocationGoodToTrue']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='location']">
<function xsi:type="function:FGenericLogical" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='spatial']/@functions[ID='here']"/>
</members>
<members xsi:type="act:ASet" label="Set Location Good To True" ID="setLocationGoodToTrue" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='locationHereQuery']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='location']" attribute="//@agents[ID='complexLocation']/@attributes[ID='locationGood']">
<parameter xsi:type="metaabm:SAttribute" href="http://metaabm.org/core_library.metaabm#//@attributes[ID='true']"/>
</members>
<members xsi:type="act:ARule" label="Test Connect Random Other" ID="testConnectRandomOther" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgent']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testConnectRandomOther']" agent="//@agents[ID='complexMovementAgent']" space="//@projections[ID='grid2D']" pluralLabel="Test Random Connect"/>
<members xsi:type="act:ASelect" label="Complex Movement Agent" ID="complexMovementAgent" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testConnectRandomOther']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='connectComplexMovementAgent']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testConnectRandomOther']" agent="//@agents[ID='complexMovementAgent']" space="//@projections[ID='grid2D']"/>
<members xsi:type="act:AConnect" label="Connect Complex Movement Agent" ID="connectComplexMovementAgent" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgent']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testConnectRandomOther']" destination="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgent']" within="//@projections[ID='complexNet']"/>
<members xsi:type="act:ARule" label="Test Set Random Other" ID="testSetRandomOther" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopy']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testSetRandomOther']" agent="//@agents[ID='complexMovementAgent']" space="//@projections[ID='grid2D']" pluralLabel="Test Set Random Others"/>
<members xsi:type="act:ASelect" label="Complex Movement Agent Copy" ID="complexMovementAgentCopy" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testSetRandomOther']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='setSomeBooleanToTrue']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testSetRandomOther']" agent="//@agents[ID='complexMovementAgent']" space="//@projections[ID='grid2D']"/>
<members xsi:type="act:ASet" label="Set Some Boolean To True" ID="setSomeBooleanToTrue" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopy']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopy']" attribute="//@agents[ID='complexMovementAgent']/@attributes[ID='someBoolean']">
<parameter xsi:type="metaabm:SAttribute" href="http://metaabm.org/core_library.metaabm#//@attributes[ID='true']"/>
</members>
<members xsi:type="act:ARule" label="Test Set Random Other If" ID="testSetRandomOtherIf" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopyCopy']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testSetRandomOtherIf']" agent="//@agents[ID='complexMovementAgent']" space="//@projections[ID='grid2D']" pluralLabel="Test Set Random Other Ifs"/>
<members xsi:type="act:ASelect" label="Complex Movement Agent Copy Copy" ID="complexMovementAgentCopyCopy" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testSetRandomOtherIf']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopyCopyIdentitySomeBooleanQuery']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testSetRandomOtherIf']" agent="//@agents[ID='complexMovementAgent']" space="//@projections[ID='grid2D']"/>
<members xsi:type="act:AQuery" label="Complex Movement Agent Copy Copy: Identity Some Boolean Query" ID="complexMovementAgentCopyCopyIdentitySomeBooleanQuery" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopyCopy']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='setSomeBooleanToFalse']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopyCopy']">
<inputs selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopyCopy']" value="//@agents[ID='complexMovementAgent']/@attributes[ID='someBoolean']"/>
<function xsi:type="function:FLogicalOperator" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='operators']/@subs[ID='logicalOperators']/@functions[ID='identity']"/>
</members>
<members xsi:type="act:ASet" label="Set Some Boolean To False" ID="setSomeBooleanToFalse" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopyCopyIdentitySomeBooleanQuery']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopyCopy']" attribute="//@agents[ID='complexMovementAgent']/@attributes[ID='someBoolean']">
<parameter xsi:type="metaabm:SAttribute" href="http://metaabm.org/core_library.metaabm#//@attributes[ID='false']"/>
</members>
<members xsi:type="act:ARule" label="Test Set Random Post Query" ID="testSetRandomPostQuery" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testSetRandomPostQueryRandomBoolean']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testSetRandomPostQuery']" agent="//@agents[ID='complexMovementAgent']" space="//@projections[ID='grid2D']" pluralLabel="Test Set Random Post Querys"/>
<members xsi:type="act:AEvaluate" label="Test Set Random Post Query: Random Boolean()" ID="testSetRandomPostQueryRandomBoolean" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testSetRandomPostQuery']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testSetRandomPostQueryIdentitySomeBooleanQuery']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testSetRandomPostQuery']">
<function xsi:type="function:FGenericLogical" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='random']/@functions[ID='randomIs']"/>
</members>
<members xsi:type="act:AQuery" label="Test Set Random Post Query: Identity Some Boolean Query" ID="testSetRandomPostQueryIdentitySomeBooleanQuery" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testSetRandomPostQueryRandomBoolean']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopyCopyCopy']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testSetRandomPostQuery']">
<inputs selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testSetRandomPostQuery']" value="//@agents[ID='complexMovementAgent']/@attributes[ID='someBoolean']"/>
<function xsi:type="function:FLogicalOperator" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='operators']/@subs[ID='logicalOperators']/@functions[ID='identity']"/>
</members>
<members xsi:type="act:ASelect" label="Complex Movement Agent Copy Copy Copy" ID="complexMovementAgentCopyCopyCopy" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testSetRandomPostQueryIdentitySomeBooleanQuery']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='setSomeBooleanToTrueCopy']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testSetRandomPostQuery']" agent="//@agents[ID='complexMovementAgent']" space="//@projections[ID='grid2D']"/>
<members xsi:type="act:ASet" label="Set Some Boolean To True Copy" ID="setSomeBooleanToTrueCopy" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopyCopyCopy']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopyCopyCopy']" attribute="//@agents[ID='complexMovementAgent']/@attributes[ID='someBoolean']">
<parameter xsi:type="metaabm:SAttribute" href="http://metaabm.org/core_library.metaabm#//@attributes[ID='true']"/>
</members>
<members xsi:type="act:ARule" label="Test Parallel Spatial" ID="testParallelSpatial" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='parallelSelect1'] //@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='parallelSelect2']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelSpatial']" agent="//@agents[ID='complexMovementAgent']" pluralLabel="Test Parallel Spatials"/>
<members xsi:type="act:AQuery" label="Parallel Select 1: Neighbor() Query" ID="parallelSelect1NeighborQuery" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='parallelSelect1']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='movetoComplexMovementAgentinGrid2D']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='parallelSelect1']">
<function xsi:type="function:FGenericLogical" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='spatial']/@functions[ID='neighbor']"/>
</members>
<members xsi:type="act:ASelect" label="Parallel Select 1" ID="parallelSelect1" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelSpatial']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='parallelSelect1NeighborQuery']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelSpatial']" agent="//@agents[ID='complexLocation']" space="//@projections[ID='grid2D']"/>
<members xsi:type="act:AMove" label="Move to Complex Movement Agent in Grid 2D" ID="movetoComplexMovementAgentinGrid2D" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='parallelSelect1NeighborQuery']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelSpatial']" destination="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='parallelSelect1']"/>
<members xsi:type="act:ASelect" label="Parallel Select 2" ID="parallelSelect2" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelSpatial']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='parallelSelect2NeighborQuery']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelSpatial']" agent="//@agents[ID='complexLocation']" space="//@projections[ID='grid2D']"/>
<members xsi:type="act:AQuery" label="Parallel Select 2: Neighbor() Query" ID="parallelSelect2NeighborQuery" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='parallelSelect2']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='movetoComplexLocationinGrid2D']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='parallelSelect2']">
<function xsi:type="function:FGenericLogical" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='spatial']/@functions[ID='neighbor']"/>
</members>
<members xsi:type="act:AMove" label="Move to Complex Location in Grid 2D" ID="movetoComplexLocationinGrid2D" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='parallelSelect2NeighborQuery']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelSpatial']" destination="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='parallelSelect2']"/>
<members xsi:type="act:ARule" label="Test Parallel Root" ID="testParallelRoot" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRootAvailableQuery'] //@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRootWithin2DBoundary_WithinSpace_Query'] //@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRootWithin2DBoundary_WithinSpace_QueryCopy']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRoot']" agent="//@agents[ID='complexMovementAgent']" space="//@projections[ID='grid2D']" pluralLabel="Test Parallel Roots"/>
<members xsi:type="act:AQuery" label="Test Parallel Root: Available() Query" ID="testParallelRootAvailableQuery" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRoot']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRootResultAddUnit']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRoot']">
<function xsi:type="function:FGenericLogical" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='spatial']/@functions[ID='available']"/>
</members>
<members xsi:type="act:AQuery" label="Test Parallel Root: Within 2D Boundary(Within Space) Query" ID="testParallelRootWithin2DBoundary_WithinSpace_Query" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRoot']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRootResultAddUnitCopy']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRoot']">
<inputs selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRoot']" value="//@agents[ID='complexMovementAgent']/@attributes[ID='withinSpace']"/>
<function xsi:type="function:FGenericLogical" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='spatial']/@functions[ID='withinBoundaries']"/>
</members>
<members xsi:type="act:AQuery" label="Test Parallel Root: Within 2D Boundary(Within Space) Query Copy" ID="testParallelRootWithin2DBoundary_WithinSpace_QueryCopy" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRoot']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRootResultAddUnitCopyCopy']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRoot']">
<inputs selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRoot']" value="//@agents[ID='complexMovementAgent']/@attributes[ID='withinSpace']"/>
<function xsi:type="function:FGenericLogical" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='spatial']/@functions[ID='withinBoundaries']"/>
</members>
<members xsi:type="act:ASet" label="Set Result To Test Parallel Root: Result Add Unit" ID="setResultToTestParallelRootResultAddUnit" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRootResultAddUnit']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRoot']" attribute="//@agents[ID='complexMovementAgent']/@attributes[ID='result']" parameter="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRootResultAddUnit']"/>
<members xsi:type="act:AEvaluate" label="Test Parallel Root: Result Add Unit" ID="testParallelRootResultAddUnit" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRootAvailableQuery']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='setResultToTestParallelRootResultAddUnit']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRoot']">
<inputs selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRoot']" value="//@agents[ID='complexMovementAgent']/@attributes[ID='result']"/>
<inputs selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRoot']">
<value xsi:type="metaabm:SAttribute" href="http://metaabm.org/core_library.metaabm#//@attributes[ID='unit']"/>
</inputs>
<function xsi:type="function:FOperator" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='operators']/@subs[ID='numericOperators']/@functions[ID='add']"/>
</members>
<members xsi:type="act:AEvaluate" label="Test Parallel Root: Result Add Unit Copy" ID="testParallelRootResultAddUnitCopy" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRootWithin2DBoundary_WithinSpace_Query']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='setResultToTestParallelRootResultAddUnitCopy']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRoot']">
<inputs selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRoot']" value="//@agents[ID='complexMovementAgent']/@attributes[ID='result']"/>
<inputs selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRoot']">
<value xsi:type="metaabm:SAttribute" href="http://metaabm.org/core_library.metaabm#//@attributes[ID='unit']"/>
</inputs>
<function xsi:type="function:FOperator" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='operators']/@subs[ID='numericOperators']/@functions[ID='add']"/>
</members>
<members xsi:type="act:AEvaluate" label="Test Parallel Root: Result Add Unit Copy Copy" ID="testParallelRootResultAddUnitCopyCopy" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRootWithin2DBoundary_WithinSpace_QueryCopy']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='setResultToTestParallelRootResultAddUnitCopyCopy']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRoot']">
<inputs selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRoot']" value="//@agents[ID='complexMovementAgent']/@attributes[ID='result']"/>
<inputs selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRoot']">
<value xsi:type="metaabm:SAttribute" href="http://metaabm.org/core_library.metaabm#//@attributes[ID='unit']"/>
</inputs>
<function xsi:type="function:FOperator" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='operators']/@subs[ID='numericOperators']/@functions[ID='add']"/>
</members>
<members xsi:type="act:ASet" label="Set Result To Test Parallel Root: Result Add Unit Copy" ID="setResultToTestParallelRootResultAddUnitCopy" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRootResultAddUnitCopy']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRoot']" attribute="//@agents[ID='complexMovementAgent']/@attributes[ID='result']" parameter="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRootResultAddUnit']"/>
<members xsi:type="act:ASet" label="Set Result To Test Parallel Root: Result Add Unit Copy Copy" ID="setResultToTestParallelRootResultAddUnitCopyCopy" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRootResultAddUnitCopyCopy']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRoot']" attribute="//@agents[ID='complexMovementAgent']/@attributes[ID='result']" parameter="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelRootResultAddUnit']"/>
<members xsi:type="act:ARule" label="Test Parallel With Network" ID="testParallelWithNetwork" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='parallelMovement'] //@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='parallelNetwork1']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelWithNetwork']" agent="//@agents[ID='complexMovementAgent']" space="//@projections[ID='grid2D']" pluralLabel="Test Parallel With Networks"/>
<members xsi:type="act:ASelect" label="Parallel Movement" ID="parallelMovement" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelWithNetwork']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='parallelMovementAvailableQuery']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelWithNetwork']" agent="//@agents[ID='complexLocation']" space="//@projections[ID='grid2D']"/>
<members xsi:type="act:AQuery" label="Parallel Movement: Available() Query" ID="parallelMovementAvailableQuery" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='parallelMovement']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='movetoComplexMovementAgent']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='parallelMovement']">
<function xsi:type="function:FGenericLogical" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='spatial']/@functions[ID='available']"/>
</members>
<members xsi:type="act:AMove" label="Move to Complex Movement Agent" ID="movetoComplexMovementAgent" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='parallelMovementAvailableQuery']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelWithNetwork']" destination="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='parallelMovement']"/>
<members xsi:type="act:ASelect" label="Parallel Network 1" ID="parallelNetwork1" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelWithNetwork']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='parallelNetwork1NeighborQuery']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelWithNetwork']" agent="//@agents[ID='complexMovementAgent']" space="//@projections[ID='complexNet']"/>
<members xsi:type="act:AConnect" label="Connect Complex Movement Agent Copy" ID="connectComplexMovementAgentCopy" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='parallelNetwork1NeighborQuery']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testParallelWithNetwork']" destination="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='parallelNetwork1']" within="//@projections[ID='complexNet']" directed="false"/>
<members xsi:type="act:AQuery" label="Parallel Network 1: Neighbor() Query" ID="parallelNetwork1NeighborQuery" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='parallelNetwork1']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='connectComplexMovementAgentCopy']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='parallelNetwork1']">
<function xsi:type="function:FGenericLogical" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='spatial']/@functions[ID='neighbor']"/>
</members>
<members xsi:type="act:ARule" label="Test Nested Statements" ID="testNestedStatements" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testNestedStatementsSomeBooleanIdenticalFalseQuery']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testNestedStatements']" agent="//@agents[ID='complexMovementAgent']" pluralLabel="Test Nested Statementss"/>
<members xsi:type="act:AQuery" label="Test Nested Statements: Some Boolean Identical False Query" ID="testNestedStatementsSomeBooleanIdenticalFalseQuery" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testNestedStatements']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentRuleSpatialStateIdenticalOption1QueryCopy']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testNestedStatements']">
<inputs selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testNestedStatements']" value="//@agents[ID='complexMovementAgent']/@attributes[ID='someBoolean']"/>
<inputs selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testNestedStatements']">
<value xsi:type="metaabm:SAttribute" href="http://metaabm.org/core_library.metaabm#//@attributes[ID='false']"/>
</inputs>
<function xsi:type="function:FLogicalOperator" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='operators']/@subs[ID='logicalOperators']/@functions[ID='identical']"/>
</members>
<members xsi:type="act:AQuery" label="Complex Movement Agent Rule: Spatial State Identical Option 1 Query Copy" ID="complexMovementAgentRuleSpatialStateIdenticalOption1QueryCopy" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testNestedStatementsSomeBooleanIdenticalFalseQuery']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='targetLocation']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testNestedStatements']">
<inputs selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testNestedStatements']" value="//@agents[ID='complexMovementAgent']/@attributes[ID='spatialState']"/>
<inputs selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testNestedStatements']" value="//@agents[ID='complexMovementAgent']/@attributes[ID='spatialState']/@options.0"/>
<function xsi:type="function:FLogicalOperator" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='operators']/@subs[ID='logicalOperators']/@functions[ID='identical']"/>
</members>
<members xsi:type="act:ASelect" label="Target Location" ID="targetLocation" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentRuleSpatialStateIdenticalOption1QueryCopy']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='targetLocationWithin_Vision_Query'] //@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='targetLocationIdentityLocationGoodQuery']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testNestedStatements']" agent="//@agents[ID='complexLocation']" space="//@projections[ID='grid2D']"/>
<members xsi:type="act:AQuery" label="Target Location: Within(Vision) Query" ID="targetLocationWithin_Vision_Query" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='targetLocation']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='goodWithinVision']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='targetLocation']">
<inputs selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testNestedStatements']" value="//@agents[ID='complexMovementAgent']/@attributes[ID='vision']"/>
<function xsi:type="function:FGenericLogical" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='spatial']/@functions[ID='within']"/>
</members>
<members xsi:type="act:AQuery" label="Target Location: Identity Location Good Query" ID="targetLocationIdentityLocationGoodQuery" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='targetLocation']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='goodWithinVision']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='targetLocation']">
<inputs selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='targetLocation']" value="//@agents[ID='complexLocation']/@attributes[ID='locationGood']"/>
<function xsi:type="function:FLogicalOperator" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='operators']/@subs[ID='logicalOperators']/@functions[ID='identity']"/>
</members>
<members xsi:type="act:AAll" label="Good Within Vision" ID="goodWithinVision" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='targetLocationWithin_Vision_Query'] //@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='targetLocationIdentityLocationGoodQuery']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='setSomeBooleanToTrueCopyCopyCopy']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='targetLocation']"/>
<members xsi:type="act:ASet" label="Set Some Boolean To True Copy Copy Copy" ID="setSomeBooleanToTrueCopyCopyCopy" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='goodWithinVision']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testNestedStatements']" attribute="//@agents[ID='complexMovementAgent']/@attributes[ID='someBoolean']">
<parameter xsi:type="metaabm:SAttribute" href="http://metaabm.org/core_library.metaabm#//@attributes[ID='true']"/>
</members>
<members xsi:type="act:ARule" label="Test Host Here Condition" ID="testHostHereCondition" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopyCopyCopyCopy']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testHostHereCondition']" agent="//@agents[ID='complexMovementAgent']" pluralLabel="Test Host Here Conditions"/>
<members xsi:type="act:ASelect" label="Complex Movement Agent Copy Copy Copy Copy" ID="complexMovementAgentCopyCopyCopyCopy" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testHostHereCondition']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopyCopyCopyCopyHereQuery'] //@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopyCopyCopyCopy_Unspecified_QueryCopy']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testHostHereCondition']" agent="//@agents[ID='complexLocation']" space="//@projections[ID='grid2D']"/>
<members xsi:type="act:AQuery" label="Complex Movement Agent Copy Copy Copy Copy: Here() Query" ID="complexMovementAgentCopyCopyCopyCopyHereQuery" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopyCopyCopyCopy']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopyCopyCopyCopy_HereQueryAnd_Unspecified_QueryCopy_']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopyCopyCopyCopy']">
<function xsi:type="function:FGenericLogical" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='spatial']/@functions[ID='here']"/>
</members>
<members xsi:type="act:AQuery" label="Complex Movement Agent Copy Copy Copy Copy: [Unspecified]() Query Copy" ID="complexMovementAgentCopyCopyCopyCopy_Unspecified_QueryCopy" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopyCopyCopyCopy']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopyCopyCopyCopy_HereQueryAnd_Unspecified_QueryCopy_']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopyCopyCopyCopy']">
<inputs selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopyCopyCopyCopy']" value="//@agents[ID='complexLocation']/@attributes[ID='locationGood']"/>
<function xsi:type="function:FLogicalOperator" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='operators']/@subs[ID='logicalOperators']/@functions[ID='identity']"/>
</members>
<members xsi:type="act:AAll" label="Complex Movement Agent Copy Copy Copy Copy (Here() Query &amp; [Unspecified]() Query Copy)" ID="complexMovementAgentCopyCopyCopyCopy_HereQueryAnd_Unspecified_QueryCopy_" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopyCopyCopyCopyHereQuery'] //@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopyCopyCopyCopy_Unspecified_QueryCopy']" targets="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='setSomeBooleanToTrueCopyCopyCopyCopy']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopyCopyCopyCopy']"/>
<members xsi:type="act:ASet" label="Set Some Boolean To True Copy Copy Copy Copy" ID="setSomeBooleanToTrueCopyCopyCopyCopy" sources="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='complexMovementAgentCopyCopyCopyCopy_HereQueryAnd_Unspecified_QueryCopy_']" selected="//@agents[ID='complexMovementAgent']/@rootActivity/@members[ID='testHostHereCondition']" attribute="//@agents[ID='complexMovementAgent']/@attributes[ID='someBoolean']">
<parameter xsi:type="metaabm:SAttribute" href="http://metaabm.org/core_library.metaabm#//@attributes[ID='true']"/>
</members>
</rootActivity>
<implementation className="ComplexMovementAgent"/>
</agents>
<agents label="Complex Location" ID="complexLocation" pluralLabel="Complex Locations">
<attributes label="Location Good" ID="locationGood" pluralLabel="Location Goods"/>
<rootActivity xsi:type="act:AGroup" label="Root Act Group" ID="rootActGroup" pluralLabel="Root Act Groups">
<members xsi:type="act:ARule" label="Test Self Available Create" ID="testSelfAvailableCreate" targets="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfAvailableCreateAvailableQuery']" selected="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfAvailableCreate']" agent="//@agents[ID='complexLocation']" space="//@projections[ID='grid2D']" pluralLabel="Test Self Available Creates"/>
<members xsi:type="act:AQuery" label="Test Self Available Create: Available() Query" ID="testSelfAvailableCreateAvailableQuery" sources="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfAvailableCreate']" targets="//@agents[ID='complexLocation']/@rootActivity/@members[ID='createAgents']" selected="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfAvailableCreate']">
<function xsi:type="function:FGenericLogical" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='spatial']/@functions[ID='available']"/>
</members>
<members xsi:type="act:ACreateAgents" label="Create Agents" ID="createAgents" sources="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfAvailableCreateAvailableQuery']" targets="//@agents[ID='complexLocation']/@rootActivity/@members[ID='movetoLocationinGrid2D']" selected="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfAvailableCreate']" agent="//@agents[ID='complexMovementAgent']" space="//@projections[ID='grid2D']"/>
<members xsi:type="act:AMove" label="Move to Location in Grid 2D" ID="movetoLocationinGrid2D" sources="//@agents[ID='complexLocation']/@rootActivity/@members[ID='createAgents']" selected="//@agents[ID='complexLocation']/@rootActivity/@members[ID='createAgents']" destination="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfAvailableCreate']"/>
<members xsi:type="act:ARule" label="Test Self Available Within" ID="testSelfAvailableWithin" targets="//@agents[ID='complexLocation']/@rootActivity/@members[ID='selfAvailableCopy'] //@agents[ID='complexLocation']/@rootActivity/@members[ID='selfAvailableWithinCopy']" selected="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfAvailableWithin']" agent="//@agents[ID='complexLocation']" space="//@projections[ID='grid2D']" pluralLabel="Test Self Available Withins"/>
<members xsi:type="act:AQuery" label="Self Available Copy" ID="selfAvailableCopy" sources="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfAvailableWithin']" targets="//@agents[ID='complexLocation']/@rootActivity/@members[ID='selfAvailableandWithin']" selected="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfAvailableWithin']">
<function xsi:type="function:FGenericLogical" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='spatial']/@functions[ID='available']"/>
</members>
<members xsi:type="act:AQuery" label="Self Available Within Copy" ID="selfAvailableWithinCopy" sources="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfAvailableWithin']" targets="//@agents[ID='complexLocation']/@rootActivity/@members[ID='selfAvailableandWithin']" selected="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfAvailableWithin']">
<inputs selected="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfAvailableWithin']" value="//@attributes[ID='goodBoundary']"/>
<function xsi:type="function:FGenericLogical" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='spatial']/@functions[ID='withinBoundaries']"/>
</members>
<members xsi:type="act:ASet" label="Set Location Good To True" ID="setLocationGoodToTrue" sources="//@agents[ID='complexLocation']/@rootActivity/@members[ID='selfAvailableandWithin']" selected="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfAvailableWithin']" attribute="//@agents[ID='complexLocation']/@attributes[ID='locationGood']">
<parameter xsi:type="metaabm:SAttribute" href="http://metaabm.org/core_library.metaabm#//@attributes[ID='true']"/>
</members>
<members xsi:type="act:AAll" label="Self Available and Within" ID="selfAvailableandWithin" sources="//@agents[ID='complexLocation']/@rootActivity/@members[ID='selfAvailableCopy'] //@agents[ID='complexLocation']/@rootActivity/@members[ID='selfAvailableWithinCopy']" targets="//@agents[ID='complexLocation']/@rootActivity/@members[ID='setLocationGoodToTrue']" selected="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfAvailableWithin']"/>
<members xsi:type="act:ARule" label="Test Agent Here" ID="testAgentHere" targets="//@agents[ID='complexLocation']/@rootActivity/@members[ID='agent']" selected="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testAgentHere']" agent="//@agents[ID='complexLocation']" space="//@projections[ID='grid2D']" pluralLabel="Test Agent Heres"/>
<members xsi:type="act:ASelect" label="Agent" ID="agent" sources="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testAgentHere']" targets="//@agents[ID='complexLocation']/@rootActivity/@members[ID='agentHereQuery']" selected="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testAgentHere']" agent="//@agents[ID='complexMovementAgent']" space="//@projections[ID='grid2D']"/>
<members xsi:type="act:AQuery" label="Agent: Here() Query" ID="agentHereQuery" sources="//@agents[ID='complexLocation']/@rootActivity/@members[ID='agent']" targets="//@agents[ID='complexLocation']/@rootActivity/@members[ID='setLocationGoodToTrueCopy']" selected="//@agents[ID='complexLocation']/@rootActivity/@members[ID='agent']">
<function xsi:type="function:FGenericLogical" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='spatial']/@functions[ID='here']"/>
</members>
<members xsi:type="act:ASet" label="Set Location Good To True Copy" ID="setLocationGoodToTrueCopy" sources="//@agents[ID='complexLocation']/@rootActivity/@members[ID='agentHereQuery']" selected="//@agents[ID='complexLocation']/@rootActivity/@members[ID='agent']" attribute="//@agents[ID='complexMovementAgent']/@attributes[ID='someBoolean']">
<parameter xsi:type="metaabm:SAttribute" href="http://metaabm.org/core_library.metaabm#//@attributes[ID='true']"/>
</members>
<members xsi:type="act:ARule" label="Test Self Available" ID="testSelfAvailable" targets="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfAvailableAvailableQuery']" selected="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfAvailable']" agent="//@agents[ID='complexLocation']" space="//@projections[ID='grid2D']" pluralLabel="Test Self Availables"/>
<members xsi:type="act:AQuery" label="Test Self Available: Available() Query" ID="testSelfAvailableAvailableQuery" sources="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfAvailable']" targets="//@agents[ID='complexLocation']/@rootActivity/@members[ID='setLocationGoodToTrueCopyCopy']" selected="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfAvailable']">
<function xsi:type="function:FGenericLogical" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='spatial']/@functions[ID='available']"/>
</members>
<members xsi:type="act:ASet" label="Set Location Good To True Copy Copy" ID="setLocationGoodToTrueCopyCopy" sources="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfAvailableAvailableQuery']" selected="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfAvailable']" attribute="//@agents[ID='complexLocation']/@attributes[ID='locationGood']">
<parameter xsi:type="metaabm:SAttribute" href="http://metaabm.org/core_library.metaabm#//@attributes[ID='true']"/>
</members>
<members xsi:type="act:ARule" label="Test Self Within Bounds" ID="testSelfWithinBounds" targets="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfWithinBoundsWithin2DBoundary_GoodBoundary_Query']" selected="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfWithinBounds']" agent="//@agents[ID='complexLocation']" space="//@projections[ID='grid2D']" pluralLabel="Test Self Within Boundss"/>
<members xsi:type="act:AQuery" label="Test Self Within Bounds: Within 2D Boundary(Good Boundary) Query" ID="testSelfWithinBoundsWithin2DBoundary_GoodBoundary_Query" sources="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfWithinBounds']" targets="//@agents[ID='complexLocation']/@rootActivity/@members[ID='setLocationGoodToTrueCopyCopyCopy']" selected="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfWithinBounds']">
<inputs selected="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfWithinBounds']" value="//@attributes[ID='goodBoundary']"/>
<function xsi:type="function:FGenericLogical" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='spatial']/@functions[ID='withinBoundaries']"/>
</members>
<members xsi:type="act:ASet" label="Set Location Good To True Copy Copy Copy" ID="setLocationGoodToTrueCopyCopyCopy" sources="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfWithinBoundsWithin2DBoundary_GoodBoundary_Query']" selected="//@agents[ID='complexLocation']/@rootActivity/@members[ID='testSelfWithinBounds']" attribute="//@agents[ID='complexLocation']/@attributes[ID='locationGood']">
<parameter xsi:type="metaabm:SAttribute" href="http://metaabm.org/core_library.metaabm#//@attributes[ID='true']"/>
</members>
</rootActivity>
<implementation className="ComplexLocation"/>
</agents>
<projections xsi:type="metaabm:SGrid" label="Grid 2D" ID="grid2D" pluralLabel="Grid 2Ds" dimensionality="2">
<attributes xsi:type="metaabm:SAttributeArray" label="Dimensions" ID="dimensions" pluralLabel="Dimensionss" description="The size of each dimension." sType="INTEGER" size="2"/>
<attributes label="Width" ID="width" pluralLabel="Widths" description="The horizontal extent of the space." sType="INTEGER" defaultValue="20"/>
<attributes label="Height" ID="height" pluralLabel="Heights" description="The vertical extent of the space." sType="INTEGER" defaultValue="20"/>
</projections>
<projections xsi:type="metaabm:SNetwork" label="Complex Net" ID="complexNet" pluralLabel="Complex Nets"/>
</metaabm:SContext>