A hierarchical expert system for computer process control

17
A hierarchical expert system for computer process control Dan Ionescu and loan Trif University of Ottawa, Department of Electrical Engineering, 770 King Edward, Ottawa, Ontario, Canada, K I N 6N5. email.'diopd@ uottawa.BITNET (Received September 1988) ABSTRACT This paper reports on the design and implementa- tion of an expert system for computer process control (HESCPC). The complexity of the expertise necessary for computer process control applications requires that the expert system architecture be structured into a hierarchy of classes of specialized experts. The architecture of HESCPC integrates four classes of expert systems: operator/manager companion expert class, control system algorithm design expert class, hardware expert class, and software expert class. The paper is concerned with the design and implementation of the general system architecture, an operator adviser expert for a nuclear power plant and a control system designer expert using a state space feedback approach. Although the design and implementation aspects of all experts are discussed, the emphasis is on the latter. At this stage of the HESCPC development, the declarative knowledge represented by 423 metarules and 1261 rules is distributed on a hierarchical structure among 20 experts on different levels of the hierarchy which are able to communicate among themselves to solve difficult control problems. Examples of control system design sessions of linear mono and multivariable systems using feedback state space approach are given. A run time of an operator-adviser data-driven expert system for a nuclear plant is also presented. Keywords: computer process control, expert sys- tem, artificial intelligence INTRODUCTION Interest in Artificial Intelligence (AI) has been growing dramatically in the last few years, and many corporations have set up AI groups or are in the 0952-1976/88/040286-1752.00 © 1988 Pineridge Ltd 286 Eng. Appli. of AI, 1988, Vol. 1, December process of doing so. One of the prime areas of interest is Expert Systems (ES). Though the number of expert systems actually functioning in a corporate environment is still relatively small 1, the number of projects looking into expert system development is growing rapidly. Expert systems, viewed as a fundamental principle for organizing and animating expert knowledge, correlate well with the structure of process control knowledge2. Long ago, the process control field realized the limited value of formal analytic methods in favour of a combination of recognized, simplified, analytic techniques, designer judgements, and tuning procedures. The implementation of such software faces serious difficulties because of the large spectrum of know- ledge to be acquired, the size of the rule base to be created, and the complexity of the human and system interfaces. The potential benefit is to allow rapid application of defined expertise to dynamic problems involving thousands of variables. The system's approach to this challenge requires the consideration of the demands of real-time inference; in particular, the dynamic nature of the domain, the large knowledge base and the requirements for efficient execution. Present digital control systems do not provide the means for intelligent interpretation of sensor data, diagnosis of problems, coping with process dis- turbances and predicting consequences of actions. In a large processing plant, such as a steelmaking plant, a nuclear power plant or an oil refinery, there are several thousand measurements and alarms pro- vided to the human operator. In a major process upset, the operator may be confronted with a very large number of individual alarms, but with very little intelligence concerning the underlying plant condition. The plant status may change significantly within a few minutes. The large size and dynamic nature of the domain requires new approaches to the infer- ence, since exhaustive search procedures are not possible in real-time. The knowledge-based system offers a natural vehicle to perform inference, as would a human expert who is confronted with the same problem of limited time to respond to a complex situation. The key concepts are to recognize quickly process conditions which are potentially significant, and to invoke relevant rule-sets and focus on these problem areas for diagnosis and procedural advice 3. On the other hand, expert systems could not replace the standard control algorithms, the use of advanced control techniques,

Transcript of A hierarchical expert system for computer process control

Page 1: A hierarchical expert system for computer process control

A hierarchical expert system for computer process control

Dan Ionescu and loan Trif University of Ottawa, Department of Electrical Engineering, 770 King Edward, Ottawa, Ontario, Canada, K I N 6N5. email.'diopd@ uottawa.BI TNET (Received September 1988)

ABSTRACT

This paper reports on the design and implementa- tion of an expert system for computer process control (HESCPC). The complexity of the expertise necessary for computer process control applications requires that the expert system architecture be structured into a hierarchy of classes of specialized experts. The architecture of HESCPC integrates four classes of expert systems: operator/manager companion expert class, control system algorithm design expert class, hardware expert class, and software expert class. The paper is concerned with the design and implementation of the general system architecture, an operator adviser expert for a nuclear power plant and a control system designer expert using a state space feedback approach. Although the design and implementation aspects of all experts are discussed, the emphasis is on the latter.

At this stage of the HESCPC development, the declarative knowledge represented by 423 metarules and 1261 rules is distributed on a hierarchical structure among 20 experts on different levels of the hierarchy which are able to communicate among themselves to solve difficult control problems.

Examples of control system design sessions of linear mono and multivariable systems using feedback state space approach are given. A run time of an operator-adviser data-driven expert system for a nuclear plant is also presented.

Keywords: computer process control, expert sys- tem, artificial intelligence

INTRODUCTION

Interest in Artificial Intelligence (AI) has been growing dramatically in the last few years, and many corporations have set up AI groups or are in the 0952-1976/88/040286-1752.00 © 1988 Pineridge Ltd 286 Eng. Appli. of AI, 1988, Vol. 1, December

process of doing so. One of the prime areas of interest is Expert Systems (ES). Though the number of expert systems actually functioning in a corporate environment is still relatively small 1, the number of projects looking into expert system development is growing rapidly.

Expert systems, viewed as a fundamental principle for organizing and animating expert knowledge, correlate well with the structure of process control knowledge 2. Long ago, the process control field realized the limited value of formal analytic methods in favour of a combination of recognized, simplified, analytic techniques, designer judgements, and tuning procedures.

The implementation of such software faces serious difficulties because of the large spectrum of know- ledge to be acquired, the size of the rule base to be created, and the complexity of the human and system interfaces.

The potential benefit is to allow rapid application of defined expertise to dynamic problems involving thousands of variables. The system's approach to this challenge requires the consideration of the demands of real-time inference; in particular, the dynamic nature of the domain, the large knowledge base and the requirements for efficient execution.

Present digital control systems do not provide the means for intelligent interpretation of sensor data, diagnosis of problems, coping with process dis- turbances and predicting consequences of actions. In a large processing plant, such as a steelmaking plant, a nuclear power plant or an oil refinery, there are several thousand measurements and alarms pro- vided to the human operator. In a major process upset, the operator may be confronted with a very large number of individual alarms, but with very little intelligence concerning the underlying plant condition.

The plant status may change significantly within a few minutes. The large size and dynamic nature of the domain requires new approaches to the infer- ence, since exhaustive search procedures are not possible in real-time. The knowledge-based system offers a natural vehicle to perform inference, as would a human expert who is confronted with the same problem of limited time to respond to a complex situation. The key concepts are to recognize quickly process conditions which are potentially significant, and to invoke relevant rule-sets and focus on these problem areas for diagnosis and procedural advice 3. On the other hand, expert systems could not replace the standard control algorithms, the use of advanced control techniques,

Page 2: A hierarchical expert system for computer process control

A hierarchical expert system for computer process control: D. Ionescu and I. Trif

OPERATO~ [ MANAGER

EXPERT CLASS

SOFTWARE EXPERT CLASS

~ _ ~ GENERAL ~ HARDWARE EXPERT SYSTEM FOR EXI'ERT

PROCESS CONTROl, CLASS

Figure 1

I~ROCI,:I)URAI./ CO(;NITIVE ACTIONS EXPERT CLASS

General architecture of an expert system for process control

optimization, etc. They will only augment the control power of the above.

Typically, the vast and complex process operating knowledge 3 is shared between the process control engineer and the process operator. Control en- gineers tend to analyse process performance, whereas operators use heuristic rules to operate the plant.

The engineer should be provided with user- friendly interactive tools to enter his process know- ledge and operator heuristics into the knowledge base. Moreover, the expert system has to be able to scan key process data to detect any abnormal conditions.

The heuristic conditions which reflect potential significant events should be scanned, and when conditions match, an inference and action module should start to focus on the problem area. The expert system should develop inference results based on various types of evaluations, and should also pro- vide capabilities to invoke logic rules and procedures to diagnose a process problem and explain to the operator the recommended course of action.

The state variable representation is a basic con- struct for dealing with the time-varying quality of the environment. For this reason an expert system used in process control must be able to gather data, construct the generalized state variable of the pro- cess, arrive at conclusions, decide upon actions, and carry them out in an environment of continuously changing circumstances. It must be capable of changing its plans when circumstances change, and

it must be able to operate as best it can with incomplete data. Furthermore, it must be able to operate in a situation in which not all information is up-to-date 3.

This dynamic aspect of the process control necessitates that the expert system should also include a wide procedural knowledge-base with already known or learned control cases.

The main topic of this paper is the design and implementation of a complex expert system that groups together the hierarchical structures of four expert classes as depicted in Figure 1. Each expert class of this structure will satisfy some of the objectives mentioned above, as well as combining at all stages of the hierarchical distributed architecture, procedural and declarative knowledge, and there- fore different software technologies. This mixing of numeric-processing languages, and languages that are fundamentally symbolic, needs enhanced com- puting resources. The expert system described in this paper was implemented on a VAX cluster system driven by a VAX 11/780 and containing eight other microVAXes II. The hardware and the expert system shell used for this implementation made possible a parallel execution of different low-level experts.

The paper covers the following major topics:

• Defining, designing and implementing a hier- archical structure which includes all the areas of the application of expert system technology in the field of Process Control, • Designing and implementing a declarative- procedural knowledge interface that makes possible the integration of control system design rules, repre- sented by M-Prolog statements, with control system design algorithms embedded in a specialized Fortran library, and • Designing and implementing an operator-adviser data driven expert for a nuclear plant operator.

The following three main aspects are discussed: the requirements for a general structure of an expert system for process control, its corresponding archi- tecture, and the results obtained.

The paper is organized as follows: After the presentation of the general requirements, given above in this introduction, the next section discusses the design and the architecture of the HESCPC expert system and some of the important issues related to its implementation. The following section presents design sessions of linear mono and multi- variable systems using the state space feedback approach, and samples of a run time of an operator

Eng. Appli. of AI, 1988, Vol. 1, December 287

Page 3: A hierarchical expert system for computer process control

A hierarchical expert system for computer process controL" D. Ionescu and L Trif

Figure 2

DECLARATIVE KNOWLEDGE

BLOCK

(DKB)

DECLARATIVE PROCEDURAL

KNOWLEDGE INTERFACE

BLOCK

0~PKra)

PROCEDURAL KNOWLEDGE

BLOCK

(PKB)

The HESCPC expert is a three-block system

appropriate meta rules in the system knowledge base.

The HESCPC expert system was implemented on VAX/VMS using an expert system shell, called ReshelP '5'6. Reshell is a blackboard system written in M-Prolog. Its architecture is specially designed to permit the implementation of hierarchical structures of expert systems placed on different levels of this hierarchy 7.

Using Reshell, the knowledge can be represented by either frames or production rules, and the inference can be made in one of the two search modes: depth-first backward chaining or breadth-first forward chaining. Both these modes were used in the HESCPC system.

The hierarchical concept of HESCPC imple- mented in a Reshell-based system is in fact a semantic network where each element is a production rule expert system which belongs to a class, sub class . . . of experts. All the experts defined in the HESCPC system are related, through very well-defined relationships. By partitioning the global knowledge

adviser expert for a nuclear power plant. Finally, the contribution of this paper is summarized.

DESIGN AND I M P L E M E N T A T I O N OF THE HESCPC SYSTEM

The HESCPC expert system is a hierarchical struc- ture of specialized experts which incorporates two kinds of knowledge:

• Declarative knowledge represented by M-Prolog rules, and • Procedural knowledge embedded in a control system design Fortran library called CONTPACK.

From this point of view the HESPC system is a three-block system (Figure 2):

• Declarative Knowledge Block (DKB), • Declarative-Procedural Knowledge

Block (DPKIB), • Procedural Knowledge Block (PKB).

Interface

Figure 3 is selfexplanatory, showing the way in which HESCPC works. One can easily observe that it provides the user with the facility of returning to the previous level in the case of a wrong choice of a limb of the tree. This is achieved by implementing

INITAL1ZE THE SYSTEM

I I KNOWLEDGE BASES

+

I DEDUCFJPROVE THE GOAL OF THE ACTIVATED EXPERT

REPORT TO THE USER THE NODE OF [

I THE TREE HE IS WORKING ON

YES

NO

_~ PASS THE CONTROL TOTHE

Y E S _ _ N O YES O

USER INTERFACE LEVEL (SAVE, QUIT, RE~UME, RUN)

~PASS THE CONTROL /

Figure 3 General flowchart of the HESCPC system

288 Eng. Appli. of AI, 1988, Vol. 1, December

Page 4: A hierarchical expert system for computer process control

A hierarchical expert system for computer process control." D. Ionescu and I. Trif

base into small knowledge bases distributed on a hierarchical structure, the main disadvantages of production rule systems are eliminated. They con- cern the following aspects: a) an inefficient way of representing knowledge with little flexibility to handle the search, especially for large knowledge bases, b) inadequate representation of concepts and relationships among objects, and c) the difficulty of foreseeing the consequences of adding new rules.

ARCHITECTURE OF THE HESCPC EXPERT SYSTEM

The HESCPC expert system was designed following a vertical hierarchical architecture. The global sys- tem was decomposed into a number of experts able to exchange information and controls through their blackboards. Thus, this society of experts could work co-operatively in solving specific control system problems.

As shown in Figure 4, at the top of the hierarchy a General Manager Expert, having knowledge about which expert-class and problem-class (in the selected expert-class) can be selected, directs the user to the next level of the hierarchy, activating a certain expert depending on the user input. On the next level, the user is questioned by the activated expert about the specific parameters that describe the target problem to be solved. These parameters are needed to go further down the hierarchy for locating a specialized problem expert which has the required knowledge for solving the user's target problem. At this time the HESCPC system includes two specialized problem experts: the operator adviser and the state space feedback designer.

Usually, for control system design the target problem is so complex that it has to be "broken down" into subproblems. Thus, the specialized problem expert must also contain knowledge about this "'breaking-down" process and, in particular, about which expert in the hierarchy is able to solve each subproblem. In this way, the specialized problem expert activates the proper expert with proper data for solving a certain subproblem. In turn, the latest expert could contain knowledge about how to further "break down" the subproblem into sub- subproblems, and which experts in the hierarchy can solve these sub-subproblems. This "breaking- down" of the target problem can continue until a reasonable complexity of the sub-problems is reached.

For process control the last sub-subproblems resulting from the "'breaking-down" process are

solved by specialized algorithms. Therefore, a Control System Fortran library (CONTPACK) resides at the lowest level of the hierarchy.

Declarative Knowledge Block (DKB)

The experts defined in the Declarative Knowledge Block (DKB) are shown in Figure 5. In fact, each expert within this block (except the Operator- Adviser expert) acts as a manager for user guidance in reaching the proper specialized expert for solving the target problem. A short functional description of some of the more characteristic experts follows.

A. The HESCPC_GEN_MGR Expert is the top expert of the implemented hierarchy, and the first to be activated when a HESCPC session starts up. Being the general manager of the system, it knows that four classes of experts can be selected, and that under each expert class a proper expert can be activated, depending on the problem class the user is interested in.

• The Operator~Manager_Adviser expert class in- cludes experts for process operators and process managers. • The Control_System_Design_Algorithms expert class includes experts dealing with four problem classes:

--linear systems, --bilinear systems, --quasilinear systems, and --nonlinear systems.

The design process of the following two classes of experts is still on-going. However, the main ideas considered in their structural implementation are given below:

• Under the Hardware expert class, Rl-like experts will be used as a model for the design and implemen- tation of an expert system for the hardware configur- ation of computerized process control systems. (R 1 is an expert system for configuring DEC VAX computer systems for the customer needs. See Refer- ence 8.) • The Software expert class is intended to have a similar structure as the previous class of experts but adapted for the specific problems encountered in software configuration for computer process con- trol. It means that the expert system will guide the user in the assembling process of software modules

Eng. Appli. of AI, 1988, Vol. 1, December 289

Page 5: A hierarchical expert system for computer process control

A hierarchical expert system for computer process controL" D. Ionescu and I. Trif

" ~ Operator/Manager_Compm

lO~at°r-Adv" [ I Expert for a ~Nuclear Power

Plant

rare__De.sign" x

• Dismout¢~ rarameu~rs ~umalx~._raxamcu=m

<'co,~,,~o= .> < ~,= . . -" co~o= . . . :" t ~ - . , t = ,

Stochasdc..4

Demmdnisfic_4

Expert

- - -

~. Realization o Clz_laws

. . . . . . . v

Decoupling . / / . . Optim_.etr

' - ' " - Idend£

~heoretic Pr~o~s L

C Dcscentralization "

State Space Feedback Expert

Taskl_Mgr ~Analystl Expe r t ] ~'

Task2_Mgr Expert i Task7_Mgr

. . . . . E x p e r t

~ D i s e u s s e d in the paper Ii FORTRAN_LIBRARY ~_Sys_Des_Algorithms + Graphics) . ~ J

Figure 4 Architecture of the hierarchical expert system for computer process control

2 9 0 Eng. App l i . o f AI, 1988, Vol . 1, D e c e m b e r

Page 6: A hierarchical expert system for computer process control

A hierarchical expert system for computer process control: D. Ionescu and I. Trif

":(~rator/Mmzager Companion ' ~" Con~r_'Sys_Des_Alg J ¢ Software_Design " " " 7 . . . . . 1 ° ~'

I Expert for a I B H ' ~ ~NuclearPowe~~ Plant ~ I I

• Distributed_Parameters " Lumped._Psrameters

• Continuous , ~" Discrete '~

Stochastic 3

-%

Stocl~dc_4 I ~

- - I ~==.dO_,Expert

~ ~ , 4 r ~ - - ,

Realization Clz laws Theoretic ~oo~s ' ,

° ' " "~V[~elling._and Simulation" " " D~.oupl=g _,/ / . ~ opt~__¢~

DECLARATIVE/PROCEDURAL KNOWLEDGE INTERFACE BLOCK

(DPKIB)

i]

I Discussed m the paper

PROCEDURAL KNOWLEDGE BLOCK (PKB)

Figure 5 Declarative knowledge block (DKB)

Eng. Appli. of AI, 1988, Vol. 1, December 291

Page 7: A hierarchical expert system for computer process control

A hierarchical expert system for computer process control: D. Ionescu and I. Trif

~______________~ Knowledge Base . . ~

Engine

Sensors ]

NUCLEAR POWER PLANT

Actuators

/ Figure 6 An operator-adviser expert system for a nuclear power plant

proper to hardware configuration and process charcteristics.

B. The Operator_Adviser Expert for a Nuclear Plant is a data-driven expert with an incomplete know- ledge base. The idea was to explore the possibilities of implementing such an expert system using Reshell. As shown in Figure 6, the Operator_Adviser expert system for a nuclear power plant has an inference engine which is part of Reshell, and a knowledge base containing the captured knowl- edge 9. The Data File is created and updated at a fixed rate by the Data Acquisition System which is not part of the expert system. As an example ten sensors which collect relevant data from a nuclear power plant were considered:

--reactivity meter, --reactivity balance, ~: lr i f t speed, - - temperature sensor trtc_l - - temperature sensor trtc_2, --fuel bar variation, - -pr imary flow drift variation, --secondary flow drift variation, - -s team generator, and - -gain breaking.

A sample of the Data File is loaded in the expert's blackboard whenever the expert is required to make a diagnosis.

Depending on the sensor data, the expert will come up with a diagnosis of the reactor and an

advice (if necessary) to the user. The pattern of this message is:

"The nuclear reactor is in: state ~ (reactivity . . . . . breakdown) condition ~ (acceptable-time, . . . , unacceptable) cause ~ (where the trouble is located) action ~ (action to be taken/or no action to be taken)

Some sample runs of this expert for different sensor data are given at the end of the paper.

C. The Linear Systems Expert acts as a manager for the user's guidance in locating the specialized expert on the target problem. Questioning the user, it collects:

- - the parameters type of the linear system (dis- tributed or lumped),

- - the linear system class (continuous or discrete), and - - the linear system type (deterministic or stochastic).

D. The Deterministic_3 Expert gathers the par- ameters that describe the target problem:

- - the area in which the problem to be solved fits (realization, modeling and simulation, control laws, identification decentralization, theoretic proofs or performance analysis),

- the type of the problem (optimal control, feedback, or decoupling),

- - the approach of the method (input-output or state space).

E. The State Space Expert is located on the last level of the hierarchy in the Declarative Knowledge Block (DKB). It also acts as a manager and collects the last parameter that describes the target problem:

- -wha t kind of state space problem has to be solved (state feedback, output feedback, canonical forms or property analysis).

The State Space Expert has an incomplete know- ledge base and the user must select state feedback, for reaching the State Space Feedback Expert (part of DPKIB) which is the second specialized problem expert implemented at this stage into the HESCPC system.

Declarative-Procedural Knowledge Interface Block (DPKIB)

The components of the Declarative-Procedural Knowledge Interface Block (DPKIB) are presented in Figure 7.

292 Eng. Appli. of AI, 1988, Vol. 1, December

Page 8: A hierarchical expert system for computer process control

A hierarchical expert system for computer process control." D. Ionescu and I. Trif

DECLARATIVE KNOWLEDGE

BLOCK

(DKB)

~ S T A T E SPACE t F E E D B A C K EXPERT 1

Hie Taskl Output

File Taskl File Task2 i l l l U a

File Task7

M Knowledge completely built

PROCEDURAL KNOWLEDGE BLOCK

(PKB)

Figure 7 Declarative-procedural knowledge interface block (DPKIB)

A. The State Space Feedback Expert (SSFE) is a specialized problem expert implemented into the HESCPC system, and can be used by a control system designer who has as a target problem the design of mono or multivariable linear systems using

the feedback state space approach. It is activated by the State Space Expert (part of the Declarative Knowledge Block (DKB)), and together with its 14 children and 51 Fortran routines is able to solve the following kind of target problem:

Eng. Appli. of AI, 1988, Vol. 1, December 293

Page 9: A hierarchical expert system for computer process control

A hierarchical expert system for computer process control." D. Ionescu and I. Trif

GIVEN a linear time invariant system described by the equation:

dx/dt = Ax + Bu

A is a n x n matrix called the state space matrix, B is a m x n matrix called the input matrix, x is the n x 1 state space vector, u is the m x 1 input vector.

IT IS REQUIRED: to design a feedback upon the state space variable x

u = H x +Gv,

where V is the m x 1 reference table, G is a given m x m matrix, H is the desired m x n feedback matrix.

SOLUTION: The target problem is decomposed into seven subproblems. The knowledge needed for solving them is embedded into seven experts (Tskl_Mgr, Task2_Mgr, . . . , Task7_Mgr) children of the State Space Feedback Expert. Each subprob- lem is further "broken down" into a different number of sub-subproblems. The total number of sub- subproblems, for the seven subproblems, is 51. Each sub-subproblem is solved by a Fortran task, part of the Procedural Knowledge Block (PKB), which is a Fortran library specialized for control system design algorithms. The Procedural Knowledge Block also contains information about each Fortran task, how to use it, as well as under which conditions it should be executed. On the other hand, the results obtained from executing the requested procedures (see the Analyst experts) are used by the State Space Feed Expert in order to make further decisions for problem solving.

Referring to Figure 7, the Taskl_Mgr, . . . , Task7_Mgr experts have the same functionality. They differ only in their knowledge bases. The same statement can be made about Analyst l, . . . , Analyst7 experts and Taskl_For , . . . ,Task7_For components.

B. The Taskn_Mgr Expert is a specialized subprob- lem expert. It has an intimate knowledge about a specific subproblem (subproblem n).

C. The Analystn Expert is a child of the State Space Feedback Expert and is attached to subproblem n. It knows how to analyse the output data produced by Fortran routines which solve the subproblem n.

D. The Taskn_For Component represents a Fortran code which was written for subproblem n. It is

activated as a logical function by Taskn_Mgr expert. Each component, Taskl_For , Task2_For, . . . , Task7_For, contains procedural knowledge about the sub-subproblems needed for solving the corre- sponding subproblem. These components make the necessary calls to the Fortran routines which reside in the Procedural Knowledge Block (PKB).

Explanations about the way in which the declar- ative-procedural knowledge interface works are given below.

The moment the specialized problem expert (State Space Feedback Expert) is reached, the target problem input data is requested. After collecting this data the Taskl_Mgr Expert, which is a specialized subproblem expert, is always activated first with the proper data. This expert has an intimate knowledge about subproblem 1. It knows how to:

• create an Input Data File for subproblem Taskl_For component with the specific data (see Figure 7),

• activate the subproblem Taskl_For as a logical function,

• load the Output Data File created by subproblem Taskl_For component into its blackboard,

• display this data to the user, and • send this data to its pa ren t - State Space Feedback

Expert - .

Thus, at this point the output data generated by the first subproblem (Taskl_For) is available into the blackboard of the State Space Feedback Expert. Next, this expert sends this data to the child, Analystl expert, which starts to analyze it. The results of this process are displayed to the user and, at the same time, sent to the parent - the State Space Feedback Expert. Depending on the results, the parent expert decides which subproblem has to be solved next and activates the corresponding child expert - another Taskn_Mgr Expert - with the proper data. This process continues until the target problem is solved. Note that a subproblem could be activated more than once, or not activated at all during a session, depending on the input data of the target problem, and the results of the inferences made by the State Space Expert on this data and on the output of Fortran tasks.

Procedural Knowledge Block (PKB)

The rules embedded in the Declarative Procedural Block are interfaced with knowledge about Fortran

294 Eng. Appli. of AI, 1988, Vol. 1, December

Page 10: A hierarchical expert system for computer process control

A hierarchical expert system for computer process control." D. Ionescu and I. Trif

I TASK5 I FOR

TMSTA2

D E C L A R A T I V E - P R O C E D U R A L K N O W L E D G E I N T E R F A C E BLOCK (DPKIB)

PROCEDURAL KNOWLEDGE RI .t~f~IC fPlCR~

M II RMUr

RMTRA

EM

RM

R ~EVlNM

R M R E D I ~ ~ ~ ] ~ T M I R M J X T CO1

RMTRA

EMUL

RMTRS RMSLC KF'rR

RVTSF RMRED

RMJXT EMIN

RM

RVTSF

:VCML

DIF

RVSUMe/ RVDIF ~ / / / 1

RVCML * / /

RVTSF' E M I N V I

Figure 8 FORTRAN routines used to solve Subproblem 5

RVTSF

procedures, viewed as logical functions. At the lowest level of the Procedural Knowledge Block (PKB) is a Fortran library, called CONTPACK.It contains over 700 Fortran routines specialized for control system design 1°. Figure 8 represents the

corresponding Fortran routine tree used for solving one of the subproblems n. Note that the nodes represent routine names, and the links represent routine calls. The breaking-down process can also continue at this level if necessary.

Eng. Appli. of AI, 1988, Vol. 1, December 295

Page 11: A hierarchical expert system for computer process control

A hierarchical expert system for computer process controL" D. Ionescu and I. Trif

I M P L E M E N T A T I O N C O N S I D E R A T I O N S O F THE HESCPC SYSTEM

The H E S C P C expert system was implemented using Reshell. Its highly structured knowledge is dis- tributed among a number of experts hierarchically organized, as presented in Figure 4. The knowledge embedded in each each expert is represented as I F _ T H E N production rules and is shared between two files:

• ( expe r t_name) .RBS file, and • ( e x p e r t _ n a m e ) _ C A . P R O file.

The (expert_name).RBS File

This file contains two kinds of rules represented in a Reshell format:

1. The Object Rules which are the inference rules that manipulate the domain objects. The domain objects are the entities which an expert knows about and has expert knowledge of. They are represented as follows: obj([[ *, ( object_name ~ , *], ( object~at tribute ~, ( attribute_value ~,

[(measure_of_belief), ( measure~f~lisbelief ~ ]]).

For example:

obj([[ *, sensor, *], reactivity-meter, 15, [ l O0, 0]]).

An Object Rule has the following format:

IF [( l is t_of_condit ions)] T H E N [(list_of_actions]

with associated: ( rule_number) , (certainty_factor). The (cer tainty_factor) represents the degree of

confidence the system has that this rule is true or false. These certainty factors are combined during the search procedure and are used to arrive at a certainty value for the final solution 5.

Rule number 2 of the State Space Feedback Expert.

IF state space vector dimension is known and state space matrix is known and input matrix is known and desired new eigenvalue vector is known and calculation precision for task 4 is known

T H E N input data for task4 is O K

This object rule is true 100% and it is represented in the Reshell format as follows:

knb( [ obj([[*, task4_input, *], data, ok]) ], [

obj([E*, obj(EE*, obj(rE *, obj(EE*, obj(EE*, ], 100, 2 ).

tasks_input, *], state-space_vect~lim, N]), tasks-input, *], state~pace~natrix, A]), tasks input, *], input~natrix, B]), task3 output, *], desired_new eigenvalues_vect, R]), task4_input, *], calc_precision_task4. CP])

2. The Meta Rules are the "control program" of the expert system. They define the strategies to be used to deduce or prove the goal of the expert. To be more specific the meta rules are those rules which govern the ways in which the object rules are controlled and used to solve a problem. Like object rules they are I F - T H E N structures with conditions and actions. Unlike the object rules, the actions of meta rules are in control operations for the expert system. The rule conditions are used to select the appropriate control actions 5 .

A Meta Rule has the following format:

IF [(list of_conditions)] THEN [(list of_actions>] (phase_name), (meta_rule_number).

Meta rule number 15 of State Space Feedback Expert:

IF the message from Analyst3 expert was received and the system is multivariable and the method selected by the user is Jordan and the goal "input data for task6 collected" was proven and state space vector dimension is known and input vector dimension is known and state space matrix is known and input matrix is known and desired new eigenvalue vector is known and calculation precision for task6 is known and the phase is "check method"

THEN activate the expert "Task6_Mgr" in the "start" mode with command "task6_mgr" and the following data:

"state space matrix, input matrix, desired new eigenvalue vector, calculation precision for task6", and set the phase to "get results from Task6_For".

This meta rule is represented in Reshell format as follows:

mknb( [ activate_the expert_in_the mode_with eommand_and data(task6 m#r, start, task6~ngr,

[obj([[*, tasks input, *], state-~pace vect~dim, N, [100, 0]]), obj([[*, tasks input, *], input vect_dim, M, [100, 0]]), obj([[*, tasks_input, *], state_space~natrix, A, [100.0]]), obj([[ *, task~input, *], input~,zatrix, B, [100. 0]]), obj([[*, task3 output, *], desired_new_ei#envalues_vect, R, [100, 0]]), obj([[*, task6 input, *], calc_precision task6. CP, [lO0. 0]]) ]), set the_phase_to (get_results from_task6) ], [ message_from~nalyst3 (received),

296 Eng. Appli. of AI, 1988, Vol. 1, December

Page 12: A hierarchical expert system for computer process control

A hierarchical expert system for computer process control: D. Ionescu and L Trif

the-system-is (multivariable), find_in~he_blackboard ( obj ([ [ *, method, * ], jordan_wolovich, jordan] ), anywhere), prove_the_qoal(obj([[*, task6_input, *], input~data task6, collected])), t in . in the blackboard(obj([[*, tasks_input, *], state~space_vect~dim, N])),

anywhere), find in the blackboard(obj([[*, tasks input, *], input_vect~dim, M]), anywhere), find_in the blackboard(obj([[ *, task~input, *], state-~pace_matrix, A]),

anywhere), find_in_the_blackboard(obj([[ *, task~input, *], input~natrix, B]), anywhere), find_in_the_blackboard(obj([[ *, task3 output, *], desire~new ei.qenvalues vect,

R]), anywhere), fin~in the blackboard (obj([[*, task6, input, *], calc_precision_task6. CP]),

anywhere) ],

[check~nethod], 15

).

The (expert_name~_CA.PRO File

This file contains the condition predicates and action procedures. They are M-Prolog statements that implement specific functions in object and meta rules. Some examples of conditions and actions repre- sented in M-Prolog rules are given below:

1. Nuclear_Reactor_CA. PRO

IF reactivity balance is abnormal and drift speed is not fast or reactivity balance is uncertain and the observation of temperature sensor trtc_l is

greater or equal to 10 THEN big transient regime is abnormal

which was implemented as:

big_transient_regime (abnormal):- (reactivity_balance (abnormal), drift_speed (not__fast)); (reactivity_balance (uncertain), observation_of (trtc_l, X), X > =10).

2. Task5_Mgr_CA. PRO

IF the error index of Task5_For is known and the transposed matrix is known

THEN Task5_Mgr sends this data to the parent expert

which was implemented as:

task5_mgr_sends_output_data_to_parent :- find_in_bb(anywhere, obj([[*, task5_output, *],

error_index_task5, I ER ] ) ), put_high(return_data, obj([[ *, task5_output, *],

error_index_task5, IER, [100, 0]])), find_in_bb(anywhere, obj([[*, task5_output, *],

transposed_matrix_task5, [H/T]])), put_high(return_data, obj([[ *, task5_output, *],

transposed_matrix_task5, [H/T], [100, 0]])).

3. Analyst l_CA.PRO

IF the state space vector dimension is known and the input vector dimension is known and control matrix rank is known and decision on the branch was made

THEN make analysis on output data from Taskl_For

which was implemented as:

make analysis(BRANCH) :- find_in_bb(anywhere, obj([[ *, tasks_input, *],

state_space_vect_dim, N])), find_in_bb( anywhere, obj ([[ *, tasks_input, *],

input vect dim, M])), find_in_bb( anywhere, obj ([[ *, task1_output, *],

contr_matrix_r ank_task l , IR])), decide_branch(N, M, IR, BRANCH), ! decide_branch(N, M, IR, BRANCH) :- N>O, M>O, IR> =0, M = I , IR = N ,

BRANCH = one, put_in_bb_(data_base, obj([[*, analyst, *],

branch, BRANCH, [I00, 0]])), !.

decide_branch(N, M, IR, BRANCH) :- N>O, M>O, IR> =0, M = I , IR<N, BRANCH = two, put_in_bb(data_base, obj([[*, analyst, *],

branch, BRANCH, [100, 0]])), !.

decide_branch(N, M, IR, BRANCH) :- N>O, M>O, IR> =0, M > I , I R = N , BRANCH = three, put_in bb(data_base, obj([[ *, analyst, *],

branch, BRANCH, [100, 0]])). !. decide_branch(N, M, IR, BRANCH) :-

N>O, M>O, IR> = 1, M > I , IR<N, BRANCH =four, put_in_bb(data_base, obj([[ *, analyst, *],

branch, BRANCH, [100, 0]])), !.

Eng. Appli. of AI, 1988, Vol. 1, December 297

Page 13: A hierarchical expert system for computer process control

A hierarchical expert system for computer process controk D. Ionescu and I. Trif

State Space Feedback Design Hemisties

The heuristics embedded in the State Space Feedback Expert are shown in Figure 9. As can be easily observed on this example, the heuristics enable the expert system to properly govern and activate the corresponding task for a correct solution to the given problem. At the same time it allows the user to make his own decision on whether or not to continue solving the problem following the same approach, to change it, to restart solving the problem with new data, or, eventually, to close the session.

As depicted in Figure 9, after the State Space Feedback Expert was reached and the user has introduced the input data of the target problem, there is a continuous dialog among the SSFE, Taskn Mgr expert, and Analystn expert. Depending on the results obtained, one of the paths is automatically selected or the user is asked to make a decision.

Note: Naturally, the heuristics of Figure 9 could also be implemented in any other of the conventional programming techniques by using some other high- level language, but:

1. For Process Control, such an implementation would suffer problem complexity. The more interesting and more productive approach is to consider the descriptive, declarative-oriented programming approach of rules to represent what one wants the expert system to know versus considering the imperative, procedure- oriented approach of if-then-else constructs to represent what one wants the program to do.

sufficient reasons to prefer the use of the production rules expert system over the use of a procedural programming approach.

A Parallel Implementation

A networking facility implemented in Reshell allows us to run the HESCPC on a network (in our case on the VAX cluster system). Under this facility each expert, besides the General Manager, could be activated on different nodes of the cluster system. However, it is necessary to provide adequate communication modules pertinent to the cluster system environment. Through these communication modules, the running expert systems could exchange their results.

SAMPLE RUNS OF THE HESCPC EXPERT SYSTEM

The HESCPC expert system has been tested on a variety of continuous-time linear mono and multi- variable systems (lumped parameters) using the feed- back state space approach design method. It has also been used as an operator-adviser for a nuclear power plant.

CONTROL SYSTEM DESIGN WITH HESCPC

This section presents a short discussion of three tests: two for a multivariable linear system and one for a monovariable linear system.

2. Using an expert system approach, the user is equipped with explanation facilities:

• I4hy - the user can ask the expert system why a question is being asked, and • Explain - the user can ask the expert to explain its reasoning process: how the solution path was created and how the object values were deduced.

By implementing Figure 9 using a procedure-oriented language, the user would not have been able to query the system to check on the logical flow of the design heuristics.

3. By using an expert system approach, the knowledge base can be incrementally increased without restructur- ing the code already written. The only requirement is that the premises of the new rules are to be satisfied.

The above three differences between an expert system and conventional programming techniques are

Muitivariable Linear System Design Example

The following design example of a multivariable linear system achieved by the HESCPC is now given:

***********************************

* WELCOME TO THE HIERARCHICAL * * EXIDERT SYSTEM * * FOR * * COMPUTER PROCESS CONTROL * ***********************************

*** NOTICE: This work was supported in part *** *** by the Natural Science and *** *** Engineering Research of Canada *** * * * under Grant no.A6684 ***

*** The HESCPC is a Reshell based expert *** *** system. Its knowledge is distributed on *** *** an hierarchical structure among 30 *** *** experts on different levels. At this *** *** stage of development 20 out of these *** *** experts have their knowledge bases *** *** completely or partially built. ***

Which expert class would you like to activate? Enter one of operator_companion hardware_design software_design ct r_sys_des_alg

>ctr

298 Eng. Appli. of AI, 1988, Vol. 1, December

Page 14: A hierarchical expert system for computer process control

A hierarchical expert system for computer process control." D. Ionescu and L Trif

I o=~u,D= 0~.M.,.B) ~ l y = ~ No ....._

MONOVAR/ABLi~ MULTIVARIABLE~] I I'~'°'~°~°''~ml

__.t___ ,Yes

~,owL .. , . ,

I count= = coun,~. ~ J I Oe, Xml,. Xm~.','mS,.','m,~ P

Yes ~ No New Eigenvalues ? Counter = Counter + 1

Ask the user if he/she N ~ ¢ , 1 , . ~ . " ~ v wants to change the Fmal Eigenvalues

I I ~ = ~ t ~

Get new Xmin, Xmax, Ymin, Ymax, P

m R M O N O V ~ t ~ L E S r S T ~ n S I A~'mT''u-r'~ I p o ~ u v L r r c ~ J A B L E s r s r ~ u s I I

know the New Eigenvalues of

the system q~.Wl_~ Activate Task7 For ~ ~

N ---> State Space Vector Dimension M ---> Input Vector Dimension A ---> State Space Matrix B .... > Input Matrix W 1 .... > Closed Loop System Mal~ix

LEGEND Xmin - -> Lower Limit of Real Part of Eigenvalues Xmax ---> Upper Limit of Real Part of Eigenvalues Ymin - -> Lower Limit of Imag. Part of Eigenvalues Ymax ---> Upper Limit of Imag. Part of Eigenvalues P - -> Percentage of Complex Eigenvalues of total

number of Eigenvalues

Figure 9 Feedback state space design heuristic

Eng. Appli . of AI, 1988, Vol. 1, December 299

Page 15: A hierarchical expert system for computer process control

A hierarchical expert system for computer process control." D. Ionescu and I. Trif

What kind of control problem are you dealing with? Enter one of linear_sys nonlinearsys quasilinear_sys bilinear_sys

>lin

You are on the following node of the tree:

the expert class is *** ctr_sysdesalg *** and the problem_class is *** linear_sys ***

Would you like to continue on this limb of the tree? Enter one of yes no

>y

.>[[9.6e0,-5.7e0],[-0.9e0,-23.7e0]].

What is the INPUT MATRIX ? Enter an expression that matches [VlIV2]

.>[[-0.32eO,-98.6eO],[6.0eO,2.8eO]].

What is the CALCULATION PRECISION for TASK1 ? {1.0e-5}

.>d.

************************

* START OF TASK1 MGR * * EXPERT * ************************

*******************************

* START OF THE LINEAR SYSTEMS * * EXPERT * *******************************

What kind of parameters your system has ?

You are on the following node of the tree:

the expert class is *** ctr sys des alg *** the probl~class is *** line-ar_s-ys ~** the parameter type is *** lumped *** the system_class is *** continuous *** the system type is *** determ/nistic *** the problem to be solved is *** control laws *** the kind of-d~i~ is *** feedbac~ *** and the met]~nd to be used *** state_space ***

would you l i k e to continue on this limb of the tree? Enter one of yes no

>y

****************************

* START OF STATE SPACE * * EXPERT * ****************************

What kind of state space problem has to be solved? Enter one of state feedback output_feedback canonical forums prope r ty_analysis

>state_feed

You are on the following node of the tree:

the expert class is *** ctr sys des alg *** the probl~ class is *** linear s-ys 7** the parameter type is *** lumped-*** the system_class is *** continuous *** the system type is *** deterministic *** the problem to be solved is *** control laws *** the kind of-desi~ is *** feedbac~ *** the meth-od~o be used *** state space *** kind of fe~dl~ck- *** state feedback ***

would you like to continue on this limb of the tree? Enter one of yes no

>y

Ready to proceed ? Enter one of yes no

>y

What is the STATE SPACEVECTOR DIMENSION ? Enter a value between 1 and 20

>2

What is the INPUT VECTOR DIMI~SION ? Enter a value between 1 and 20

>2

What is the STATE SPACE MATRIX ? Enter an expression that matches [%rllV2]

*** This expert has an intimate knowledge about *** *** TASKI.FOR. It knows how to: *** *** - prepare the input data for the task *** *** - create an input data file for the task* *** - activate the task as a logical function *** - load the output data from the task *** *** - display this data to the user and *** *** - send this data to the parent expert.***

*** Loading INPUT FILE for TASKI.FOR ***

*** TASKI.INPUT file loaded 121 ***

*** Activating TASKI.FOR ***

*** The procedural knowledge embeded in this *** *** FORTRAN task is based on the paper : *** *** DIRECT C0~TICNOF CANONICAL FORMS FOR*** *** LINEAR SYSTEdS BY ELGV~TARYMATRIX *** *** OPERATIONS. IEEE Trans.,AC-19, April,1974*** *** pp.124-126, by I.D.APLEVICH ***

***TASK1 EXECUTED***

*** Loading OUTPUT FILE from TASKl ***

*** TASKI.OUTPUT file loaded !I! ***

*** THE OUTPUT DATA FROM TASK1 IS : S, IR, ICON ***

*** S is > a matrix containing the echellon*** *** form of the composed matrix (B,A).*

*** The value of S is > [[6.0E0,0,0,0],[0,0,0,0]]

*** Controllability matrix rank,IR is > 2

*** Controllability index,ICON is ----> 2

*************************

* START OF THE ANALYST1 * * EXPERT * *************************

*** Analysing output data from TASKI.FOR ***

*** TASKI.FOR ...... > computation correctly *** *** completed. ***

*** THE MULTIVARIABLE SYST~ IS CONTROLLABLE. *** *** Therefore a 2 * 2 feedback matrix (H) *** *** could be found. ***

*** The STATE SPACE FEEDBACK DESIGN procedure*** *** for MULTIVARIABLE SYSTEMS will follow. ***

Would you like to proceed ? Enter one of yes no

>y

What METHOD would you like to use ? Enter one of jordan wolovich

>jordan

300 Eng. Appli. of AI, 1988, Vol. 1, December

Page 16: A hierarchical expert system for computer process control

A hierarchical expert system for computer process controt D. Ionescu and L Trif

What is the CALCULATION PRECISION for TASK6 ? Would you like to continue on this limb of the tree?

[l.0E-6] Enter one of yes no

.>d. >y

************************

* START OF TASK6 NGR * * EXPERT * ************************

***************************************

* START OF THE OPERATOR-ADVISER * * EXPERT SYSTEM * * FOR A NUCLEAR POWER PLANT * ***************************************

*** This expert has an intimate knowledge about *** *** TASK6.FOR. It knows how to: *** *** - create an input data file for the task* *** - activate the task as a logical function *** - load the output data from the task *** *** - display this data to the user and *** *** - send this data to the parent expert.***

*** Loading INPUT FILE for TASK6.FOR ***

*** TASK6.INPUT file loaded I!! ***

*** Activating TASK6.FOR ***

*** The procedural knowledge embeded in this *** *** FORTRAN task is based on : MODAL CONTROL *** *** THEORY ANDAPPLICATIONS, Taylor and *** *** Francis, London, 1972, by POTER, CEOSSLEY***

***TASK6 EXECUTED***

*** Loading OUTPUT FILE from TASK6.FOR

*** TASK6.OUTPUT file loaded !!! ***

*** THE OUTPUT DATA FROM TASK6 IS : H, IER, Wl ***

*** H is ---> the feedback matrix ***

*** The value of H is .... > [[-I.211554E2,0],[-I.031553E2,0]]

*** Wl is ...... > the closed loop system matrix ***

*** The value of W1 is ..... > [[-2.91697EI,0],[7.260323E2,01]

*** Loading DATA from sensors ***

*** DATA FILE loaded 11 ! ***

*** DISPLAYING DATA FROM THE SENSORS ***

*** REACTIVITY METRE sensor > is *** *** REACTIVITY--BALANCE sensor > is *** *** DRIFT SPE~ sensor > is *** *** TEMPERATURE 1 sensor > is *** *** TEMPERATURE--2 sensor > is *** *** FUEL BAR VARIATION sensor > is *** *** PRIMARY FLOWDRIFT sensor > is *** *** SEC~Y FL(~WDRIFT sensor > is *** *** STEAM GENERATOR sensor > is *** *** GAIN BREAKING sensor > is ***

*** MAKING REASONING ON DAT~ FROM THE SENSORS ***

*****************************************

* THE NUCLEAR REACTOR IS IN: * * STATE > INTERNAL B ~ * * CONDITION > ACCETABLE * * FOR 2 MINUTES * * CAUSE > SEI~SOR TRTC 1 OR TRTC 2 * * IS NOT--WORKYNG - - * * ACTION --> C~ECK WHICH SENSOR IS * * NOT WORKING AND TURN ON * * THE BACKUP T~PERATURE * * SENSOR * *****************************************

40 *** 50 *** 34 *** 0 *** 0 *** 22 *** 30 * * * 17 *** 57 *** 49 ***

Operator-Advisor Sample Runs

The following example represents a test made with HESCPC with input data collected from an alarm state of the nuclear power plant.

>n

Would you like to close this session? Enter one of yes no

>n

*** Because you do not want either to *** *** close this session or to continue *** *** on this limb of the tree, I will *** *** transfer the control to the previous* *** *** Upper Level *** ***

Which expert class would you like to activate? Enter one of operator_companion hardware_design softwaredesign c t r_sys_de s__alg

>oper

What kind of problem are you dealing with? Enter one of nuclear reactor

>nucl

You a r e on t h e following node of t h e tree:

the expert class Is *** operator..companion *** and the problem_.class Is *** nuclear reactor ***

*****************************************

* THE NUCLEAR REACTOR IS IN: * * STATE - - > INTERNAL BREAKDOWN * * CONDITION - - > ACCEPTABLE * * FOR 5 MINUTES * * CAUSE > FUEL BUNDLE POSITONINO * * IS B~D -- *

* ACTION > ACTIVATE ROBOT I FOR * * POSITIONING CORRECTION * *****************************************

*****************************************

* THE NUCLEAR REACTOR IS IN: * * STATE - - > INTERNAL BREAKDOWN * * CONDITION - - - - > ACCEPTABLE * * FOR i0 MINUTES * * CAUSE ---> PRIMARY FLOW DRIFT * * VARIATION ABNORMAL OR * * SECONDARY FLOW DRIFT * * VARIATION ABNORMAL * * ACTION > CHECK WHICH C~E IS * * ABNORMAL AND : * * IF PRIMARY FLOW DRIFT IS IN * * TROUBLE * * THEN ADJUST PARAM.h~r,%~IS ...... * * IF SECONDARY FLOW DRIFT IS IN * * TROUBLE * * THEN ADJUST PARA~'~ta~S ...... * * IF BOTH OF THEN ARE IN TROUBLE* * THEN ADJUST PARAffinS ...... * *****************************************

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

* THE NUCLEAR REACIDR IS IN: * * STATE - - - > INTERNAL BREAK~ * * CONDITION ~ . > E2~ERGENCY ! ! ! * * CAUSE -->TE~ERA%I/RE CONTROL SYSTEM * * FAILUBE *

* ACTION > SHUT DOWN THE * * NUCLEAR REACTOR IMMEDIATLY! * *****************************************

Eng. Appli. of AI, 1988, Vol. 1, December 301

Page 17: A hierarchical expert system for computer process control

A hierarchical expert system for computer process controk D. Ionescu and I. Trif

*****************************************

* THE NUCLEAR REACIDR IS IN: * * STATE > EXTERNAL BREAKDOWN * * CONDITION--> ACCEPTABLE * * FOR 3 MINUTES * * CAUSE --> STEAM GENERATOR IS IN * * DECOMPRESSION CONDITION * * ACTION > ACTIVATE ROBOT 2 TO * * ADJUST THE FOLLOWING PARAM~... * *****************************************

would you llke another session ? Enter one of yes no

C O N C L U S I O N

Due to the previous implementation of an expert system shell specially conceived for making reasoning on sensor data and able to use a procedural knowledge base (Reshell) the design, implementat ion and experi- mentat ion of an expert system for computer process control was achieved. The knowledge was represented as semantic network-product ion rules. By partitioning the global knowledge base into small knowledge bases distributed on a hierarchical structure the main disad- vantages of production rule systems, as outlined above, have been eliminated. For example:

1. The exhaustive search has been eliminated by keeping knowledge bases small. At any given time, the search is done in only one expert knowledge base.

2. The consequences of adding a new rule to the system are not so difficult to see because the knowledge bases are not large.

3. The relationships between concepts are very well defined in the semantic network representation.

A declarative-procedural knowledge interface that made possible the integration of control sys- tem design rules represented by M-Prolog statements with control system design algorithms embedded in a

For t ran package ( C O N T P A C K ) was designed and implemented.

The For t ran routine error messages are handled by M-Prolog rules in the declarative-procedural know- ledge interface; to be more specific in Analystn experts. This was made possible by testing the values of the indices associated with each Taskn_For component which are returned by For t ran routines. Depending on their values, a corresponding message is displayed on the user's screen and a specific action will be taken. Control of the For t ran tasks' execution was achieved. The sequence of these tasks is established depending on the dataflow and user intervention. A demonstrat ion has been given on the use of an expert-system approach for process control design.

A knowledge base of an expert system that acts as an operator companion for a nuclear power plant was designed and implemented.

A parallel implementation on a VAX cluster system was possible, due to the Reshell structure.

REFERENCES

1 Prerau, D. S. Selection of appropriate domain for an expert system. The AI Magazine (Summer 1985), pp. 26-30

2 Ionescu, Dan. Expert Systems for Process Control, University of Iowa - Seminar in Expert Systems (December 1987)

3 Gidwani, K. Kumar. The role of artificial intelligence systems in process control. Proc. of Am. Contr. Conf., pp. 881-884

4 Karam, G. M., Cardill, A. M. and Braun, F. Reshell Beginner's Guide, University of Ottawa (1987)

5 Karam, G. M., Cardill, A. M. and Braun, F. Knowledge Engineering with Reshell, University of Ottawa (1987)

6 Karam, G. M. Reshell Software Reference, University of Ottawa (1987) 7 Goldberg, M., Goodenough, D. G., Alvo, M. and Karam, G.

A Hierarchical Expert System for updating forestry maps with Landsat data. Proc. of the IEEE, 73(6) (June 1985)

8 McDermott, J. RI: A Rule-based Configurer of Computer Systems, Technical Rept. CMU-CS-80-119. Dept. of Computer Science, Carnegie-Mellon Univ., Pittsburgh, PA (1980)

9 Poter, B. W. and Kibler, D. F. Learning operator transformations. Proc. of the National Conf. on Artif . Intell., pp. 278-282, Austin, TX (1984)

10 Ionescu, Dan et al. CONTPACK - An Interactive CAD Package ]'or Computer Process Control, Technical Report, Polyt. Inst., Timisora, Romania (1983)

302 Eng. Appli. of AI, 1988, Vol. 1, December