Ferramentas do usuário

Ferramentas do site


geopro:pedro:repast

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anteriorRevisão anterior
Próxima revisão
Revisão anterior
geopro:pedro:repast [2008/06/17 18:29] pedrogeopro:pedro:repast [2010/03/09 14:33] (atual) pedro
Linha 15: Linha 15:
  
 \\ \\
 +
 +
 +{{http://www.leg.ufpr.br/~pedro/figures/barros-city-growth.jpg  }}
 +
 +{{  http://www.leg.ufpr.br/~pedro/figures/seggregation-crooks.jpg}}
  
 There are fixed and flexible components. The fixed are the Engine, Logging, and Interactive and Batch Run Modules. There are fixed and flexible components. The fixed are the Engine, Logging, and Interactive and Batch Run Modules.
Linha 67: Linha 72:
  
 \\ \\
 +
 +
  
 **Abstract:** The use of simulation/modelling systems can simplify the implementation of agent-based models. Repast is one of the few simulation/modelling software systems that supports the integration of geospatial data especially that of vector-based geometries. This paper provides details about Repast specifically an overview, including its different development languages available to develop agent-based models. Before describing Repast’s core functionality and how models can be developed within it, specific emphasis will be placed on its ability to represent dynamics and incorporate geographical information. Once these elements of the system have been covered, a diverse list of Agent-Based Modelling (ABM) applications using Repast will be presented with particular emphasis on spatial applications utilizing Repast, in particular, those that utilize geospatial data. **Abstract:** The use of simulation/modelling systems can simplify the implementation of agent-based models. Repast is one of the few simulation/modelling software systems that supports the integration of geospatial data especially that of vector-based geometries. This paper provides details about Repast specifically an overview, including its different development languages available to develop agent-based models. Before describing Repast’s core functionality and how models can be developed within it, specific emphasis will be placed on its ability to represent dynamics and incorporate geographical information. Once these elements of the system have been covered, a diverse list of Agent-Based Modelling (ABM) applications using Repast will be presented with particular emphasis on spatial applications utilizing Repast, in particular, those that utilize geospatial data.
Linha 239: Linha 246:
 GeoGraphs can import network landscapes and corresponding territorial outline maps from **shape files**. GeoGraphs can import network landscapes and corresponding territorial outline maps from **shape files**.
 The original version of GeoGraphs was built for  Swarm. The original version of GeoGraphs was built for  Swarm.
 +
  
  
Linha 253: Linha 261:
 {{http://leg.ufpr.br/~pedro/figures/repast-virtual-mars.jpg}} {{http://leg.ufpr.br/~pedro/figures/repast-virtual-mars.jpg}}
  
 +
 +==== Triggering actions====
 +I have two trigger actions in my SynapseAgent class as below. Basically when its neuron is excited (when its potential is equal to 30) synapses are activated to conduct the neuronal signal to postsynaptic neurons with a delay of 2 time steps because of axonal delay and processing time of synapses. However, axonal delay can change is some circumstances. In this sense, how can I re-schedule my SynapseAgent's trigger methods? Or, should I remove this synapse agent and create a new one? There is a DefaultTriggerAction class but I am not sure how to use it. Is there sample codes (I couldn't find one).
 +
 +Thanks in advace,
 +
 +Önder.
 +
 +  public class SynapseAgent {
 +  
 +    /**
 +    * Initially, it takes 10 time steps to process the signal. 
 +    */
 +    @Watch(watcheeClassName = "wiringexperiment001.SensoryNeuronAgent", 
 +           watcheeFieldNames = "potential",
 +           query = "linked_from", 
 +           triggerCondition = "$watchee.getPotential() == 30", 
 +           whenToTrigger = WatcherTriggerSchedule.LATER, 
 +           scheduleTriggerDelta = 2d)
 +  
 +    public void activate() {
 +      System.out.println("activate! " + RunEnvironment.getInstance().getCurrentSchedule().getTickCount());
 +      Network<Object> network = WiringExperiment001Utility.getNetwork(this);
 +      Iterable<RepastEdge<Object>> outEdges = network.getOutEdges(this);
 +      Iterator<RepastEdge<Object>> outEdgeIterator = outEdges.iterator();
 +      while (outEdgeIterator.hasNext()) {
 +        RepastEdge<Object> edge = outEdgeIterator.next();
 +        edge.setWeight(30);
 +      }
 +    }
 +    @Watch(watcheeClassName = "wiringexperiment001.SensoryNeuronAgent", 
 +           watcheeFieldNames = "potential",
 +           query = "linked_from", 
 +           triggerCondition = "$watchee.getPotential() == -70", 
 +           whenToTrigger = WatcherTriggerSchedule.LATER, 
 +           scheduleTriggerDelta = 2d)
 +    public void deactivate() {
 +      System.out.println("deactivate! " + RunEnvironment.getInstance().getCurrentSchedule().getTickCount());
 +      Network<Object> network = WiringExperiment001Utility.getNetwork(this);
 +      Iterable<RepastEdge<Object>> outEdges = network.getOutEdges(this);
 +      Iterator<RepastEdge<Object>> outEdgeIterator = outEdges.iterator();
 +      while (outEdgeIterator.hasNext()) {
 +        RepastEdge<Object> edge = outEdgeIterator.next();
 +        edge.setWeight(-70);
 +      }
 +    }
 +  
 +  }
  
  
geopro/pedro/repast.1213727392.txt.gz · Última modificação: 2008/06/17 18:29 por pedro