Environments In DIVAs
We subscribe to the idea that a virtual environment plays a critical role in a simulation and as such, should be treated as a first-class entity in simulation design. In DIVAs virtual agents and environment are fully decoupled.
For large scale simulations to be meaningful, it is necessary to implement realistic models for virtual environments. This is a non-trivial task since realistic virtual environments (also called open environments) are:
- inaccessible: virtual agents situated in these environments do not have access to global environmental knowledge but perceive their surroundings through sensors (e.g., vision, auditory, olfactory);
- non-deterministic: the effect of an action or event on the environment is not known with certainty in advance;
- dynamic: the environment constantly undergoes changes as a result of agent actions or external events;
- continuous: the environment states are not enumerable.
In DIVAs, openness is achieved by:
- partitioning the virtual environment into smaller areas called cells;
- assigning a special-purpose design agent called cell controller to each cell.
A cell controller is responsible for:
- Managing environmental information about its cell.
- Interacting with its local virtual agents to inform them about changes in their surroundings.
- Communicating with other cell controllers to inform them of the propagation of external events.
Environment Architecture – Cell Controller Architecture
The cell controller architecture consists of an interaction module, an information module, a task module, and a planning and control module.
The Interaction Module is used to perceive external events and handles asynchronous communication among controllers as well as synchronous communication between controllers and agents. Controller-to-Agent interaction must be synchronous in order to ensure that agents receive a consistent state of the environment. Since Controller-to-Controller interaction involves high-level self-adaptation and has no bearing on the consistency of the state of the simulated environment, these interactions occur asynchronously.
The Knowledge Module contains the data a controller needs to function. It is composed of external and internal knowledge modules
- The Linked Cell Model maintains a list of neighboring cells, that is, those which share a border with the cell. The cell controller uses this information to handle events that occur near boundaries and potentially affect adjacent cells.
- The Self Model contains information about the controller (e.g., id) as well as the essential characteristics of the cell assigned to the controller such as its identifier and region boundaries.
- The Agent Model contains minimal information, such as identification and location, about the agents within the cell’s environment region.
- The Object Model includes information detailing physical entities that are situated within the cell region but are not actual agents (e.g., barricades, buildings, road signs).
- The Resource Model contains information about the resources available for the controller.
- The Constraint Model defines the specific properties and laws of the environment.
The Task Module manages the specification of the atomic tasks that the controller can perform.
The Planning and Control Module serves as the brain of the controller. It uses information provided by the other modules to plan, initiate tasks and make decisions.