0 valutazioniIl 0% ha trovato utile questo documento (0 voti)
15 visualizzazioni9 pagine
This paper describes how the inherent advantages of expert systems can be embedded in a scalable process control system. It also presents a prototype of a highly interactive and user friendly environment that simplifies and speeds the configuration and documentation of an expert system. The core technology and functionality is implemented using CLIPS inference engine.
This paper describes how the inherent advantages of expert systems can be embedded in a scalable process control system. It also presents a prototype of a highly interactive and user friendly environment that simplifies and speeds the configuration and documentation of an expert system. The core technology and functionality is implemented using CLIPS inference engine.
This paper describes how the inherent advantages of expert systems can be embedded in a scalable process control system. It also presents a prototype of a highly interactive and user friendly environment that simplifies and speeds the configuration and documentation of an expert system. The core technology and functionality is implemented using CLIPS inference engine.
Abnormal Condition Management using Expert Systems
Vasiliki Tzovla Yan Zhang
Emerson Process Management Emerson Process Management Austin, Texas 78759, USA Austin, Texas 78759, USA KEYWORDS Expert Systems, CLIPS, inference engine, abnormal condition management ABSTRACT Expert Systems may be used to solve difficult problems that typically require significant human expert intervention. By emulating the expertise and the decision-making ability of a human it is possible to reduce the effort and cost of making the knowledge of multiple experts available continuously, simultaneously, and permanently; thereby increasing reliability and performance. This paper describes how the inherent advantages of expert systems can be embedded in a scalable process control system. It also presents a prototype of a highly interactive and user friendly environment that simplifies and speeds the configuration and documentation of an expert system and makes it extremely easy and intuitive for the typical plant engineer to incrementally apply his process knowledge. Such a tool can be used to monitor and control a process and to address abnormal condition management by continuously evaluating real-time and historical data, watching for events and abnormal conditions, providing reliable diagnosis and advice, and taking corrective actions when necessary in order to support the plant operators to manage their manufacturing operations. The core technology and functionality is implemented using CLIPS inference engine. The paper also details features of convenience such as the modular design of complex systems, partitioning of a knowledge base, verification and validation, simulation and evaluation of the expert rules against user provided data. INTRODUCTION Conventional programming languages are designed and optimized for the procedural manipulation of data (such as numbers and arrays). Humans, however, often solve complex problems using very abstract, symbolic approaches which are not well suited for implementation in conventional languages. Although abstract information can be modeled in these languages, considerable programming effort is required to transform the information to a format usable with procedural programming paradigms. One of the results of research in the area of artificial intelligence has been the development of techniques, which allow the modeling of information at higher levels of abstraction. These techniques are embodied in languages or tools, which allow programs to be built that closely resemble human logic in their implementation and are therefore easier to develop and maintain. These programs, which emulate human expertise in well- defined problem domains, are called expert systems. ABNORMAL CONDITION MANAGEMENT: AN APPROPRIATE DOMAIN FOR EXPERT SYSTEMS Expert systems are knowledge-based and so can be effectively used for real-world problems that are difficult to solve by other means. Before starting to build an expert system though, it is essential to decide if an expert system is the appropriate paradigm and whether conventional programming can effectively solve the problem that needs to be resolved. The primary functional difference between expert systems and procedural languages is the focus of representation. Procedural languages focus on providing flexible and robust techniques to represent data and implementing methods to manipulate it. In this case the data and methods are tightly interwoven and because of that the sequence of the execution must be carefully described. In contrast, expert system languages focus on providing flexible and robust techniques to represent knowledge and specifically separate the data from the methods by allowing two levels of abstraction: the data abstraction (facts) and the knowledge abstraction (rules). This explicit separation requires considerably less rigid control of execution sequence and allows a higher degree of parallelism and modularity. Therefore, expert systems are best suited for situations in which there is no efficient algorithmic solution such as an abnormal situation environment. An abnormal situation environment is mainly characterized by parallelism (different abnormal conditions can arrive at the same time), modularity (the same abnormal condition can appear at different units of the plant) and uncertainty (unexpected input that does not follow a predetermined pattern comes in). Situations like this, which dont follow a rigid control structure, require experiential knowledge rather than knowledge based on logic and algorithms. Experiential knowledge is largely heuristic, uncertain and follows the trial-and-error approach, which is provided by expert systems. Hence expert systems make excellent candidates for the development of an Abnormal Condition Management application. Expert systems have a number of attractive features, which have made them very popular to virtually every field of knowledge. In a very real sense, an expert system is the mass production of expertise available to be used continuously, and permanently in environments that might be hazardous for a human. That greatly reduces the effort and cost of expertise. Now, the fact that the decision is made in a more steady, unemotional and sometime faster way than a human expert may respond increases the systems reliability. Expert systems also lead to better quality of knowledge. Since the knowledge of human experts must be put into an explicit form for entering into a computer, the knowledge becomes explicitly known instead of being implicit in the experts mind. In this case the knowledge of multiple experts may be available to work simultaneously while it can be examined for correctness, consistency, and completeness and when necessary be adjusted and re-examined. It can also grow over time. DEVELOPMENT TOOLS Urged by the industrys need for expert systems, several expert systems have been built and reported on in computer journals, books and conference; and many specialized tools have been developed for expert system building. Some of them have been designed as research tools while others fulfill important business and industrial functions including process control. These tools take advantage of the expert system technology and using them makes it more convenient and efficient to build an expert system compared to general-purpose tools, since the user doesnt have to build a new expert system application from scratch. The ease, with which an expert system may be implemented, commissioned and maintained though, is influenced to a large extent by the user interface supplied by the software tool manufacturer and its capability to integrate with the rest of the system, in our case the process control system. In many cases, the application and general acceptance of control and monitoring tools within the process industry has been limited by ease of use issues. Commercial products have too often violated some of the very basic principles of good usability. As a result, typical process engineers and instrument technicians may have difficulty in addressing expert based applications, while the plant operators may be faced with increasingly complex user interfaces which provide minimum or no support. This paper explores how some commonly accepted practices in user interface design can be successfully applied in an Expert System application. Examples show how an integrated environment can facilitate the development, debugging, and delivery of an expert system while using the core technology and functionality of a multi-paradigm expert system programming language. This approach integrates many services in one environment, presents a common interface to the user, and takes advantage of the existing features of a modern process control system and the expert system technology. Such an approach provides a complete environment for the construction of expert systems, minimizes the need for the user to become familiar with different utilities, eliminates the time to switch between environments to perform different tasks, and maximizes resource reusability, modularity, and flexibility. Simplicity, nonetheless, is achieved without any loss of functionality and sophistication. In particular, the needs of the expert user are addressed without sacrificing the ease with which a normal user may implement such advanced applications. CLIPS AND RULE-BASED PROGRAMMING CLIPS is a multi-paradigm programming language that provides support for rule-based, object-oriented, and procedural programming. It was developed by NASA's J ohnson Space Center to specifically address the difficulty of putting state-of-the-art expert systems into practical use and was designed with the specific purpose of providing high portability, low cost, and easy integration with external systems [1]. Rule-based programming is one of the most commonly used techniques for developing expert systems. In this programming paradigm, rules are used to represent heuristics or "rules of thumb," which specify a set of actions to be performed in a given situation. A rule is composed of an if portion and a then portion. The if portion of a rule is a series of patterns which specify the facts (or data) that cause the rule to be applicable. The process of matching facts to patterns is called pattern matching. The if portion of a rule can actually be thought of as the whenever portion of a rule since pattern matching is done based on facts. The then portion of a rule is the set of actions to be executed when the if portion of the rule is satisfied. The expert system tool provides a mechanism, called the inference engine, which automatically matches facts against patterns and determines which rules are applicable. The actions of applicable rules are executed. This process continues until no applicable rules remain. As shown in figure 1 a typical rule-based expert system consists of the following components: User Interface the mechanism by which the user and the expert system communicate Explanation facility explains the reasoning of the system to a user Working memory a global database of facts used by the rules Inference engine makes inferences by deciding which rules are satisfied by facts, prioritizes the satisfied rules, and executes the rule with the highest priority Agenda a prioritized list of rules created by the inference engine, whose patterns are satisfied by facts in working memory Knowledge acquisition facility an automatic way for the user to enter knowledge in the system instead of having the engineer explicitly code the knowledge (this is an optional feature). Figure 1: Structure of a Rule-Based System A SIMPLIFIED APPROACH In order to make available the inherent advantages of expert systems to a scalable process control system, a highly interactive and user-friendly environment may be developed that simplifies and speeds the configuration, documentation and on-line deployment of an expert system. Such a capability can be used to monitor and control a process and to address abnormal condition management by continuously evaluating real-time and historical data and events, watching for abnormal situations, providing advice and taking corrective actions when necessary. A prototype of such a system has been developed to take full advantage of the expert system technology by using the core technology and functionality implemented in NASA CLIPS programming language for the inference engine. It is also designed to take full advantage of the existing features of a modern process control system by providing the typical plant engineers with easy access to the existing plant configuration. This approach saves time and effort for the plant engineers and expert system developers and enables them to focus on incrementally applying their process knowledge in the implementation of the expert system. By including a set of configuration, integration and communication services, such a tool provides easy to configure, smart filtering of plant data, and increases the systems flexibility and usability by allowing data updates to be received and abnormal situations to be reported in a user- defined manner (e-mail notification, pager alerts, report generation, alarm activation, etc.). With quick detection of abnormal conditions, reliable diagnosis and advice for correction of problems through friendly and explanatory interfaces, such an application provides the plant operators with the full support they need to manage todays manufacturing operations. The prototype application is designed to take advantage of the Windows technology and be similar in appearance to Microsoft Windows NT Explorer, with which most engineers are familiar. The user can graphically model the properties and behaviors of dynamic operations and produce his knowledge design mainly by using the drag-and-drop- technique. The user can also view the overall structure and layout of the working memory and knowledge base in a tree hierarchy. The graphical representation gives easy access to the properties and behaviors of the different components and objects and the presentation of the whole system in a hierarchical structure makes clear the relationships among them (Figure 2). Through intuitive and friendly interfaces the user can also watch the working memory and agenda, and view the explanation facility of his system. Figure 2: Hierarchical structure of an expert system in process control Standard fact templates are provided to allow consistent and easy access to real time and historical data, events and abnormal conditions. Figure 3 shows an example of the graphic interface for a fact template definition. The friendly graphical environment enables even non-programmers to define, read, understand and modify the system. Figure 3: A graphic interface for a fact template definition Predefined expert rules are provided to make it easy for a user to benefit from the expert system capability. However, the advanced user is allowed to define his/her own fact and rule templates to address the unique situation of a particular plant. Figure 4 shows an example of the graphic interface for a rule template definition. An embedded interactive editor is available to the advanced users familiar with the CLIPS programming language, so they can create and edit rules. An Expert User option separates the basic features from the advanced features of the tool to provide simplicity without any loss of functionality. Figure 4: A graphic interface for a rule template definition The tool also provides a Debug/On-line capability to allow control and examination of the execution of the rules, verification that the rules are in the correct form and validation of the rules (whether a chain of correct inferences leads to the correct answer). Selections, such as removal of all the facts from the fact list, breakpoint settings and removals, breakpoint listing, configuration of the maximum number of rules that can be fired, viewing of the patterns that match a rule examination and much more, are available. These features help the expert system developers to verify the correctness of the knowledge, debug and solve possible problems, identify areas to increase performance, gain a better understanding of the system and more efficiently monitor the execution of the logic. A simulation feature is available to permit checkout of rules execution. Fact data that is based on process measurements may be examined as the application executes and, if simulation is enabled, user-provided values or archived data may be used for testing and evaluation of the rules. To assist the development of a robust expert system and deal with more complex structures, a mechanism is provided to permit the partition of the knowledge base in to modules. This feature allow the user to organize his knowledge base (configuration database) following his/her plants structure and provides an explicit method for controlling the execution of the system. To achieve better performance, the run time database (execution of the rules) may be also partitioned and different sets of rules may be assigned for execution at different workstations. CONCLUSION Expert systems can be effectively used for real-world problems, which are difficult to solve by other means such as Abnormal Condition Management in process control systems. The design and implementation of a simplified approach to the construction of an expert system has been presented. By embedding an expert engine in a modern process control system, the benefits of expert systems can be easily applied while taking advantage of the existing features of the control system. An intuitive and user friendly GUI minimizes the engineering and implementation effort while maintaining the underlying expert system technology. Several enhancements increase the systems usefulness and maintainability. This approach is instrumental in the development of the next generation of easy to use, integrated Expert System applications implemented in a scalable process control system. REFERENCES 1. Giarratano, J . and Riley, G., Expert Systems Principles and Programming, PWS Publishing Company 2. CLIPS Reference Manual, Version 6.05