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/04/16 12:41] 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 56: Linha 61:
  
 Michael J. North, MBA, Ph.D. Michael J. North, MBA, Ph.D.
 +
  
  
 ===== Papers ===== ===== Papers =====
  
 +
 +
 +====The Repast Simulation/Modelling System for Geospatial Simulation====
 +|A T Crooks, 2007| UCL Working Papers Series| [[http://www.leg.ufpr.br/~pedro/papers/casa-repast-geosimulation.pdf|pdf]]|
 +
 +\\
 +
 +
 +
 +**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.
 +
 +\\
 +
 +**The current implementation of GIS functionality within Repast is focused on two systems: ESRI’s ArcGIS via the Agent Analyst extension and the open source software OpenMap. While both rely on ESRI shapefiles, the type of integration between the
 +agent-based model and the GIS are different. Repast has shapefile integration with ArcGIS and native Java integration with OpenMap **(Najlis and North, 2004).
  
 ====Experiences Creating Three Implementations of the Repast Agent Modeling Toolkit==== ====Experiences Creating Three Implementations of the Repast Agent Modeling Toolkit====
Linha 225: 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 239: 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.1208349664.txt.gz · Última modificação: 2008/04/16 12:41 por pedro