Expand description
Traits designating required simulation agent functionality
The traits are intended to be used in a hierarchical manner:
- SimState collect all simulation agents, where fields may be different agent types. This trait then describes functions called during simulation execution
- AgentSet is intended as a homogeneous collection of an agent type
- Agent is an individual agent that may be member of an AgentSet
Implementers have the flexibility to only use part of this structure though, for instance an implementation of SimState could implement an individual agent.
Since it is a common use case to want to iterate over a
agents of different types, the macro #[derive(SimState)]
will automatically implement functions that iterate
over field containing agents.
Traits§
- Agent
- Trait defining behaviour for a single agent
- Agent
Set - A homogenous collection of agents
- Recorded
Agent - Trait used to record the state of the agent over the course of the simulation
- Recorded
Agent Set - Take ownership of time-series data from a set of agents
- SimState
- Simulation agent state trait