<?xml version="1.0" encoding="UTF-8"?>
<otrunk id="6a009db6-8ab0-4da8-8032-151a9d1e760f">
	<imports>
		<import class="org.concord.data.state.OTDataStore" />
		<import class="org.concord.data.state.OTDataChannelDescription" />
		<import class="org.concord.data.state.OTDataField" />
		<import class="org.concord.data.state.OTDataTable" />
		<import class="org.concord.datagraph.state.OTDataGraph" />
		<import class="org.concord.datagraph.state.OTDataAxis" />
		<import class="org.concord.datagraph.state.OTDataGraphable" />
		<import class="org.concord.datagraph.state.OTDataCollector" />
		<import class="org.concord.datagraph.state.OTMultiDataGraph" />
		<import class="org.concord.datagraph.state.OTPluginView" />
		<import class="org.concord.datagraph.state.OTDataBarGraphable" />
		<import class="org.concord.otrunk.OTIncludeRootObject" />
		<import class="org.concord.otrunk.OTInclude" />
		<import class="org.concord.otrunk.OTSystem" />
		<import class="org.concord.otrunk.biologica.OTOrganismPlacement" />
		<import class="org.concord.otrunk.biologica.OTEnvironment" />
		<import class="org.concord.otrunk.biologica.OTOrganism" />
		<import class="org.concord.otrunk.biologica.OTWorld" />
		<import class="org.concord.otrunk.biologica.agent.OTAgentSpecies" />
		<import class="org.concord.otrunk.biologica.agent.OTAgentTrait" />
		<import class="org.concord.otrunk.biologica.agent.OTAgentPropertyImageMap" />
		<import class="org.concord.otrunk.biologica.environment.OTAddAgentButton" />
		<import class="org.concord.otrunk.biologica.environment.OTEnvironmentHolder" />
		<import class="org.concord.otrunk.biologica.data.OTBiologicaModelDataProducer" />
		<import class="org.concord.otrunk.biologica.rules.OTRule" />
		<import class="org.concord.otrunk.biologica.rules.OTRuleCondition" />
		<import class="org.concord.otrunk.biologica.rules.OTRuleConsequence" />
    <import class="org.concord.otrunk.ui.OTButton" />
    <import class="org.concord.otrunk.ui.OTChoice" />
    <import class="org.concord.otrunk.ui.OTChoiceMultiple" />
		<import class="org.concord.otrunk.ui.OTCurriculumUnit" />
		<import class="org.concord.otrunk.ui.OTPlacement" />
    <import class="org.concord.otrunk.ui.OTTabContainer" />
		<import class="org.concord.otrunk.ui.snapshot.OTSnapshot" />
		<import class="org.concord.otrunk.ui.snapshot.OTSnapshotButton" />
		<import class="org.concord.otrunk.ui.snapshot.OTSnapshotAlbum" />
		<import class="org.concord.otrunk.ui.snapshot.OTSnapshotChooser" />
		<import class="org.concord.otrunk.view.OTViewEntry" />
		<import class="org.concord.otrunk.view.OTViewBundle" />
		<import class="org.concord.otrunk.view.OTViewMode" />
		<import class="org.concord.otrunk.view.document.OTCompoundDoc" />
		<import class="org.concord.otrunk.script.ui.OTScriptObject" />
		<import class="org.concord.otrunk.script.js.OTJavascript" />
		<import class="org.concord.otrunk.script.OTScriptEngineBundle" />
		<import class="org.concord.otrunk.script.OTScriptEngineEntry" />
		<import class="org.concord.otrunk.script.ui.OTScriptVariable" />
		<import class="org.concord.otrunk.script.ui.OTScriptVariableComponent" />
		<import class="org.concord.otrunk.script.ui.OTScriptVariableRealObject" />
		<import class="org.concord.otrunk.script.ui.OTScriptVariableView" />
		<import class="org.concord.otrunk.script.ui.OTScriptButton" />
		<import class="org.concord.otrunk.ui.OTSlider" />
		<import class="org.concord.otrunk.ui.OTText" />
		<import class="org.concord.framework.otrunk.view.OTFrame" />
		<import class="org.concord.framework.otrunk.wrapper.OTObjectSet" />
	</imports>
	<idMap>
		<idMapping local_id="rabbit-species" id="f05fc1b1-ea0e-4d6e-a21e-7d089860445a" />
		<idMapping local_id="plant-species" id="6904840c-03f6-4f2d-b822-bc85aebe70db" />
    <idMapping local_id="hawk-species" id="8cf33f49-8820-4c6f-9e5f-49fcca68acbd" />
	</idMap>
	<objects>
		<OTSystem>
			<bundles>
				<object refid="8d880970-c22a-11dc-95ff-0800200c9a66" />
				<OTViewBundle>
					<frame>
						<OTFrame useScrollPane="false" openMaximized="false"
							width="900" height="500" />
					</frame>
				</OTViewBundle>
				<OTScriptEngineBundle>
					<engines>
						<OTScriptEngineEntry objectClass="org.concord.otrunk.script.js.OTJavascript"
							engineClass="org.concord.otrunk.script.js.OTJavascriptEngine" />
					</engines>
				</OTScriptEngineBundle>
			</bundles>
			<includes>
				<OTInclude href="../global-imports/er-view-bundle.otml" />
				<OTInclude href="species/fast-plants-roots.otml" />
				<OTInclude href="species/white-rabbits.otml" />
        <OTInclude href="species/hawks.otml" />
			</includes>
			<root>
				<OTCompoundDoc>
					<bodyText>
					<object refid="${hypothesis-choice}"/>
					 <table>
					   <tr>
					     <td>
                  <object refid="${env-holder}"/>
					     </td>
					     <td>
					         <object refid="${graph}"/>
					     </td>
					   </tr>
					 </table>
					</bodyText>
					<documentRefs>
					<OTChoice local_id="hypothesis-choice" name="Multiple choice" horizontal="false" alignContent="0">
             <choices>
               <OTCompoundDoc name="The hawk population would increase when there is no grass.">
                 <bodyText>The hawk population will increase when there is no grass.</bodyText>
               </OTCompoundDoc>
               <OTCompoundDoc name="The hawk population would decrease when there is no grass.">
                 <bodyText>The hawk population will decrease when there is no grass.</bodyText>
               </OTCompoundDoc>
               <OTCompoundDoc name="The hawk population would stay the same when there is no grass.">
                 <bodyText>The hawk population will stay the same when there is no grass.</bodyText>
               </OTCompoundDoc>
               <OTCompoundDoc name="The hawk population will die when there is no grass.">
                 <bodyText>The hawk population will die when there is no grass.</bodyText>
               </OTCompoundDoc>
             </choices>
           </OTChoice>
					 <OTEnvironmentHolder local_id="env-holder"
                      width="590" height="460" toolbar="run,info,reset" useSpeedSlider="false">
                      <environment>
                        <OTEnvironment local_id="environment"
                          environmentWidth="17" environmentHeight="17" showRunButton="false"
                          winterLength="5" summerLength="50" showWinterImage="false"
                          orgSizeMultiplier="1" backgroundImageSrc="images/green2.png">
                          <world>
                            <OTWorld local_id="peasimple_world"
                              speciesPath="org/concord/biologica/worlds/peasimple.xml" />
                          </world>
                          <rules>
                          </rules>
                        </OTEnvironment>
                      </environment>
                      <scripts>
                        <OTScriptObject local_id="setup-script" name="Setup script">
                          <script>
                            <OTJavascript src="scripts/gradated-sunlight-five-blocks/setup.js" id="58e07234-3fb2-4de7-8b05-f1acb96df072">
                              <script>
                                importPackage(Packages.java.lang);
                                importPackage(Packages.java.awt);
                                importPackage(Packages.java.awt.event);
                                importPackage(Packages.java.net);
                                importPackage(Packages.org.concord.biologica.environment);
                                importPackage(Packages.org.concord.biologica.ui);
                                importPackage(Packages.org.concord.framework.otrunk);
                                
                                var startTime, time, previousTime;
                                var isRunning = false;
                                var brownness = 0;
                                var colorChangedRecently = true;
                                var lastBkgdUrl;
                                var addedPlants, addedHawks, addedRabbits;
                                var plantsAreDead, hawksAreDead, rabbitsAreDead;
                                var plantsRemoved, hawksRemoved, rabbitsRemoved;
                                var timeOfExtinction;
                                var agentsRemoved;
                                var envHolder;
                                var endMessageShown, removePlantsMessageShown, balanceMessageShown;
                                
                                var dontShowPopup = false;
                                
                                var baseUrl = otEnvHolder.getOTObjectService().getCodebase(otEnvHolder);
                                
                                function init() {
                                  envHolder = controllerService.getRealObject(otEnvHolder);
                                  
                                  env.removeAllAgents()
                                  env.setStepCount(0)
                                  envHolder.pauseAction()
                                  env.setWrapNorthSouth(false)
                                  env.setWrapEastWest(false)
                                  
                                  env.addStepListener(stepListener)
                                  env.addChangeListener(resetListener)
                                  
                                  setup();
                                  
                                  return true;
                                }
                                
                                function setup() {
                                  
                                  time = 0
                                  previousTime = 0
                                  brownness = 0
                                  addedPlants = addedHawks = addedRabbits = false;
                                  plantsAreDead = hawksAreDead = rabbitsAreDead = false;
                                  plantsRemoved = hawksRemoved = rabbitsRemoved = false;
                                  removePlantsMessageShown = balanceMessageShown = endMessageShown = false;
                                  
                               //   if (!dontShowPopup)
                               //    showQuestionPopup();
                                }
                                
                                var stepHandler =
                                {
                                  environmentStepped: function()
                                  {
                                     checkExtinction();
                                     checkPredators();
                                     updateTimer();
                                     if (time / 1000 &gt; 20 &amp;&amp; !(addedPlants &amp;&amp; addedHawks &amp;&amp; addedRabbits) &amp;&amp; !balanceMessageShown){
                                      showBalancedMessage();
                                     }
                                     if (time / 1000 &gt; 25 &amp;&amp; !plantsRemoved &amp;&amp; !removePlantsMessageShown){
                                      showRemovePlantsMessage();
                                     }
                                     if (env.getStepCount() == 350) {
                                       var otEnvHolderController = controllerService.getController(otEnvHolder);
                                       otEnvHolderController.log("Model ran for 350 steps",null);
                                       envHolder.pauseAction();
                                       showEndMessage();
                                     }
                                  }
                                }
                                var stepListener = new EnvironmentStepListener(stepHandler)
                                
                                
                                function showEndMessage(){
                                  var hypothesis = hypo_choice.getCurrentChoices().get(0).getBodyText();
                                  var popupText = "Tu hipótesis fué:\n"+
                                                  "  \""+hypothesis+"\"\n\n"+
                                                  "¿Fue eso lo que sucedió en el modelo?\n\n"+
                                                   "[drop:  Elija una respuesta...|Sí|No]         \n\n"+
                                                  "Si quieres llevar a cabo el modelo de nuevo, lo puedes reiniciar.\n\n"+
                                                  "Si ya terminaste, ¡continúa en la siguiente página!";
                                   
                                  envHolder.showPopup("Was hypothesis correct?", popupText);
                                  
                                  endMessageShown = true;
                                  
                                  var firstListener = new EnvironmentChangeListener({
                                    environmentChanged: function(evt){
                                      if (evt.getType() == EnvironmentChangeEvent.USER_CLOSED_POPUP){
                                        var otEnvHolderController = controllerService.getController(otEnvHolder);
                                        env.removeListener(firstListener);
                                        envHolder.reset();
                                      }
                                    }
                                  })
                                  
                                  env.addChangeListener(firstListener);
                                }
                                
                                function showBalancedMessage(){
                                  balanceMessageShown = true;
                                  var popupText = "Por favor crea un ecosistema equilibrado con pasto, conejos y halcones.\n\n"+
                                                  "Luego, quita el pasto. ¿Qué le sucede a los halcones?";
                                   
                                  envHolder.showPopup("Please balance message", popupText, true);
                                }
                                
                                function showBalancedMessageExtinction(){
                                  var popupText = "¡Oh no! ¡Una especie murió porque el ecosistema no estaba equilibrado!\n\n"+
                                                  "Intenta crear un ecosistema equilibrado añadiendo sólo un número pequeño de plantas, conejos y halcones. \n\n"+
                                                  "Luego, quita el pasto. ¿Qué le pasa a los halcones?";
                                                  
                                  
                                  envHolder.showPopup("Premature extinction message", popupText, true);
                                                  
                                  var firstListener = new EnvironmentChangeListener({
                                    environmentChanged: function(evt){
                                      if (evt.getType() == EnvironmentChangeEvent.USER_CLOSED_POPUP){
                                        env.removeListener(firstListener);
                                        envHolder.reset();
                                      }
                                    }
                                  })
                                  
                                  env.addChangeListener(firstListener);
                                   
                                }
                                
                                function showHypoMessage(){
                                  var popupText = "Por favor escoge una hipótesis para la pregunta de arriba.";
                                     
                                  envHolder.showPopup("Please pick a hypothesis", popupText);
                                  envHolder.pauseAction();
                                }
                                
                                function showRemovePlantsMessage(){
                                  removePlantsMessageShown = true;
                                  var popupText = "Grandioso, tienes el pasto, conejos y halcones viviendo en el campo.\n\n"+
                                                  "Quita el pasto y observa qué le sucede a los halcones.";
                                   
                                  envHolder.showPopup("Please remove grass message", popupText, true);
                                }
                                
                                function showConclusionMessage(){
                                  var popupText = "Your hypothesis about what would happen was:\n"+
                                                  "  \"I think the hawks will die because the rabbits will not have grass to eat, so the rabbits will die, and there will be no rabbits for the hawk to eat.\"\n\n"+
                                                  "Is that what happened?\n"+
                                                  "[drop:Yes|No]\n"+
                                                  "Write down your observations of this model:\n[text]\n\n"+
                                                  "Take a picture of the graph for your lab book using the 'Take a picture' button!";
                                   
                                  envHolder.showPopup("Conclusions", popupText);
                                  
                                  var firstListener = new EnvironmentChangeListener({
                                    environmentChanged: function(evt){
                                      if (evt.getType() == EnvironmentChangeEvent.USER_CLOSED_POPUP){
                                        env.removeListener(firstListener);
                                        envHolder.showPopup("Finish", "Good work! Move on to the next page.");
                                      }
                                    }
                                  })
                                  
                                  env.addChangeListener(firstListener);
                                }
                                
                                function checkExtinction() {
                                  var allPlants = env.getAgents(plant_species);
                                  var allRabbits = env.getAgents(rabbit_species);
                                  var allHawks = env.getAgents(hawk_species);
                                  
                                  if (allPlants.size() &gt; 0){
                                     addedPlants = true;
                                     plantsRemoved = false;
                                     plantsAreDead = false;
                                  }
                                  if (allRabbits.size() &gt; 0){
                                     addedRabbits = true;
                                     rabbitsRemoved = false;
                                     rabbitsAreDead = false;
                                  }
                                  if (allHawks.size() &gt; 0){
                                    addedHawks = true;
                                    hawksRemoved = false;
                                    hawksAreDead = false;
                                  }
                                  
                                  if (hawksAreDead || rabbitsAreDead) {
                                    if (env.getStepCount() === timeOfExtinction + 20) {
                                      if (hawksAreDead &amp;&amp; !hawksRemoved || 
                                            rabbitsAreDead &amp;&amp; !rabbitsRemoved){
                                        var otEnvHolderController = controllerService.getController(otEnvHolder);
                                        if (!(plantsRemoved || rabbitsRemoved)) {
                                          otEnvHolderController.log("Extinction due to unbalanced ecosystem",null);
                                          envHolder.pauseAction();
                                          showBalancedMessageExtinction();
                                        } else {
	                                        var message = hawksAreDead ? "Hawks went extinct" : "Rabbits went extinct";
	                                        otEnvHolderController.log(message,null);
	                                        envHolder.pauseAction();
	                                        showEndMessage();
                                        }
                                      }
                                    }
                                  } else if (addedHawks &amp;&amp; !hawksRemoved) {
                                    if (allHawks.size() === 0){
                                      hawksAreDead = true;
                                      timeOfExtinction = env.getStepCount();
                                    }
                                  } else if (addedRabbits) {
                                    if (allRabbits.size() === 0){
                                      rabbitsAreDead = true;
                                      timeOfExtinction = env.getStepCount();
                                    }
                                  }
                                }
                                
                                function checkPredators(){
                                  var allHawks = env.getAgents(hawk_species);
                                  if (allHawks.size() &gt; 15){
                                    setProperty(allHawks, "min offspring", 0);
                                    setProperty(allHawks, "max offspring", 1);
                                    setProperty(allHawks, "metabolism", 7);
                                  } else if (allHawks.size() &lt; 8){
                                    setProperty(allHawks, "min offspring", 3);
                                    setProperty(allHawks, "max offspring", 4);
                                    setProperty(allHawks, "metabolism", 3);
                                  } else {
                                    setProperty(allHawks, "min offspring", 2);
                                    setProperty(allHawks, "max offspring", 3);
                                    setProperty(allHawks, "metabolism", 6);
                                  }
                                }
                                
                                function setProperty(agents, property, value){
                                  for(i = 0; i &lt; agents.size(); i++){
                                    agents.get(i).setProperty(property, value);
                                  }
                                }
                                
                                var resetRunHandler= {
                                    environmentChanged: function(evt){
                                      if (evt.getType() == EnvironmentChangeEvent.RESET){
                                        isRunning = false;
                                        setup();
                                      }else if (evt.getType() == EnvironmentChangeEvent.RUN){
                                        isRunning = true
                                        startTime = System.currentTimeMillis()
                                        if (hypo_choice.getCurrentChoices().size() &lt; 1) {
                                          showHypoMessage();
                                        }
                                      } else if (evt.getType() == EnvironmentChangeEvent.PAUSE){
                                        previousTime = time;
                                      } else if (evt.getType() == EnvironmentChangeEvent.USER_REMOVED_AGENTS){
                                        var species = evt.getValue();
                                        if (species === hawk_species){
                                          hawksRemoved = true;
                                        } else if (species === rabbit_species){
                                          rabbitsRemoved = true;
                                        } else if (species === plant_species){
                                          plantsRemoved = true;
                                        }
                                      } else if (evt.getType() == EnvironmentChangeEvent.USER_CLOSED_POPUP){
                                        var otEnvHolderController = controllerService.getController(otEnvHolder);
                                        otEnvHolderController.log("User closed popup",evt.getValue().toArray());
                                        System.out.println("otEnvHolderController = "+otEnvHolderController);
                                      }
                                    }
                                  }    
                                var resetListener = new EnvironmentChangeListener(resetRunHandler)
                                
                                function updateTimer(){
                                  timeSinceLastStart = System.currentTimeMillis() - startTime;
                                  time =  previousTime + timeSinceLastStart;
                                }
        
                                function save() {
                                  return true;
                                }
                                </script>
                                <scripts>
                                <OTJavascript src="scripts/common/message.js" />
                              </scripts>
                            </OTJavascript>
                          </script>
                          <variables>
                            <OTScriptVariableRealObject name="env">
                              <reference>
                                <object refid="${environment}" />
                              </reference>
                            </OTScriptVariableRealObject>
                            <OTScriptVariable name="otEnvHolder">
                              <reference>
                                <object refid="${env-holder}" />
                              </reference>
                            </OTScriptVariable>
                            <OTScriptVariableRealObject name="plant_species">
                              <reference>
                                <object refid="${plant-species}" />
                              </reference>
                            </OTScriptVariableRealObject>
                            <OTScriptVariableRealObject name="rabbit_species">
                              <reference>
                                <object refid="${rabbit-species}" />
                              </reference>
                            </OTScriptVariableRealObject>
                            <OTScriptVariableRealObject name="hawk_species">
                              <reference>
                                <object refid="${hawk-species}" />
                              </reference>
                            </OTScriptVariableRealObject>
                            <OTScriptVariable name="hypo_choice">
                              <reference>
                                <object refid="${hypothesis-choice}"/>
                              </reference>
                            </OTScriptVariable>
                          </variables>
                        </OTScriptObject>
                      </scripts>
                      <addAgentsButtons>
                        <OTAddAgentButton text="Add Plants" limit="4000" click="false" quantity="400" showRemoveButton="true">
                          <species>
                            <object refid="${plant-species}" />
                          </species>
                          <agentTraits>
                            <OTAgentTrait property="resource consumption rate">
                              <possibleValues>
                                <int>2</int>
                              </possibleValues>
                            </OTAgentTrait>
                            <OTAgentTrait property="roots">
                              <possibleValues>
                                <int>2</int>
                              </possibleValues>
                            </OTAgentTrait>
                          </agentTraits>
                        </OTAddAgentButton>
                        <OTAddAgentButton text="Add Rabbits" limit="700" click="false" quantity="70" showRemoveButton="true">
                          <species>
                            <object refid="${rabbit-species}" />
                          </species>
                          <agentTraits>
                            <OTAgentTrait property="mating desire bonus">
                              <possibleValues>
                                <int>-20</int>
                              </possibleValues>
                            </OTAgentTrait><OTAgentTrait property="min offspring" name="">
                              <possibleValues>
                                <int>3</int>
                              </possibleValues>
                            </OTAgentTrait>
                            <OTAgentTrait property="max offspring" name="">
                              <possibleValues>
                                <int>8</int>
                              </possibleValues>
                            </OTAgentTrait>
                            <OTAgentTrait property="hunger bonus">
                              <possibleValues>
                                <int>-10</int>
                              </possibleValues>
                            </OTAgentTrait>
                            <OTAgentTrait property="metabolism">
                              <possibleValues>
                                <int>1</int>
                              </possibleValues>
                            </OTAgentTrait>
                            <OTAgentTrait property="resource consumption rate">
                              <possibleValues>
                                <int>10</int>
                              </possibleValues>
                            </OTAgentTrait>
                            <OTAgentTrait property="chance of being seen">
                              <possibleValues>
                                <float>0.30</float>
                              </possibleValues>
                            </OTAgentTrait>
                            <OTAgentTrait property="mating distance" name="">
                              <possibleValues>
                                <int>20</int>
                              </possibleValues>
                            </OTAgentTrait>
                            <OTAgentTrait property="vision distance" name="">
                              <possibleValues>
                                <int>10</int>
                              </possibleValues>
                            </OTAgentTrait>
                          </agentTraits>
                        </OTAddAgentButton>
                        <OTAddAgentButton text="Add Hawk" limit="150" click="false" quantity="15" showRemoveButton="true">
                          <species>
                            <object refid="${hawk-species}" />
                          </species>
                          <agentTraits>
                           <OTAgentTrait property="min offspring" name="">
                              <possibleValues>
                                <int>2</int>
                              </possibleValues>
                            </OTAgentTrait>
                            <OTAgentTrait property="max offspring" name="">
                              <possibleValues>
                                <int>3</int>
                              </possibleValues>
                            </OTAgentTrait>
                            <OTAgentTrait property="eating distance" name="">
                              <possibleValues>
                                <int>6</int>
                              </possibleValues>
                            </OTAgentTrait>
                            <OTAgentTrait property="mating distance" name="">
                              <possibleValues>
                                <int>8</int>
                              </possibleValues>
                            </OTAgentTrait>
                            <OTAgentTrait property="metabolism">
                              <possibleValues>
                                <int>6</int>
                              </possibleValues>
                            </OTAgentTrait>
                            <OTAgentTrait property="vision distance">
                              <possibleValues>
                                <int>40</int>
                              </possibleValues>
                            </OTAgentTrait>
                          </agentTraits>
                        </OTAddAgentButton>
                      </addAgentsButtons>
                    </OTEnvironmentHolder>
						<OTDataCollector name="Model Data"
              local_id="graph" graphableListEditable="false"
              useDefaultToolBar="false" showControlBar="false" displayButtons="0,3,6" title="Number of organisms" restoreScaleOnReset="true">
              <graphables>
                <OTDataGraphable connectPoints="true"
                  color="0x00AA00" drawMarks="false" name="Grass"
                  xColumn="0" yColumn="1">
                  <dataProducer>
                    <OTBiologicaModelDataProducer local_id="dp" lineGraph="true">
                      <modelHolder>
                        <object refid="${env-holder}" />
                      </modelHolder>
                      <species>
                        <string>Fast Plants</string>
                        <string>Rabbits</string>
                        <string>Hawks</string>
                      </species>
                  </OTBiologicaModelDataProducer>
                  </dataProducer>
                </OTDataGraphable>
                <OTDataGraphable connectPoints="true"
                  color="0x9999BB" drawMarks="false" name="Rabbits"
                  xColumn="0" yColumn="2">
                  <dataProducer>
                    <object refid="${dp}" />
                  </dataProducer>
                </OTDataGraphable>
                <OTDataGraphable connectPoints="true"
                  color="0xA31F05" drawMarks="false" name="Hawks"
                  xColumn="0" yColumn="3">
                  <dataProducer>
                    <object refid="${dp}" />
                  </dataProducer>
                </OTDataGraphable>
              </graphables>
              <xDataAxis>
                <OTDataAxis min="0" max="60"
                  label="Time" units="s" local_id="xAxis">
                </OTDataAxis>
              </xDataAxis>
              <yDataAxis>
                <OTDataAxis min="0" max="200"
                  label="Number of organisms" local_id="yAxis">
                </OTDataAxis>
              </yDataAxis>
            </OTDataCollector>
					</documentRefs>
				</OTCompoundDoc>
			</root>
		</OTSystem>
	</objects>
</otrunk>

