The MÆDEN simulator grew out of a desire to study the nature of service and assistance. Specifically, we wanted a testbed that supported: multiple agents and communication between them, a range of challenging tasks that would not distract us from the study of service but would allow us to vary the difficulty of problems, open-source development and extensions. We preferred something in Common-Lisp but that was not a requirement.

After looking around, we decided to build from a Common-Lisp version of Paine, Chattoe & Perkins's Eden environment. Thus, Maeden stands for Multi-agent Eden. What follows is a very coarse chronology with links to further information.

circa 1992

Simon Perkins designed and wrote the original code for Eden. Jocelyn Paine, Simon Perkins and Edmund Chattoe extended and rewrote the system for the Oxford University AI Society. Jocelyn Paine subsequently implemented extensive modifications for use in teaching AI.

circa 1993

Jocelyn Paine forked Eden2, with the purpose of supporting the teaching of Artificial Intelligence.

circa 1994

Glenn Iba implemented a rational reconstruction of the original Eden in Common Lisp (MCL).

circa 1996

Jocelyn Paine provided extensive notes for designing agents and using the original Eden simulator to test them.

circa 2000

Jocelyn Paine re-structured Eden II as a Java-based simulator interacting with a Poplog agent controller (brain).

Summer 2004

Wayne Iba, Nick Burwell and Chris Phillips extended Glenn Iba's Common Lisp version of Eden with the intent of studying service; the new system was dubbed MÆDEN. They added support for multiple agents, communication between agents, and a number of other minor features.

Academic year 2004-2005

Wayne Iba and students in his introductory Computer Science course started reimplementing MÆDEN in Java, using sockets to communicate between agent controllers and the simulator proper. Different agent controllers were written in Common-Lisp and Java.

Summer 2005

Josh Holm worked with Wayne on the Java simulator and the Common Lisp agent controllers. The system was conceptually divided into the MÆDEN simulator proper, and a controller architecture, GARCIA, with which we were studying service. Much of the work during this time was focused on GARCIA, completely overhauling path planning and communication. Agents now create and accumulate a model of other agents, what they know, what they can do, etc. Future changes to the agent architecture will be documented elsewhere. These pages will focus exclusively on the MÆDEN simulator.

Fall 2010

During my sabbatical, I made a number of minor changes and additions to MÆDEN. These included gold items; default object selection for grab, use and drop; fighting between agents; food supply harvest intervals; etc. I also started transitioning the code to use generics.

Fall 2011

The students in my CS116 Artificial Intelligence class implemented the changes needed to make agent connection and interaction operate asynchronously.