The RETSINA 1 Multi-Agent System
RETSINA is an open Multi-Agent System (MAS) in which heterogeneous agents engage in relations with the support of distributed infrastructure services. The goal of RETSINA project has been to provide the necessary infrastructure and agent types to allow an open system of agents whose interactions are facilitated rather than managed by infrastructure components. Agent relations in RETSINA are conceived of as non-hierarchical, decentralized and based on peer-to-peer communications. The goal of RETSINA has been to create autonomous software agents functioning robustly in distributed environments, agents that are reusable in different application contexts, and that respond intelligently to changes in their environments. This development of a flexible, extensible and decentralized MAS is consistent with the shared vision of an interactive World Wide Web of Services (WWWS), a dynamic web where software agents act autonomously and cooperatively to effect changes in their environments, performing numerous and complex tasks for their human counterparts. RETSINA is a scalable system designed to support individual users and teams of users in utilizing the results of information gathering and fusion for decision support, task management, cooperative interaction, and many other functions, in an open and dynamic environment, eventually to encompass the World Wide Web. In RETSINA, multiple agents cooperate to process user requests appropriately and flexibly, matching them to information sources that may be distributed over the Internet and other accessible information environments, such as intranets or other databases. RETSINA supports many different specialized agents. Agents represent users (interface agents), the tasks that fused information is meant to contribute to (task agents), the information resources (information agents), and each other (middle agents).
The RETSINA multi-agent system, now fielded through the Agent Foundation Classes (AFC) agent builder toolkit, has applied to several domains, including, but not limited to, the following:
A. Military operations planning and logistics, mission critical decision-making:
MokSAF is a software system that supports mission critical team decision-making, and provides a virtual environment for route planning and team coordination. It allows commanders to register new agent teams and design new scenarios, plan individual routes to a common rendevous point, communicate synchronously across great distances, negotiate the selection of platoon units, and plan joint missions via a shared virtual environment. Joccasta employs agents as assistants aiding decision making of human teams. Agent assistants can anticipate the information needs of their human team members, prepare and communicate task information, adapt to changes in situation and changes to the capabilities of other team members, and effectively support team member mobility. We are working on constructing software agents that can: 1. Integrate information retrieval with user-centered problem solving and decision support; 2. Monitor and cache environmental information actively;
The acronym stands for “Reusable Environment for Task-Structured Intelligent Networked Agents.”
3. Form adaptive human and software agent teams as needed, depending on task and information requirements; 4. Develop greater capacities for modeling users, situations, and their own performance and capabilities; 5. Use their awareness of task and team interdependencies to work together more effectively. Agent Crisis Response: The NEO Tie-3 Demo is a Multi-Agent, Multi-Agent System (MAS) demonstration of agent technology in a Noncombatant Evacuation Operation (NEO). TIE-3 illustrates the use of agent technology for cooperatively planning and executing a hypothetical evacuation of US civilians from a Middle Eastern city in an escalating terrorism crisis. In TIE-3, RETSINA and Open Agent Architecture (OAA) agent systems are coordinated and their agents are used to evaluate a crisis situation, form an evacuation plan, follow an evolving context, monitor activity, and dynamically re-plan. TIE-3 demonstrates the interoperability and use of two disparate agent systems for aiding humans (officers and Ambassador) to effectively monitor the scenario, retrieve and fuse information for immediate use, and to plan and re-plan an emergency evacuation. Agent Storm is a RETSINA agent scenario where agents autonomously coordinate their team-oriented roles and actions while executing a mission in the ModSAF (Modular Semi-Automated Forces) simulation environment. The goal of Agent Storm is to increase the effectiveness of decision-making teams through the incorporation of agent technology in domains that are distributed, open and subject to time and other environmental contingencies. The impact of the project for decision-making teams is substantial and manifold. The project demonstrates that teams of agents can (1) reduce time for a team to arrive at a decision, (2) allow teams to consider a broader range of alternatives, (3) allow a team to flexibly manage contingencies by replanning, (4) reduce time for a team to form a shared situational model, (5) reduce individual and team errors, (6) support team cohesion and (7) increase overall team performance. B. Financial portfolio management The WARREN system builds on current investment practices to deploy a number of different, semi-autonomous software agents. These heterogeneous agents acquire information from and monitor changes to stock reporting databases, interpret stock information, predict the near future of an investment, and track and filter relevant financial news articles. The WARREN system is designed to monitor the ongoing portfolio management process, and thus to function under conditions of extreme uncertainty. C. Text mining and classification Text Miner is a system that automatically classifies news reports that reflect positively or negatively on a company's financial outlook. D. Personalized web information management
WebMate is a personal digital assistant dedicated the task of finding useful information among a sea of texts and other web documents. E. Wireless mobile communications MOCHA is a multi-agent system for "Anyware" communications and display--a mobile communications network that runs on any platform and reaches users anywhere. Using MOCHA, human users create personal agents who perform tasks that humans could not otherwise accomplish. MOCHA provides a seamless, single interface for users who access a complex array of agent technology. Users are presented with a familiar, form-based interface to create personal agents. Customized user preferences form the basis of agent interactions to carry out tasks. Personal agents locate and contact other users, and help plan and schedule collaborative tasks with the personalized agents of other users.
In RETSINA, we define the following general agent types: Interface agents receive the user requests. These agents use knowledge of the domain and the user role and functionality to help the user formulate and customize his/her information requests. They also plan appropriate interactions with other agents on the user’s behalf. Interface agents can also learn to anticipate user information needs and proactively pre-position information that the user has been observed in the past to need.
Task agents have knowledge of the task domain and also have planning abilities. Utilizing task models and planning, they are able to plan specific information-gathering goals or inferencing tasks. Task agents can decompose high level information requests to lower level tasks, and form plans for how to execute the information gathering subtasks, find (through middle agents) and query the appropriate information sources, and coordinate the query execution and composition of the query results. Task agents use planning mechanisms that combine planning and execution of the information gathering and inferencing tasks.
RETSINA agents utilize the Hierarchical Task Network (HTN) formalism. Planning is necessary, and it adaptively considers the current operational environment. For example, some information sources may be present at one time but absent at another time (e.g., a web source could be down or its link broken). Planning includes providing back-up information sources available for such contingencies. Information agents: each information agent wraps an information source with a communications module (see Part II) and knows the particular details of how to interact with the source to answer a query. In addition to one-time access to information, an information agent can be given event monitoring and notification triggers called monitoring queries. For example, “provide me the price of IBM stock every 5 minutes”, or “provide me the price of IBM stock if it goes above a particular threshold.” Middle agents provide a level of indirection in information processing. They act as intelligent registries of agents and agent capabilities. They allow service/agent Discovery (see Part II) and lookup by semantically matching information needs of requester agents (or humans) with available information resources so that the requests can be routed to the available resources. Given the agent types and infrastructure components of RETSINA, the vision of a web of services--where tasks are coordinated and provided by interoperable agents across many domains of data and knowledge bases--becomes a reachable goal. The organizational structure of the RETSINA MAS, including the capabilities and functions of the components, agents, and agent modules, is shown in the table below.
RETSINA MAS Infrastructure MAS Interoperation RETSINA-OAA Interoperator Capability to Agent Mapping Matchmaker Name to Location Mapping ANS Security Certificate of Authority/Cryptography Services Performances Services Failure Monitoring MAS Management Services Logger/ActivityVisualizer/Launcher ACL Infrastructure Public Ontology/Protocols Servers Communication Infrastructure Discovery/Message Transfer
Individual Agent Infrastructure in RETSINA
Capability to Agent Mapping Matchmaker Module Name to Location Mapping ANS Module SECURITY Security Module/ private/public keys Performances Services Self-Monitory/Cloning Management Services Logger Module ACL Infrastructure ACL Parser/Private Ontology/Protocol Engine Communication Modules Discovery Module/RETSINA Communicator
Machines, OS, Network Multicast Transport Layer: TCP/IP, Wireless, Infrared, SSL
One of the most significant advances that RETSINA has brought to agent architectures has been in Middle Agent technology, with the development of the Matchmaker agent. The Matchmaker addresses the problem of agent intercommunication and agent substitutability by storing registries of agent capability advertisements, as well as other significant information about agents, such as their names and locations. The Matchmaker allows agents to communicate directly with one another after agents are matched, alleviating the need for Middle Agent intervention from most communications. Furthermore, Matchmaking provides a means for functional substitutability of information and task sources. Matchmakers match requests for information/task providers to stored advertisements, so that agents can be matched with any number of agents or services that match a criterion, rather than relying on one agent source per category. Another vital component to the RETSINA MAS is Discovery. Discovery is a mechanism by which agents and infrastructure services can find each other in ad-hoc networks. With Discovery, agent systems no longer require the tedious manual configuration of system locations, host names, and port numbers, before being able to operate. Agents can be initiated without specifying an agent registry or Middle Agent, a feature that allows new agents to enter into the system without being aware of the infrastructure’s components. Discovery thus allows for truly open agent systems. Using Discovery, agents and other components can locate each other, often without Middle Agents, share information, and coordinate their operations. Active agents can learn of new agents and services as they become operational, and automatically register and advertise with the new system components, to ensure increased system fault tolerance.
Most of RETSINA’s infrastructure components represent the results of the lessons learned from the development of an MAS adhering to the goals as outlined above. In order to implement peer-to-peer communications, one requirement was a registry of agent names by name and location. The RETSINA infrastructure component representing this lesson is known as the Agent Name Service (ANS). To match agents (otherwise unknown to each other) agents requesting services/information with those providing it, a registry of agents and their capabilities was required. The Matchmaker is our component representing this learning process. In order to develop an extensible agent system, we learned that a method discovering distributed agents in both LANs and WANs would be necessary. This process would have to be operable in terms of finding infrastructure components as well as other agents themselves. Thus we learned to develop both client and server modules in the infrastructure components that would be discoverable. To allow heterogeneous agent types to communicate without necessitating that all agents adhere to the same language, an agent communications language (ACL) was necessary.
LARKS represents this development. Because agent systems would never be entirely commensurable with one another, we learned the need for interoperation between agent systems. We have implemented versions of an InterOperator to allow translation between disparate systems (e.g., RETSINA and OAA).