An interagent provides an agent with the basic mechanisms to interact (communicate and coordinate) with other members of an agent society. Therefore, an interagent intermediates between its user and the multi-agent environment as a whole. In this way, the overload related to the management of the communication and coordination tasks needed by an agent to live in a multi-agent system is shifted to its interagent, that relieves its user from such a ``tedious'' work. Moreover, and more importantly, interagents allow to coordinate interdependencies between agents' activities by means of highly flexible conversation protocols.
Two major benefits are gained from employing interagents. On the one hand, it permits agents to reason about both communication and coordination at a higher level of abstraction, whereas on the other hand it provides a complete set of facilities that allows agent engineers to concentrate on the design of their agents' inner and social behaviour.
JIM is currently being used in two directions: