Issue No. 04 - August (1996 vol. 11)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/64.511869
<p>Development of an on-board real-time expert system for controlling engineering systems requires tradeoffs between AI and real-time approaches. This article presents an alternative that lies between embedding AI in real time and embedding real time in AI. </p> <p>Imagine that you want to </p> <p><li>fit a car with a computer that diagnoses the vehicle's capacity to safely execute a maneuver; </li> <li>control the plowing parameters on board your tractor according to environmental conditions;</li> <li>collect the data for, and interpret the results of, a series of nondestructive eddy-current tests on the steam generator tubes of your country's nuclear power stations; or </li> <li>include a resuscitation protocol controller in the morass of instruments connected to a neonatal incubator.</li></p> <p>These tasks call for a high level of expertise in performing control functions, and expert system technology is a good candidate for providing it. However, they also call for computing capacities that seem incompatible at first glance with AI algorithm implementation constraints. For example, hardware support must be powerful and small. The implementation must be able to handle real-time constraints as well as temporal reasoning. The development of the expert system for this sort of engineering control must guarantee the knowledge base's reliability but nevertheless remain flexible enough for knowledge updating.</p> <p>Building an expert system means choosing among alternatives concerning how the system searches for solutions. The choice depends on the target problem. Frederick Hayes-Roth, Donald A. Waterman, and Douglas B. Lenat have classified different cases and their solutions. When applied to engineering systems, development of expert systems for control incurs additional constraints. Consequently, choosing one of these solutions involves tradeoffs. The constraints become more restrictive when the expert system is working in a real-time environment.</p> <p>David J. Musliner and his colleagues have classified three basic approaches to real-time AI: embedding AI in real time, embedding real time in AI, and cooperating between real time and AI. Each approach satisfies real-time and AI requirements to a varying extent. Assigning priority to real-time requirements might reduce the variance of the AI tasks, or might cast the AI tasks as incremental, interruptible algorithms. Assigning priority to AI requirements--that is, without restricting the complexity of AI methods--restricts real-time tasks to rare missions. Such a strategy also presents the possible drawback that the tasks will be invoked by high-variance, unpredictable AI techniques. Cooperating between real time and AI suggests that each part's goals might be different. In this strategy, an AI task's role generally is to schedule, plan, or control the real-time subsystem tasks. Although sometimes flexible and powerful, this approach might lead to inefficient or unfeasible systems design.</p> <p>These two classifications of expert systems search methods and real-time AI approaches have helped my colleagues and me to build a framework to provide a solution to a given problem of on-board real-time expert control. Our approach tries to exploit the benefits of the three approaches to real-time AI, while avoiding their drawbacks. The structuration of the knowledge base helps reduce the variance of AI algorithms. Multiple knowledge-base structures enable a level of representation powerful enough to represent and manage complex knowledge models. Embedding the AI system in a real-time operating system kernel lets us use an AI strategy to manage planning, scheduling, and control of real-time tasks.</p> <p>We used this framework to develop an expert system development environment for maintaining and updating information about an evolving system as its state changes because of abnormal events such as faults, or as a consequence of external actions taken upon the system. We've successfully applied it in several engineering domains such as process control, medical monitoring, and on-board diagnosis. In this article I'll show how we apply it to a system that controls automobile maneuvering.</p>
P. Morizet-Mahoudeaux, "On-Board and Real-Time Expert Control," in IEEE Intelligent Systems, vol. 11, no. , pp. 71-81, 1996.