Agent-Based Software Engineering

Charles Petrie
Stanford Networking Research Center
Stanford University


It has previously been claimed that agent technologies facilitate software development by virtue of their high-level abstractions for interactions. We address a more specific characterization and utility. We believe that it is important to distinguish agent technologies from other software technologies by virtue of a set of unique software characteristics. This is in contrast to much in the literature that concentrates on high-level characteristics that could be implemented with a variety of software techniques.

Agent-based software engineering (ABSE), for at least an important class of agents and applications, can be characterized by both model and inner/outer language components. Our experience in developing applications based on long-term asynchronous exchange of agent messages, similar to typical email usage, leads us to believe these unique characteristics facilitate useful software development practices. The utility derives from a stratification of change among the components, ease of collaborative change and debugging even during runtime due to asynchronous text parsing-based message exchange, and reuse of the outer language as well as generic agents as a programming environment.


Charles Petrie is executive director of the Stanford Networking Research Center (SNRC). He was previously a senior research scientist at the Stanford Center for Design Research (CDR). His research interest is distributed process coordination, with emphasis on concurrent design, planning, and scheduling. He also works on the use of XML for open interoperable workflow. Petrie has a BS in mathematics and an MS and PhD in computer science from the University of Texas at Austin. He is the editor-in-chief emeritus of IEEE Internet Computing.