Environment Concept


DIVAs is based upon two under­ly­ing con­cepts. In order to man­age a large vir­tu­al envi­ron­ment effi­cient­ly, it is nec­es­sary to par­ti­tion the space into small­er defined areas called cells. Each cell is man­aged by a spe­cial-pur­pose agent called cell con­troller. A cell con­troller assumes two crit­i­cal roles: cell infor­ma­tion man­age­ment and cell per­for­mance man­age­ment.

Cell infor­ma­tion man­age­ment is relat­ed to the cell con­troller’s respon­si­bil­i­ty to:

autonomous­ly man­age envi­ron­men­tal infor­ma­tion about its cell;
autonomous­ly man­age envi­ron­men­tal infor­ma­tion about its cell;
be able to inter­act with local vir­tu­al agents to inform them about changes in their sur­round­ings;
be able to com­mu­ni­cate with oth­er cell con­trollers to inform them of exter­nal events.
Cell per­for­mance man­age­ment is relat­ed to the cell con­troller’s respon­si­bil­i­ty to:

keep its cell work­load under nom­i­nal capac­i­ty;
meet per­for­mance require­ments (e.g., CPU usage, sim­u­la­tion cycle time);
abil­i­ty to per­form re-orga­ni­za­tion tasks (i.e., split or merge its cell).



A coor­di­na­tor is a spe­cial-pur­pose agent respon­si­ble for mon­i­tor­ing and guid­ing a col­lec­tion of cell con­trollers. Its main goal is to ensure that the over­all sim­u­la­tion require­ments (i.e., sim­u­la­tion cycle dura­tion time, resources uti­liza­tion) are met. Cell con­trollers and coor­di­na­tor con­tin­u­ous­ly com­mu­ni­cate and inter­act with each oth­er to achieve their goals.


Cell Con­troller Archi­tec­ture
The cell con­troller archi­tec­ture con­sists of an inter­ac­tion mod­ule, an infor­ma­tion mod­ule, a task mod­ule, and a plan­ning and con­trol mod­ule.




The inter­ac­tion mod­ule is used to per­ceive exter­nal events and han­dles asyn­chro­nous com­mu­ni­ca­tion among con­trollers as well as syn­chro­nous com­mu­ni­ca­tion between con­trollers and agents. Con­troller-to-Agent inter­ac­tion must be syn­chro­nous in order to ensure that agents receive a con­sis­tent state of the envi­ron­ment. Since Con­troller-to-Con­troller inter­ac­tion involves high-lev­el self-adap­ta­tion and has no bear­ing on the con­sis­ten­cy of the state of the sim­u­lat­ed envi­ron­ment, these inter­ac­tions occur asyn­chro­nous­ly.

The knowl­edge Mod­ule con­tains the data a con­troller needs to func­tion. It is com­posed of exter­nal and inter­nal knowl­edge mod­ules which include sev­en mod­ules:

The Coor­di­na­tor Mod­el main­tains infor­ma­tion about the par­ent coor­di­na­tor with whom the con­troller can inter­act.
The Linked Cell Mod­el main­tains a list of neigh­bor­ing cells, that is, those which share a bor­der with the cell. The cell con­troller uses this infor­ma­tion to han­dle events that occur near bound­aries and poten­tial­ly affect adja­cent cells.
The Self Mod­el con­tains infor­ma­tion about the con­troller (e.g., id) as well as the essen­tial char­ac­ter­is­tics of the cell assigned to the con­troller such as its iden­ti­fi­er and region bound­aries.
The Agent Mod­el con­tains min­i­mal infor­ma­tion, such as iden­ti­fi­ca­tion and loca­tion, about the agents with­in the cel­l’s envi­ron­ment region.
The Object Mod­el includes infor­ma­tion detail­ing phys­i­cal enti­ties that are sit­u­at­ed with­in the cell region but are not actu­al agents (e.g., bar­ri­cades, build­ings, road signs).
The Resource Mod­el con­tains infor­ma­tion about the resources avail­able for the con­troller.
The Con­straint Mod­el defines the spe­cif­ic prop­er­ties and laws of the envi­ron­ment.

The task mod­ule man­ages the spec­i­fi­ca­tion of the atom­ic tasks that the con­troller can per­form.

The plan­ning and con­trol mod­ule serves as the brain of the con­troller. It uses infor­ma­tion pro­vid­ed by the oth­er mod­ules to plan, ini­ti­ate tasks and make deci­sions.

The knowl­edge mod­ule is par­ti­tioned into Exter­nal Knowl­edge Mod­ule (EKM) and Inter­nal Knowl­edge Mod­ule (IKM). The EKM serves as the por­tion of the agen­t’s mem­o­ry that is ded­i­cat­ed to main­tain­ing knowl­edge about enti­ties exter­nal to the agent, such as acquain­tances and objects sit­u­at­ed in the envi­ron­ment. The IKM serves as the por­tion of the agen­t’s mem­o­ry that is ded­i­cat­ed for keep­ing infor­ma­tion that the agent knows about itself, includ­ing its cur­rent state, phys­i­cal con­straints, and social lim­i­ta­tions.