Agent-Based Simulation Framework

Overview 1
DIVAs 4 Architecture 2
The Simulation Control GUI 3
The Visualization and Editing System 4
Related Publications 5
Demos 6

The DIVAs (Dynamic Information Visualization of Agent systems) project aims at developing generic reusable components and libraries that can be instantiated and integrated to create decentralized agent-based simulation systems where agents are situated in open (i.e., inaccessible, non-deterministic, dynamic and continuous) environments.

As a software development framework, DIVAs encompasses concepts, architecture, abstract classes, software components and libraries.

This large-scale project was started several years ago and has gone through multiple iterations. The various internal releases allowed the definition, refinement and prototyping of the fundamental concepts and building blocks of the framework. The latest baselined version is DIVAs 4.

DIVAs 4 provides JAVA programmers with the components necessary to build executable agent-based simulation systems. Based on sound software engineering principles (i.e., separation of concerns, modularity, information hiding), we have defined and completed a flexible and extensible, “plug-in” architecture whose components can be instantiated and reused to develop various multi-agent simulation systems. The framework is fully implemented in Java and is based on state-of-the-art enterprise-scale technologies (e.g., ActiveMQ , jMonkey, JavaFX).

diva-architecture

 

DIVAs Main Constituents

The Simulation Module creates large-scale simulation instances.

The Message Transport Service (MTS) provides a messaging infrastructure that allows different elements of the simulation to communicate.

The interactive Control and Visualization Module receives information from the MTS, renders 2D/3D images of the simulation, and allows simulation interaction (e.g., environment specification, event triggers, agent, and environment property modification).

 

 DIVAs Core Constituents

The Agent System creates and manages agents in the simulation.

The Environment System creates and manages a dynamic environment in which the agents are situated.

The Simulation Microkernel encapsulates the most important core services of the framework (e.g., simulation heartbeat), manages the workflow of the simulation and provides mechanisms for loading/storing agent and environment specifications to/from persistent storage (e.g., xml file).

 

DIVAs Additional Components

A Data Management System for storing and processing information collected from the simulation.

Domain-Specific Libraries for the rapid development of simulation platforms. Currently, DIVAs embeds models for virtual agents and traffic simulation domains.

 

The Simulation Control GUI allows users to control a running simulation (i.e., start/stop the simulation, adjust parameters, save/load simulation states) through the Simulation Control System. It also allows users to query detailed properties of simulation entities (e.g., existing traffic lights) through the Simulation Query System.

 

divas_gui

The Simulation Query Interface is used to submit queries about agents (e.g., find agent #131) or environment objects (e.g., display information about buildings in the environment). These queries are sent to the GUISimState Repository which is updated at every simulation cycle with data pertaining to the virtual entities as well as statistics (e.g., agent count, object count) and control information (e.g., simulation cycle time, simulation cycle number).

In addition, users can use the Simulation Control Interface to control the simulation (e.g., start/stop, pause, save). User’s inputs are converted into control command messages which are transmitted to the Divas-Core through the MTS.

Simulation Query Interface:

query

Simulation Control Interface:

control_interface

DIVAs Visualization and Editing Systems render 2D and/or 3D images of a simulation and provide mechanisms for users to interact with and modify the simulation parameters at run-time.

The Simulation Control GUI allows users to control a running simulation (i.e., start/stop the simulation, adjust parameters, save/load simulation states) through the Simulation Control System. It also allows users to query detailed properties of simulation entities (e.g., existing traf?c lights) through the Simulation Query System.

diva-visualization

DIVAs Editing System allows users to create virtual worlds by adding and/or editing virtual entities. The Editing System also allows users to interact with the simulation at run-time (e.g., trigger an event) or edit properties of agents and environment (e.g., change an agent vision scope, add or edit environment object). User inputs are converted into user commands by the Simulation Commander and transmitted as external stimuli messages to the Divas-Core through the MTS.

The 2D and 3D Visualizers receive simulation states through the MTS. These states are stored in the VizSimState Repository and are used to create 2D and 3D representations of the simulated virtual entities.

  • Al-Zinati, F. Araujo, D. Kuiper, J. Valente, and R. Z. Wenkstern. DIVAs 4.0: A Multi-Agent Based Simulation Framework. In Proceedings of the 17th IEEE/ACM International Symposium on Distributed Simulation and Real Time Applications (DS-RT 2013), pages 105-114, Delft, Netherlands, November 2013. 
  • Frederico Araujo, Mohammad Al-Zinati, Junia Valente, Dane Kuiper, and Rym Zalila-Wenkstern. DIVAs 4.0: A Framework for the Development of Situated Multi-Agent Based Simulation Systems. In Demo Paper, Proceedings of the 12th International Conference on Autonomous Agents and Multiagent Systems (AAMAS2013), Best Demo Award, pages 1351-1352, Saint Paul, MN, USA, May 2013.
  • Junia Valente, Frederico Araujo, and Rym Zalila-Wenkstern. On Modeling and Verification of Agent-Based Traffic Simulation Properties in Alloy. Journal of Agent Technologies and Systems, 4(4):38-60, 2012. 
  • Frederico Araujo, Junia Valente, and Rym Zalila-Wenkstern. Modeling Agent-Based Traffic Simulation Properties in Alloy. In Proceedings of the ACM Agent Directed Simulation Symposium. Best paper award, Agent Directed Simulation Symposium. Best overall paper award, 2012 Spring Simulation Multi-Conference, Society for Modeling and Simulation., pages 5:1–5:8, Orlando, Florida, March 2012. Best paper award, Agent Directed Simulation Symposium. Best overall paper award, 2012 Spring Simulation Multi-Conference, Society for Modeling and Simulation. 
  • Travis Steel and R. Zalila-Wenkstern. Simulated Event Propagation in Distributed, Open Environments. In Proceedings of the Agent-Directed Simulation Symposium, pages 17:1–17:8, Orlando, Florida, USA, April 2010. 
  • Travis Steel, Dane Kuiper, and R. Zalila-Wenkstern. Context-Aware Virtual Agents in Open Environments. In Proceedings of 2010 Sixth International Conference on Autonomic and Autonomous Systems (ICAS), pages 90-96, Cancun, Mexico, March 2010. IEEE. 
    [Bibtex]

More publications available here

DIVAs 4.0 overview

DIVAs Visualizers

This video shows the concurrent execution of the 2D and 3D visualizers. Both visualizers are synchronized: a run-time modification performed through one visualizer is reflected simultaneously on the other.