Spades FAQ

SPADES (System for Parallel Agent Discrete Event Simulation) is a middleware system for the creation of artificial intelligence agent-based simulations. I published some information and notes about this system and I was the maintainer of the unofficial SPADES FAQ.

I have also published some technical information about SPADES core engine: SPADES - appunti sparsi (PDF, 500K, italian language).

What is SPADES?

SPADES (System for Parallel Agent Descrete-Event Simulation) 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 simulation.

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 the simulation
  • 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 particular programming language
  • 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 variations
  • Uses a novel algorithm to allow out of order execution of events that do not violate casual ordering

What’s the current status?

The system is implemented and fully functional. This system is also under active developement.

What programming language was SPADES written in?

SPADES is written in C/C++.

What is the license?

The license of SPADES is LGPL (Lesser General Public Licence). You can find a copy of it in the file COPYING, distributed with the SPADES package.

Is the source code of SPADES available?

Of course! SPADES is an opensource project.

Related projects

SPADES is being used for the new 3D server of the Soccer Server. http://sserver.sf.net/

How-to can I report bugs

You can report bugs throw the Bug Tracking System or the developers mailing list (SPADES Mailing Lists).

Who is the author of SPADES?

The author of SPADES is Patrick Riley. Some initial implementation was done by Emil Talpes but he is no longer active in the project.

Where can I find documentation?

You can find an extensive documentation in the official site.

How can I access the SPADES development sources?

You can check out the SPADES development tree through anonymous (pserver) CVS, with the following command:
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/spades-sim co -P spades

Version 1.03 and previous doesn’t compile with gcc-3.4

SPADES version 1.03 (and probably previous) does not compile with gcc-3.4. The problem is already fixed in the CVS version of SPADES. If you want fix it by hand, you can do the following steps:
add the line “#include ” at the top of SystemInformation.cpp
compile commserver/test.cpp without -g flag