T - public final class Engine<T>
extends java.lang.Object
implements it.unibo.alchemist.core.interfaces.Simulation<T>
| Modifier and Type | Class and Description |
|---|---|
static class |
Engine.StateCommand<T>
This class provides a flexible Builder to create a new
Command
whose aim is to change the status of a Engine. |
| Constructor and Description |
|---|
Engine(it.unibo.alchemist.model.interfaces.Environment<T> e,
long maxSteps)
Builds a simulation for a given environment.
|
Engine(it.unibo.alchemist.model.interfaces.Environment<T> e,
long maxSteps,
it.unibo.alchemist.model.interfaces.Time t)
Builds a simulation for a given environment.
|
Engine(it.unibo.alchemist.model.interfaces.Environment<T> e,
it.unibo.alchemist.model.interfaces.Time t)
Builds a simulation for a given environment.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addCommand(it.unibo.alchemist.core.interfaces.Command<T> comm) |
static <T> void |
addOutputMonitor(it.unibo.alchemist.model.interfaces.Environment<T> env,
it.unibo.alchemist.boundary.interfaces.OutputMonitor<T> monitor)
Statically searches for the simulation running some environment, and adds
an OutputMonitor to it.
|
void |
addOutputMonitor(it.unibo.alchemist.boundary.interfaces.OutputMonitor<T> op) |
static <T> Engine<T> |
buildSimulation(it.unibo.alchemist.model.interfaces.Environment<T> env) |
static <T> Engine<T> |
buildSimulation(it.unibo.alchemist.model.interfaces.Environment<T> env,
long steps) |
static <T> Engine<T> |
buildSimulation(it.unibo.alchemist.model.interfaces.Environment<T> env,
long steps,
it.unibo.alchemist.model.interfaces.Time t) |
static <T> Engine<T> |
buildSimulation(it.unibo.alchemist.model.interfaces.Environment<T> env,
it.unibo.alchemist.model.interfaces.Time t) |
static <T> Engine<T> |
fromEnvironment(it.unibo.alchemist.model.interfaces.Environment<T> env)
Given an environment, returns the corresponding simulation.
|
it.unibo.alchemist.core.interfaces.DependencyGraph<T> |
getDependencyGraph() |
it.unibo.alchemist.model.interfaces.Environment<T> |
getEnvironment() |
java.lang.Throwable |
getError() |
long |
getFinalStep() |
it.unibo.alchemist.model.interfaces.Time |
getFinalTime() |
it.unibo.alchemist.core.interfaces.ReactionManager<T> |
getReactionManager() |
it.unibo.alchemist.core.interfaces.Status |
getStatus() |
long |
getStep() |
it.unibo.alchemist.model.interfaces.Time |
getTime() |
static <T> void |
neighborAdded(it.unibo.alchemist.model.interfaces.Environment<T> env,
it.unibo.alchemist.model.interfaces.Node<T> node,
it.unibo.alchemist.model.interfaces.Node<T> n) |
static <T> void |
neighborRemoved(it.unibo.alchemist.model.interfaces.Environment<T> env,
it.unibo.alchemist.model.interfaces.Node<T> node,
it.unibo.alchemist.model.interfaces.Node<T> n) |
static <T> void |
nodeAdded(it.unibo.alchemist.model.interfaces.Environment<T> env,
it.unibo.alchemist.model.interfaces.Node<T> node)
This method provide a facility for adding all the reactions of a node to
the current simulation, creating also the dependencies.
|
static <T> void |
nodeMoved(it.unibo.alchemist.model.interfaces.Environment<T> env,
it.unibo.alchemist.model.interfaces.Node<T> node) |
static <T> void |
nodeRemoved(it.unibo.alchemist.model.interfaces.Environment<T> env,
it.unibo.alchemist.model.interfaces.Node<T> node,
it.unibo.alchemist.model.interfaces.Neighborhood<T> oldNeighborhood)
This method provide a facility for removing all the reactions of a node
from the current simulation, along with their dependencies.
|
void |
removeOutputMonitor(it.unibo.alchemist.boundary.interfaces.OutputMonitor<T> op) |
static <T> void |
removeReaction(it.unibo.alchemist.model.interfaces.Environment<T> env,
it.unibo.alchemist.model.interfaces.Reaction<T> r) |
void |
run() |
java.lang.String |
toString() |
it.unibo.alchemist.core.interfaces.Status |
waitFor(it.unibo.alchemist.core.interfaces.Status s,
long timeout,
java.util.concurrent.TimeUnit tu) |
public Engine(it.unibo.alchemist.model.interfaces.Environment<T> e, it.unibo.alchemist.model.interfaces.Time t)
e - the environment at the initial timet - the maximum time to reachpublic Engine(it.unibo.alchemist.model.interfaces.Environment<T> e, long maxSteps)
e - the environment at the initial timemaxSteps - the maximum number of steps to dopublic Engine(it.unibo.alchemist.model.interfaces.Environment<T> e, long maxSteps, it.unibo.alchemist.model.interfaces.Time t)
e - the environment at the initial timemaxSteps - the maximum number of steps to dot - the maximum time to reachpublic static <T> void addOutputMonitor(it.unibo.alchemist.model.interfaces.Environment<T> env,
it.unibo.alchemist.boundary.interfaces.OutputMonitor<T> monitor)
T - The format of the concentrationsenv - The current environmentmonitor - The monitor to addpublic static <T> Engine<T> buildSimulation(it.unibo.alchemist.model.interfaces.Environment<T> env)
T - The format of the concentrationsenv - The environment to be simulatedpublic static <T> Engine<T> buildSimulation(it.unibo.alchemist.model.interfaces.Environment<T> env, it.unibo.alchemist.model.interfaces.Time t)
T - The format of the concentrationsenv - The environment to be simulatedt - The final simulation time to reachpublic static <T> Engine<T> buildSimulation(it.unibo.alchemist.model.interfaces.Environment<T> env, long steps)
T - The format of the concentrationsenv - The environment to be simulatedsteps - The number of steps to runpublic static <T> Engine<T> buildSimulation(it.unibo.alchemist.model.interfaces.Environment<T> env, long steps, it.unibo.alchemist.model.interfaces.Time t)
T - The format of the concentrationsenv - The environment to be simulatedsteps - The number of steps to runt - The final simulation time to reachpublic static <T> Engine<T> fromEnvironment(it.unibo.alchemist.model.interfaces.Environment<T> env)
T - concentrationsenv - the environmentpublic static <T> void neighborAdded(it.unibo.alchemist.model.interfaces.Environment<T> env,
it.unibo.alchemist.model.interfaces.Node<T> node,
it.unibo.alchemist.model.interfaces.Node<T> n)
T - Type for concentrationsenv - the environmentnode - first noden - second nodepublic static <T> void neighborRemoved(it.unibo.alchemist.model.interfaces.Environment<T> env,
it.unibo.alchemist.model.interfaces.Node<T> node,
it.unibo.alchemist.model.interfaces.Node<T> n)
T - Type for concentrationsenv - the environmentnode - first noden - second nodepublic static <T> void nodeMoved(it.unibo.alchemist.model.interfaces.Environment<T> env,
it.unibo.alchemist.model.interfaces.Node<T> node)
T - Type for concentrationsenv - the environmentnode - the nodepublic static <T> void nodeAdded(it.unibo.alchemist.model.interfaces.Environment<T> env,
it.unibo.alchemist.model.interfaces.Node<T> node)
T - Type for concentrationsenv - the environmentnode - the freshly added nodepublic static <T> void nodeRemoved(it.unibo.alchemist.model.interfaces.Environment<T> env,
it.unibo.alchemist.model.interfaces.Node<T> node,
it.unibo.alchemist.model.interfaces.Neighborhood<T> oldNeighborhood)
T - Type for concentrationsenv - the environmentnode - the freshly removed nodeoldNeighborhood - the neighborhood of the node as it was before it was removed
(used to calculate reverse dependencies)public static <T> void removeReaction(it.unibo.alchemist.model.interfaces.Environment<T> env,
it.unibo.alchemist.model.interfaces.Reaction<T> r)
T - Type for concentrationsenv - the environmentr - the removed reactionpublic void addOutputMonitor(it.unibo.alchemist.boundary.interfaces.OutputMonitor<T> op)
addOutputMonitor in interface it.unibo.alchemist.core.interfaces.Simulation<T>public void removeOutputMonitor(it.unibo.alchemist.boundary.interfaces.OutputMonitor<T> op)
removeOutputMonitor in interface it.unibo.alchemist.core.interfaces.Simulation<T>public it.unibo.alchemist.core.interfaces.DependencyGraph<T> getDependencyGraph()
public it.unibo.alchemist.model.interfaces.Environment<T> getEnvironment()
getEnvironment in interface it.unibo.alchemist.core.interfaces.Simulation<T>public long getFinalStep()
getFinalStep in interface it.unibo.alchemist.core.interfaces.Simulation<T>public it.unibo.alchemist.model.interfaces.Time getFinalTime()
getFinalTime in interface it.unibo.alchemist.core.interfaces.Simulation<T>public it.unibo.alchemist.core.interfaces.ReactionManager<T> getReactionManager()
public it.unibo.alchemist.core.interfaces.Status getStatus()
getStatus in interface it.unibo.alchemist.core.interfaces.Simulation<T>public long getStep()
getStep in interface it.unibo.alchemist.core.interfaces.Simulation<T>public it.unibo.alchemist.model.interfaces.Time getTime()
getTime in interface it.unibo.alchemist.core.interfaces.Simulation<T>public void addCommand(it.unibo.alchemist.core.interfaces.Command<T> comm)
addCommand in interface it.unibo.alchemist.core.interfaces.Simulation<T>public it.unibo.alchemist.core.interfaces.Status waitFor(it.unibo.alchemist.core.interfaces.Status s,
long timeout,
java.util.concurrent.TimeUnit tu)
waitFor in interface it.unibo.alchemist.core.interfaces.Simulation<T>public void run()
run in interface java.lang.Runnablepublic java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.Throwable getError()