• No results found

Multi Language Based Agent Platform

N/A
N/A
Protected

Academic year: 2020

Share "Multi Language Based Agent Platform"

Copied!
6
0
0

Loading.... (view fulltext now)

Full text

(1)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 2, Issue 7, July 2012)

41

Multi Language Based Agent Platform

Sakeer M A

1

, Ansar H

2

, Ram Sunder

3

1,3Asst Professor, Dept of CSE, V K C E T,Chavarcode, Parippally P.O, Trivandrum 2

Associate Professor, Dept of CSE, V K C E T,Chavarcode, Parippally P.O, Trivandrum

Abstract Mobile Agents are small programs that can migrate from one machine to another. The mobile agents can stop its work at any point during execution, and can travel to remote machine, and continues its execution at the remote machine from the point where it stops its execution. Multi Agent Systems (MAS) development framework provides facilities for the development and management of agent based applications. In the present scenario, large number of Multi Agent Systems is available for the development and deployment of mobile agent concepts. Most of the agent frameworks are developed based on Java language only due to its high support for object serialization. The main aim of this work is to develop a Multi-language based Agent Platform follows IEEE FIPA standard which supports development of mobile agent applications based on multiple languages (java, C#).

Keywords— Agent technology, Interoperability, Multi

Agent Architecture, Multi Language, Mobile Agent.

I. INTRODUCTION

A mobile agent is a small program with the ability to move itself during its own execution in all essential parts from one host machine to another within a heterogeneous network while preserving its internal state. Multi Agent Systems (MAS) development frameworks aim at facilitating the development and administration of agent based applications. In the present scenario, large number of Multi Agent Systems (MAS) is available for the development and deployment of mobile agent technology. Most of them are linked to a technology that limits their expansion to some platforms and supports only development of agents based on single language only.

Most of the agent frameworks are developed based on Java language only due to its high support for object serialization. Mobile agent technology provides several advantages over traditional approaches in distributed applications 1) mobile agents can reduce bandwidth usage by migrating to the machines where data resides, 2) they can carry data, code and execution thread while migrating to other machines 3) they do not require continuous network connections. The Mobile Agent concept is generally viewed to have born from two originally distinct fields, on the one hand artificial intelligence research with its notion of an agent as a piece of software acting autonomously and on behalf of its owner.

On the other hand, wide spread of networking greatly increased interest in the idea of mobile code. Combining these two concept results in the concept of a Mobile Agents. Agent concept is an open architecture. It can be applied in many areas.

Developers commonly use some existing framework in order for the final development of agent based applications and not to spend too time in management and communication issues. The main advantages of this choice are an easy configuration and the administrative features derived from the agent middleware. Nevertheless, the main drawback is that the developer will be conditioned by the characteristics of the chosen framework. [2].

Most of the agent platforms don’t interoperate due to the lack of adopting agent base standards for the agent development. In this context; the FIPA (Foundation for Intelligent Physical Agents) committee defines the most widespread proposal within the multi agent field. In this way, another of the central themes of our approach consists in adopting the set of FIPA specifications for the development of MAS.

The platform presented in this work offers a new alternative for the development and deployment of MAS. The proposed work introduces the design and development of an agent platform that follows the FIPA specifications. This platform supports development of agent based on multiple languages. Using this Agent Management System (AMS) stationary agents and mobile agents can be developed using different languages (Java, C#).

II. RELATED WORK

Since this paper introduces a framework for the development of FIPA related MAS, we propose our work in the context of existing standards and platforms.

A. Foundation for Intelligent Physical Agents (FIPA)

The Foundation for Intelligent Physical Agents (FIPA) is an IEEE committee aimed at promoting agent-based technology and interoperability between agent-based applications.

(2)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 2, Issue 7, July 2012)

[image:2.612.54.280.211.329.2]

42 This document and its derived specifications define the abstract architecture proposed by FIPA for the development of MAS .The main advantage of adopting the set of FIPA standards is the maturity obtained after more than 12 years of producing specifications for heterogeneous and interacting agents and agent-based systems.

Figure 1 FIPA abstract architecture.

The FIPA Agent Management Specification [7] establishes the agent management model of the agent platform, including the basic FIPA management services, the management ontologies, and the message transport model. The first relevant service is the Directory Facilitator (DF), which is responsible for providing agents with a yellow-pages service. Next, the Agent Management System acts as the platform manager and maintains a directory with the valid agent identifiers (AIDs) of the agents registered with the platform.

Besides providing the agents with a white pages service, the AMS also manages the agent life cycle. Finally, the Message Transport Service (MTS) provides support to send and receive Agent Communication Language (ACL) messages [2].

B. Java Agent Development Framework (JADE)

JADE is probably the most widespread FIPA compliant agent oriented middleware. From a practical point of view, JADE is organized in two development packages: (i) a FIPA-compliant multi agent system and (ii) a package for developing Java-based agents.

Therefore, developers making use of JADE must implement their agents in Java by following the developer guide provided by JADE [2].

III. MULTI AGENT PLATFORM

The platform presented in this work offers a new alternative for the development and deployment of MAS. Our goal is to provide developers with a solution which solves some limitations of current tools.

On the other hand, it also makes the development of agent based solutions easier and provides interoperability by means of the use of FIPA specifications.

The proposed architecture includes the following amendments

 Development of an Agent platform based on FIPA standards.

 Agent Management System is developed on multiple languages (Java, C#).

 Extension modules are developed in the form of Jar and DLL.

 Developers can use Jar or DLL’s for the development of application agents and web agents.

 Strong migration of agents between different platforms.

 By using web server extension modules existing web servers can be used. So that all the features of JSP and Asp.Net can be fully utilized

 The proposed work aims at performing Interoperability operations between agents developed on other platforms based on FIPA standard.

IV. ARCHITECTURAL OVERVIEW

The architecture of the agent platform is based on components which interact through events and offers a set of services to mobile agents, including message transmission, agent creation, and agent migration.

It consists of an Agent Management System (AMS), Message Transport Service, Agent Migration Manager, Jar and DLL files for the application or web based agent development. Using this Jar or DLL file developers can develop mobile or stationary agents.

For normal requests Web server responds in the traditional way: it provides the user with the desired data through a HTTP response containing the data. But when it receives an agent related request, the server hands it to its agent platform to fulfill the request.

There is no need for the server to understand any agent related request, it is sufficient that it identifies the request as an agent request to forward it to its agent platform.

(3)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 2, Issue 7, July 2012)

43 Webserver

Webcontainer Web server extension modules

Web Browser

Host X Host Y

Message Transport service

Agent Migration Manager

Agent X

Agent Y Agent Management

System

Agent Z

Figure. 2 General Architecture of Agent Platform.

Our framework differs from the other systems due to the following reasons

 Heterogeneity of the various agents is acceptable. Which means that the agents can be developed in any language provided;

 The agents thus developed are hybrid in nature thus they have both compiled as well as interpreted codes executing on the various platforms.

 Though the Core modules have been developed in C# and Java but the messaging architecture is socket based, thus all other programming language having socket-based communication can easily form a part of the environment.

The architecture of the agent platform consists of agent management system and a number of agents. Agent management system coordinates all the activities of the agents including agent creation, deletion, etc.

In addition to the services specified by FIPA and the management agent, Mobility manager is included to handle the migration of agents from one platform to the other.

Mobility manager handles the entire agent related request for migration. JAR and DLL are developed for Java and C# languages respectively. If a developer need to develop agents based on java language then the corresponding JAR file should be used by the developer.

Integrating mobile agents into a Web server means to enable Web servers to start, receive, and execute mobile agents. Additionally, Web agents may access the Web data of the server, may want to communicate with a user, and have to be managed.

Starting, executing, accessing Web data and management of agents is done by a special extension modules. This is achieved by using the extension modules. In order to integrate agents to the existing web servers extension modules are developed for IIS web server and Apache http server. Using these extensions modules programmers can easily use agent functionality in their web pages. By using these extension modules developers can create agents, communicate agents without knowing much about the agent platform.

V. AGENT MANAGEMENT SYSTEM

The Agent Management System (AMS) [7] is the FIPA component that manages the control and access to the agent platform. Only one AMS is allowed in an agent platform, which is responsible for maintaining a directory with all the agents registered with the platform. In other words, the AMS provides a white-pages service to the other components of the system. On the other hand, it is the main management element because all the agents must register with it in order to obtain a valid identifier within the agent platform. Resource handling for agents is handled by Agent Management System.

Agent Management System is developed in multiple languages where developer can choose which language should be used depending upon the application domain.

Through this component, a developer is able to instantiate agents within the platform without worrying about management issues. It is not practical that a system composed of thousands of agents allocates them all in RAM. In fact, providing a method that allows activating agents on demand is more efficient, that is, it makes possible the use of resources only when needed.

Agent Management System is the core of the agent platform. In order for the agent to perform with the agent platform, it has to register to the AMS. AMS maintains a list with all the registered agents. The AMS includes the operations for registering and searching agents:

 createAgent: allows creating an agent within the agent platform.

 destroyAgent: allows deregistering an agent.

 search: represents the service provided by the AMS.

 receiveMessage: allows the AMS to receive messages from other agents.

(4)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 2, Issue 7, July 2012)

44 VI. DIRECTORY FACILITATOR

FIPA defines the Directory Facilitator (DF) [7] as an optional component of the agent platform that provides yellow-pages service. The agents must register with the DF in order to be able to interact with it. The DF maintains an internal directory similar to AMS’s.

Directory Facilitator contains the following services

 search: allows the agents to search for other agents for getting a service.

 subscribe: used by the agents to subscribe to DF notifications.

 unsubscribe: used by the agents to unsubscribe to DF notifications.

 receiveMessage: allows the DF to receive messages from other agents.

VII. MESSAGE TRANSPORT SERVICE

In development framework communication plays an important role for agent coordination. The Message Transport Service (MTS) [6] gives support to the exchange of messages between agents in the same or different platforms since the messages are structured in the envelope according to FIPA, the MTS is responsible for analyzing the envelope to send messages to the final destination.

MTS stateless because it only receives, processes, and sends messages. The interface of the MTS is composed of a simple operation to receive messages an agent asynchronously invokes this operation to send messages so that it becomes free when the MTS obtains the message and without needing to wait for the receivers to get the message. To send messages, the MTS obtains the information needed from the message envelope, that is, the receivers’ addresses.

VIII. AGENT MIGRATION MANAGER

Agents can migrate from one platform to other platform using Mobility Manager in the agent platform. Agent Migration Manager deals the migration of agents from one platform to other platform. This component supports agent migration. Migration of java agents and c# agents are done through AMM.

Migration manager serializes data, execution state and code of each agent and send it to the destination host migration manager. For strong migration the serialized data and agent class is transferred to the target platform. This service is not started along with the AMS. Agent program that needs migration support should start along with the Agent Migration Manager.

Migration of agents based on C# is different. The migration is done by converting the class file into DLL file and this DLL is transferred to the target agent platform and recreates the agent structure using the DLL and agent state has restored using the serialized data.

IX. PERFORMANCE ANALYSIS

To validate the platform for the development of MAS a comparative study is conducted with java based JADE platform developed by Telecom Italia Lab. An experiment is conducted to test the migration capability of the platform. This platform supports migration of agents based on java and C# language. JADE supports only java based agents. Migration support is handled by the agent Migration Manager. For evaluating this platform with JADE platform two machines are chosen. Each machine consists of the main container for the hosting the jade agents. An agent program is launched for moving from one computer to another. When the number of agents is high, this is a challenging scenario that could overload a mobile agent platform.

[image:4.612.325.563.457.585.2]

In Jade, an object from memory is serialized and placed in the content parameter of an ACL message. This message is then sent using Jade inter-platform communication mechanism. In this work, on the other hand, uses direct method calls for the migration of agents between different platforms.

Figure 3: Comparison of agent migration with 50 iterations with operations.

(5)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 2, Issue 7, July 2012)

45 Figure 3, show how each test evolves over time, in terms of the total number of iterations performed so far and the time taken by agents for the completion of 50 iterations (i.e., 50 movements) with operations. In this test, an observation is made that agents developed of this platform can migrate faster than jade based agents. Agent based on this platform can complete the operations in 1.6 minutes. JADE based agents complete the operation in 3 minutes.

[image:5.612.51.287.301.438.2]

In the second test agents are migrated between two machines with slight modification. Condition of performing certain operations after moving to another machine is removed. After an agent performs 50 iterations (i.e., 50 movements), it is considered that the agent has finished its tasks.

Figure 4: Comparison of agent migration with 50 iterations without operations.

Figure 4, also show how each test evolves over time, in terms of the total number of iterations performed so far and the time taken by agents for the completion of 50 iterations (i.e., 50 movements) without operations after moving to another machine. In this test, an observation is made that agents developed of both platforms perform migration faster with small difference in time when operations are removed. Agent based on this platform can complete the operations in 60 seconds. JADE based agents complete the operation in 100 seconds.

This experiment reveals that the reliability and performance problems of agent platforms arise only when agents move and perform some operations among themselves (as seen in Figure 3): agents that only move usually lead to fewer problems

X. CONCLUSION

Our Framework differs from many of the available agent framework because of its simplicity and small size. In this paper we have presented an agent platform to develop MAS according to FIPA specifications.

The main contribution of this paper is to provide a new approach extensible to a wide range of platforms and domains when developing MAS. To do that, we have designed and implemented an agent platform based on multiple languages and at the same time agent concept is integrated into existing web servers by using the extension modules. Developers have the freedom to choose the language for agent development. Stationary and Mobile agents can be developed using this framework. Interoperability issues between agents based on different languages are also studied.

XI. FUTURE WORKS

A mobile agent is a small program with the ability to move itself during its own execution in all essential parts from one host machine to another within a heterogeneous network while preserving its internal state. Multi Agent Systems (MAS) development frameworks aim at facilitating the development and administration of agent based applications. In the present scenario, large number of Multi Agent Systems (MAS) is available for the development and deployment of mobile agent technology. Most of them are linked to a technology that limits their expansion to some platforms and supports only development of agents based on single language only.

REFERENCES

[1] Vallejo, D., et al. A modern approach to multi agent development, The Journal of Systems and Software 83, 2010, 467–484, Elsevier [2] Foukarakis, I.E., et al. Webmages: An agent platform based on

web services, Journal of Computer Communications 30, 2007, 538– 545, Elsevier

[3] Marques Paolo, et al. A component-based approach for integrating mobile agents into the existing web infrastructure, in: IEEE Symposium on Applications and the Internet (SAINT), Nara City, Nara, 2002, pp. 100–109

[4] Funfrocken S., How to integrate mobile agents into web servers, in: Proc. WETICE’97 Workshop on Collaborative Agents in Distributed Web Applications, Boston, 1997, pp. 94–99. [5] Foundation for Intelligent Physical Agents, 2002a.FIPA Abstract

Architecture Specification. <http://www.fipa.org/specs/fipa00001>. [6] Foundation for Intelligent Physical Agents, 2002b.FIPA Agent

Message Transport Service Specification. <http://www.fipa.org/specs/fipa00067>

[7] Foundation for Intelligent Physical Agents, 2004.FIPA Agent Management Specification. <http://www.fipa.org/specs/fipa00023>. [8] Lange, D. B., Oshima M.: Seven good reasons for mobile agents,

Communication. ACM, Vol. 42. ACM Press, 1999, 88-89

(6)

International Journal of Emerging Technology and Advanced Engineering

Website: www.ijetae.com (ISSN 2250-2459, Volume 2, Issue 7, July 2012)

46 [10] Vigna, G., Mobile agents: Ten reasons for failure, 5th IEEE

International Conference on Mobile Data Management (MDM 2004), Berkeley, CA, 2004, 298–299.

[11] Kotz, D. and Gray, R.., Mobile agents and the future of the internet. ACM Operating Systems Review, 1999, 33(3): 7–13. [12]OMG MASIF, Mobile Agent System Interoperability

Facility(MASIF)specification, <ftp://ftp.omg.org/pub/docs/orbos/97-10-05.pdf/>.

[13]Bordini, R., Braubach, L., Dastani, M., Seghrouchni, A.E.F., Gomez-Sanz, J.J.,Leite, J.,O’Hare, G., Pokahr, A., Ricci, A., 2006. A survey of programming languages and platforms for multi-agent systems. Informatica 30 (1), 33–44.

[14]Bellifemine, F.L., Caire, G., Greenwood, D., 2007. Developing Multi-agent Systems with JADE. Springer.

[15]Bellifemine, F.L., Caire, G., Poggi, A., Rimassa, G., 2008. JADE: A software framework for developing multi-agent applications. Lessons Learned, Information and Software Technology, Elsevier 5 (1–2), 10–21.

[16]Odell, J., 2000. Agent Technology, OMG, green paper produced by the OMG Agent Working Group.

[17]R. W. Collier.Agent Factory: A Framework for the Engineering of Agent-Oriented Applications. PhD thesis, University College Dublin, 2001.

[18]M. Luck and M. d’ Inverno.Understanding Agent Systems Springer Series on Agent Technology. Springer, 2nd edition, 2004.

[19]V. Subrahmanian, P. Bonatti, J. Dix, T. Eiter, S. Kraus,F. Özcan, and R. Ross. Heterogenous Active Agents.MIT-Press, 2000.

[20]A.Suna and A. El Fallah Seghrouchni. A mobile agents platform: architecture, mobility and se-curity elements. In R. Bordini, M. Dastani, J. Dix, and A. El Fallah Seghrouchni, editors,Programming Multi-Agent Systems, second Int. Workshop (Pro-MAS’04), volume 3346 of LNAI, pages 126–146, New-York, 2005. Springer Verlag. [21]Raquel Trillo, Sergio Ilarri and Eduardo Mena IIS Department,

University of Zaragoza (Spain). Comparison and Performance Evaluation of Mobile Agent Platforms.Proceeding ICAS '07 Proceedings of the Third International Conference on Autonomic and Autonomous Systems.

[22]Pokahr, A., Braubach, L., Lamersdorf, W., 2005. Jadex: A BDI reasoning engine.Multiagent Systems Artificial Societies and Simulated Organizations, vol.

Figure

Figure 1 FIPA abstract architecture.
Figure 3: Comparison of agent migration with 50 iterations with operations.
Figure 4: Comparison of agent migration with 50 iterations without operations.

References

Related documents

Almost half of the students stated that they used to abstain from speaking English lessons while some students expressed that they used to be afraid of making mistakes while

strikes a balance between a high level of protection for the privacy of individuals and the free movement of personal data within the EU. For that purpose, the Privacy

The proportion of abnormal to normal cases in the training group was determined by trial and error; for the remaining subjects, validation and test groups were formed according

H2 : In the absence of fraud risk indicators, the difference between primed and unprimed auditors' self-critical professional judgments will be greatest when

However, the final effect of increased CO 2 concentrations on the disease depends on the interaction between the effects on the pathogen and the effects on the

The profile of organisations they shared knowledge with were different at this level: 11 shared learning with other community energy groups (e.g. similarly-focused local

TSG's kiosk dashboard empowers staff to monitor everything going on at one or more kiosks in near real- time, and enables them to see patient check-in time, the order in which

By contrast, the results in Table 4 show that gender equality in education was significantly lower in countries with Muslim majorities and countries with