The Knowledge Server Tools (KST) computer program comprises a distributed set of software tools for monitoring remote systems. Part of KST implements a knowledge server for monitoring the status of a remote system (e.g., a computer-controlled instrumentation system, a robot, or a spacecraft). Another part of KST executes plans. KST was developed to replace older software that was difficult to use, less capable, and less portable.
The tools (the components of KST) are written in freeware Practical Extraction and Report Language (PERL) and communicate with each other via Unix sockets. The components of KST are the following:
- DSI (Data Server Interface) serves as a bridge between external data and KST. DSI loads data and makes them available for KST clients via the PIEKS tool described next.
- PIEKS (PERL Inference Engine Knowledge Server) connects to DSI to get current data whenever it is requested by a client to make an inference. PIEKS includes PIE, which is a frame-based, backward-chaining inference engine. The knowledge representation (frames) in PIE is a natural one to represent model-based reasoning because frames can be organized into hierarchies. PIEKS can return raw data, data set by the client, or inferred data. Inferred data are returned if there exists a knowledge-base frame that describes the rule that defines the inferred data. When this is the case, the rule is evaluated and appended to the value of the inferred data. Clients for PIEKS are the APE and HSMON tools described below.
- CCLS (Centroid Classifier Server) connects to DSI to get current data whenever it is requested by a client to classify data. CCLS returns "OK" or the name of the group, the centroid of which is closest to the current normalized data. CCLS can be used to classify data in a way that some case-based systems do. CCLS can be used in conjunction with PIEKS and with APE (described next) to solve problems that require the capabilities of all three of these tools.
- APE (A Plan Executor) is a frame-based hierarchical plan executor. APE connects to PIEKS to set its parameter data and to check the constraints (preconditions and postconditions) of activities. APE also connects to APEMON (which is described next) to highlight the activities that are currently being executed. The knowledge representation in APE separates plans, activity strategy, and constraint checking into three simpler and more flexible files. The same constraints can be used in different activities, and the same activities can be used in different plans. APE plans can also be nested to any level.
- APEMON (Ape Monitor) highlights buttons with activity names that represent the plan being executed.
- DMON (Data Monitor) connects to PIEKS and plots values of data in real time. Because DMON connects to PIEKS, it can also plot values of inferred data in real time.
- HSMON (Health and Safety Monitor) connects to PIEKS and simply returns the value of a goal defined by PIE every N seconds. HSMON may evolve into a tool that returns such information as statuses of all subsystems of the system to be monitored.
- HSDOC (Health and Safety Doctor) connects to PIEKS and launches APE whenever a problem that can be solved easily is identified.
- CCLMON (Centroid Classifier H&S Monitor) connects to CCLS and simply displays the value returned by CCLS.
- CCLHSDOC (Centroid Classifier H&S Doctor) is similar to HSDOC but connects to CCLS instead of PIEKS to classify problems and then launch APE to solve the problems.
The knowledge-server concept greatly enhances the power of this set of tools. By connecting to a knowledge server, a client can obtain raw data, inferred data, and user data (data set by the client). Because all of the tools are written in freeware PERL, the software should be highly maintainable. Because all the tools communicate via sockets, each tool can run on a separate workstation.
This work was done by David R. McLean of AlliedSignal Technical Services Corp. for Goddard Space Flight Center. For further information, access the Technical Support Package (TSP) free on-line at www.nasatech.com/tsp under the Software category. GSC-14137