We have built a framework that allows Belief-Desire-Intention (BDI) cognitive agents to be embedded in an agent-based modelling and simulation (ABMS) system. Architecturally, this means that the “brains” of an agent can be modelled in the BDI system in the usual way, while the “body” exists in the ABMS system. The architecture is flexible in that the ABMS can still have non-BDI agents in the simulation, and the BDI-side can have agents that do not have a physical counterpart (such as an organisation). Our framework is modular and supports integration of off-the-shelf BDI systems with off-the-shelf ABMS systems. It includes platform level support for known BDI systems like JACK, and Jadex, and ABMS systems, like Repast Simphony, and MATSim, among others. The framework is Open Source, and all integrations and applications are available for use by the modelling community.
The project is currently hosted on Github at https://github.com/agentsoz/bdi-abm-integration.
We have also developed a prototype online educational game with the aim of using this medium as a tool for disseminating important flood response messages to residents in a simple, fun, and interactive way. In this game, players control a character situated inside his house, and must help this virtual resident protect his home from an impending storm and flood. Players can control the movements of the character and interact with various aspects of his house. When the storm warning becomes current, players can help protect the house by helping the character fill and lay sandbags, as well as move valuables and hazardous elements to higher ground.
To play the game now, click on the image or go here.
Flood Simulation software is using agent-based modelling and simulation tools to assist in exploring key actions that may be taken to reduce the impacts of flash-flooding in inner-Melbourne suburbs such as Elwood. Through consultation with council, emergency services, and the community, researchers from RMIT University are building computer simulations that will help answer questions like:
This approach models behaviours and interactions at the level of the individual allowing patterns of behaviour to emerge.
This work is part of the project titled Exploring the Adaptive Capacity of Emergency Management Using Agent-Based Modelling.
In BDI programs it is quite common to find context condition of plans which are over-constrained in order to ensure that the most preferred plan is selected for use. This is undesirable for at least two reasons. It makes the plan not available use at all in situations where it could be of value as a back-up plan, and also it requires incorporation of information that conceptually belongs with the preferred plan. The ability to specify directly in a plan specification, aspects of the situation which would make the plan more or less desirable, enables a dynamically calculated preference ordering which removes the need to over-constrain applicability to obtain the desired plan selection. This paper addresses the issue of dynamically assigning a value to a plan instance, based on the current state and the particulars of the plan instance under consideration. The framework uses specifications based on logical formulae which are evaluated dynamically, using the current state and variable bindings provided via the plan’s context condition. These provide a simple mechanism for locally specifying the value of plan instances. This can be regarded as providing a degree of applicability for a plan, rather than simply a boolean value. For more information refer paper .
The archive contains the library extension (.jar file) for use with the Jadex BDI platform, usage instructions, and a working implementation of the example discussed in the paper.
We have developed a framework called OpenSim, that supports the integration of disparate simulation components together into a single global simulation. The framework provides an “interface” that allows concepts within individual components to be linked together (via shared variables), as well as “infrastructure” for integrating and updating the values of these shared variables at each timestep (via an Integration Manager (IM)), progressing the simulation time (via a Time Manager (TM)), and resolving conflicts (via a Conflict Resolver (CM)) that may arise due to logically incompatible updates to the shared variables by the components.
An important goal for us in the design of the framework was to keep required changes to the business logic of the underlying simulation components, which have been independently validated and verified, to a minimum.