Configuration Management for Multi-Agent Systems via : The TSINA

advertisement
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
Download