Updated definitions for Software Agent and Software Agent System
I've revised my definitions for the terms Software Agent and Software Agent System to reflect my accumulated thinking to date. The field of software agents and software agent technology is primarily a research area and even the top researchers are as yet unable to agree on a common definition for even basic terms, so I'll offer my own definitions:
A Software Agent (or Autonomous Agent or Intelligent Agent) is a computer program which works toward goals (as opposed to discrete tasks) in a dynamic environment (where change is the norm) on behalf of another entity (human or computational), possibly over an extended period of time, without continuous direct supervision or control, and exhibits a significant degree of flexibility and even creativity in how it seeks to transform goals into action tasks.For my detailed definition, Click here.
A Software Agent System (or Multi-Agent System (MAS)) is a computational environment (such as the Web or a grid computing environment overlay network) in which individual software agents interact with each other, sometime in a cooperative manner, sometimes in a competitive manner, and sometimes autonomously pursuing their individual goals, accessing resources and services of the environment, occasionally producing results for the entities that initiated those software agents.