
Ebook: Software Agents, Agent Systems and Their Applications

Seen by many as the next revolution in software development for large, complex, distributed systems, agent systems represent one of the more exciting research areas in computer science. With the development of powerful personal devices, the vision of a personal agent seems increasingly appealing too. It can even be claimed that intelligent software agents will eventually become an essential part of Web 4.0. Software agents are finding their way into areas such as environmental security, climate change, seismic safety, epidemic prevention, detection and response, computer emergency response and human and societal dynamics. Because these are of direct interest to the NATO Science for Peace and Security Programme, a NATO Advanced Study Institute (ASI) dealing with software agents and their applications was held in Tangier, Morocco, in September 2010. This book presents the content of that ASI. This book is divided into three sections: Foundations, Applications, and Student Papers. Subjects covered include, among others, agent system modeling, system design and experimentation, sensor networks, disaster management, e-health and medical emergencies, management of UAVs. Agent systems security and the application of agents in network security are also addressed, and the final section includes student papers. The book has been designed to be usable as a textbook – for example, in a graduate course covering software agents, agent systems and their applications – but it will be of interest to everyone involved in related fields.
The Agent Modeling Language (AML) is a semi-formal visual modeling language for specification of various aspects of multi-agent systems. This chapter gives an overview of AML and demonstrate its application on a series of didactic examples from the emergency management domain.
In this chapter the JADE platform is presented. JADE is an Open Source framework that facilitates the development of distributed applications based on the agent oriented paradigm: an application developed on top of JADE is composed of a set of software modules called agents that execute tasks and interact by exchanging asynchronous messages. JADE is used in a variety of domains including network management, simulations, personal assistance and e-commerce both in the Industry and in the Academy worlds. In this chapter in particular we show how it can be fruitfully exploited to create applications in the field of team coordination.
In this chapter the Jadex framework is presented that aims at supporting the construction of distributed and concurrent applications. Main conceptual entity in Jadex is an active component that combines properties of agents with software components in order to strengthen the software technical means for developing applications. The conceptual foundations of Jadex as well the advantages of active components will be described in a practical way by using a disaster management scenario as a running example. Concretely, the notions of virtual environment, active components as well as BDI agents are introduced to show how a simulation scenario can be built, in which different kinds of rescue forces are coordinated to handle disasters in a cooperative way.
Wireless Sensor Networks (WSNs) are currently emerging as one of the most disruptive technologies enabling and supporting next generation ubiquitous and pervasive computing scenarios. In particular, Wireless Body Sensor Networks (WBSNs) are conveying notable attention as their real-world applications aim at improving the quality of human beings life by enabling continuous and real-time non-invasive assistance at low cost and effectively supporting emergency response scenarios. The aim of this chapter is twofold: (i) to provide an overview on WSN technology and (ii) to promote the agent-based model for programming WSNs. In particular, a high-level programming approach based on the agent-oriented model to flexibly design and efficiently implement WBSNs applications is proposed. The approach is contextualized in the emergency response application domain and is exemplified through a case study concerning a real-time human activity monitoring system which is developed through MAPS (Mobile Agent Platform for Sun SPOT), a Java-based framework for Sun SPOT wireless sensors.
Multi-agent planning is an important issue in the multi-agent systems domain, that poses a number of challenges. As the agents are working in the same environment, they do not have only to plan their actions but also to coordinate their plans, so that they do not have any conflicts among them. It requires both an adequate plan representation and efficient interacting methods allowing agents to coordinate their plans. This chapter tries to answer the following questions: (1) What is multi-agent planning. (2) What are some of its important issues. (3) What are some of the important techniques of multi-agent planning and how can they be classified. We present two techniques in detail. The first one is a recursive model for the representation and the handling of plans by means of Recursive Petri Nets (RPN) which support the specification of concurrent activities, reasoning about simultaneous actions and continuous processes, a theory of verification and mechanisms of transformation (e.g. abstraction, refinement, merging). And in the second one, we describe how an agent can modify his temporal plan, when another agent comes up with a higher priority plan. As the latter has more priority, the former should modify his plan to remove any conflicts.We present a plan merging algorithm supported by a plan repairing algorithm to cope with this situation.
Many agent systems have been developed and suggested for commercial application. However, in spite of the significant potential offered by the agent paradigm, the lack of such important properties as security, anonymity and untracebility especially in open dynamical environment, such as the Internet, has blocked the active implementation of agent technologies. Protecting agent systems poses a more demanding challenge comparing to traditional environments. Apart of all the threats which face the latter, there are attacks specific to agent environments. The chapter considers issues of agent security, anonymity and untracebility and outlines the main threats to agent systems and existing protection methods.
This chapter introduces the multi-agent paradigm and presents concepts and approaches related to multi-agent systems and paradigm-inspired popular research topics such as grid computing, intelligent swarms, sensor networks, service-oriented computing, cloud computing and autonomic computing. Additionally, the chapter reflects the authors' experience and presents a review of the NASA multi-agent applications of ground control and space-exploration systems. The Multi-Agent Systems approach helps NASA systems deal efficiently with huge amounts of data and to perform unmanned tasks in deep space where single monolith spacecraft are impractical.
Multi-agent coordination and planning techniques play a fundamental role in designing control systems for autonomous multi-UAV-based information collection. The most important categories of information collection are exploration, surveillance, search and tracking. We introduce each category of information collection and then focus on a specific problem – multi-UAV-based surveillance in complex environments where sensor occlusions can occur due to high buildings and other obstacles in the target area. We formalize the problem and propose a solution as a decomposition of the problem in two subproblems: the problem of single-area surveillance and the problem of allocating UAVs to multiple areas. We present and compare several algorithms for the subproblems and prove their optimality. Finally, we empirically evaluate the performance of all algorithms on a realistic simulation of aerial surveillance, built using the AGENTFLY framework, and compare it to theoretical estimates.
The aim of this chapter is to discuss practical issues encountered when a skeleton of the GliderAgent—a multi-agent system supporting glider pilots in various navigation and pilotage scenarios—was implemented. The GliderAgent implementation integrates two agent environments discussed in chapters 2 and 4 of this book, as well as the XCsoar pilotage software, and the OpenStreetMaps GIS system. In addition to presenting the basic design of the GliderAgent system, the technical issues solved during its implementation are discussed. Finally, examples of implemented capabilities are illustrated.
In the e-health domain, territorial emergencies represent dynamic, unpredictable and heterogeneous situations where software agents can be exploited in an effective way, thanks to their features of autonomy, reactivity, proactvity and sociality. In this chapter we discuss about the exploitation of agents in e-health and territorial-emergency situations, and we present UbiMedic, an agent-based system developed to provide services in the e-health field in general, which can be successfully exploited in emergency scenarios. In addition, we report some considerations that aim at being useful to developers that are going to consider agents to build applications in the field of e-health.
The chapter presents applications of multi-agent technology for design and implementation of agent-based systems intended to cooperatively solve several critical tasks in the area of computer network security. These systems are Agent-based Generator of Computer Attacks (AGCA), Multi-agent Intrusion Detection and Protection System (MIDPS), Agent-based Environment for Simulation of DDoS Attacks and Defense (AESAD) and Mobile Agent Malware Simulator (MAlSim). The chapter sketches the above agent-based systems and analyses advantages of applying multi-agent technologies in computer network security area.
This chapter discusses an efficient solution to contemporary situation assessment problems found in environmental management applications. The targeted problems are inherently complex and require processing of large quantities of heterogeneous information by using rich domain knowledge dispersed through multiple organizations. We assume a collaborative solution based on the Dynamic Process Integration Framework, which supports systematic encapsulation of processing services, including human experts. The encapsulation allows dynamic composition of heterogeneous processing services using advanced self-configuration mechanisms for optimal selection of service providers. Self-configuration is based on a framework for development of cooperative multi-issue one-to-many service negotiations. The framework allows the definition of: negotiation protocols, negotiation subjects composed of multiple negotiation issues, properties of negotiation issues, deal spaces, and utility functions of participant stakeholders. We show how this framework can be used for dynamic composition of workflows spanning multiple organizations in a disaster management information system.
The concept of role allows introducing organizational aspects in the development of multi-agent systems. In this chapter we elaborate the role-based model of computational multi-agent system and formalize this model in description logic. We show that the division of the ontology into axioms interpreted under the open- and closed-world assumption is necessary to express correctness conditions of the system. The ontology agent is proposed and implemented. This agent provides management services, e.g. run-time validation of the system or matchmaking of present groups and agents. An example of the simple computational multi-agent system is shown.
This chapter describes the design of an architecture of a bot capable of playing the Diplomacy game, to be used within the dip framework—a testbed for multi-agent negotiations—created in the Spanish Artificial Intelligence Research Institute (IIIA). The proposed SillyNegoBot, is an extension of an earlier SillyBot. It is designed to be used in the “first level” negotiations taking place during the Diplomacy game.