Agent Like
The minimal contract a Statechart needs from its owner. Both AgentModel.Agent and AgentResource implement this interface, so a statechart can govern either kind of actor without the statechart runtime having to know which it is.
Statechart action handlers receive an AgentLike reference rather than a concrete type. When a handler needs to read or mutate owner-specific state (a worker agent's task queue, a forklift's battery level), cast to the concrete type at the call site.
Inheritors
Properties
The current simulation time. Provided here so action handlers can log or compute durations without having to reach for the owner's outer model element.
Default mailbox for receiving AgentMessage traffic. Routes through the enclosing AgentModel's shared message bus.
Optional statechart governing this agent's reactive behavior. Default null for AgentLike implementations that don't provide a statechart abstraction. The concrete agent types (AgentModel.Agent, AgentModel.PermanentAgent, AgentResource) each override this with their own backing field.