TEACHING MULTI-AGENT SYSTEMS WITH THE HELP OF ARES: MOTIVATION AND MANUAL
In the last years, multi-agent systems (MAS) have become a very active research area that has connections to many other areas, both inside and outside of Computer Science. Consequently, courses about MAS are starting to be developed and even the first text books are on the market (see [AL02] and [Wo02]). Perhaps even more than in other areas of Computer Science, teaching MAS has to involve practical experiences by the students. The interaction of agents has many surprises (as has the interaction of human beings) and hands-on experiences with issues like timing of actions to achieve cooperation, communication and the effects of, changes in the surroundings, and so on, are necessary to let students understand not only the basic problems but also why certain concepts are the way they are. For getting practical experience with developing multi-agent systems the students need an environment (or testbed) in which their agents will interact, that sets the basic rules for the agents and guards these rules against violations by the agents. There are already such environments available, namely the environments used in various competitions, as for example the RoboCup Simulation League Soccer Server ([seeKu02]) or the TAC Game Servers of the Trading Agent Competition (see[W e+ 01]). But, for teaching purposes, the goals for the development of these environments do not totally agree with the goals we need for a teaching environment: having successful systems available via WWW allows for a lot of cheating (resp. requires a lot of work of the instructor spend on counter actions) and results in students not making the experiences they are supposed to make. Also, the two cited environments are rather specialized, so that certain experiences are outside of their scope. There are a lot of other didactic reasons for not using testbeds that were developed and are used to evaluate research systems, as we will see later in this report. In this report, we present the ARES system (Agent Rescue Emergency Simulator) that is intended to be a testbed for multi-agent systems and to be used for teaching MAS. ARES follows the lead of the RoboCup Rescue Initiative (see [RR02]) in choosing as the application scenario rescuing survivors in a disaster zone. The basic tasks the students have to include into the agents that form their multi-agent system that is employed within ARES are locating survivors and removing rubble to reach and rescue those survivors. ARES allows for many different variants of the basic setting, by varying the information the agents have when starting, the cost of communication, the methods for agents to regain energy, and so on. While many basic requirements of acting in a real disaster scenario are touched, nevertheless they are simplified within ARES towards a game-like scenario that allows students, resp. student teams to develop agents tat act as team in ARES in the 4 months a beginners course in MAS takes. This report is organized as follows: After this introduction, we take a closer look at the requirements on a testbed for MAS (resp. MAS concepts) that is aimed at helping in teaching MAS basics. This then leads to stating our goals in developing ARES. In Section 3, we present the system using two different views: the view of a student using it and the view of an instructor configuring ARES for his/her course (and we will also provide some information about the implementation of ARES). In Section 4, we present observations we made when using ARES for teaching MAS to a mixed class of graduate and undergraduate students at the University of Calgary. Finally, we will conclude with some remarks on future work. The report also contains as appendices descriptions of the actions ARES allows agents and their syntax, of the graphical viewer that allows building scenarios and observing a rescue team, of the installation requirements and procedure, and of the parameters for defining the \world laws".