In recent years there has been an increased interest in agent based systems. The concept of an agent has become important both in Artificial Intelligence (AI) and in other fields of computer science.
Wooldridge & Jennings  define agents to be software-based computer systems that show the following properties:
In AI terms, an agent has more human like properties such as knowledge, beliefs, intentions, and obligations, in addition to the above mentioned properties [Shoham 90]. Discussion of other attributes of agents and attempts to define an agent can be found in [Goodwin 93].
Communication in agent theory is usually based on speech act theory which was originated by Austin , and further developed by Searle .
Agents also have a direct influence on Distributed Artificial Intelligence (DAI) research because of their concurrent nature [Bond & Gasser 88] [Huhns 87].
Many difficult tasks, including design, have parallel decompositions that result in easier subtasks than serial decompositions. Parallel decompositions allow opportunistic collaboration among the subtasks [Talukdar & Cardozo 88].