Full mobile agent interoperability in an IEEE-FIPA context

https://doi.org/10.1016/j.jss.2009.06.038Get rights and content

Abstract

The existence of heterogeneous mobile agent systems hinders the interoperability of mobile agents. Several solutions exist, but they are limited in some aspects. This article proposes a full interoperability solution, in the context of the IEEE-FIPA agent standards, composed of three parts. The first part is a simple language-independent agent interface that enables agents to visit locations with different types of middlewares. The second part is a set of design models for the middlewares to support agents developed for different programming languages and architectures. And the third part is a method based on agents with multiple codes and a common agent data encoding mechanism to enable interoperability between middlewares that do not support the same programming languages. Furthermore two agent interoperability implementations, and its corresponding performance comparison, carried out over the JADE and AgentScape agent middlewares are presented.

Introduction

Mobile agents are proactive, reactive, and social autonomous entities with the ability to move between different locations of a distributed system. A high grade of interaction among agents and the environment is required. Nonetheless, this is hindered by the existence of different types of Agent Middlewares (AMs), Programming Languages (PLs), and Computer Architectures (CAs). In practical terms, according to Pinsdorf and Roth (2002), two Mobile Agent Systems (MASs) are interoperable if a mobile agent can interact and communicate with other agents (locally or remotely), and if the agents of one of the systems can migrate to the other, i.e., if they can leave their system and resume their execution in the next one.

Considering Pinsdorf and Roth, 2002, Ametller et al., 2006, four agent interoperability areas can be inferred. Firstly, the execution area. The existence of different PLs and CAs makes it difficult to share a unique executable code format. This is the reason why MASs generally use interpreted PLs running over Virtual Machines (VMs). Secondly, the middleware area. Each MAS uses a specific AM with a specific Application Programming Interface (API), agent management system, and agent life cycle model. Hence, agents of different AMs are usually incompatible, despite some standards that cover some of these aspects have been used and proposed, e.g., the IEEE-FIPA specifications (FIPA, 2002). Thirdly, the communication area. Different AMs usually have different communication mechanisms, each one with their own message structures and delivery methods. Therefore, the communication of agents is not always possible. And finally, the mobility area. An agent migration implies agreement on the steps of the migration process, the set of messages exchanged, and the information included within them. Otherwise the agent would not be able to migrate. In the rest of the article it is considered that full interoperability is achieved when all these areas are covered. Besides, a security (Garrigues et al., 2009) area can also be included, although it is not essential for the full interoperability.

Despite the fact that several individual proposals for the mentioned areas exist, a full interoperability mechanism general enough to cover all the possible combinations of AMs, PLs, and CAs is not easy to achieve. Too many variables are involved. Thus, full interoperability is usually reached assuming some constraints with the intended scope. The most common ones are the entailment to a specific PL and CA, usually Java and its VM (Fortino et al., 2008).

The main contributions of this article pursue a full mobile agent interoperability within an IEEE-FIPA context. They are focused on the middleware, and the execution areas and are combined with the Inter-Platform Mobility Architecture (IPMA) approach (Cucurull et al., 2009), for the mobility area, and the IEEE-FIPA specifications, for the communication and part of the middleware areas. This paper proposes three new solutions to common interoperability issues that can be used in combination or on their own:

  • Common Agent Interface (CAI): Interface that sets the basis for a minimal interoperable agent compliant with the IEEE-FIPA specifications and suitable for any PL. Agents can be moved to any AM supporting CAI and the specific PL in which the agent is developed.

  • Multiple Execution Environments: The availability of multiple Execution Environments (EEs) for a selection of PLs within an AM allows the local execution and interaction of agents developed in different PLs.

  • Multiple Code Agents: Agents with several equivalent versions of their code, each one written in a different PL, and a common data representation mechanism to keep their state. This method enables agents to visit locations that do not support the same PLs.

When these techniques are used simultaneously MASs can achieve a high level of interoperability, although it will be more complex. However the proposal is designed in such a way that all three mechanisms can be used alone or in combination with others. In this way, MAS developers can choose the most appropriate configuration that suits their needs.

A caveat here is that these proposals are only devised to support weak agent mobility (Fuggetta et al., 1998, Bohoris et al., 2000, Cabri et al., 2000). The use of strong mobility has some potential advantages for the agent developer, but it imposes serious restrictions to the agent interoperability because of the strong dependency created with the CA (Cabri et al., 2000). Nonetheless, in practice, weak mobility is the most extended type since it is also valid for any kind of mobile agent application.

In order to complement the theoretical proposals, two interoperability implementations for the JADE (Bellifemine et al., 2006) and AgentScape (Overeinder and Brazier, 2004) AMs have been developed. A detailed performance analysis of both implementations is also presented.

During the last few years several recent and innovative projects related to agents have been initiated, e.g., new mobile AMs (Chen et al., 2008) to solve up-to-date problems, or current work of IEEE-FIPA with OMG to propose new agent standards.1 However, a wide scale mobile agent deployment has not been ever produced so far. A number of reasons have been used to explain this (Roth, 2004, Gray, 2004, Pinsdorf and Roth, 2002), including security issues, lack of applications, and more important, interoperability problems. This article contributes to the mobile agent deployment precisely with the improvement of the interoperability mechanisms.

The article is organised in eight sections: Section 2 presents a background of the existing agent standards and AMs; Section 3 details the first proposal, a common agent interface in the IEEE-FIPA context; Section 4 refers to the second proposal, which states different models of agent infrastructure to support several PLs; Section 5, refers to the third proposal, which defines agents with multiple codes to also support several PLs; Section 6 compares the interoperability approaches presented in this article with other approaches in the literature; Section 7 details an implementation of part of the proposal and presents a set of performance tests; and Section 8 concludes the article stating the results achieved and the future research to be done.

Section snippets

Background

Proposing a full interoperability solution for MASs is a task that comprises the study of the most relevant mobile agent technologies. In this section two of the most widespread agent standards, MASIF (OMG-MASIF, 1997) and IEEE-FIPA (FIPA, 2002), and several AMs are presented.

Regarding the agent standards, on one hand, Mobile Agent System Interoperability Facilities (MASIF) (OMG-MASIF, 1997) is a document created by the Object Management Group (OMG) that includes a set of definitions and common

Common agent interface

The existence of different AMs off the shelf makes the agent interoperability a difficult chore to accomplish. Each AM already has its own agent interface, and therefore the interaction agent/AM is limited to entities sharing the same interface. The main contribution of this section is the definition of a common agent interface called CAI within the context of the IEEE-FIPA specifications. A shared specific interpreted PL in each AM is assumed, which currently is the most common scenario in the

Multiple execution environments

Interoperability in the area of execution is not completely solved. This area comprises two well differentiated parts. The PL in which an agent is developed and the architecture for which it is compiled. This section proposes models to allow agents developed in different interpreted PLs run in the same AP.

Multiple code agents

In the previous sections two methods to improve the compatibility of agents with different AMs have been proposed. On one hand, CAI, which allows agents to dwell in different types of AM. On the other hand, the multiple EE solution, which increases the range of supported PLs in a single AM. The effectiveness of the first method depends on the support for the PL in which the agent is developed in each of the locations to visit. Therefore, locations should support as many PLs as possible.

The

Discussion

This section compares existing interoperability approaches with our solutions.

Monads (Misikangas and Raatikainen, 2000) is a system implemented on top of AMs that defines a specific agent interface that separates Monads agents from the underlying AM. This separation is undertaken by dividing agents into a head, the AP independent part, and a body, the dependent part. In Monads the agent migration and communication is coordinated through a specific agent called Monads Agent Gateway. This

Implementation and performance

Two implementations for the agent interoperability in the JADE (Bellifemine et al., 2006) and AgentScape (Overeinder and Brazier, 2004) Java AMs have been carried out. They are based on CAI and follow the application level and single agent approaches stated in Section 4.

Conclusions

During the last years a large amount of AMs have been developed. As a consequence, and considering the present tendency to technological convergence, the interoperability of mobile agents has become a subject of major concern.

In this article a full interoperability proposal is presented. It combines the IEEE-FIPA specifications, the IPMA mobility model (Cucurull et al., 2009), and the solutions proposed in Sections 3 Common agent interface, 4 Multiple execution environments, 5 Multiple code

Acknowledgements

Work partially funded by the Spanish projects TSI2006-03481, eAEGIS TSI2007-65406-C03-02, ARES – CONSOLIDER INGENIO 2010 CSD2007-00004, the Catalan project 2005-FI-00752 and the European Social Fund (ESF).

Jordi Cucurull is a researcher in the Department of Information and Communications Engineering at the Universitat Autònoma de Barcelona. His current research is focused on the mobility, performance, and interoperability of mobile agents. He received his PhD in computer science from the Universitat Autònoma de Barcelona.

References (47)

  • J. Ametller et al.

    Enabling mobile agents interoperability through fipa standards

  • Baumer, C., Breugst, M., Choy, S., Magedanz, T., 2000. Grasshopper: a universal agent platform based on OMG MASIF and...
  • F.L. Bellifemine et al.

    Developing Multi-Agent Systems with JADE

    (2006)
  • C. Bohoris et al.

    Software agent constrained mobility for network performance monitoring

  • P. Braun et al.

    Mobile Agents: Basic Concepts, Mobility Models, and the Tracy Toolkit

    (2005)
  • Cabri, G., Leonardi, L., Zambonelli, F., 2000. Weak and strong mobility in mobile agent applications. In: Proceedings...
  • Cucurull, J., Overeinder, B.J., Oey, M.A., Borrell, J., Brazier, F.M.T., 2007. Abstract software migration architecture...
  • Extensible Markup Language (XML) 1.0, 2008....
  • FIPA, FIPA abstract architecture specification, 2002....
  • A. Fuggetta et al.

    Understanding code mobility

    IEEE Transactions on Software Engineering

    (1998)
  • C. Garrigues et al.

    Protecting mobile agents from external replay attacks

    Journal of Systems and Software

    (2009)
  • Gavalas, D., 2001. Mobile software agents for network monitoring and performance management. Ph.D. Thesis, University...
  • Gavalas, D., 2004. Mobile agent platform design optimisations for minimising network overhead and latency in agent...
  • Cited by (9)

    • Organizational structures supported by agent-oriented methodologies

      2011, Journal of Systems and Software
      Citation Excerpt :

      We considered relevant articles published between 2002 and 2009, and references therein were also reviewed. The analysis of mobile agents (Cucurull et al., 2009) is out of the scope of this survey. Additionally, we discarded methodologies that do not support any of the studied organizational paradigms.

    • Fragment transfer protocol: An IEEE-FIPA based efficient transfer protocol for mobile agents

      2010, Computer Communications
      Citation Excerpt :

      An analysis of the performance results obtained with the IPMA implementation, the JADE Inter-Platform Mobility Service (JIPMS) [11], has shown that despite the performance achieved for agents with small code and data is reasonable, it highly decreases when the agent size grows. This prevents the use of mobile agents for applications that need to transport relatively large amounts of data, such as medical applications [12], interoperable applications with multiple versions of the agent code [13], and so on. After some research into this issue we found that the cause of it was that the default agent transfer protocol included into IPMA, the Push Cache Transfer Protocol (PCTP), sent large pieces of data into only a few Agent Communication Language (ACL) messages [14].

    • Design and implementation of inter-operable and secure agent migration protocol

      2020, International Arab Journal of Information Technology
    • Towards an Internet of Agents model based on Linked Open Data approach

      2019, Autonomous Agents and Multi-Agent Systems
    • A multi-agent framework that facilitates decoupled agent functioning

      2018, IFIP Advances in Information and Communication Technology
    View all citing articles on Scopus

    Jordi Cucurull is a researcher in the Department of Information and Communications Engineering at the Universitat Autònoma de Barcelona. His current research is focused on the mobility, performance, and interoperability of mobile agents. He received his PhD in computer science from the Universitat Autònoma de Barcelona.

    Ramon Martí is a lecturer in the Department of Information and Communications Engineering at Universitat Autònoma de Barcelona. His research interests include security in e-health mobile agents and distributed multimedia systems. He received his PhD in telecommunication engineering from Universitat Politècnica de Catalunya.

    Guillermo Navarro-Arribas obtained his PhD in 2006 from the Autonomous University of Barcelona. He is now a post-doctoral researcher at IIIA-CSIC. His research interests include authorization and access control in distributed systems and data privacy.

    Sergi Robles is an associate professor in the Department of Information and Communications Engineering at the Universitat Autònoma de Barcelona, where he leads a research group on security in networks and distributed applications. His research interests include mobile agents and security. He received his PhD in computer science from Universitat Autònoma de Barcelona.

    Joan Borrell (born 1965) got his PhD (1996) in Computer Science from the Universitat Autònoma de Barcelona. He is an associate professor since 1992 at the Department of Information and Communications Engineering. His research interests has been on cryptographic protocols applied to electronic voting, secret sharing, and electronic gaming. More recently, he has been working in the enhancement of the mobile agent security (itinerary and data protection, fault tolerance, mobility negotiation and reliability). He is coauthor of 3 patents and 60+ journal and conference papers, and he has supervised 6 PhD thesis.

    View full text