The ABM++ software framework is a tool which allows the developer to implement agent based models using C++ that are to be deployed on distributed memory Linux clusters. The framework provides the necessary functionality to allow applications to run on distributed architectures. A C++ message passing API is provided which provides the ability to send MPI messages between distributed objects. The framework also provides an interface that allows objects to be serialized into message buffers, allowing them to be moved between distributed compute nodes. A synchronization method is provided, and both time-stepped and distributed discrete event time update mechanisms are provided. For further information, contact email@example.com.
ABM++ is completely flexible with respect to how the developer chooses to design his C++ representations of agents. All of the functionality necessary for distributed computation is provided by the framework; the developer provides the C++ agent implementations for his application. Distributed computing functionality is provided by the framework to the application via simple inheritance and containment. The source code includes a simple working example in the Applications directory to illustrate how the framework is used.
build, edit the Makefiles in the MPIToolbox and Application
directories to match your system, and then do “make” in each
virtual machine "appliance" version of the ABM++ framwork is also
provided here. The appliance consists of an Ubuntu image file
that can be run using either VirtualBox or VMWare.
The ABM++ application is imbedded in the Eclipse IDE in the
appliance. The appliance may be run on Windows, MacOSX, or Linux
desktop/laptop machines. This environment provides a simple,
convenient way to develop, test and debug ABM++ distributed
applications without requiring access to a Linux cluster.
the ABM++ User's Guide for more information, and for instructions on
how to use the
code is released under the terms of the GNU General Programming License
|ABM++ Source Code
|Virtual Machine Appliance
|ABM++ User's Guide