The main goal of this paper is to overview the rapidly evolving area of software agents. The overuse of the word 'agent' has tended to mask the fact that, in reality, there is a truly. heterogeneous body of research being carried out under this banner