org.ascape.gis.model
Class ScapeTime

java.lang.Object
  extended by org.ascape.model.AscapeObject
      extended by org.ascape.model.Agent
          extended by org.ascape.model.LocatedAgent
              extended by org.ascape.model.Cell
                  extended by org.ascape.model.CellOccupant
                      extended by org.ascape.model.Scape
                          extended by org.ascape.gis.model.ScapeTime
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Iterable, java.util.Collection, java.util.EventListener, ControlListener, ScapeListener, Location, Node, SpaceContext, HasName, RandomFunctions

public class ScapeTime
extends Scape

A scape that is aware of time. Intended to be the root scape (model scape) of a model that is concerned with time. This may be delegated to a seperate class.

Author:
Miles Parker, Josh Miller, Mario Inchiosa
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.ascape.model.Scape
Scape.ConditionalIterator, Scape.DrawFeatureObservable
 
Field Summary
 
Fields inherited from class org.ascape.model.Scape
AGENT_ORDER, agentsPerIteration, ALL_AGENTS, CLEAR_STATS_RULE, COLLECT_STATS_RULE, COMPARE_ORDERED_QUALIFIERS, COMPLETE_TOUR, copyrightAndCredits, CREATE_GRAPHIC_VIEW_RULE, CREATE_RULE, CREATE_SCAPE_RULE, CREATE_VIEW_RULE, EXECUTE_RULES_RULE, INITIAL_RULES_RULE, initialRules, prototypeAgent, REPEATED_DRAW, RULE_ORDER, version
 
Fields inherited from class org.ascape.model.CellOccupant
PLAY_HOST_RULE, RANDOM_WALK_AVAILABLE_RULE
 
Fields inherited from class org.ascape.model.Cell
CALCULATE_NEIGHBORS_RULE, neighbors, PLAY_NEIGHBORS_RULE, PLAY_RANDOM_NEIGHBOR_RULE
 
Fields inherited from class org.ascape.model.LocatedAgent
agentSize, coordinate, MOVE_RANDOM_LOCATION_RULE, RANDOM_WALK_RULE, thisUpdate
 
Fields inherited from class org.ascape.model.Agent
DEATH_RULE, FISSIONING_RULE, FORCE_DIE_RULE, FORCE_FISSION_RULE, FORCE_MOVE_RULE, INITIALIZE_RULE, ITERATE_AND_UPDATE_RULE, ITERATE_RULE, METABOLISM_RULE, MOVEMENT_RULE, PLAY_OTHER, UPDATE_RULE
 
Fields inherited from class org.ascape.model.AscapeObject
ARBITRARY_SEED, name, scape
 
Constructor Summary
ScapeTime()
           
 
Method Summary
 double convertProbPerDayToProbPerIteration(double probPerDay)
           
 double convertProbPerHourToProbPerIteration(double probPerHour)
           
 double convertProbPerMinuteToProbPerIteration(double probPerMinute)
          Converts probability per minute to probability per iteration
 java.lang.String getPeriodDescription()
          Returns a string description of the elapsed simulated time since the simulation began, in the form "d, hh:mm:ss"
 int getSecondsPerIteration()
          Gets the number of seconds per iteration
 int getSecondsSinceStart()
          Gets the number of seconds since the simulation started
 void initialize()
          Initialize the model, removing any agents that might have been added in a prewvious run, and checking that settings are set correctly.
 double ratePerDayAsRatePerIteration(double ratePerDay)
          Return the parameter rate per day as rate per iteration.
 double ratePerHourAsRatePerIteration(double ratePerHour)
          Return the parameter rate per hour as rate per iteration.
 double ratePerMinuteAsRatePerIteration(double ratePerMinute)
          Return the parameter rate per minute as rate per iteration.
 double ratePerSecondAsRatePerIteration(double ratePerSecond)
          Return the parameter rate per second as rate per iteration.
 void scapeIterated(ScapeEvent event)
          Each timestep, increment secondsSinceStart, and tell the CommunicationsNetwork and the CommandCenter to check their queues.
 void setSecondsPerIteration(int secondsPerIteration)
          Sets the number of seconds per iteration
 
Methods inherited from class org.ascape.model.Scape
add, add, add, add, addAll, addDrawFeature, addInitialRule, addInitialRule, addRule, addRule, addScapeListener, addScapeListenerFirst, addStatCollector, addStatCollectorIfNew, addStatCollectors, addView, addView, addView, addViews, addViews, addViews, assignParameters, assignParameters, calculateDistance, calculateDistance, clear, clone, construct, contains, containsAll, contentsToString, countWithin, createGraphicViews, createNonGraphicViews, createScape, createSelfView, createViews, createViews, environmentQuiting, execute, execute, executeOnMembers, executeOnMembers, executeOnMembers, executeOnMembers, executeOnRoot, executeOnRoot, find, findMaximum, findMaximum, findMaximumWithin, findMinimum, findMinimum, findMinimumWithin, findNearest, findRandom, findRandom, findRandom, findRandomCoordinate, findWithin, get, get, getAgentsPerIteration, getAllScapes, getCollectStats, getData, getDescription, getDrawFeatures, getDrawFeaturesObservable, getEnvironment, getExecutionOrder, getExecutionStyle, getExtent, getHome, getHTMLDescription, getInitialRules, getIteration, getIterationsPerRedraw, getModel, getName, getPausePeriod, getPeriod, getPeriodName, getPrototype, getPrototypeAgent, getRoot, getRules, getRunner, getScapeListeners, getSize, getSpace, getStartPeriod, getStatCollectors, getStopPeriod, getSuperScape, getThreadCount, getUIEnvironment, getUserEnvironment, hasWithin, isAllViewsUpdated, isAutoCreate, isCellsRequestUpdates, isEmpty, isGraphic, isHome, isLifeOfScape, isListenersAndMembersCurrent, isMembersActive, isMutable, isPaused, isPeriodic, isPopulateOnCreate, isRoot, isRunning, isScapeListener, isSerializable, isStartOnOpen, isUpdateNeeded, isValidPeriod, isViewSelf, iterator, listenerOrMemberUpdated, listenerUpdated, memberUpdated, moveAway, moveToward, newAgent, newAgent, notifyViews, notifyViews, populate, remove, remove, removeAll, removeDrawFeature, removeScapeListener, respondControl, respondDrawFeature, retainAll, retrieveAllAccessors, retrieveAllAccessorsOrdered, retrieveModelAccessorsOrdered, save, save, scapeAdded, scapeClosing, scapeDeserialized, scapeInitialized, scapeIterator, scapeIterator, scapeIterators, scapeNotification, scapeRandomIterator, scapeRemoved, scapeSetup, scapeStarted, scapeStopped, search, searchMax, searchMin, set, set, set, set, setAgentsPerIteration, setAutoCreate, setAutoRestart, setCellsRequestUpdates, setCollectStats, setCollectStats, setDescription, setEarliestPeriod, setExecutionOrder, setExecutionStyle, setExtent, setExtent, setExtent, setHome, setHTMLDescription, setInitialRules, setIterationsPerRedraw, setIterationsPerRedraw, setLatestPeriod, setMembersActive, setPaused, setPausePeriod, setPeriodic, setPeriodName, setPopulateOnCreate, setPrototypeAgent, setRunner, setRunning, setSerializable, setSize, setSpace, setStartOnOpen, setStartPeriod, setStopPeriod, setSuperScape, setThreadCount, setViewSelf, size, toArray, toArray, toString, withinIterator
 
Methods inherited from class org.ascape.model.CellOccupant
die, findAvailableNeighbors, findNearest, findNearest, findNearest, findNearest, findNearest, findNeighbors, findNeighborsOnHost, findRandomAvailableNeighbor, findRandomNeighbor, findRandomNeighborOnHost, findWithin, findWithin, findWithin, getCoordinate, getHostCell, getHostScape, leave, moveAway, moveTo, moveToRandomLocation, moveToward, playNeighbors, playRandomNeighbor, randomWalk, randomWalkAvailable, setHostCell, setHostScape
 
Methods inherited from class org.ascape.model.Cell
calculateNeighbors, countNeighbors, findOccupants, findRelative, getDistance, getNeighbors, getNeighbors, getNetwork, getOccupant, hostedCondition, isAvailable, removeOccupant, setNeighbors, setNeighborsList, setNetwork, setOccupant
 
Methods inherited from class org.ascape.model.LocatedAgent
calculateDistance, calculateDistance, countWithin, countWithin, countWithin, findMaximumWithin, findWithin, getAgentSize, hasWithin, hasWithin, hasWithin, isUpdateNeeded, moveAway, moveAway, moveTo, moveToward, moveToward, requestUpdate, requestUpdateNext, setAgentSize, setCoordinate
 
Methods inherited from class org.ascape.model.Agent
clearDeleteMarker, death, deathCondition, execute, execute, fission, fissionCondition, fissioning, getColor, getColor, getImage, getImage, isDelete, isInitialized, iterate, markForDeletion, metabolism, move, movement, movementCondition, play, scapeCreated, setInitialized, setScape, update
 
Methods inherited from class org.ascape.model.AscapeObject
diffDeep, diffDeep, diffDeepBFS, diffDeepDFS, diffDeepValidate, diffDeepVisit, equalsDeep, equalsDeep, equalsDeep, getComparisonStream, getRandom, getRandomSeed, getScape, randomInRange, randomInRange, randomIs, randomToLimit, reseed, setComparisonStream, setName, setRandom, setRandomSeed
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Collection
equals, hashCode
 
Methods inherited from interface org.ascape.model.event.ScapeListener
getScape
 
Methods inherited from interface org.ascape.model.space.Location
clearDeleteMarker, isDelete, markForDeletion, setCoordinate
 

Constructor Detail

ScapeTime

public ScapeTime()
Method Detail

ratePerDayAsRatePerIteration

public double ratePerDayAsRatePerIteration(double ratePerDay)
Return the parameter rate per day as rate per iteration.

Parameters:
ratePerDay - parameter
Returns:

ratePerHourAsRatePerIteration

public double ratePerHourAsRatePerIteration(double ratePerHour)
Return the parameter rate per hour as rate per iteration.

Parameters:
ratePerHour - parameter
Returns:

ratePerMinuteAsRatePerIteration

public double ratePerMinuteAsRatePerIteration(double ratePerMinute)
Return the parameter rate per minute as rate per iteration.

Parameters:
ratePerMinute - parameter
Returns:

ratePerSecondAsRatePerIteration

public double ratePerSecondAsRatePerIteration(double ratePerSecond)
Return the parameter rate per second as rate per iteration.

Parameters:
ratePerSecond - parameter
Returns:

convertProbPerMinuteToProbPerIteration

public double convertProbPerMinuteToProbPerIteration(double probPerMinute)
Converts probability per minute to probability per iteration

Parameters:
probPerMinute - parameter
Returns:

convertProbPerHourToProbPerIteration

public double convertProbPerHourToProbPerIteration(double probPerHour)

convertProbPerDayToProbPerIteration

public double convertProbPerDayToProbPerIteration(double probPerDay)

getSecondsPerIteration

public int getSecondsPerIteration()
Gets the number of seconds per iteration

Returns:
the secondsPerIteration

initialize

public void initialize()
Initialize the model, removing any agents that might have been added in a prewvious run, and checking that settings are set correctly.

Specified by:
initialize in interface Location
Overrides:
initialize in class Scape

setSecondsPerIteration

public void setSecondsPerIteration(int secondsPerIteration)
Sets the number of seconds per iteration

Parameters:
secondsPerIteration - the secondsPerIteration

scapeIterated

public void scapeIterated(ScapeEvent event)
Each timestep, increment secondsSinceStart, and tell the CommunicationsNetwork and the CommandCenter to check their queues.

Specified by:
scapeIterated in interface ScapeListener
Overrides:
scapeIterated in class Scape
Parameters:
event - the associated scape event

getSecondsSinceStart

public int getSecondsSinceStart()
Gets the number of seconds since the simulation started

Returns:
the secondsSinceStart

getPeriodDescription

public java.lang.String getPeriodDescription()
Returns a string description of the elapsed simulated time since the simulation began, in the form "d, hh:mm:ss"

Overrides:
getPeriodDescription in class Scape
Returns:
the periodDescription


Copyright © 1998-2008 The Brookings Institution, NuTech Solutions, Metascape, LLC All Rights Reserved.