Mobile agent applications becomes very spread in the recent years thus for its importance. This importance allows many of the toolkits to use in the development mobile agent applications; each toolkit has its own advantages and disadvantage. Therefore, we find that the software developers may hesitate of choosing the appropriate toolkit. Although many of comparison studies in this area have been submitted, but the continuous update make the developers need to an up-to-date evaluation on the existing toolkits. In this research,we compare between JADE (Java Agent DEvelopment framework) and Aglet based on three phases of evaluation. Phase one is frame based evaluation (we apply the framework of evaluate the agent toolkits proposed by Elhadi Shakshuki), phase two of evaluation based on running some scenarios and settings on each toolkit, while the third phase isthe evaluation based on the features included in each toolkit which facilitate of using the toolkit and managing of mobile agent. The results obtained based on these phases showed the preference of JADE versus Aglet. This preference is due to the continuousupdate on JADE (The last version of JADE – JADE 4.3.3 – released on 11/12.2014 and previous version – JADE 4.3.1- released on 06/12/2013) while the last version of Aglet – Aglet 2.0.2 – released before 2010.
1.1 Research Background
Chapter (1) Introduction
Mobile agent is becoming new paradigm of software engineering. So that many organizations has started to use the mobile agent technology especially in Networks, distributed data and the internet environments. There exist a huge number ofapproaches, toolkits, and platforms of different quality and maturity. With this interest there are many of software platforms have been developed, and many of research has been done on developing mobile agent while other research has been done on the platform that use to develop mobile agent, some of this platforms still in use while other has not been used.
1.1.1 Agent and Multi-agent system
“An agent is a computer system that is situated in some environment and capable of autonomous action in this environment in order to meet its design objectives”. Any control system can be viewed as an agent, for example the Thermostat: Thermostat goal is to maintain the room temperature, has a sensor to perceive it’s environment and has two action “HeatOn” execute if the room is too cold and “HeatOff” execute if the temperature is Ok. The agent has properties such as Autonomy – which distinguish the agent-based system from the traditional software systems– and Reactivity, Proactiveness and Social ability –which are give the agent the property of intelligence -. Intelligent agents are a new paradigm for developing software applications agent-based system has been hail as: “the new revolution in software”. Moreover, Multi-agent system “is one that consists of a number of agents, which interact with one another, typically by exchanging messages through some computer network infrastructure. In the most general case, the agents in a multi-agent system will be representing or acting on behalf of users or owners with very different goals and motivations. In order to successfully interact. These agents will thus require the ability to cooperate, coordinate, and negotiate with each other, in much the same way that we cooperate, coordinate, and negotiate with other people in our everyday lives.
￼1.1.2 Mobile agent
“A mobile agent is a composition of computer software and data which is able to migrate (move) from one computer to another autonomously and continue its execution on the destination computer”.
1.1.3 Why Using Mobile agents
“They reduce the network load. Distributed systems often rely on
communications protocols that involve multiple interactions to accomplish a given task. This is especially true when security measures are enabled. The result is a lot of network traffic. Mobile agents allow you to package a conversation and dispatch it to a destination host where the interactions can take place locally, see Figure 1.1. Mobile agents are also useful when it comes to reducing the flow of raw data in the network”.
Figure 1.1: Mobile agent and network reduction
“They overcoming network latency. Critical real-time systems need to respond to changes in their environments in real time. Controlling such systems through a factory network of a substantial size involves significant latencies. For critical real-time systems, such latencies are not acceptable. Mobile agents offer a solution, since they can be dispatched from a central controller to act locally and directly execute the controller’s directions”.
“They encapsulate protocols. When data are exchanged in a distributed system, each host owns the code that implements the protocols needed to properly code outgoing data and interpret incoming data, respectively. However, as protocols
￼evolve to accommodate new efficiency or security requirements, it is a cumbersome if not impossible task to upgrade protocol code properly. The result is often that protocols become a legacy problem. Mobile agents, on the other hand, are able to move to remote hosts in order to establish “channels” based on proprietary protocols”.
“They execute asynchronously and autonomously. Often mobile devices have to rely on expensive or fragile network connections. That is, tasks that require a continuously open connection between a mobile device and a fixed network will most likely not be economically or technically feasible. Tasks can be embedded into mobile agents, which can then be dispatched into the network. After being dispatched, the mobile agents become independent of the creating process and can operate asynchronously and autonomously. The mobile device can reconnect at some later time to collect the agent”.
Figure 1.2: Mobile agent and disconnected operation
“They adapt dynamically. Mobile agents have the ability to sense their execution environment and react autonomously to changes. Multiple mobile agents possess the unique ability to distribute themselves among the hosts in the network in such a way as to maintain the optimal configuration for solving a particular problem”.
￼”They are naturally heterogeneous. Network computing is fundamentally heterogeneous, often from both hardware and software perspectives. As mobile agents are generally computer- and transport-layer-independent, and dependent only on their execution environment, they provide optimal conditions for seamless system integration”.
“They are robust and fault-tolerant. The ability of mobile agents to react dynamically to unfavorable situations and events makes it easier to build robust and fault-tolerant distributed systems. If a host is being shut down, all agents executing on that machine will be warned and given time to dispatch and continue their operation on another host in the network”.
1.1.4 Mobile agent applications
ß Electronic commerce.
ß Personal assistance.
ß Secure brokering.
ß Distributed information retrieval.
ß Telecommunication networks services.
ß Workflow applications and groupware.
ß Monitoring and notification.
ß Information dissemination.
ß Parallel processing.
1.1.5 Toolkits for Mobile agent Systems
Java has generated a flood of experimental mobile agent systems. Numerous systems are currently under development, and most of them are available for evaluation on the Web.
· Agent Tcl.
This thesis is concern with compare betweenJADE which is a software platform that provides basic middleware-layer functionalities which are independent of the specific application and which simplify the realization of distributed applications that exploit the software agent abstraction. AndAglets: which is a Java based mobile agent toolkit developed by IBM. The goal was to bring the flavor of mobility to the applet. The term aglet is indeed a hybrid word from agent and applet.
1.2 Research questions
From the above introduction a main question can be dawn on to developers, what toolkit may be suitable to develop mobile agent?
This question can divide into two sub questions:
1. Which criteria should be consider when we want to developing mobile agent system?
2. What is the features of each tool?
1.3 Problem Statement
The enthusiastic interest in mobile agent technologymake several platforms has been developed. Some of them used for research purposes while others as commercial products[7, 8]. For that, a common problem is decision of which platform that developers can use[2, 9]. It is difficult fordevelopers to select the appropriate toolkit [10, 11]. How to choose suitable platform when we want to develop mobile agent and which criteria should consider.
1.4 Research Scope
This research focus on the comparison between JADE 4.3.1 and Aglet 2.0.2when
they use to develop mobile agent systems.
￼1.5 Research Objectives
The objectives of this research is to:
1. Make a comparison between JADE 4.3.1 and Aglet 2.0.2 based on three phases for comparison.
2. Apply the framework of agent toolkits evaluation proposed by Elhadi Shakshuki.
3. Help developers to choose suitable toolkit for developing mobile agent.
1.6 Research Motivation
The importance of this research is lie in the existence of many mobile agent software tools. Some of them has been used in the past, but has not still working either for new concepts of agent based system or it has not complies with international agent standard -like FIPA standard. While some of other toolkits are still working. Developers when they need to build agent based system needs to an up to date evaluation on the existed toolkits.
1.7 Research Structure
This study is broadlyorganized into five chapters, in chapter (1) we gave a brief introduction to agent system, and its importance also the common tools for mobile agent applications was introduced. Chapter (2) has divided into six sections, in section one, and two give a brief glance about the subject of comparison toolkits, sect ion three summarizes so me informat ion about the organization of agent application and agent communication paradigms, section four include the explanation of the framework used in the comparison, section five show the related work done by others whereas section six include the researcher point of view about the section five. Chapter (3) contains the explanation of the comparison phases. Chapter (4) show the analysis and implementation of applying the phases of comparison. Chapter (5) contains a brief conclusions and recommendations for the future work.
1.8 chapter conclusion
this chapter was classified into seven paragraphs, paragraph one research background which contain a brief introduction on agents and multi agent systems, the advantages of using mobile agents, the application of mobile agents and the toolkits used to develop mobile agents , while other paragraphs contain the questions, problem statement, scope, objective, motivation and research organization