The Generic Spacecraft Analyst Assistant (GenSAA) computer program enables the rapid development of expert-system software for intelligent real-time monitoring and detection of faults in complex systems of hardware and software. The hardware/software systems to which GenSAA expert systems were originally intended to be applied are spacecraft-control centers that feature the Transportable Payload Operations Center (TPOCC) architecture, which is a UNIX-based architecture used at Goddard Space Flight Center. An expert system built by use of GenSAA is a rule-based system that assists spacecraft analysts during operation of a control center; the expert system receives spacecraft telemetric and ground-system-status data, makes inferences and draws conclusions about the data, and generates textual and graphical displays of the data and the conclusions. Continuing development of GenSAA includes generalization of its capabilities to build expert systems for non-TPOCC control centers and for non-spacecraft-control applications, which could include industrial process control, monitoring of networks, and monitoring and control of vehicular traffic.
GenSAA serves as an alternative to commercial expert-system-development software tools, which generally require programming skills beyond those of typical domain experts (human spacecraft analysts in the original intended applications). The effort involved in the use of such tools constitutes an impediment to the rapid development of the desired expert-system software. GenSAA overcomes this impediment, making it possible for domain experts without advanced programming skills to develop monitoring, graphical-display expert systems.
GenSAA comprises (1) the GenSAA Workbench, which is an integrated set of utility subprograms; and (2) the GenSAA Runtime Framework, which is a run-time executive subprogram. The GenSAA Workbench generates a graphical user interface (GUI) that enables the development of an expert system by use of point-and-click and drag-and-drop actions; it is not necessary for the expert-system developer to write any expert-system program code. The expert-system developer uses the Workbench for laying out the GUI of the expert system, defining fault-detection rules, and selecting the telemetry data to drive the expert system. GenSAA insulates the developer from the complicated programming details of the data source (e.g., the spacecraft ground system) and the GUI.
The utility subprograms of the GenSAA Workbench are the following:
- Data Manager - This program is used to construct and edit four types of variables that are used by a GenSAA expert system. All variables that will be received from external data sources, exchanged with other GenSAA expert systems, or associated with GenSAA graphical objects must be specified by use of the Data Manager.
- Rule Builder - This program is used to create the rule base for an expert system. The rule base is a group of rules in "condition-action" ("if - then") format that may infer new facts based on currently asserted facts. A rule contains one or more conditions and one or more actions. An inference engine manages the matching and firing of rules in the rule base during execution of the GenSAA expert system.
- User Interface Builder - This is a powerful tool for creating GUIs. The user interface of a GenSAA expert system consists of a workspace, graphic windows, and graphic objects. These graphical elements can be dynamically created and customized, without programming, by use of mechanisms provided in the User Interface Builder.
The GenSAA Workbench creates a set of files that are used by the GenSAA Runtime Framework (see figure) to define the executable GenSAA expert system. The GenSAA Runtime Framework provides the basic operational environment for a GenSAA expert system. The components of the GenSAA Runtime Framework are used without change in each GenSAA expert system. They control the operation of a GenSAA expert system during its execution.
This program was written by Peter M. Hughes of Goddard Space Flight Center and Edward C. Luczak of Computer Sciences Corporation.
This invention is owned by NASA, and a patent application has been filed. Inquiries concerning nonexclusive or exclusive license for its commercial development should be addressed to
the Patent Counsel
Goddard Space Flight Center; (301) 286-7351
Refer to GSC-13672