SPADES FAQ

Da Wikipedia, l'enciclopedia libera.


Table of contents


Introduction

These FAQs are under development!


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 about 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 (http://sourceforge.net/tracker/?atid=498859&group_id=61929&func=browse) or the developers mailing list (SPADES Mailing Lists (http://sourceforge.net/mail/?group_id=61929))


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 (http://www.sf.net/projects/spades-sim/) .


Installing SPADES


Developing a Simulation


Hacking SPADES

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


Troubleshooting

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 (see How access SPADES CVS). If you want fix it by hand, you can do the following steps:
add the line "#include <errno.h>" at the top of SystemInformation.cpp
compile commserver/test.cpp without -g flag


FAQ Management


Who is the author of these FAQs?

The original idea of these FAQs come from Marco Pracucci (http://www.pracucci.com), but this list is maintained from different SPADES' users. See How can I contribute to this project? for more informations.

How can I contribute to this project?

This FAQs list is collaborative, so everyone can add questions and/or answers. To do this, you must ask me (http://www.pracucci.com/main/index.php?id=29) an account to log in the wiki. After logged in, you can edit this page and add some questions and/or answers.

Thanks,
Marco Pracucci

Personal tools