Sei sulla pagina 1di 9

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

Potrebbero piacerti anche