A Mobile Agent Systems’ Overview Herv´ e Paulino Departamento de Inform´atica, Faculdade de Ciˆ encias e Tecnologia Universidade Nova de lisboa email: herve@di.fct.unl.pt February, 2002 1 Introduction This paper focus almost entirely on mobile agent systems. Several systems are overviewed and some principles on what a mobile agent system should implement are identified. For each system overviewed, we focus on its on its execution and architectural concepts and on its implementation. The first section motivates the rest of the work; it describes why mobile agents are useful, their advantages and disadvantages, as well as some of their applications. The following sections describe agent systems, accordingly to three categories: weak migra- tion mobile agent systems, strong migration mobile agent systems, and other relevant agent systems. The last category includes systems that do not emphasize their research work on mobile agents, but do have some characteristics that make them relevant. 2 Mobile Agents An agent is usually defined as an independent software program that runs on behalf of a network user. It can be characterized as having more or less intelligence and it has the ability to learn. Mobile agents add to regular agents the capability of traveling to multiple locations in the network, by saving their state and restoring it in the new host. As they travel, they work on behalf of the user, such as collecting information or delivering requests. This mobility greatly enhances the productivity of each computing element in the network and creates a powerful computing environment. Mobile agents require a software infrastructure that provides them security and data protection. This infrastructure includes protocols, rules for safe mobility and, directions and directories with information about all available hosts. Mobile code and mobile agents induce a programming model that is alternative to the tradi- tional programming techniques and models. The reason for this is not to gain in performance, or to make new applications possible but because it supplies a general framework in which distributed information-oriented applications can be implemented efficiently and easily. 1