[][src]Trait asi_core0::Runtime

pub trait Runtime {
    type Agent;
    pub fn load(&mut self, agent: Self::Agent);
pub fn start(&mut self);
pub fn update(&mut self, dt: f64);
pub fn is_running(&self) -> bool;
pub fn shut_down(&mut self, dt: f64) -> f64;
pub fn kill(&mut self);
pub fn is_sleeping(&self) -> bool;
pub fn wake_up(&mut self); }

Implemented by runtimes for agents.

This controls the loading, starting, updating and shut down procedures.

Associated Types

type Agent[src]

The type of agent.

Loading content...

Required methods

pub fn load(&mut self, agent: Self::Agent)[src]

Loads a new agent as initial condition.

pub fn start(&mut self)[src]

Starts the agent. This must be called before update to run the agent.

pub fn update(&mut self, dt: f64)[src]

Move forward in time.

pub fn is_running(&self) -> bool[src]

Returns true if the agent is still running or have not started yet.

pub fn shut_down(&mut self, dt: f64) -> f64[src]

Start shut down procedure, expected to complete in a number of seconds. Returns estimate from the decision maker. This is 0 if ready to shut down.

pub fn kill(&mut self)[src]

Terminate immediately even if the decision maker is not ready. This is called when the controller of the agent is impatient. (It does not morally kill the agent as it might be resurrected from backup memory).

pub fn is_sleeping(&self) -> bool[src]

Returns true if the agent is sleeping.

pub fn wake_up(&mut self)[src]

Wakes the agent up from sleep.

Loading content...

Implementors

impl<I, O, T, D> Runtime for StandardRuntime<I, O, T, D> where
    D: DecisionMaker<T>,
    I: Sensor<T>,
    O: Actuator<T>,
    T: Default
[src]

type Agent = Agent<I, O, T, D>

Loading content...