A Hierarchical Distributed Coiitrol Model for Coordinating Intelligent Systeiiis
Total Page:16
File Type:pdf, Size:1020Kb
A Hierarchical Distributed Coiitrol Model for Coordinating Intelligent Systeiiis Richard M. Adler Symbiotics, Inc. 875 Main Street Cambridge, MA 02139 ABSTRACT This paper describes a hierarchical distributed con- on related tasks. These requirements are dificult trol (HDC) model for coordinating cooperative to satisfy given existing AI technologies. Current problem-solving among intelligent systems. The knowledge-based systems are generally single-user, model was implemented using SOCIAL, an inno- standalone systems based on heterogeneous data vative object-oriented tool for integrating hetero- and knowledge models, developinen t languages and geneous, distributed software systems. SOCIAL tool shells, and processing platforms. Interfaces to embeds applications in “wrapper” objects called users, databases, and other conventional software Agents, which supply predefined capabilities for systems are typically custom-built and difficult to distributed communication, control , data specifi- adapt or interconnect. Moreover, intelligent sys- cation and translation. The HDC model is real- tems developed independently of one another tend ized in SOCIAL as a “Manager” Agent that coordi- to be ignorant of information resources, problem- nates interactioiis among application Agents. The solving capabilities, and access protocols for peer HDC-Manager: indexes the capabilities of appli- systems. cation Agents; routes request messages to suitable SOCIAL is an innovative collection of ohject- server Agents; and stores results in a commonly ac- oriented tools designed to alleviate these pervasive cessible “Bulletin-Board”. This centralized control integration problems [AdSOb]. SOCIAL provides model is illustrated in a fault diagnosis application a family of “wrapper” objects, called Agenls, that for launch operations support of the Space Shuttle supply predefined capabilities for distributed com- fleet at NASA, Kennedy Space Center. munication, control, da.ta specification and transla- tion. Developers embed programs within Agents, Keywords: distributed artificial intelligence, sys- using high-level, message-based interfaces to spec- tems integration, hierarchical distributed control, ify interactions between prograiiis, their embedding intelligent control, cooperative problem-solving Agents, and other application Agents. The rel- evant Agents transparently manage the transport INTRODUCTION and mapping of specified data across networks of disparate processing platforms, languages, devel- Knowledge-based systems are helping to automate opment tools, and applications. SOCIAL’S parti- important functions in complex problem domains tioning of generic and application-specific beliav- such as operations and decision support. Successful iors shields developers from network protocols and deployment of intelligent systems requires: (a) in- other low-1eveI complexities of distributed coniput- tegration with existing, conventional software pro- ing. More important, the interfaces between appli- grains and data stores; and (b) coordinating with cations and SOCIAL Agents are modular and non- one another to share complementary knowledge and intrusive, minimizing the number, extent, and cost skills, much as people work together cooperatively of modifications necessary to re-engineer esist ing 183 systems for integration. Non-intrusiveness is partic- OVERVIEW OF SOCIAL ularly important in mission-critical space and mili- tary applications, where alterations for integration The central problems of integrating heterogeneous entail stringent validation and verification testing. distributed systems include: This paper focuses on a specialized ”Manager” Agent that realizes a hierarchical distributed con- 0 communicating across a distributed network of trol (HDC) model on top of SOCIAL’S basic in- heterogeneous computers and operating sys- tegration services. The SOCIAL HDC-Manager tems in the absence of uniform interprocess Agent coordinates the activities of Agents that em- communication services; bed independent knowledge-based and conventional 0 specifying and translating information (i.e., applications relating to a common domain such as data, knowledge, commands), across applica- decision or operations support. Such centralized tions, programming languages and develop- control models are important for managing dis- ment shells with incompatible native data rep- tributed systems that evolve over time through the resentations; addition of new applications and functions. Cen- tralized control is also important for organizing 0 coordinating problems-solving across applica- complex distributed systems that display not only tions and development tools that rely on dif- small-scale, one-to-one relationships, but also large- ferent internal models for communication and scale structure, such as clustering of closely related control. subsets of application elements. The H D C- Manager Agent’s coordination func- SOCIAL addresses these issues through a uni- tionality derives from a set of centralized control fied collection of object-oriented tools for dis- services including: maintaining an index knowledge tributed communication, control, data (and data base of the capabilities, addresses, and access mes- type) specification and management. Develop- sage formats for application Agents; formatting and ers access the services provided by each tool routing requests for data or probleni-solving pro- through high-level Application Programining Inter- cessing to suitable server Agents; and posting re- faces (APIs). The APIs conceal the low-level com- quest responses and other globally useful data to a plexities of implementing distributed computing commonly accessible “Bulletin-Board” . systems. This means that distributed systems can The next section of the paper reviews the over- be developed by programmers who lack expertise in all architecture and functionality of SOCIAL. Sub- areas such as interprocess and network communica- sequent sections describe the structure and behav- tion (eg, Remote Procedure Calls, TCP/IP, ports ior of the HDC-Manager Agent and illustrate its and sockets), variations in data architectures across application in the domain of launch operations sup- vendor computer platforms, and differences among port for the Space Shuttle fleet at NASA, Kennedy data and control interfaces for standard develop- ment tools such as AI shells. Moreover, SOCIAL’S Space Center. Specifically, a HDC-Manager Agent coordinates the activities of standalone expert sys- high-level development interfaces to distributed ser- tems that monitor and isolate faults in Shuttle vehi- vices promote modularity, maintainability, estensi- cle and Ground Support systems. The cooperative bili ty, and portability. problem-solving enabled by the HDC-Manager pro- The overall SOCIAL architecture is summa- duces diagnostic conclusions that the applications rized in Figure .l. SOCIAL’S predefined distributed are incapable of reaching individually. processing functions are bundled together in ob- jects called Agents: Agents represent the active computational processes within a distributed sys- tem. Developers assemble distributed systems by: 184 (a) selecting and instantiating Agents from SO- plications and their embedding Agents, as well as CIAL’s library of predefined Agent classes; and (b) among application Agents. Messages typically con- embedding individual application elements such as sist of: commands that Agent passes direct1 y programs and databases within Agents. Embed- into its embedded application, such as database ding consists of using the APIs for accessing SO- queries or calls to execute signal processing pro- CIAL’S distributed processing capabilities to estab- grams; data arguments to program commands that lish the desired interactions between applications, an Agent might call to invoke its embedded appli- their associated wrapper Agents, and other appli- cation; and symbolic flags or keywords that sig- cation Agents. New Agent subclasses can be cre- nal the Agent to invoke one or another fully pre- ated through a separate development interface by programmed interactions with its embedded ap- customized or combining services in novel ways to plication. For example, a high-level MetaCourier satisfy unique application requirements. These new API call issued from a local LISP-based applica- Agent types can be incorporated into SOCIAL’S tion Agent such as: Agent library for subsequent reuse or adaptation. (Tell :agent ’sensor-monitor :sys ’Symb The following subsections review the component ’(poll measurement-2)) distributed computing technologies used to con- st r uc t S0 CIA L Agent s. transports the message contents, in this case a com- mand to poll measurement-X, from the calling pro- I Library of Agent Classes (Managers, Gateways)) gram to the Agent sensor-monitor resident on plat- form Syrnbl. The Tell function initiates a message transaction based on an asynchronous communica- tion model; the application Agent that issues such a message can immediately move on to other pro- IDi cessing tasks. The MetaCourier API also provides I Distributed Communications (MetaCourier) I a synchron~~~“Tell-and-Block” message function Network, Processor, and Operating System Platform for “wait-and-see” processing models. Agents contain two procedural methods that Figure .l: Architecture of the SOCIAL Toolset control the processing of messages, called in-filters and out-filters. In-filters parse incoming messages e argument list structure specified Distributed Coitimunicat ion is defined.