SPADES: System for Parallel Agent Discrete Event Simulation
(previously known as MPADES)
This project is distinct from the SPaDES/Java
project, which is
also a simulation infrastructure. Sorry for the name collision.
What is it?
SPADES is a middleware system for the creation of artificial
intelligence agent-based simulations. An agent is a software entity
that has a continual sense-think-act cycle interaction with the
simulated world. SPADES tracks the computation time used by the agents
as a fundamental component of the agent's behavior. The system handles
distribution of the simulation across machines and uses a novel
algorithm (tailored to the simulation of agents) for out of order
execution of simulation events, as well as being robust to variations
in the network and machine load.
SPADES is a middleware system. It is designed to handle some of the
tricky parts of running a distributed simulation for the aritficial
intelligence community without being tied to any one particular
What advantages does it have?
- Supports distribution simulation of agent interaction, mainly
tailored to the AI community
- Tracks the computation time used by agents and reflects that in
- Is not tied to any particular simulation, but designed as a
resuable library for many simulations
- Does not require that agents are written in any
- Handles all aspects of managing the distribution of agents so
that the designer of the simulated world does not need to address them
- Results of simulation are robust to machine and network load
- Uses a novel algorithm to allow out of order execution of events
that do not violate casual ordering
- (23 May 2005) Version 1.10 is now available. The version got
bumped because this include an interface addition for the agent (a
request current think time message).
- (06 May 2005) Version 1.05 is now available. This notably
includes fixes to the fork/clone tracking.
- (02 Mar 2005) Version 1.04 is now available. This fixed some
minor bugs and contains the initial version of an OSX port.
- (15 Jan 2005) A link to a new user-contributed FAQ has been
- (03 Nov 2004) Version 1.03 is now available. This is a minor
bug fix release.
- (28 Sep 2004) Version 1.02 is now available. This is just a
repackage of 1.02 to include some autoconf files that were
unintentionally left out.
- (25 Aug 2004) Version 1.01 is now available, with a host of
minor bug fixes.
- (07 Jun 2004) Version 1.0 is now available. This marks the move
of SPADES from beta to omega software. Please let me know if you
have any problems or comments.
- (15 Apr 2004) Version 0.93 has been out for a while, but I am
just now updating the web page.
- (12 Feb 2004) Version 0.92 is now available with a number of
- (07 Dec 2003) Version 0.91 is now avilable with a number of
small feature improvemnts over 0.9. A new up-to-date version of the
manual is also now available.
- (03 Nov 2003) Version 0.9 is now available. The biggest new
feature is the ability to load an agent from a dynamic library so
that it exists in the same process as the communication server.
- (14 Oct 2003) Version 0.81 is now available, notably including a
brand new compilation and installation process (using the GNU
autotools) which should make it easier to configure, compile, and
install the software. Please let me know if you have any problems.
- (29 Aug 2003) The first upload of version 0.8 was corrupted. A
new version should be making it's way through the sourceforge mirrors
What's the status?
The system is implemented and fully functional. I am currently quite
happily using the system for
some of the simulations for my own research.
The system is also being used for the new 3D server of the Soccer
This system is also under active developement.
There is extensive
documentation which is somewhat up to date.
Created by Patrick Riley