| <?xml version="1.0" encoding="UTF-8"?> |
| <metaabm:SContext xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" 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="Demographic Prisoner_s Dilemma" ID="demographicPrisoner_sDilemma" pluralLabel="Demographic Prisoner_s Dilemmas"> |
| <attributes label="Player Count" ID="playerCount" pluralLabel="Player Counts" description="The number of players to create." sType="INTEGER" defaultValue="100"/> |
| <attributes label="Minimum Wealth" ID="minimumWealth" pluralLabel="Minimum Wealths" sType="INTEGER" defaultValue="20"/> |
| <attributes label="Maximum Wealth" ID="maximumWealth" pluralLabel="Maximum Wealths" sType="INTEGER" defaultValue="100"/> |
| <attributes label="Maximum Age" ID="maximumAge" pluralLabel="Maximum Ages" sType="INTEGER" defaultValue="100"/> |
| <attributes label="Payoff Cooperate Cooperate" ID="payoffCC" pluralLabel="Payoff Cooperate Cooperates" description="The change in wealth for a player when playing cooperate against cooperate." sType="INTEGER" defaultValue="2"/> |
| <attributes label="Payoff Cooperate Defect" ID="payoffCD" pluralLabel="Payoff Cooperate Defects" description="The change in wealth for a player when playing cooperate against defect." sType="INTEGER" defaultValue="-6"/> |
| <attributes label="Payoff Defect Cooperate" ID="payoffDC" pluralLabel="Payoff Defect Cooperates" description="The change in wealth for a player when playing defect against cooperate." sType="INTEGER" defaultValue="6"/> |
| <attributes label="Payoff Defect Defect" ID="payoffDD" pluralLabel="Payoff Defect Defects" description="The change in wealth for a player when both players defect." sType="INTEGER" defaultValue="-5"/> |
| <attributes label="Fission Wealth" ID="fissionWealth" pluralLabel="Fission Wealths" description="The wealth level at which an agent can fission." sType="INTEGER" defaultValue="11"/> |
| <attributes label="Inheirited Wealth" ID="inheiritedWealth" pluralLabel="Inheirited Wealths" description="The wealth that is passed from parent to child." sType="INTEGER" defaultValue="6"/> |
| <attributes label="Initial Wealth" ID="initialWealth" pluralLabel="Initial Wealths" description="The wealth initially assigned to an agent at the beginning of model run." sType="INTEGER" defaultValue="6"/> |
| <attributes label="Mutation Rate" ID="mutationRate" pluralLabel="Mutation Rates" description="The probabaility that a given agent will change strategies in a given period, expressed as a value from 0.0 to 1.0." sType="REAL" defaultValue=".1"/> |
| <attributes label="Death Age" ID="deathAge" pluralLabel="Death Ages" description="The number of periods before an agent will be removed from game when Die At Age rule is active." sType="INTEGER" defaultValue="100"/> |
| <attributes label="Birth Age" ID="birthAge" pluralLabel="Birth Ages" description="The actual age in years as determined by data set." sType="INTEGER" units="Years"/> |
| <rootActivity xsi:type="act:AGroup" label="Root Act Group" ID="rootActGroup" pluralLabel="Root Acts"> |
| <members xsi:type="act:ABuild" label="Build Demographic Prisonner's Dillema" ID="buildDemographicPrisonnersDillema" targets="//@rootActivity/@members[ID='createPlayers'] //@rootActivity/@members[ID='buildGrid']" selected="//@rootActivity/@members[ID='buildDemographicPrisonnersDillema']" agent="/" pluralLabel="Build Demographic Prisonner's Dillemas"/> |
| <members xsi:type="act:ACreateAgents" label="Create Players" ID="createPlayers" sources="//@rootActivity/@members[ID='buildDemographicPrisonnersDillema']" selected="//@rootActivity/@members[ID='buildDemographicPrisonnersDillema']" agent="//@agents[ID='player']" agentCount="//@attributes[ID='playerCount']"/> |
| <members xsi:type="act:ABuildGrid" label="Build Grid" ID="buildGrid" sources="//@rootActivity/@members[ID='buildDemographicPrisonnersDillema']" selected="//@rootActivity/@members[ID='buildDemographicPrisonnersDillema']" pluralLabel="Build Grids" agents="//@agents[ID='player']" projection="//@projections[ID='gameSpace']" fillAgent="//@agents[ID='playCell']"/> |
| </rootActivity> |
| <implementation package="edu.brook" className="DemographicPrisonersDilemma" basePath=""/> |
| <agents label="Player" ID="player" pluralLabel="Players"> |
| <attributes label="Cooperate" ID="cooperate" pluralLabel="Cooperates" gatherData="true"/> |
| <attributes label="Age" ID="age" pluralLabel="Ages" sType="INTEGER" gatherData="true"/> |
| <attributes label="Wealth" ID="wealth" pluralLabel="Wealths" sType="INTEGER" gatherData="true"/> |
| <rootActivity xsi:type="act:AGroup" label="Root Act Group" ID="rootActGroup" pluralLabel="Root Acts"> |
| <members xsi:type="act:AInitialize" label="Initialize" ID="initialize" targets="//@agents[ID='player']/@rootActivity/@members[ID='randomToMaxAge'] //@agents[ID='player']/@rootActivity/@members[ID='randomStrategy'] //@agents[ID='player']/@rootActivity/@members[ID='setWealthToInitialWealth']" selected="//@agents[ID='player']/@rootActivity/@members[ID='initialize']" agent="//@agents[ID='player']" space="//@projections[ID='gameSpace']" pluralLabel="Initializes"/> |
| <members xsi:type="act:AInitialize" label="Move To Random Location" ID="moveToRandomLocation" targets="//@agents[ID='player']/@rootActivity/@members[ID='randomCell2']" selected="//@agents[ID='player']/@rootActivity/@members[ID='moveToRandomLocation']" agent="//@agents[ID='player']" space="//@projections[ID='gameSpace']" pluralLabel="Move To Random Locations"/> |
| <members xsi:type="act:AEvaluate" label="Random To Max Age" ID="randomToMaxAge" sources="//@agents[ID='player']/@rootActivity/@members[ID='initialize']" targets="//@agents[ID='player']/@rootActivity/@members[ID='setRandomAge']" selected="//@agents[ID='player']/@rootActivity/@members[ID='initialize']"> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='initialize']" value="//@attributes[ID='maximumAge']"/> |
| <function xsi:type="function:FGenericFunction" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='random']/@functions[ID='randomToLimit']"/> |
| </members> |
| <members xsi:type="act:ASet" label="Set Random Age" ID="setRandomAge" sources="//@agents[ID='player']/@rootActivity/@members[ID='randomToMaxAge']" selected="//@agents[ID='player']/@rootActivity/@members[ID='initialize']" attribute="//@agents[ID='player']/@attributes[ID='age']" parameter="//@agents[ID='player']/@rootActivity/@members[ID='randomToMaxAge']"/> |
| <members xsi:type="act:AEvaluate" label="Random Strategy" ID="randomStrategy" sources="//@agents[ID='player']/@rootActivity/@members[ID='initialize']" targets="//@agents[ID='player']/@rootActivity/@members[ID='setRandomStrategy']" selected="//@agents[ID='player']/@rootActivity/@members[ID='initialize']"> |
| <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:ASelect" label="Random Neighbor" ID="randomNeighbor" sources="//@agents[ID='player']/@rootActivity/@members[ID='randomWalk']" targets="//@agents[ID='player']/@rootActivity/@members[ID='neighbor'] //@agents[ID='player']/@rootActivity/@members[ID='available']" selected="//@agents[ID='player']/@rootActivity/@members[ID='randomWalk']" agent="//@agents[ID='playCell']" space="//@projections[ID='gameSpace']"/> |
| <members xsi:type="act:AQuery" label="Neighbor" ID="neighbor" sources="//@agents[ID='player']/@rootActivity/@members[ID='randomNeighbor']" targets="//@agents[ID='player']/@rootActivity/@members[ID='availableNeighbor']" selected="//@agents[ID='player']/@rootActivity/@members[ID='randomNeighbor']"> |
| <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 Demographic Prisonners Dillema in Game Space" ID="movetoDemographicPrisonnersDillemainGameSpace" sources="//@agents[ID='player']/@rootActivity/@members[ID='availableNeighbor']" selected="//@agents[ID='player']/@rootActivity/@members[ID='randomWalk']" destination="//@agents[ID='player']/@rootActivity/@members[ID='randomNeighbor']"/> |
| <members xsi:type="act:ARule" label="Random Walk" ID="randomWalk" targets="//@agents[ID='player']/@rootActivity/@members[ID='randomNeighbor']" selected="//@agents[ID='player']/@rootActivity/@members[ID='randomWalk']" agent="//@agents[ID='player']" space="//@projections[ID='gameSpace']" pluralLabel="Random Walks"/> |
| <members xsi:type="act:ARule" label="Play Neighbor" ID="playNeighbor" targets="//@agents[ID='player']/@rootActivity/@members[ID='playerDefect'] //@agents[ID='player']/@rootActivity/@members[ID='playerCooperate'] //@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']" selected="//@agents[ID='player']/@rootActivity/@members[ID='playNeighbor']" agent="//@agents[ID='player']" space="//@projections[ID='gameSpace']" pluralLabel="Play Neighbors"/> |
| <members xsi:type="act:ASet" label="Set Random Strategy" ID="setRandomStrategy" sources="//@agents[ID='player']/@rootActivity/@members[ID='randomStrategy']" selected="//@agents[ID='player']/@rootActivity/@members[ID='initialize']" attribute="//@agents[ID='player']/@attributes[ID='cooperate']" parameter="//@agents[ID='player']/@rootActivity/@members[ID='randomStrategy']"/> |
| <members xsi:type="act:ASelect" label="Random Cell 2" ID="randomCell2" sources="//@agents[ID='player']/@rootActivity/@members[ID='moveToRandomLocation']" targets="//@agents[ID='player']/@rootActivity/@members[ID='spaceAvailable']" selected="//@agents[ID='player']/@rootActivity/@members[ID='moveToRandomLocation']" agent="//@agents[ID='playCell']" space="//@projections[ID='gameSpace']"/> |
| <members xsi:type="act:AMove" label="Move to Player in Game Spac" ID="movetoPlayerinGameSpac" sources="//@agents[ID='player']/@rootActivity/@members[ID='spaceAvailable']" selected="//@agents[ID='player']/@rootActivity/@members[ID='moveToRandomLocation']" destination="//@agents[ID='player']/@rootActivity/@members[ID='randomCell2']"/> |
| <members xsi:type="act:ARule" label="Update Age" ID="updateAge" targets="//@agents[ID='player']/@rootActivity/@members[ID='incrementAge']" selected="//@agents[ID='player']/@rootActivity/@members[ID='updateAge']" agent="//@agents[ID='player']" space="//@projections[ID='gameSpace']" pluralLabel="Update Ages" description="Increment the Age by One."/> |
| <members xsi:type="act:AEvaluate" label="Increment Age" ID="incrementAge" sources="//@agents[ID='player']/@rootActivity/@members[ID='updateAge']" targets="//@agents[ID='player']/@rootActivity/@members[ID='setToCopyCopyCopyCopy']" selected="//@agents[ID='player']/@rootActivity/@members[ID='updateAge']"> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='updateAge']" value="//@agents[ID='player']/@attributes[ID='age']"/> |
| <function xsi:type="function:FOperator" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='operators']/@subs[ID='numericOperators']/@functions[ID='increment']"/> |
| </members> |
| <members xsi:type="act:ASet" label="Set [?] To [?] Copy Copy Copy Copy" ID="setToCopyCopyCopyCopy" sources="//@agents[ID='player']/@rootActivity/@members[ID='incrementAge']" selected="//@agents[ID='player']/@rootActivity/@members[ID='updateAge']" attribute="//@agents[ID='player']/@attributes[ID='age']" parameter="//@agents[ID='player']/@rootActivity/@members[ID='incrementAge']"/> |
| <members xsi:type="act:ARule" label="Fission Rule" ID="fissionRule" targets="//@agents[ID='player']/@rootActivity/@members[ID='wealthGreaterorEqualFissionWealth']" selected="//@agents[ID='player']/@rootActivity/@members[ID='fissionRule']" agent="//@agents[ID='player']" space="//@projections[ID='gameSpace']" pluralLabel="Fission Rules"/> |
| <members xsi:type="act:ARule" label="Die At Age" ID="dieAtAge" targets="//@agents[ID='player']/@rootActivity/@members[ID='ageGreaterDeathAge']" selected="//@agents[ID='player']/@rootActivity/@members[ID='dieAtAge']" agent="//@agents[ID='player']" space="//@projections[ID='gameSpace']" pluralLabel="Die At Ages"/> |
| <members xsi:type="act:AQuery" label="Age Greater Death Age" ID="ageGreaterDeathAge" sources="//@agents[ID='player']/@rootActivity/@members[ID='dieAtAge']" targets="//@agents[ID='player']/@rootActivity/@members[ID='playerDieinDieAtAge']" selected="//@agents[ID='player']/@rootActivity/@members[ID='dieAtAge']"> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='dieAtAge']" value="//@agents[ID='player']/@attributes[ID='age']"/> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='dieAtAge']" value="//@attributes[ID='deathAge']"/> |
| <function xsi:type="function:FLogicalOperator" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='operators']/@subs[ID='logicalOperators']/@functions[ID='greater']"/> |
| </members> |
| <members xsi:type="act:ADie" label="Player Die in Die At Age" ID="playerDieinDieAtAge" sources="//@agents[ID='player']/@rootActivity/@members[ID='ageGreaterDeathAge']" selected="//@agents[ID='player']/@rootActivity/@members[ID='dieAtAge']" destination="//@agents[ID='player']/@rootActivity/@members[ID='dieAtAge']"/> |
| <members xsi:type="act:ARule" label="Die At Wealth 0" ID="dieAtWealth0" targets="//@agents[ID='player']/@rootActivity/@members[ID='wealthLesserLiteral0']" selected="//@agents[ID='player']/@rootActivity/@members[ID='dieAtWealth0']" agent="//@agents[ID='player']" space="//@projections[ID='gameSpace']" pluralLabel="Die At Wealth 0s"/> |
| <members xsi:type="act:AQuery" label="Wealth Lesser Literal 0" ID="wealthLesserLiteral0" sources="//@agents[ID='player']/@rootActivity/@members[ID='dieAtWealth0']" targets="//@agents[ID='player']/@rootActivity/@members[ID='playerDieinDieAtWealth0']" selected="//@agents[ID='player']/@rootActivity/@members[ID='dieAtWealth0']"> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='dieAtWealth0']" value="//@agents[ID='player']/@attributes[ID='wealth']"/> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='dieAtWealth0']" value="//@agents[ID='player']/@rootActivity/@members[ID='wealthLesserLiteral0']/@inputs.1/@literal"> |
| <literal label="Literal 0" ID="literal0" valueLiteral="0"/> |
| </inputs> |
| <function xsi:type="function:FLogicalOperator" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='operators']/@subs[ID='logicalOperators']/@functions[ID='lesser']"/> |
| </members> |
| <members xsi:type="act:ADie" label="Player Die in Die At Wealth 0" ID="playerDieinDieAtWealth0" sources="//@agents[ID='player']/@rootActivity/@members[ID='wealthLesserLiteral0']" selected="//@agents[ID='player']/@rootActivity/@members[ID='dieAtWealth0']" destination="//@agents[ID='player']/@rootActivity/@members[ID='dieAtWealth0']"/> |
| <members xsi:type="act:ASelect" label="Other Player" ID="otherPlayer" sources="//@agents[ID='player']/@rootActivity/@members[ID='playNeighbor']" targets="//@agents[ID='player']/@rootActivity/@members[ID='spaceNeighborCopy']" selected="//@agents[ID='player']/@rootActivity/@members[ID='playNeighbor']" agent="//@agents[ID='player']" space="//@projections[ID='gameSpace']"/> |
| <members xsi:type="act:AQuery" label="Space Available" ID="spaceAvailable" sources="//@agents[ID='player']/@rootActivity/@members[ID='randomCell2']" targets="//@agents[ID='player']/@rootActivity/@members[ID='movetoPlayerinGameSpac']" selected="//@agents[ID='player']/@rootActivity/@members[ID='randomCell2']"> |
| <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="Available" ID="available" sources="//@agents[ID='player']/@rootActivity/@members[ID='randomNeighbor']" targets="//@agents[ID='player']/@rootActivity/@members[ID='availableNeighbor']" selected="//@agents[ID='player']/@rootActivity/@members[ID='randomNeighbor']"> |
| <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="Space Neighbor Copy" ID="spaceNeighborCopy" sources="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']" targets="//@agents[ID='player']/@rootActivity/@members[ID='otherCooperate'] //@agents[ID='player']/@rootActivity/@members[ID='otherDefect']" selected="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']"> |
| <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:AAll" label="Available Neighbor" ID="availableNeighbor" sources="//@agents[ID='player']/@rootActivity/@members[ID='available'] //@agents[ID='player']/@rootActivity/@members[ID='neighbor']" targets="//@agents[ID='player']/@rootActivity/@members[ID='movetoDemographicPrisonnersDillemainGameSpace']" selected="//@agents[ID='player']/@rootActivity/@members[ID='randomNeighbor']"/> |
| <members xsi:type="act:AQuery" label="Player Cooperate" ID="playerCooperate" sources="//@agents[ID='player']/@rootActivity/@members[ID='playNeighbor']" targets="//@agents[ID='player']/@rootActivity/@members[ID='bothCooperate'] //@agents[ID='player']/@rootActivity/@members[ID='cooperateDefect']" selected="//@agents[ID='player']/@rootActivity/@members[ID='playNeighbor']"> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='playNeighbor']" value="//@agents[ID='player']/@attributes[ID='cooperate']"/> |
| <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:AQuery" label="Other Cooperate" ID="otherCooperate" sources="//@agents[ID='player']/@rootActivity/@members[ID='spaceNeighborCopy']" targets="//@agents[ID='player']/@rootActivity/@members[ID='bothCooperate'] //@agents[ID='player']/@rootActivity/@members[ID='defectCooperate']" selected="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']"> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']" value="//@agents[ID='player']/@attributes[ID='cooperate']"/> |
| <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:AQuery" label="Other Defect" ID="otherDefect" sources="//@agents[ID='player']/@rootActivity/@members[ID='spaceNeighborCopy']" targets="//@agents[ID='player']/@rootActivity/@members[ID='cooperateDefect'] //@agents[ID='player']/@rootActivity/@members[ID='bothDefect']" selected="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']"> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']" value="//@agents[ID='player']/@attributes[ID='cooperate']"/> |
| <function xsi:type="function:FLogicalOperator" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='operators']/@subs[ID='logicalOperators']/@functions[ID='not']"/> |
| </members> |
| <members xsi:type="act:AQuery" label="Player Defect" ID="playerDefect" sources="//@agents[ID='player']/@rootActivity/@members[ID='playNeighbor']" targets="//@agents[ID='player']/@rootActivity/@members[ID='defectCooperate'] //@agents[ID='player']/@rootActivity/@members[ID='bothDefect']" selected="//@agents[ID='player']/@rootActivity/@members[ID='playNeighbor']"> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='playNeighbor']" value="//@agents[ID='player']/@attributes[ID='cooperate']"/> |
| <function xsi:type="function:FLogicalOperator" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='operators']/@subs[ID='logicalOperators']/@functions[ID='not']"/> |
| </members> |
| <members xsi:type="act:AAll" label="Both Cooperate" ID="bothCooperate" sources="//@agents[ID='player']/@rootActivity/@members[ID='otherCooperate'] //@agents[ID='player']/@rootActivity/@members[ID='playerCooperate']" targets="//@agents[ID='player']/@rootActivity/@members[ID='valueWealthAddPayoffCooperateCooperate'] //@agents[ID='player']/@rootActivity/@members[ID='valueWealthAddPayoffCooperateCooperateCopy']" selected="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']"/> |
| <members xsi:type="act:AAll" label="Defect Cooperate" ID="defectCooperate" sources="//@agents[ID='player']/@rootActivity/@members[ID='otherCooperate'] //@agents[ID='player']/@rootActivity/@members[ID='playerDefect']" targets="//@agents[ID='player']/@rootActivity/@members[ID='valueWealthAddPayoffDefectCooperate'] //@agents[ID='player']/@rootActivity/@members[ID='valueWealthAddPayoffCooperateDefectCopy']" selected="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']"/> |
| <members xsi:type="act:AAll" label="Cooperate Defect" ID="cooperateDefect" sources="//@agents[ID='player']/@rootActivity/@members[ID='otherDefect'] //@agents[ID='player']/@rootActivity/@members[ID='playerCooperate']" targets="//@agents[ID='player']/@rootActivity/@members[ID='valueWealthAddPayoffCooperateDefect'] //@agents[ID='player']/@rootActivity/@members[ID='valueWealthAddPayoffDefectCooperateCopy']" selected="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']"/> |
| <members xsi:type="act:AAll" label="Both Defect" ID="bothDefect" sources="//@agents[ID='player']/@rootActivity/@members[ID='playerDefect'] //@agents[ID='player']/@rootActivity/@members[ID='otherDefect']" targets="//@agents[ID='player']/@rootActivity/@members[ID='valueWealthAddPayoffDefectDefect'] //@agents[ID='player']/@rootActivity/@members[ID='valueWealthAddPayoffDefectDefectCopy']" selected="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']"/> |
| <members xsi:type="act:AEvaluate" label="Value Wealth Add Payoff Defect Cooperate" ID="valueWealthAddPayoffDefectCooperate" sources="//@agents[ID='player']/@rootActivity/@members[ID='defectCooperate']" targets="//@agents[ID='player']/@rootActivity/@members[ID='setWealthToValueWealthAddPayoffDefectCooperate']" selected="//@agents[ID='player']/@rootActivity/@members[ID='playNeighbor']"> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='playNeighbor']" value="//@agents[ID='player']/@attributes[ID='wealth']"/> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='playNeighbor']" value="//@attributes[ID='payoffDC']"/> |
| <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="Value Wealth Add Payoff Cooperate Cooperate" ID="valueWealthAddPayoffCooperateCooperate" sources="//@agents[ID='player']/@rootActivity/@members[ID='bothCooperate']" targets="//@agents[ID='player']/@rootActivity/@members[ID='setWealthToValueWealthAddPayoffCooperateCooperate']" selected="//@agents[ID='player']/@rootActivity/@members[ID='playNeighbor']"> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='playNeighbor']" value="//@agents[ID='player']/@attributes[ID='wealth']"/> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='playNeighbor']" value="//@attributes[ID='payoffCC']"/> |
| <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="Value Wealth Add Payoff Defect Defect" ID="valueWealthAddPayoffDefectDefect" sources="//@agents[ID='player']/@rootActivity/@members[ID='bothDefect']" targets="//@agents[ID='player']/@rootActivity/@members[ID='setWealthToValueWealthAddPayoffDefectDefect']" selected="//@agents[ID='player']/@rootActivity/@members[ID='playNeighbor']"> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='playNeighbor']" value="//@agents[ID='player']/@attributes[ID='wealth']"/> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='playNeighbor']" value="//@attributes[ID='payoffDD']"/> |
| <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="Value Wealth Add Payoff Cooperate Defect" ID="valueWealthAddPayoffCooperateDefect" sources="//@agents[ID='player']/@rootActivity/@members[ID='cooperateDefect']" targets="//@agents[ID='player']/@rootActivity/@members[ID='setWealthToValueWealthAddPayoffCooperateDefect']" selected="//@agents[ID='player']/@rootActivity/@members[ID='playNeighbor']"> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='playNeighbor']" value="//@agents[ID='player']/@attributes[ID='wealth']"/> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='playNeighbor']" value="//@attributes[ID='payoffCD']"/> |
| <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 Wealth To Value Wealth Add Payoff Defect Cooperate" ID="setWealthToValueWealthAddPayoffDefectCooperate" sources="//@agents[ID='player']/@rootActivity/@members[ID='valueWealthAddPayoffDefectCooperate']" selected="//@agents[ID='player']/@rootActivity/@members[ID='playNeighbor']" attribute="//@agents[ID='player']/@attributes[ID='wealth']" parameter="//@agents[ID='player']/@rootActivity/@members[ID='valueWealthAddPayoffDefectCooperate']"/> |
| <members xsi:type="act:ASet" label="Set Wealth To Value Wealth Add Payoff Defect Defect" ID="setWealthToValueWealthAddPayoffDefectDefect" sources="//@agents[ID='player']/@rootActivity/@members[ID='valueWealthAddPayoffDefectDefect']" selected="//@agents[ID='player']/@rootActivity/@members[ID='playNeighbor']" attribute="//@agents[ID='player']/@attributes[ID='wealth']" parameter="//@agents[ID='player']/@rootActivity/@members[ID='valueWealthAddPayoffDefectDefect']"/> |
| <members xsi:type="act:ASet" label="Set Wealth To Value Wealth Add Payoff Cooperate Cooperate" ID="setWealthToValueWealthAddPayoffCooperateCooperate" sources="//@agents[ID='player']/@rootActivity/@members[ID='valueWealthAddPayoffCooperateCooperate']" selected="//@agents[ID='player']/@rootActivity/@members[ID='playNeighbor']" attribute="//@agents[ID='player']/@attributes[ID='wealth']" parameter="//@agents[ID='player']/@rootActivity/@members[ID='valueWealthAddPayoffCooperateCooperate']"/> |
| <members xsi:type="act:ASet" label="Set Wealth To Value Wealth Add Payoff Cooperate Defect" ID="setWealthToValueWealthAddPayoffCooperateDefect" sources="//@agents[ID='player']/@rootActivity/@members[ID='valueWealthAddPayoffCooperateDefect']" selected="//@agents[ID='player']/@rootActivity/@members[ID='playNeighbor']" attribute="//@agents[ID='player']/@attributes[ID='wealth']" parameter="//@agents[ID='player']/@rootActivity/@members[ID='valueWealthAddPayoffCooperateDefect']"/> |
| <members xsi:type="act:AQuery" label="Wealth Greater or Equal Fission Wealth" ID="wealthGreaterorEqualFissionWealth" sources="//@agents[ID='player']/@rootActivity/@members[ID='fissionRule']" targets="//@agents[ID='player']/@rootActivity/@members[ID='birthLocation']" selected="//@agents[ID='player']/@rootActivity/@members[ID='fissionRule']"> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='fissionRule']" value="//@agents[ID='player']/@attributes[ID='wealth']"/> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='fissionRule']" value="//@attributes[ID='fissionWealth']"/> |
| <function xsi:type="function:FLogicalOperator" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='operators']/@subs[ID='logicalOperators']/@functions[ID='greaterorEqual']"/> |
| </members> |
| <members xsi:type="act:ACreateAgents" label="Create Agents" ID="createAgents" sources="//@agents[ID='player']/@rootActivity/@members[ID='neighborAvailableforBirth']" targets="//@agents[ID='player']/@rootActivity/@members[ID='movetoPlayerinGameSpaceCopy'] //@agents[ID='player']/@rootActivity/@members[ID='valueRandomUnit'] //@agents[ID='player']/@rootActivity/@members[ID='wealthChildWealth'] //@agents[ID='player']/@rootActivity/@members[ID='setWealthToInheiritedWealth']" selected="//@agents[ID='player']/@rootActivity/@members[ID='birthLocation']" agent="//@agents[ID='player']" space="//@projections[ID='gameSpace']"/> |
| <members xsi:type="act:AQuery" label="Birth Neighbor" ID="birthNeighbor" sources="//@agents[ID='player']/@rootActivity/@members[ID='birthLocation']" targets="//@agents[ID='player']/@rootActivity/@members[ID='neighborAvailableforBirth']" selected="//@agents[ID='player']/@rootActivity/@members[ID='birthLocation']"> |
| <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="Space Available Copy Copy" ID="spaceAvailableCopyCopy" sources="//@agents[ID='player']/@rootActivity/@members[ID='birthLocation']" targets="//@agents[ID='player']/@rootActivity/@members[ID='neighborAvailableforBirth']" selected="//@agents[ID='player']/@rootActivity/@members[ID='birthLocation']"> |
| <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:AAll" label="Neighbor Available for Birth" ID="neighborAvailableforBirth" sources="//@agents[ID='player']/@rootActivity/@members[ID='birthNeighbor'] //@agents[ID='player']/@rootActivity/@members[ID='spaceAvailableCopyCopy']" targets="//@agents[ID='player']/@rootActivity/@members[ID='createAgents']" selected="//@agents[ID='player']/@rootActivity/@members[ID='birthLocation']"/> |
| <members xsi:type="act:AMove" label="Move to Player in Game Space Copy" ID="movetoPlayerinGameSpaceCopy" sources="//@agents[ID='player']/@rootActivity/@members[ID='createAgents']" selected="//@agents[ID='player']/@rootActivity/@members[ID='createAgents']" destination="//@agents[ID='player']/@rootActivity/@members[ID='birthLocation']"/> |
| <members xsi:type="act:ASelect" label="Birth Location" ID="birthLocation" sources="//@agents[ID='player']/@rootActivity/@members[ID='wealthGreaterorEqualFissionWealth']" targets="//@agents[ID='player']/@rootActivity/@members[ID='birthNeighbor'] //@agents[ID='player']/@rootActivity/@members[ID='spaceAvailableCopyCopy']" selected="//@agents[ID='player']/@rootActivity/@members[ID='fissionRule']" agent="//@agents[ID='playCell']" space="//@projections[ID='gameSpace']"/> |
| <members xsi:type="act:ASet" label="Set Cooperate To Cooperate" ID="setCooperateToCooperate" sources="//@agents[ID='player']/@rootActivity/@members[ID='not_ValueRandomUnitLesserMutationRate_']" selected="//@agents[ID='player']/@rootActivity/@members[ID='createAgents']" attribute="//@agents[ID='player']/@attributes[ID='cooperate']" parameter="//@agents[ID='player']/@attributes[ID='cooperate']"/> |
| <members xsi:type="act:AEvaluate" label="Value Random Unit" ID="valueRandomUnit" sources="//@agents[ID='player']/@rootActivity/@members[ID='createAgents']" targets="//@agents[ID='player']/@rootActivity/@members[ID='mutationDraw']" selected="//@agents[ID='player']/@rootActivity/@members[ID='createAgents']"> |
| <function xsi:type="function:FGenericFunction" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='random']/@functions[ID='randomUnit']"/> |
| </members> |
| <members xsi:type="act:AQuery" label="Mutation Draw" ID="mutationDraw" sources="//@agents[ID='player']/@rootActivity/@members[ID='valueRandomUnit']" targets="//@agents[ID='player']/@rootActivity/@members[ID='valueRandomBoolean'] //@agents[ID='player']/@rootActivity/@members[ID='not_ValueRandomUnitLesserMutationRate_']" selected="//@agents[ID='player']/@rootActivity/@members[ID='createAgents']"> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='createAgents']" value="//@agents[ID='player']/@rootActivity/@members[ID='valueRandomUnit']"/> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='createAgents']" value="//@attributes[ID='mutationRate']"/> |
| <function xsi:type="function:FLogicalOperator" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='operators']/@subs[ID='logicalOperators']/@functions[ID='lesser']"/> |
| </members> |
| <members xsi:type="act:AEvaluate" label="Value Random Boolean" ID="valueRandomBoolean" sources="//@agents[ID='player']/@rootActivity/@members[ID='mutationDraw']" targets="//@agents[ID='player']/@rootActivity/@members[ID='setCooperateToValueRandomBoolean']" selected="//@agents[ID='player']/@rootActivity/@members[ID='createAgents']"> |
| <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:ASet" label="Set Cooperate To Value Random Boolean" ID="setCooperateToValueRandomBoolean" sources="//@agents[ID='player']/@rootActivity/@members[ID='valueRandomBoolean']" selected="//@agents[ID='player']/@rootActivity/@members[ID='createAgents']" attribute="//@agents[ID='player']/@attributes[ID='cooperate']" parameter="//@agents[ID='player']/@rootActivity/@members[ID='valueRandomBoolean']"/> |
| <members xsi:type="act:ANone" label="!(Value Random Unit Lesser Mutation Rate)" ID="not_ValueRandomUnitLesserMutationRate_" sources="//@agents[ID='player']/@rootActivity/@members[ID='mutationDraw']" targets="//@agents[ID='player']/@rootActivity/@members[ID='setCooperateToCooperate']" selected="//@agents[ID='player']/@rootActivity/@members[ID='createAgents']"/> |
| <members xsi:type="act:AEvaluate" label="Remaining Wealth" ID="wealthChildWealth" sources="//@agents[ID='player']/@rootActivity/@members[ID='createAgents']" targets="//@agents[ID='player']/@rootActivity/@members[ID='setWealthToWealthChildWealth']" selected="//@agents[ID='player']/@rootActivity/@members[ID='createAgents']"> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='fissionRule']" value="//@agents[ID='player']/@attributes[ID='wealth']"/> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='createAgents']" value="//@attributes[ID='inheiritedWealth']"/> |
| <function xsi:type="function:FOperator" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='operators']/@subs[ID='numericOperators']/@functions[ID='sub']"/> |
| </members> |
| <members xsi:type="act:ASet" label="Set Wealth To Remaining Wealth" ID="setWealthToWealthChildWealth" sources="//@agents[ID='player']/@rootActivity/@members[ID='wealthChildWealth']" selected="//@agents[ID='player']/@rootActivity/@members[ID='fissionRule']" attribute="//@agents[ID='player']/@attributes[ID='wealth']" parameter="//@agents[ID='player']/@rootActivity/@members[ID='wealthChildWealth']"/> |
| <members xsi:type="act:ASet" label="Set Wealth To Inheirited Wealth" ID="setWealthToInheiritedWealth" sources="//@agents[ID='player']/@rootActivity/@members[ID='createAgents']" selected="//@agents[ID='player']/@rootActivity/@members[ID='createAgents']" attribute="//@agents[ID='player']/@attributes[ID='wealth']" parameter="//@attributes[ID='inheiritedWealth']"/> |
| <members xsi:type="act:ASet" label="Set Wealth To Initial Wealth" ID="setWealthToInitialWealth" sources="//@agents[ID='player']/@rootActivity/@members[ID='initialize']" selected="//@agents[ID='player']/@rootActivity/@members[ID='initialize']" attribute="//@agents[ID='player']/@attributes[ID='wealth']" parameter="//@attributes[ID='initialWealth']"/> |
| <members xsi:type="act:AEvaluate" label="Value Wealth Add Payoff Cooperate Defect Copy" ID="valueWealthAddPayoffCooperateDefectCopy" sources="//@agents[ID='player']/@rootActivity/@members[ID='defectCooperate']" targets="//@agents[ID='player']/@rootActivity/@members[ID='setWealthToValueWealthAddPayoffCooperateDefectCopy']" selected="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']"> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']" value="//@agents[ID='player']/@attributes[ID='wealth']"/> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']" value="//@attributes[ID='payoffCD']"/> |
| <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 Wealth To Value Wealth Add Payoff Cooperate Defect Copy" ID="setWealthToValueWealthAddPayoffCooperateDefectCopy" sources="//@agents[ID='player']/@rootActivity/@members[ID='valueWealthAddPayoffCooperateDefectCopy']" selected="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']" attribute="//@agents[ID='player']/@attributes[ID='wealth']" parameter="//@agents[ID='player']/@rootActivity/@members[ID='valueWealthAddPayoffCooperateDefectCopy']"/> |
| <members xsi:type="act:AEvaluate" label="Value Wealth Add Payoff Defect Defect Copy" ID="valueWealthAddPayoffDefectDefectCopy" sources="//@agents[ID='player']/@rootActivity/@members[ID='bothDefect']" targets="//@agents[ID='player']/@rootActivity/@members[ID='setWealthToValueWealthAddPayoffDefectDefectCopy']" selected="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']"> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']" value="//@agents[ID='player']/@attributes[ID='wealth']"/> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']" value="//@attributes[ID='payoffDD']"/> |
| <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="Value Wealth Add Payoff Cooperate Cooperate Copy" ID="valueWealthAddPayoffCooperateCooperateCopy" sources="//@agents[ID='player']/@rootActivity/@members[ID='bothCooperate']" targets="//@agents[ID='player']/@rootActivity/@members[ID='setWealthToValueWealthAddPayoffCooperateCooperateCopy']" selected="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']"> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']" value="//@agents[ID='player']/@attributes[ID='wealth']"/> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']" value="//@attributes[ID='payoffCC']"/> |
| <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 Wealth To Value Wealth Add Payoff Cooperate Cooperate Copy" ID="setWealthToValueWealthAddPayoffCooperateCooperateCopy" sources="//@agents[ID='player']/@rootActivity/@members[ID='valueWealthAddPayoffCooperateCooperateCopy']" selected="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']" attribute="//@agents[ID='player']/@attributes[ID='wealth']" parameter="//@agents[ID='player']/@rootActivity/@members[ID='valueWealthAddPayoffCooperateCooperateCopy']"/> |
| <members xsi:type="act:AEvaluate" label="Value Wealth Add Payoff Defect Cooperate Copy" ID="valueWealthAddPayoffDefectCooperateCopy" sources="//@agents[ID='player']/@rootActivity/@members[ID='cooperateDefect']" targets="//@agents[ID='player']/@rootActivity/@members[ID='setWealthToValueWealthAddPayoffDefectCooperateCopy']" selected="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']"> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']" value="//@agents[ID='player']/@attributes[ID='wealth']"/> |
| <inputs selected="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']" value="//@attributes[ID='payoffDC']"/> |
| <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 Wealth To Value Wealth Add Payoff Defect Cooperate Copy" ID="setWealthToValueWealthAddPayoffDefectCooperateCopy" sources="//@agents[ID='player']/@rootActivity/@members[ID='valueWealthAddPayoffDefectCooperateCopy']" selected="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']" attribute="//@agents[ID='player']/@attributes[ID='wealth']" parameter="//@agents[ID='player']/@rootActivity/@members[ID='valueWealthAddPayoffDefectCooperateCopy']"/> |
| <members xsi:type="act:ASet" label="Set Wealth To Value Wealth Add Payoff Defect Defect Copy" ID="setWealthToValueWealthAddPayoffDefectDefectCopy" sources="//@agents[ID='player']/@rootActivity/@members[ID='valueWealthAddPayoffDefectDefectCopy']" selected="//@agents[ID='player']/@rootActivity/@members[ID='otherPlayer']" attribute="//@agents[ID='player']/@attributes[ID='wealth']" parameter="//@agents[ID='player']/@rootActivity/@members[ID='valueWealthAddPayoffDefectDefectCopy']"/> |
| </rootActivity> |
| <implementation className="Player"/> |
| <styles xsi:type="metaabm:SStyle2D" label="Cooperate Defect Style" ID="cooperateDefectStyle" pluralLabel="Cooperate Defect Styles"> |
| <rootActivity xsi:type="act:AGroup" label="Root Act Group" ID="rootActGroup" pluralLabel="Root Acts"> |
| <members xsi:type="act:ARule" label="Player Rule" ID="playerRule" targets="//@agents[ID='player']/@styles[ID='cooperateDefectStyle']/@rootActivity/@members[ID='identityCooperate']" selected="//@agents[ID='player']/@styles[ID='cooperateDefectStyle']/@rootActivity/@members[ID='playerRule']" agent="//@agents[ID='player']" space="//@projections[ID='gameSpace']" pluralLabel="Player Rules"/> |
| <members xsi:type="act:AQuery" label="Identity Cooperate" ID="identityCooperate" sources="//@agents[ID='player']/@styles[ID='cooperateDefectStyle']/@rootActivity/@members[ID='playerRule']" targets="//@agents[ID='player']/@styles[ID='cooperateDefectStyle']/@rootActivity/@members[ID='defector'] //@agents[ID='player']/@styles[ID='cooperateDefectStyle']/@rootActivity/@members[ID='playerRuleColorBlue']" selected="//@agents[ID='player']/@styles[ID='cooperateDefectStyle']/@rootActivity/@members[ID='playerRule']"> |
| <inputs selected="//@agents[ID='player']/@styles[ID='cooperateDefectStyle']/@rootActivity/@members[ID='playerRule']" value="//@agents[ID='player']/@attributes[ID='cooperate']"/> |
| <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:ANone" label="Defector" ID="defector" sources="//@agents[ID='player']/@styles[ID='cooperateDefectStyle']/@rootActivity/@members[ID='identityCooperate']" targets="//@agents[ID='player']/@styles[ID='cooperateDefectStyle']/@rootActivity/@members[ID='playerRuleColorRed']" selected="//@agents[ID='player']/@styles[ID='cooperateDefectStyle']/@rootActivity/@members[ID='playerRule']"/> |
| <members xsi:type="act:AEvaluate" label="Player Rule: Color Blue()" ID="playerRuleColorBlue" sources="//@agents[ID='player']/@styles[ID='cooperateDefectStyle']/@rootActivity/@members[ID='identityCooperate']" targets="//@agents[ID='player']/@styles[ID='cooperateDefectStyle']/@rootActivity/@members[ID='playerRuleShapeOval']" selected="//@agents[ID='player']/@styles[ID='cooperateDefectStyle']/@rootActivity/@members[ID='playerRule']"> |
| <function xsi:type="function:FGenericFunction" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='graphic']/@functions[ID='colorBlue']"/> |
| </members> |
| <members xsi:type="act:AEvaluate" label="Player Rule: Color Red()" ID="playerRuleColorRed" sources="//@agents[ID='player']/@styles[ID='cooperateDefectStyle']/@rootActivity/@members[ID='defector']" targets="//@agents[ID='player']/@styles[ID='cooperateDefectStyle']/@rootActivity/@members[ID='playerRuleShapeOval']" selected="//@agents[ID='player']/@styles[ID='cooperateDefectStyle']/@rootActivity/@members[ID='playerRule']"> |
| <function xsi:type="function:FGenericFunction" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='graphic']/@functions[ID='colorRed']"/> |
| </members> |
| <members xsi:type="act:AEvaluate" label="Player Rule: Shape Oval()" ID="playerRuleShapeOval" sources="//@agents[ID='player']/@styles[ID='cooperateDefectStyle']/@rootActivity/@members[ID='playerRuleColorRed'] //@agents[ID='player']/@styles[ID='cooperateDefectStyle']/@rootActivity/@members[ID='playerRuleColorBlue']" targets="//@agents[ID='player']/@styles[ID='cooperateDefectStyle']/@rootActivity/@members[ID='playerRuleGraphicFill']" selected="//@agents[ID='player']/@styles[ID='cooperateDefectStyle']/@rootActivity/@members[ID='playerRule']"> |
| <function xsi:type="function:FGenericFunction" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='graphic']/@functions[ID='shapeOval']"/> |
| </members> |
| <members xsi:type="act:AEvaluate" label="Player Rule: Graphic Fill()" ID="playerRuleGraphicFill" sources="//@agents[ID='player']/@styles[ID='cooperateDefectStyle']/@rootActivity/@members[ID='playerRuleShapeOval']" selected="//@agents[ID='player']/@styles[ID='cooperateDefectStyle']/@rootActivity/@members[ID='playerRule']"> |
| <function xsi:type="function:FGenericFunction" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='graphic']/@functions[ID='graphicFill']"/> |
| </members> |
| </rootActivity> |
| <implementation className="CooperateDefectStyle"/> |
| </styles> |
| </agents> |
| <agents label="Play Cell" ID="playCell" pluralLabel="Play Cells"> |
| <rootActivity xsi:type="act:AGroup" label="Root Act Group" ID="rootActGroup" pluralLabel="Root Acts"/> |
| <implementation className="PlayCell"/> |
| <styles xsi:type="metaabm:SStyle2D" label="Play Cell Style 2D" ID="playCellStyle2D" pluralLabel="Play Cell Style 2Ds"> |
| <rootActivity xsi:type="act:AGroup" label="Root Act Group" ID="rootActGroup" pluralLabel="Root Act Groups"> |
| <members xsi:type="act:ARule" label="PlayCell Rule" ID="playCellRule" targets="//@agents[ID='playCell']/@styles[ID='playCellStyle2D']/@rootActivity/@members[ID='playCellRuleColorGreen']" selected="//@agents[ID='playCell']/@styles[ID='playCellStyle2D']/@rootActivity/@members[ID='playCellRule']" agent="//@agents[ID='playCell']" space="//@projections[ID='gameSpace']" pluralLabel="PlayCell Rules"/> |
| <members xsi:type="act:AEvaluate" label="PlayCell Rule: Color Green()" ID="playCellRuleColorGreen" sources="//@agents[ID='playCell']/@styles[ID='playCellStyle2D']/@rootActivity/@members[ID='playCellRule']" targets="//@agents[ID='playCell']/@styles[ID='playCellStyle2D']/@rootActivity/@members[ID='playCellRuleShapeRectangle']" selected="//@agents[ID='playCell']/@styles[ID='playCellStyle2D']/@rootActivity/@members[ID='playCellRule']"> |
| <function xsi:type="function:FGenericFunction" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='graphic']/@functions[ID='colorGreen']"/> |
| </members> |
| <members xsi:type="act:AEvaluate" label="PlayCell Rule: Shape Rectangle()" ID="playCellRuleShapeRectangle" sources="//@agents[ID='playCell']/@styles[ID='playCellStyle2D']/@rootActivity/@members[ID='playCellRuleColorGreen']" targets="//@agents[ID='playCell']/@styles[ID='playCellStyle2D']/@rootActivity/@members[ID='playCellRuleGraphicFill']" selected="//@agents[ID='playCell']/@styles[ID='playCellStyle2D']/@rootActivity/@members[ID='playCellRule']"> |
| <function xsi:type="function:FGenericFunction" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='graphic']/@functions[ID='shapeRectangle']"/> |
| </members> |
| <members xsi:type="act:AEvaluate" label="PlayCell Rule: Graphic Fill()" ID="playCellRuleGraphicFill" sources="//@agents[ID='playCell']/@styles[ID='playCellStyle2D']/@rootActivity/@members[ID='playCellRuleShapeRectangle']" selected="//@agents[ID='playCell']/@styles[ID='playCellStyle2D']/@rootActivity/@members[ID='playCellRule']"> |
| <function xsi:type="function:FGenericFunction" href="http://metaabm.org/core_library.metaabm#//@library[ID='coreFunctions']/@subs[ID='graphic']/@functions[ID='graphicFill']"/> |
| </members> |
| </rootActivity> |
| <implementation className="PlayCellStyle"/> |
| </styles> |
| </agents> |
| <projections xsi:type="metaabm:SGrid" label="Game Space" ID="gameSpace" pluralLabel="Game Spaces" dimensionality="2" borderRule="PERIODIC" neighborhood="VON_NEUMANN"> |
| <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> |
| </metaabm:SContext> |