Beyond the Design Stance:
The Intention of Agent-Based Engineering

By: Bruce Edmonds and Joann Bryson
Date: 21st October 2003
CPM Report No.: CPM-03-126

Note: "Design Stance" is probably not the correct term here, and certainly not one consistent with Dennett's usage in "The Design Stance".  It is dropped from the mature version of the paper (CPM report 128).


This paper is a manifesto in progress. We are two researchers who frequently use agents in anger to do our jobs. Yet we have been having trouble finding value in most of the papers that get published in the field of Multi Agent Systems (MAS). This paper represents our attempt to understand why not. We will start with the most basic question: Why do people use Multi Agent Systems? One answer is that it’s not clear they do. We still don’t see very many industrial applications of agent technology beyond robotics and AI for computer games, and neither of those use anything like what we generally know as MAS. But there are several good reasons that someone might:
Our concern is that these solid engineering reasons for developing MAS-based software engineering methodologies seem to have been getting lost in recent years. Instead, the agent community seems to be wandering in a morass of formal systems and theoretical papers. For five years there was a fairly successful series of conferences (beginning with Johnson, 1997) which emphasised working agents and the techniques required to build them, but this has been engulfed into the largely theoretical AAMAS conference, where the vast majority of consistently working systems described seem to be in the minority of papers dedicated to robotics - normally considered a far more difficult engineering domain than straight software.

So what has happened? We believe that for some reason the Agents community has regressed back from the discoveries of eXtreme and agile software toward the older design stance, oddly neglecting the theoretical work proving that such approaches are impossible (Harel, 2003).

We begin by discussing the Design Stance - the over-reliance on upfront specifications (also known as creationism) - and why it seems completely contradictory that this has infested the MAS community. We then discuss the nine main  tools of software systems engineering, how they are currently being used by MAS, and suggestions about how we think their use could be improved.

Accessible as: