Agent-Based Simulation Framework

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

The DIVAs (Dynam­ic Infor­ma­tion Visu­al­iza­tion of Agent sys­tems) project aims at devel­op­ing gener­ic reusable com­po­nents and libraries that can be instan­ti­at­ed and inte­grat­ed to cre­ate decen­tral­ized agent-based sim­u­la­tion sys­tems where agents are sit­u­at­ed in open (i.e., inac­ces­si­ble, non-deter­min­is­tic, dynam­ic and con­tin­u­ous) envi­ron­ments.

As a soft­ware devel­op­ment frame­work, DIVAs encom­pass­es con­cepts, archi­tec­ture, abstract class­es, soft­ware com­po­nents and libraries.

This large-scale project was start­ed sev­er­al years ago and has gone through mul­ti­ple iter­a­tions. The var­i­ous inter­nal releas­es allowed the def­i­n­i­tion, refine­ment and pro­to­typ­ing of the fun­da­men­tal con­cepts and build­ing blocks of the frame­work. The lat­est base­lined ver­sion is DIVAs 4.

DIVAs 4 pro­vides JAVA pro­gram­mers with the com­po­nents nec­es­sary to build exe­cutable agent-based sim­u­la­tion sys­tems. Based on sound soft­ware engi­neer­ing prin­ci­ples (i.e., sep­a­ra­tion of con­cerns, mod­u­lar­i­ty, infor­ma­tion hid­ing), we have defined and com­plet­ed a flex­i­ble and exten­si­ble, “plug-in” archi­tec­ture whose com­po­nents can be instan­ti­at­ed and reused to devel­op var­i­ous mul­ti-agent sim­u­la­tion sys­tems. The frame­work is ful­ly imple­ment­ed in Java and is based on state-of-the-art enter­prise-scale tech­nolo­gies (e.g., ActiveMQ , jMon­key, JavaFX).

diva-architecture

 

DIVAs Main Con­stituents

The Sim­u­la­tion Mod­ule cre­ates large-scale sim­u­la­tion instances.

The Mes­sage Trans­port Ser­vice (MTS) pro­vides a mes­sag­ing infra­struc­ture that allows dif­fer­ent ele­ments of the sim­u­la­tion to com­mu­ni­cate.

The inter­ac­tive Con­trol and Visu­al­iza­tion Mod­ule receives infor­ma­tion from the MTS, ren­ders 2D/3D images of the sim­u­la­tion, and allows sim­u­la­tion inter­ac­tion (e.g., envi­ron­ment spec­i­fi­ca­tion, event trig­gers, agent, and envi­ron­ment prop­er­ty mod­i­fi­ca­tion).

 

 DIVAs Core Con­stituents

The Agent Sys­tem cre­ates and man­ages agents in the sim­u­la­tion.

The Envi­ron­ment Sys­tem cre­ates and man­ages a dynam­ic envi­ron­ment in which the agents are sit­u­at­ed.

The Sim­u­la­tion Micro­ker­nel encap­su­lates the most impor­tant core ser­vices of the frame­work (e.g., sim­u­la­tion heart­beat), man­ages the work­flow of the sim­u­la­tion and pro­vides mech­a­nisms for loading/storing agent and envi­ron­ment spec­i­fi­ca­tions to/from per­sis­tent stor­age (e.g., xml file).

 

DIVAs Addi­tion­al Com­po­nents

A Data Man­age­ment Sys­tem for stor­ing and pro­cess­ing infor­ma­tion col­lect­ed from the sim­u­la­tion.

Domain-Spe­cif­ic Libraries for the rapid devel­op­ment of sim­u­la­tion plat­forms. Cur­rent­ly, DIVAs embeds mod­els for vir­tu­al agents and traf­fic sim­u­la­tion domains.

 

The Sim­u­la­tion Con­trol GUI allows users to con­trol a run­ning sim­u­la­tion (i.e., start/stop the sim­u­la­tion, adjust para­me­ters, save/load sim­u­la­tion states) through the Sim­u­la­tion Con­trol Sys­tem. It also allows users to query detailed prop­er­ties of sim­u­la­tion enti­ties (e.g., exist­ing traf­fic lights) through the Sim­u­la­tion Query Sys­tem.

 

divas_gui

The Sim­u­la­tion Query Inter­face is used to sub­mit queries about agents (e.g., find agent #131) or envi­ron­ment objects (e.g., dis­play infor­ma­tion about build­ings in the envi­ron­ment). These queries are sent to the GUISim­State Repos­i­to­ry which is updat­ed at every sim­u­la­tion cycle with data per­tain­ing to the vir­tu­al enti­ties as well as sta­tis­tics (e.g., agent count, object count) and con­trol infor­ma­tion (e.g., sim­u­la­tion cycle time, sim­u­la­tion cycle num­ber).

In addi­tion, users can use the Sim­u­la­tion Con­trol Inter­face to con­trol the sim­u­la­tion (e.g., start/stop, pause, save). User’s inputs are con­vert­ed into con­trol com­mand mes­sages which are trans­mit­ted to the Divas-Core through the MTS.

Simulation Query Interface:

query

Simulation Control Interface:

control_interface

DIVAs Visu­al­iza­tion and Edit­ing Sys­tems ren­der 2D and/or 3D images of a sim­u­la­tion and pro­vide mech­a­nisms for users to inter­act with and mod­i­fy the sim­u­la­tion para­me­ters at run-time.

The Sim­u­la­tion Con­trol GUI allows users to con­trol a run­ning sim­u­la­tion (i.e., start/stop the sim­u­la­tion, adjust para­me­ters, save/load sim­u­la­tion states) through the Sim­u­la­tion Con­trol Sys­tem. It also allows users to query detailed prop­er­ties of sim­u­la­tion enti­ties (e.g., exist­ing traf?c lights) through the Sim­u­la­tion Query Sys­tem.

diva-visualization

DIVAs Edit­ing Sys­tem allows users to cre­ate vir­tu­al worlds by adding and/or edit­ing vir­tu­al enti­ties. The Edit­ing Sys­tem also allows users to inter­act with the sim­u­la­tion at run-time (e.g., trig­ger an event) or edit prop­er­ties of agents and envi­ron­ment (e.g., change an agent vision scope, add or edit envi­ron­ment object). User inputs are con­vert­ed into user com­mands by the Sim­u­la­tion Com­man­der and trans­mit­ted as exter­nal stim­uli mes­sages to the Divas-Core through the MTS.

The 2D and 3D Visu­al­iz­ers receive sim­u­la­tion states through the MTS. These states are stored in the VizSim­State Repos­i­to­ry and are used to cre­ate 2D and 3D rep­re­sen­ta­tions of the sim­u­lat­ed vir­tu­al enti­ties.

In an effort to address the chal­lenge relat­ed to the exe­cu­tion of a large num­ber of vir­tu­al agents sit­u­at­ed in an open envi­ron­ment, researchers have fol­lowed two approach­es:

  1. Dis­tri­b­u­tion. In dis­trib­uted MABS, the vir­tu­al envi­ron­ment is par­ti­tioned into regions each host­ed on a dif­fer­ent machine. While dis­tri­b­u­tion helps to address the prob­lem of scal­a­bil­i­ty, it intro­duces greater chal­lenges in the design of MABS (e.g., real-time syn­chro­niza­tion, cell bound­ary man­age­ment, net­work laten­cy and capac­i­ty). In addi­tion, dis­tri­b­u­tion requires a deploy­ment infra­struc­ture that is not avail­able to many.
  2. The defi nition of mod­els that allow the exe­cu­tion of large-scale MABS on a sin­gle machine. Giv­en the lim­it­ed com­pu­ta­tion­al resources avail­able, these mod­els aim to achiev a bal­ance between result accu­ra­cy and exe­cu­tion time effi­cien­cy.

We pro­pose a mod­el for the exe­cu­tion of large-scale MABS on a sin­gle host. In our approach, agents exe­cute their behav­iors and are not sub­ject­ed to any exter­nal resource opti­miza­tion mech­a­nism (e.g., aggregation/disaggregation). The open envi­ron­ment which has a decen­tral­ized struc­ture is sup­port­ed by an under­ly­ing self-orga­niz­ing sys­tem con­sist­ing of micro- and macro-lev­el spe­cial­ized agents.

The Sim­u­la­tion Con­trol GUI allows users to con­trol a run­ning sim­u­la­tion (i.e., start/stop the sim­u­la­tion, adjust para­me­ters, save/load sim­u­la­tion states) through the Sim­u­la­tion Con­trol Sys­tem. It also allows users to query detailed prop­er­ties of sim­u­la­tion enti­ties (e.g., exist­ing traf?c lights) through the Sim­u­la­tion Query Sys­tem.

  • Al-Zinati, F. Arau­jo, D. Kuiper, J. Valente, and R. Z. Wenkstern. DIVAs 4.0: A Mul­ti-Agent Based Sim­u­la­tion Frame­work. In Pro­ceed­ings of the 17th IEEE/ACM Inter­na­tion­al Sym­po­sium on Dis­trib­uted Sim­u­la­tion and Real Time Appli­ca­tions (DS-RT 2013), pages 105–114, Delft, Nether­lands, Novem­ber 2013. 
  • Fred­eri­co Arau­jo, Moham­mad Al-Zinati, Junia Valente, Dane Kuiper, and Rym Zalila-Wenkstern. DIVAs 4.0: A Frame­work for the Devel­op­ment of Sit­u­at­ed Mul­ti-Agent Based Sim­u­la­tion Sys­tems. In Demo Paper, Pro­ceed­ings of the 12th Inter­na­tion­al Con­fer­ence on Autonomous Agents and Mul­ti­a­gent Sys­tems (AAMAS2013), Best Demo Award, pages 1351–1352, Saint Paul, MN, USA, May 2013.
  • Junia Valente, Fred­eri­co Arau­jo, and Rym Zalila-Wenkstern. On Mod­el­ing and Ver­i­fi­ca­tion of Agent-Based Traf­fic Sim­u­la­tion Prop­er­ties in Alloy. Jour­nal of Agent Tech­nolo­gies and Sys­tems, 4(4):38–60, 2012. 
  • Fred­eri­co Arau­jo, Junia Valente, and Rym Zalila-Wenkstern. Mod­el­ing Agent-Based Traf­fic Sim­u­la­tion Prop­er­ties in Alloy. In Pro­ceed­ings of the ACM Agent Direct­ed Sim­u­la­tion Sym­po­sium. Best paper award, Agent Direct­ed Sim­u­la­tion Sym­po­sium. Best over­all paper award, 2012 Spring Sim­u­la­tion Mul­ti-Con­fer­ence, Soci­ety for Mod­el­ing and Sim­u­la­tion., pages 5:1–5:8, Orlan­do, Flori­da, March 2012. Best paper award, Agent Direct­ed Sim­u­la­tion Sym­po­sium. Best over­all paper award, 2012 Spring Sim­u­la­tion Mul­ti-Con­fer­ence, Soci­ety for Mod­el­ing and Sim­u­la­tion. 
  • Travis Steel and R. Zalila-Wenkstern. Sim­u­lat­ed Event Prop­a­ga­tion in Dis­trib­uted, Open Envi­ron­ments. In Pro­ceed­ings of the Agent-Direct­ed Sim­u­la­tion Sym­po­sium, pages 17:1–17:8, Orlan­do, Flori­da, USA, April 2010. 
  • Travis Steel, Dane Kuiper, and R. Zalila-Wenkstern. Con­text-Aware Vir­tu­al Agents in Open Envi­ron­ments. In Pro­ceed­ings of 2010 Sixth Inter­na­tion­al Con­fer­ence on Auto­nom­ic and Autonomous Sys­tems (ICAS), pages 90–96, Can­cun, Mex­i­co, March 2010. IEEE
    [Bib­tex]

More pub­li­ca­tions avail­able here

DIVAs 4.0 overview

DIVAs Visualizers

This video shows the con­cur­rent exe­cu­tion of the 2D and 3D visu­al­iz­ers. Both visu­al­iz­ers are syn­chro­nized: a run-time mod­i­fi­ca­tion per­formed through one visu­al­iz­er is reflect­ed simul­ta­ne­ous­ly on the oth­er.


Self-orga­niz­ing envi­ron­ment


Self-orga­niz­ing envi­ron­ment