The part of a simulation entity provided by {@link Simulation Simulation}. A simulation entity is represented by two associated objects. The user writes an implementation either of {@link EntityDelegate EntityDelegate} orof {@link ProcessDelegate ProcessDelegate}. When this delegate instance is registered with the
Simulation
, an
Entity
instance is returned that is associated with the delegate. Specifically, the user obtains an
Entity
instance from {@link Simulation#register(EntityDelegate) Simulation.register(EntityDelegate)} or from{@link Simulation#register(EntityDelegate,String) Simulation.register(EntityDelegate, String)}.
Entities embody the autonomous action in a simulation. The user programs an entity's activity in the delegate implementation. The delegate uses its associated Entity
instance to request services from its Simulation
.
An entity can be a process entity, in which case it implements {@link ProcessDelegate ProcessDelegate}, or a scheduled entity, in which case it implements {@link EntityDelegate EntityDelegate}.
Process entities embody both proactive and reactive behavior. The {@link ProcessDelegate#agenda() ProcessDelegate.agenda()} containsthe proactive part of a Entity
. The reactive behavior can be coded in action methods that are invoked by other entities.
Scheduled entities, in their {@link EntityDelegate EntityDelegate} implementations,{@link #schedule(String,double,Object[]) schedule} at leastone event in their {@link EntityDelegate#initialize() initialize} method.
![](doc-files/mitre_logo.gif)
Copyright © 2003-2004 The MITRE Corporation