An Architectural Model for a Mobile Agents System Interoperability Zeghache Linda, Badache Nadjib, and Elmaouhab Aouaouche Research Centre in Scientific and Technological Information (CERIST), Algiers, Algeria ,
[email protected],
[email protected],
[email protected] http://www.cerist.dz
Abstract. An important goal in mobile agent technology is interoperability between various agent systems. A way of achieving this goal would be to envisage a standard to be imposed on these various ”agents systems” in order to allow the inter-working of various architectures of mobile agents. During the past years, different scientific communities proposed to different standardization actions, such as the Foundation for Physical Intelligent Agents (FIPA) and the Object Management Group’s MASIF (Mobile Agent System Interoperability Facilities). Although, they finally share some major targets, the OMG and FIPA current results show their distinct origins, particularly for interoperability between or within distributed systems. In this paper, we first analyze the similarities and differences, advantages and disadvantages of the Object Management Group (OMG) mobile agent and the Foundations for Intelligent Physical Agents (FIPA) intelligent agent approaches. Based on this analysis, we try to integrate these two standards to propose an architectural model for mobile agents system interoperability. Key words: Mobile agent, Mobile agent system, Interoperability, Standard, MASIF, FIPA.
1
Introduction
Mobile agents provide many benefits for the development of new generation Internet systems, such as great capabilities for distributed Internet system programming, in which there is the need for different kinds of integrated information. Also the mobiles agent paradigm ensures satisfactory performance for distributed access to Internet databases, for distributed retrieving and filtering of information and for minimizing network workload. Finally, mobile agents have been proved very effective in supporting the asynchronous execution, weak connectivity and disconnected operations[15]. Mobile agents reside in a highly heterogeneous environment; this heterogeneity appears in many dimensions. Mobile agents migrate to a host where an execution environment is set up for them; upon arriving there, they might execute code, make remote procedure calls (RPCs) in order to access the resources of
2
An Architectural Model for a Mobile Agents System Interoperability
the host, collect data and eventually might initiate another process of migration to another host [17]. A problem arises when mobiles agent platforms are different. In this paper, we focus on mobile agent interoperability. We investigate the existing standards, examine their different origins and explore their possible integration in order to bring an architectural model for a mobile agents system interoperability.
2
Agent System Interoperability
Mobile agent is a relatively new paradigm, but there is already a number of mobile agent system implementations, such as AgentTcl, Aglets, and Odyssey. Unfortunately, these systems are usually incompatible with each other. Thus, agents built for one platform cannot be used in another, if that does not pose problems in a closed universe, it is differently in the case of Internet. [11] During the past years, different scientific communities proposed different standardization actions : – Mobile Agent System Interoperability Facility (MASIF) defined by the Object Management Group (OMG), based on CORBA and is intended for mobile agents systems. – Foundation of Intelligent Physical Agents (FIPA). It standardizes an agent platform for inter-working agents systems. Although, they finally share some major targets, the MASIF and FIPA current results show their distinct origins. 2.1
MASIF Specification
The Object Management Group’s first effort in the agent field resulted in the MASIF specifications adopted in 1998, [11]. It focused on defining a conceptual framework, services and interfaces for CORBA-based interoperability between heterogeneous mobile agent platforms. The re-use of existing CORBA services [4], such as naming service, life cycle, security and externalization templates, is also analysed by MASIF [3]. MASIF’s framework defines the concepts of agent (either mobile or stationary), hosted by places, run by agent systems, belonging to regions. MASIF specifies two interfaces : – The MAFFinder interface defines operations for place, agent and agent systems lookup; – The MAFAgentSystem interface deals with the management of an agent system, places and agents (creation, destruction, agent migration, etc.).
An Architectural Model for a Mobile Agents System Interoperability
3
There should be at least one server implementing the MAFFinder interface per region, and each agent system should implement the MAFAgentSystem interface. [11] MASIF suffers from many weaknesses: How can regions be interconnected? How can an agent system receive an incoming agent of a different agent system type? How may heterogeneous agents communicate? Moreover, it appears that mobility makes the reuse of today’s CORBA services neither simple (e.g. naming), nor sufficient (e.g. security). Finally, the fact that only one implementation is available today (Grasshopper) makes it impossible to assess the actual support for interoperability. Nevertheless, MASIF has to be regarded as a basic infrastructure and conceptual framework for further specification and revision. 2.2
FIPA specification
The Foundation for Intelligent Physical Agents was officially created and registered as a non-profit association in 1996. FIPA aims at producing ”specifications that maximise interoperability across agent-based applications”[6]. FIPA conceptual model defines the following concepts [7]: – Agent Platform (AP): is a physical infrastructure in which agents are deployed. – Agent: is the fundamental actor on an AP. – The Agent Management System (AMS): is a ”white pages” server. It manages the creation, deletion and general status of the agents. – Directory Facilitator (DF): is a ”yellow pages” server. Agents may register with the DF or query the DF to find out the services offered by other agents. – A Message Transport Service (MTS): is the default communication method between agents. Moreover, Agent communication is one of the core components of the FIPA’s conceptual model for agent systems. Agents can pass semantically meaningful messages to one another in order to accomplish the tasks required by the application. These messages are expressed in the FIPA-ACL language. This later is a speech-act based Agent Communication Language developed by FIPA to allow communication between heterogeneous agents. It defines Protocols for complex message interaction and semantic languages for complex content expression [5]. However, in FIPA standards there is no specification about agent mobility. 2.3
MASIF and FIPA comparison
Several similarities and differences between FIPA and MASIF specifications can be drawn (Table 1). MASIF and FIPA standardisation efforts are not completely different; they both focus on interoperability between agent systems. However, each one has its own religion to achieve interoperability; MASIF uses agent mobility while FIPA concentrates on agent communication.
4
An Architectural Model for a Mobile Agents System Interoperability
Regarding these characteristics of FIPA and MASIF, we can notice that the two standardisations are complementary. Table 1. MASIF and FIPA Comparison Criterion
M ASIF
F IP A
Agent
Mobile
Stationary
Agent Management Supported by the MAF Agent System interface Agent Registration Supported by the MAFFinder interface
Assured by Agent Management System Managed by Agent Management System
Service Registration No specification
Supported by the
Agent Location
Sequential search
Federation of DFs to
algorithm
discover services
Directory Facilitator
offered by agents Mobility
Enable agent migration
No specification
between Agent Systems of the same profile (language,authentication and serialization methods) via standardized CORBA IDL interfaces Communication
No specification
Based on a high-level speech act communication language and a predicate logic based content language
Interoperability
Error recovery
3
Based on agent
Based on agents commu-
migration and require
nication in heterogeneous
homogeneous platforms
environments
No specification
No specification
Related Work
Mobile Agent Interoperability has been an active field of research. Various solutions have been proposed.
An Architectural Model for a Mobile Agents System Interoperability
5
One approach to mobile agent interoperability has been suggested by [13]. The basic idea consists of dividing agents into platform specific and platform independent parts into the body and the head. The body handles the agentprogramming interface of each agent platform and a head can be placed on top of it. The agent-head can migrate via a Gateway. The solution described by [12] is based on generative mobility. In generative mobility, a blueprint of an agent’s functionality is transported, together with information on the agent’s state. At its destination, an agent factory regenerates the executable code of the agent on the basis of its blueprint. An agent may then restore its state and resume execution. Several approaches relying on MASIF and FIPA specifications have been considered. The developers of Grasshopper [2]provides a FIPA add on to Grasshopper platform which comply with MASIF standard. The main components of a FIPA compliant platform are provided in form of stationary Grasshopper agents. Another approach described by [1]propose agent migration using FIPA-ACL message, which means that transmission of mobile agents between two agents systems will be carried out using the message system between agents.
4
Our Proposal
The aim of this paper is to propose an architectural model in order to promote interoperability between various mobile agents systems and take into account the advantages of MASIF and FIPA specifications. The architecture we propose is based on MASIF conceptual model to ensure agent management and mobility. In other side, it takes from FIPA its agent’s communication specifications. 4.1
Reference model
The reference model of our architecture is composed of a set of conceptual elements managed by common operations defined within interfaces (Fig.1). Agent : is a computer program that acts autonomously on behalf of a person or organization and it can be mobile or stationary. It is characterised by a state, authority, name and location. Place : is a context within an agent system in which an agent can execute. It must contain three components: language interpreter, state module and security module. Space Information : is an abstraction of communication mean that allows agent communication in independent way from the languages. It provides different style of interaction.
6
An Architectural Model for a Mobile Agents System Interoperability
Agent System : is a platform that can create, interpret, execute, transfer, and terminate agents. It is associated with an authority that identifies the person or organization for whom the agent system acts. Region : is a set of agent systems that have the same authority, but are not necessarily of the same type.
Fig. 1. Proposed Architecture
4.2
Agent management
In order to ensure agent management (create, suspend, resume, terminate) and agent transfer (migration) in a standard way, we use MAFAgentSystem Interface proposed by MASIF. We have extended this interface with new methods to allow the control of an agent directory which maintains an index of all the agents that are currently resident on an Agent System. It offers white pages services to other agents. Each agent must register with the agent directory after creation to have a global unique identifier.
An Architectural Model for a Mobile Agents System Interoperability
4.3
7
Agent localization
To allow agent localization in an efficient way, we propose to use the service advertisement. We suggest creating a directory service on each region called MAFFinder. This MAFFinder provides yellow pages services to other agents. Agents may register their services with the MAFFinder or query the MAFFinder to find out the services offered by other agents. The MAFFinder has the following logical structure (Fig.2):
Fig. 2. MAFFinder logical structure
– To each region we associate a MAFFinder called Regional MAFFinder. – To each type of service we associate a MAFFinder called Service-MAFFinder. Every agent that wishes to publish its service to other agents, should find an appropriate Service-MAFFinder and request the registration of its agent description. – We define System-MAFFinder to maintain descriptions of all agent systems residents in the region. Service-MAFFinders and System-MAFFinders are registered within the Regional MAFFinder. In order to allow agents to access the MAFFinder, we redefine the MAFFinder interface of MASIF.
8
An Architectural Model for a Mobile Agents System Interoperability
It contains a set of methods permitting the registration of agent system, advertisement of agent services and localisation of services offered by other agents. In this proposition, we use a mechanism that searches first locally and then extends the search to other MAFFinders, if allowed. For this purpose, we envisage to federate MAFFinders. The federation of MAFFinders can be achieved by registering Regional MAFFinders with each other with federate method defined in MAFFinder interface. 4.4
Agent communication
Mobile agents are expected to be autonomous and interact with their environment and other agents in order to solve complex distributed problems. They need a common knowledge core, so that negotiation and cooperation can be managed. Three basic problems need to be addressed for agents to effectively share knowledge : First, how can we translate from one knowledge representation language to another? Second, how can we guarantee that meaning of concepts, objects and relationships is the same across different agents? And third, how is this potentially sharable knowledge going to be shared and communicated between agents? The tool that follows this layered abstraction is Agent Communication Language (ACL). [16] Agent Communication Language : In this proposition, we have used FIPA agent communication language (FIPA-ACL) to package messages in standard way. FIPA-ACL is based on the speech act theory: messages are actions, or communicative acts, as they are intended to perform some action by virtue of being sent[8]. The specification consists of a set of message types and the description of their pragmatics. The specification provides also a set of high level interaction protocols. FIPA-ACL is based on synchronous exchange of messages. However, mobile agents are not permanently reachable because of their mobility. It is desirable to build a communication system above an asynchronous support. Thus we see great interest of using space information approach. Space Information approach : According to [9], space information consists of set of tuples in the form (K, A, V), where K is a key (identity), A is an access control list that specify all agents allowed access the tuple; and V consists of the information itself (FIPA-ACL message), (Fig. 3). Agent communication is done indirectly through elementary operations for writing WRITE (K, A, V), reading READ (K, A, V) and destructive reading DREAD (K, A, V) in public information space. It is not tied to a particular programming language and can be used for asynchronous ”one-to-many” and ”many-to-many” style communication.
An Architectural Model for a Mobile Agents System Interoperability
9
Fig. 3. Space information approach
Agent communication interface : In order to manage FIPA-ACL messages exchange within information space in standard way, we define agent communication interface called MAFAgentCommunication. It contains data definitions and methods necessary to create, send, receive, notify and destroy FIPA-ACL messages. 4.5
Error detection and recovery
Mobile agent execution can fail due to a number of reasons. So the error Handling is important not only because mobile agents can carry sensitive data, but also in order to have information the interpretation of which is vital for determining the cause of the failure [14]. We define, in our architecture, ErrorHandling interface the role of which consists in generating reasonable error information and, if possible, to retrieve the agent state. In case of a failure on mobile agent level, the procedure depicted in Fig. 4 is initiated. It is described in the following: 1. If a failure on agent has occurred, an SOS message is passed to MAFAgentSystem. 2. MAFAgentSystem stores the SOS message, makes agent state at failed and send an error message to the agent owner.
10
An Architectural Model for a Mobile Agents System Interoperability
3. The agent system will go ahead collecting the remainders of the mobile agent and send it to EerrorHandling service. 4. Upon reception of the mobile agent, the ErrorHandling Service persistently writes the remainder of the agent to a local database. 5. The owner of a mobile agent can invoke the MAFAgentSystem in order to recover this agent. 6. The MAFAgentSystem returns the error message to the agent owner. 7. The owner of a mobile agent invokes the ErrorHandling in order to retrieve the remainder of this agent.
Fig. 4. Error recovery
4.6
Agent Security
In this architecture, we consider the following risks of security relating to the agents mobility and the messages exchange. 1. Messages security :There are two basic potential security risks when sending a message from one agent to another: – The primary risk is that a message is intercepted, and modified in some way.
An Architectural Model for a Mobile Agents System Interoperability
11
– The secondary risk is that the message is read by another entity. We propose to use digital signing and encryption to bypass these risks respectively. 2. Mobile agent security : Because a mobile agent is a computer program that can travel among agent systems, it is often compared to a virus. So, it is imperative for agent systems to identify and screen incoming agents. To ensure the safety of agents and agents systems in the proposed architecture, we use current CORBA security specifications [11]: – Agent identity: an agent system can identify and verify the authority that sent the agent. An agent system can provide information within a credential object about an agent that it is hosting : • The agent’s name and principal authentication, • The authenticator (algorithm) used to evaluate the agent’s authenticity. – Client Authentication for Remote Agent Creation: CORBA security specification offer client authentication services via the PrincipalAuthenticator interface. – Mutual Authentication of Agent Systems: CORBA security allows the mutual authentication of agent systems by setting the following association options: EstablishTrustInClient and EstablishTrustInTarget. – Agent Authentication and Delegation: When possible, it is desirable to propagate the agent’s credentials along with the agent as it moves between agent systems. This may only be possible using composite delegation.
5
Conclusion
This paper focused on the heterogeneous agent interoperability issue. During the past years, different scientific communities proposed different standardization actions, such as the Foundation for Physical Intelligent Agents (FIPA) and the Object Management Group’s MASIF. In this paper, we have first analyzed the similarities and differences, advantages and disadvantages of MASIF and FIPA approaches : – MASIF specification does not address agent communication; – FIPA specification does not address agent mobility; Based on this analysis, we have tried to integrate these two standards to propose an architectural model to enable mobile agent system interoperability. We have used MASIF specification to standardize agent management, agent transfer and localisation. We have introduced mobile agents communication via FIPA-ACL specification. Doing so, make a new range of interoperability options available to mobile agents.We have also proposed a simple solution to error detection and agent recovery. Work is continuing to identify infrastructure and design elements that facilitate interoperability.
12
An Architectural Model for a Mobile Agents System Interoperability
References 1. Ametller J., Robles S., Borrell J.: Agent migration over FIPA ACL messages. In: Proceedings of Fifth International Workshop on Mobile Agents for Telecommunication Applications, Springer, Berlin, Germany (2003), pp. 210-219. 2. Baumer C., Breugst M., Choy S., Magedanz T.: Grasshopper A universal agent platform based on OMG MASIF and FIPA standards. In the First International Workshop on Mobile Agents for Telecommunication Applications (MATA’99), Ottawa, Canada (1999), pp. 1-18. 3. Bruno Dillenseger, Huan Tran Viet: Towards full agent interoperability. In 2nd International ACTS Workshop on Advanced Services in Fixed and Mobile Telecommunications Networks, Centre for Wireless Communications, Singapour(1999) 4. David Acremann, Gilles Moujeard, Laurent Rousset:Dvelopper avec CORBA en Java et C++. Edition Compus Press,(1999) 5. Dogac Asuman, Cingil Ibrahim : Book of the course: B2B e-Commerce Technology: Frameworks, Standards and Emerging Issues. Middle East Technical University Ankara, Turkey(2003) 6. Foundation for Intelligent Physical Agents (FIPA): FIPA Abstract Architecture Specification.http://www.fipa.org, (2000) 7. Foundation for Intelligent Physical Agents (FIPA): Agent Management Specification. http://www.fipa.org, (2000) 8. Foundation for Intelligent Physical Agents (FIPA): FIPA ACL Message Structure Specification. http://www.fipa.org, (2000) 9. Lingnau A., Drobnik O.:Making mobile agents communicate: A flexible approach. In the 1st annual Conference on Emerging Technologies and Applications in Communication (etaCOM’96), Portland, Oregon(1996) 10. Laurent Magnin: Internet, Complex environment for situated agents. Informatique Research Centre of Montreal, Canada(1999) 11. Object Management Group: Mobile Agent System Interoperability Facilities specification. Object Management Group TC Document orbos/00-01-02, (2000) 12. Overeinder B.J., De Groot D.R.A., Wijngaards N.J.E., Brazier F.M.T.: Generative Mobile Agent Migration in Heterogeneous Environments. Proceedings of the ACM symposium on Applied computing, Pages: 101 - 106, Madrid, Spain (2002) 13. Pauli Misikangas, Kimmo Raatikainen: Agent Migration Between Incompatible Agent Platforms. 20th IEEE International Conference on Distributed Computing Systems (ICDCS’00,), Page: 4, (2000) 14. Steffen Richard: Mobile Agent Support Services. PhD Thesis, Aachen (2002) 15. Stphane Perret: Mobile Agent for nomadic information access in large scale networks. PhD Thesis, Joseph Fourier university, France (1997) 16. Yannis Labrou, Tim Finin, Yun Peng:The Interoperability Problem: Bringing together Mobile Agents and Agent Communication Languages. Proceedings of the Thirty-second Annual Hawaii International Conference on System Sciences, Vol. 8, Page:8063, (1999) 17. Yannis Labrou, Tim Finin, Yun Peng:Mobile agents can benefit from standards efforts on inter-agent communication. IEEE Communications Magazine, Vol. 36, No. 7, pp. 50-56, July (1998)(special issue on Mobile Software Agents for Telecommunications).