[ IIIA | IIIA Agents | SMASH | Plural

Jim logo earth

A Java Interagent
for Multi-Agent Systems

What's Jim?
Jim is a general purpose interagent capable of providing agents with a highly versatile range of programmable ---before and during the agent's run-time--- communication and conversation services. An interagent is an autonomous software agent able to manage (mediate) the communication and conversation between an agent and the agent society wherein this is situated. Interagents
  • Relieve agents from the overload represented by the management of the communication and conversation tasks necessary for an agent living in an multi-agent system.
  • Completely ``agentifies'' the communication that takes place between agent applications [43].
  • Permit agents to reason about both communication and conversation at a higher level of abstraction.
  • Provide a complete set of facilities that allows agent engineers to concentrate on the design of their agents' inner and social behaviour.
Multi-Agent systems or Agent-based Systems:
  • provide a way of conceptualizing sophisticated software applications that face problems involving multiple and (logically and often spatially) distributed sources of knowledge.
  • can be thought of as computational systems composed of several agents that interact with one another to solve complex tasks beyond the capabilities of an individual agent.

The development of agent-based systems can be regarded as a process composed of two well-defined, separate stages concerning respectively:

  • the agents' logics: from the agents' inner behavior (knowledge representation, reasoning, learning, etc.) to the agents' social behavior responsible for high-level conversation tasks (the selection, ordering, and communication of the results of the agent activities so that an agent works effectively in a group setting [1, 2]).
  • the agents' interactions taking place at several levels:
    • content level, concerned with the information content communica ted among agents;
    • intentional level, expressing the intentions of agents' utterances, usually as performatives of an agent communication language (ACL), e.g. KQML, FIPA ACL, etc.;
    • conversational level, concern ed with the conventions shared between agents when exchanging utterances;
    • transport level, con cerned with mechanisms for the transport of utterances; and
    • connection level, contemplating network protocols (TCP/IP, HTTP , etc.).

Notice that nowadays a large amount of time during the development of agent-based systems is devoted to the management of the aforementioned time-consuming, complex agents' interactions. Since most of these appear to be domain-independent, it would be desirable to devise general solutions at this development stage that can be subsequently reused for the deployment of other multi-agent systems. In this manner, and very importantly, agent engineers could exclusively concentrate on the domain-dependent agents' logics issues. For this purpose, we have developed an infrastructure that eases the construction of agent-based systems by taking charge of the cumbersome interaction issues.

An Infrastructure for Agent-Based Systems
Our infrastructure relies upon three fundamental elements:
  • Conversation Protocols, conversation patterns that impose a set of rules on the communicative acts uttered by the agents participating in a conversation (what can be said, to whom, and when).
  • Interagents, autonomous software agents that mediate the interaction between each agent and the agent society wherein this is situated. Very importantly, interagents employ conversation protocols for mediating conversations among agents.
  • SHIP an extenSible and Hierarchical Interaction Protocol that offers a layered approach to support all levels of agent interaction.
Jim's capabilities
Jim has been fully implemented in Java. Its highly flexible architecture provides the following funcionalities:
  • Queuing of outgoing utterance from its customer and queuing of incoming utterances from (the interagents of) other agents.
  • Asynchronous communication between agents.
  • Synchronous communication between agents.
  • Agent naming services (white pages).
  • Handling of expired utterances for automatic recovery of transmission errors.
  • Multiple conversations.
  • CP negotiation
  • CP verification
  • CP instantiation
- Jim/1.0 Reference Manual Coming soon...
- Jim/1.0 User's Guide Coming soon...
- Java Interagents for Multi-Agent Systems. Francisco J. Martin, Enric Plaza, Juan A. Rodriguez-Aguilar, Jordi Sabater. AAAI-98 Workshop on Software Tools for Developing Agents, 1998. [.ps.gz|.pdf.gz|html]

- Jim, a Java Interagent for Multi-Agent Systems. Francisco J. Martin, Enric Plaza, Juan A. Rodriguez-Aguilar, Jordi Sabater. CCIA-98 1r Congrés Català d'Inteligència Artificial, 1998. [.ps.gz|.pdf.gz|html]

- An Infrastructure for Agent-Based Systems: an Interagent Approach. Francisco J. Martín, Enric Plaza, Juan A. Rodriguez-Aguilar. in IJISInternational Journal of Intelligent Systems. 1999

- Composing Multi-Agent Systems with Interagents. Francisco J. Martín , Enric Plaza, Juan A. Rodríguez-Aguilar. In SEID'99Proceedings of the Simposio Español de Informática Distribuida , Santiago de Compostela, Spain, February 24-26, 1999
- Jim/1.0beta Coming soon...
The Jim Team

[ IIIA | IIIA Agents | SMASH | Plural

Last updated: March 10th, 1999