Applying Software Engineering to Agent Development

AI Magazine 

This article shows how tools to create intelligent agents can be improved by taking advantage of established software-engineering principles such as high-level languages, maintenance-oriented development environments, and software reuse. We describe how these principles have been realized in the Herbal integrated development environment, a collection of tools that allows agent developers to exploit modern software-engineering principles. We present an example integrated agent development environment that realizes these principles and provides lessons for other agent architectures, both existing and in development. Creating complex software is not a new problem, and the software-engineering community has developed principles to guide solving complex problems with software. Developing intelligent agents is a complex software-engineering activity but the benefits of applying software-engineering principles such as high-level languages, maintenance-oriented development environments, and software reuse to intelligent agent development have not yet fully migrated to the agent-development community.