Configuration Management for Multi-Agent Systems via RECoMA: The RETSINA Configuration Manager Joseph A. Giampapa Octavio H. Juarez-Espinosa Katia P. Sycara The Robotics Institute Carnegie Mellon University 5000 Forbes Avenue Pittsburgh, PA 15213-3890 (USA) http://www.cs.cmu.edu/~{garof, ojuarez, katia, softagents} This research has been sponsored in part by DARPA Grant F-30602-98-2-0138 and the Office of Naval Research Grant N-00014-96-16-1-1222. Research Problems Addressed • The Connection Problem: – Given: Open, dynamic, heterogeneous, networked computing environment – Find: The computer with the resources that match the agent's requirements – Solve: via dynamic service discovery and agent matchmaking techniques • Difficulties of Managing Change: – – – – Heterogeneous Operating Environments Different: operating systems, computer languages, device characteristics Availability, Load, Resource Limits of the Hosting Computer Runtime status of the agents • Desiderata from the Agent Administrator's Perspective: – – – – Single Point of Control Distributed Points of Control: control from any computer Uniform Control of Different Agent Systems (e.g. RETSINA, OAA, Grid) Uniform Control of Non-Agent Components RECoMa Architecture XML RECoMa Server XML RECoMa Client Discovery RECoMa Server RECoMa Server RECoMa Server • • • • • One per computer Loaded during host computer's startup Provides a profile of host computer's resources Announces itself and host computer via SSDP alive packets Acts on requests to launch agents via platform-specific commands RECoMa Client One per user Loaded whenever / wherever needed RECoMa Order Independence for Startup and Discovery RECoMa Client RECoMa Server ANS Server Matchmaker Search Request Search Request Search Request Search Response Search Response Search Response Search Alive Search Alive Search Alive Agent Selection • Individual agent / component profiles can be edited from RECoMa client • Agent profile specifies type of execution environment • Example: jdk1.2.2 green threads; or X11R6; or linux.ld.so.114a • RECoMa client determines where to find resources on the host computer • Example: jdk1.2.2 on midea found in /usr/home/java/jdk1.2.2 Machine Selection Visually illustrates allocation constraints • Given a computer, show the agents / components that can it run • Given an agent, show the computers on which it can be run RECoMa Host Profile A host profile is provided by the RECoMa Server for its host • Host profiles can contain arbitrary descriptions of their platforms • Host profiles contain host computer-specific descriptions • Examples: operating system, file locations, libraries locations, etc. RECoMa Agent Profile Encodes platform-independent host requirements for the agent • Examples: operating system; language; shared libraries • Does not encode the specific instances, such as filename paths Encodes application-independent dependency requirements • Examples: requires that a non-discoverable ANS be running • Does not specify that a particular ANS instance be running RECoMa Application Profile Instantiates agents, on host computers, for a specific MAS application. RECoMa helps to manage MAS Applications The user can see the applications for which an agent is being used. • Allows startup/shutdown of all agents for an application. • If agent is being used for multiple applications, only the reference to the application being terminated is removed. RECoMa Agent / Component Launch Sequence RECoMa Client RECoMa Server Agent / Component Launch Request Launch Agent Launch Status It is possible to launch agent and non-agent components with RECoMa. RECoMa Facilitates Monitoring and Control of MAS Applications RECoMa can discover any SSDP-enabled SW component in the discovery area: • RETSINA: ANSs, Matchmakers, Logging & Visualization Facilities, SSDP-enabled Agents • Jini / DARPA Grid: LUSs, SSDP-enabled Agents • Windows Millenium: SSDP-enabled Services RECoMa Implements FIPA Agent Control Language • Agent control language is optional for agents under RECoMa management. • RECoMa FIPA Control Language Wrapper for agents / components that do not implement FIPA CL. Conclusions • RECoMa Provides for the User: – – – – – – – Control of RETSINA agents, non-RETSINA agents, non-agent components Centralized control, from any computer, of a distributed environment Control across heterogeneous platforms (e.g. any Unix; any Windows) Knowledge and control of a dynamically-changing computing environment GUI to facilitate intuitive resolution of agent-computer allocation GUI to track allocations of agents to applications and to resources Ad hoc specification of host, agent, and application profiles • RECoMa Design Validates the Importance of MAS Discovery: – Provides up-to-date knowledge about available computing platforms – Reduces the number of launch-time parameters required by agents – Eliminates need for many launch-order dependencies