DIVAs' environment architecture is based upon two underlying concepts. In order to manage a large distributed environment efficiently, it is necessary to partition the space into smaller defined areas called cells.
Each cell is assigned a special agent called a cell controller. A cell controller is required to:
- autonomously manage environmental information about its cell;
- be aware of the virtual agents located in its defined area;
- be able to interact with local virtual agents to inform them about changes in their surroundings;
- be able to communicate with other cell controllers to inform them of external events.
These characteristics reveal a strong correlation between the cell controller and the agent architecture as shown in the figure. The Interaction Module handle asynchronous communication among cell controllers as well as synchronous communication between cell controllers and virtual agents. The EKM serves as the portion of the controller's memory that is dedicated to maintaining knowledge about the virtual agents within the cell's boundaries as well as the list of neighboring cells. The IKM serves as the portion of the controller's memory that is dedicated for keeping information that the controller knows about itself, i.e., knowledge about its properties and its cell.
Cell Boundaries Demo
This demonstration shows a virtual environment that is partitioned into cells. For the sake of illustration, the cell boundaries (which are purely conceptual) are drawn in this video. The shaded regions represent cells, and the dotted lines represent the edges of cell boundaries. The agents are transfered between cell controllers as they exit one cell and enter another, however the agents themselves are completely unaware of the cells. This removes the complexity of the decentralized environment from the agent logic.
Population Balancing Demo
This video shows how DIVAs environments dynamically self-organize to balance agent populations. In this scenario we show a 2-dimensional environment in which agents are represented by dots and the shaded arcs represent each agent's visible area. Agents are added at the center of the environment. When the population of a cell exceeds 15 agents, it splits during the next reorganization phase. When the combined population of two neighboring cells falls below 5 agents, the cells merge to form a single cell.
Subscription Mechanism Demo
This video shows how agents are subscribed to self-organizing environment cells based on their visual perception. In this scenario we present a 2-dimensional environment which is organized as a cell hierarchy. Agents are represented as dots and shaded arcs represent an agent's vision. Shaded cells (rectangles) indicate that one or more agents are subscribed to receive updates from that cell. Notice that agents are only subscribed to cells which they can potentially perceive.