Computers &Chemical Engineering Computers and ChemicalEngineering24 (2000) 729-734
ELSEVIER
www.elsevier.com/locate/compchemeng
Cooperative problem solving in diagnostic agents for chemical processes Soo Young Eo, Tae Suk Chang, Dongil Shin, En Sup Yoon * School of Chemical Engineering, Seoul National University, Seoul 151-742, South Korea
Abstract
In this paper we introduce an agent-based framework for the diagnosis of chemical processes, based on spatially distributed diagnosis architecture. Although the suggested multi-agent diagnostic system uses only the information about process topology and control structure, making the most of local information produces global diagnostic solution. A function-behavior model is also suggested to make possible the collaborative problem solving in chemical process fault diagnosis. To demonstrate the benefits of the suggested collaborative problem solving approach, we solve the diagnostic problem of a stirred-tank reactor system with recycle. © 2000 Elsevier Science Ltd. All rights reserved. Keywords: Multi-agent;Function-behaviormodel; Distributed diagnosis;Collaborativeproblem solving
1. Introduction
Though many methodologies for process diagnosis and abnormal situation management have been developed for the last two decades, there is no single panacea that always shows better performance over every kind of diagnostic problems (Becraft, Guo, Lee & Newell, 1994; Mylaraswamy & Venkatasubramanian, 1997). Due to the complexity of methodologies themselves in addition to the complexity and non-linearity of chemical processes, many researchers in this area have met difficulties in applying the diagnostic methodologies to chemical processes on-line. Moreover, conventional shared memory approach using process models for diagnosis tends to have made it inconvenient to apply any developed method to different processes due to the lack of general-purpose extensibility. We direct our attention to the point that no matter how exactly any diagnostic method reason out the causes of faults from specific processes it is lack of portability, understandability and reliability that prevents diagnostic systems from being applied to various chemical process. Multi-agent systems (MAS) have been known to provide distributed and collaborative problem solving environment (Bradshaw, 1997; Huhns & Singh, 1998). In process systems engineering, there have been a few * Corresponding author.
efforts to propose MAS in modeling and designing processes (Batres, Asprey & Naka, 1999). In the process operation domain, however, few efforts have been made to improve problem-solving power. Abnormal system management requires knowledge on chemical processes structures and reasoning ability to understand the information flows in the processes as well. Agents exchange messages using a predefined protocol for actualizing their diagnostic intentions during the diagnostic process where agents with common goal negotiate to reach the most probable solution. In order to apply MAS to chemical process fault diagnosis, we need to identify to which information flow each agent is to response and how. Since there are basically three kinds of information flows traveling among process units such as mass, energy, and component (material) information flows, an appropriate information model that provides agents with guidelines to deal with process data is required. The function-behavior model that is suggested in this paper helps agents react to and deal with measured and unmeasured process data. In this paper the development of an agent-based architecture for chemical process fault diagnosis is presented. The proposed system comprises functionally similar diagnostic agents that have the knowledge on how and what to communicate with each other and have inference engines, respectively. Finally we illus-
0098-1354/00/$ - see front matter © 2000 Elsevier ScienceLtd. All rights reserved. PII: S0098-1354(00)00329-X
S. Young Eo et al. / Computers and Chemical Engineering 24 (2000) 729- 734
730
trate the use of agents for fault diagnosis of a chemical process.
2. Spatially distributed diagnosis Since chemical processes are often large scale-wise and operation units in them are connected in complexity, abnormal system management or fault diagnosis of such systems tend to be also complicated and intricate to implement. Even the diagnostic method such as signed directed graph (SDG) (Iri, Aoki, O'Shima & Matsuyama, 1979; Nam, 1995), known as a convenient one to implement from the aspects of required information and intuitiveness, takes much time to implement and it is hard to maintain the models. The reason is that there should be one diagnostic model that represents preliminary knowledge of the processes themselves and causal relationship among process variables. This paper focuses on suggesting a revolutionary framework that carries out diagnosis of chemical processes in a spatially distributed manner by taking advantage of multi-agent software technique. Spatial distribution is a natural organization scheme for the distributed diagnosis of large technical systems such as chemical processes and Internet communication networks. With each agent we associate a certain unit or area of the system, for which it is responsible. Consider a chemical process that can be divided into a set of spatially distributed subsystems (units), as shown in Fig. 3. Each process unit is a subsystem and has a diagnostic agent associated with it, and from this aspect we would say that spatially distributed diagnosis means nothing more than diagnosis based on process topology in our problem domain. What could be the system view of agent A1 in Fig. 4? It has detailed knowledge about its own unit. For the unit the agent itself is responsible and its diagnoses are reliable. Since it does not share its local observations and measurements with other agents it is the only agent, which can compute detailed diagnosis of its unit. In this decentralized structure, A1 must have at least some connection information. It has to know that there are five neighboring units, to which it can send information. More generally we assume that each agent has some information on the neighboring units, i.e. the units directly connected to its own in the process. UI
I U3 Fig. 1. A simple process with three units.
This approach premises that 'Local information plus agent communication produces global solution' (Ygge & Akkermans, 1999). That is, the basic idea of this attempt is in that agents with only local data and connection information with adjacent agents can do as well as or more than one diagnostic model that covers the whole process by agents cooperation. Diagnostic agents (DAs) that represent units of chemical processes are properly designed to detect abnormal situation in units. 2. I. Function-behavior model
This study aims at suggesting a diagnostic multiagent system where each diagnostic agent acts like the operator who has diagnostic knowledge on a process unit and cooperates with neighboring agents so that they produce diagnostic solution as if operators reason out origins of abnormal situations in process through discussion. Unlike heuristic rule-based expert systems, we need proper information model to help agents send and receive meaningful information. In a simple example shown in Fig. 1, decrease in flow rate of U~, which is actually a pipe, would result in decrease in level of U2, which is a tank. U~ observes temperature, pressure and flow rate in U~, and A2 observes temperature, pressure and level in U2. If A2 detects decrease in the level of U2, in a natural sense A2 can suspects that U2 leaks or the flow of U1 decreases. Supposing the real cause is the latter case, how could A2 link the decrease in the level of U2 with the idea of the flow rate of UI decreasing not with the idea of changes in the temperature or pressure of UI? It is simply because both the flow rate and the level are the variables related to mass. Following this flow of thought, we can formalize the variable-to-variable relations among units with respect to their function and behavior. The function of pipes can be understood as to carry mass, energy, and component. The variables related to these objects of the function, which are mass, energy, and component, are flow rate, temperature, and concentration, respectively. So the formalization of functionbehavior model produces the following propositions. (U1 carry LESS mass)~--~(flow rate of U1 is LOW)
(U2 hold LESS mass).-.(level of U2 is LOW) If an agent in charge of a certain unit detects faulty situation, the agent starts communication with neighboring agents to see if the unit was influenced by the faulty situations occurred in adjacent process units. Through repeated queries and responses among DAs, the DAs locate the unit of the process where the origin of the whole abnormal situation is suspected to take place. Then the DA in charge of the unit provides the possible list of faults related to the given symptom.
S. Young Eo et al. / Computers and Chemical Engineering 24 (2000) 729-734
DA_STREAM Unit ID: Stream Connection Info F/B model Possible faults Inference engine
Fig. 2. Diagnostic agent structure.
® query
Q •
query
reply
'Q
"@.
pass
pass
.®
reply
Fig. 3. Agent communication. 2.2. Diagnos& by cooperation
Each diagnostic agent knows only a small part of the entire system. It can diagnose independently, because it maintains a set of assumptions concerning the other parts of the system. In this paper, we will assume that all locally computed diagnoses are considered as reliable. The bargain from distributed diagnosis is tat a lot of problems can be solved locally so that the simplifying assumptions hold. The cooperation process is necessary when an agent cannot detect a fault within its unit. In this case, it starts a cooperation process. A cooperation process is started by sending/receiving an observation. With the new observation the agent diagnoses which can lead to three different situations. First, it might turn out that it is abnormal itself. Then other solutions can be neglected since we assume that the agents have certain knowledge about their own state. Second, there are no diagnoses at all which means that the initial fault is propagated or intermittent. Third, there is a need for cooperation. Then the agent refines the received observation and sends it to the neighbor waiting for its reply. In any of the cases the requesting agent is informed of the final result. In order to implement the scenario we need separate diagnostic agents for each unit. The agents need a knowledge base containing the description of their unit and they have to capable of reactive behavior in order to solve a problem in cooperation with other agents.
3. Diagnostic agents Diagnostic agents are software components that take care of units of chemical processes from the viewpoint
731
of diagnosis. In this paper, we consider the process units as operation units (equipments, machines, facilities, pipes, controllers, etc.) according to topological disposition. Topological disassembly makes it possible to assign diagnostic agents to physical process units as they are without analyzing processes information flow and building separate diagnostic model. Following Shoham (1993), the state of an agent is described in terms of mental qualities, such as beliefs and intentions. Notice that the concept of diagnostic agents is based on the important distinction between action and reaction: actions are first planned and then executed in order to solve a task or to achieve a goal, while reactions are triggered by perception and communication events. Reactions may be immediate and independent from the current knowledge-state of the agent but they may also depend on the result of deliberation. In any case, they are triggered by events that are not controlled by the agent. Every single unit such as reactors, controllers, heat exchangers, pipes are under the surveillance of each agent that works only for the unit. The multi-agent system structure is almost identical to that of actual process topology as shown in Fig. 5. In order to first formalize the diagnostic framework for a multi-agent system, two assumptions are currently used in this paper. Firstly, we assume that multiple faults do not take place. Multiple faults seldom occur in actual process operation and multiple-faults diagnosis should be another topic. Secondly, we assume that sensor values are reliable. Though sensor validation is essential for diagnostic system due to frequent sensor failures, we limit the scope of study to the diagnosis of process behavior and leave the problem to one of the future works (Fig. 2).
4. Agent design Diagnostic agents comprise the connection information, the function-behavior model, the possible faults list, and the inference engine as shown in Fig. 4. In the connection_info, Ai has the information on agent interconnections. With this information, each agent get to be aware of whom it is supposed to communicate and cooperate with when it encounters abnormal situation detected in the unit. In the F/B_model, the functionbehavior model of the unit is described. The keyword (mass, energy, or component), the function of the unit, and the observations (the state of the variables of the unit) are included. With this information, an agent determines what information to exchange. The possible_faults is a list of all the faulty situations that may take place in the domain such as 'leakage', 'pipe-fouling', 'pump-failure', etc.
732
S. Young Eo et al. / Computers and Chemical Engineering 24 (2000) 729- 734
5. Agent communications
(ask
:sender Ak :receiver Aj :content (query (keyword (mode) ?x) :reply-with ql
The power of agent communication is in its ability to communicate on knowledge level. Agents exchange not only the local data but also their knowledge on the domain they take care of. By using the functions defined in Fig. 1, diagnostic agents communicate with each other and exchange knowledge to solve the diagnostic problem. Agents frequently check the status of measured variables and send query to all the connected agents whenever an abnormal situation happens in the unit. The agents that receive the query have to reply to the sender agent by returning the status of variable with respect to keyword. If a receiver agent does not have any information that sender agent requests, the receiver passes the query to other connected agents so that other agent can reply to the sender. When the sender agent receives the replies from all of the connected agents, it is supposed to report the diagnostic result of the query to the operator. If every connected agent tells that there is no faulty situation caused by it, the sender agent concludes that the fault is in its domain and presents the possible fault list to the operator. Otherwise, agents keep communicating with each other until the domain with faulty situation is identified. Fig. 3 shows how agents communicate on the event of abnormal situation. The query message is sent to the group of the connected agents as input to A;. The query message includes identifications of sender and receiver of the message, which indicates the sender is in an abnormal situation. On the event of the reception of the query message, the receiver searches the measured variable status that matches the keyword received. If the receiver finds any of them, the receiver replies to the sender by sending a reply message. query
) response
(tell:sender Aj :receiver Ak :content (keyword (mode)) :in-reply-with ql
) If the receiver fails to search any measurements with the same keyword with that of the sender agent, the receiver passes the message to its connected agents that may have the associated process variable in order to avoid disconnection of information flow and communication. Finally, when Ai receives a reply passed through or sent from Aj, Ae determines if the abnormal situation is from its internal cause or from the external influences. Once the decision is made, A~ reports possible faults list to the operator.
6. Example To demonstrate the multi-agent diagnostic system, we consider the stirred tank reactor with recycle shown in Fig. 4. This example has been widely used by many authors to prove the effectiveness of their works (Kramer & Palowitch, 1987). In this example, an exothermic positive-order reaction of A to B takes place in a stirred-tank reactor. To provide temperature control, part of the reactor outlet stream is recycled to the reactor through a heat exchanger. The recycle flow
Pipe I
VT
Pipe6
Pipe 3 PT Pp Fig. 4. Flowsheetof a stirred-tank reactor process.
Pipe 11
Pipe 9
S. Young Eo et al. / Computers and Chemical Engineering 24 (2000) 729-734
°"/
AI
AI~ •
A9
i
FR* TR*
II
ID A14
4
Fw* Tw
CA
Fo* To•
c,,*
A~.~.2
F C AC I
A
A4
~,.~..~ ~
As
A~..j
CA
C,~
CA"
C,
Co
~'
Fig. 5. Structure of M A S for a C S T R process.
STREAM
[ ID: PIPE1
FunclJon
Keyword
Cany
Mass
Fo*
Carry
Material
CAo
Carry
Energy
TO
CSTR
Variable
I
ID: CSTR Function
Keyword
Hold
Mass
Varlable L*
React
Materiel
CA
Generate
Energy
T
Fig. 6. F u n c t i o n - b e h a v i o r model for A~ and As.
fDA_CSTR
~
"~
/
Unit ID: CSTR P" Connection Inf°4 ~ Funotlon muum q-~-' ~ Possible lau its
Cann~led Imm: DA_PIPE1. DA_PPE8
co~med I): D.,LCn.L.OA..C~I.T.DA..~
j_o..,_c. En,~r T
I
Hold Mau: L
~II'1 ~
~,,,M.u~,~,:t._~ ~ LIes I.~d U-~: L_IO~ Reeol~ Leak
Mml~edCm~r*.l:C&.h; bm P,.,,~co.,~.r~ c~b MoreGlnmlll Enmgy:.T_N L ~ eemmle Snmgy:T_lo
I I I |
/
~ln feren,=e englnjl ) ....
~Nlglnor6Inlrorm mcalved )....
Fig. 7. D A design for A I.
733
pipe 1 and CSTR are illustrated in Fig. 6. The functions of the units, keywords, and relevant process variables are correlated. DAs exchange information according to the keywords: i.e. when A2 detects an abnormality in level, it sends to A1 a query about the variable associated with keyword m a s s . Also, in Fig. 7, a sample agent structure for the stirred-tank reactor is described. There are five directly connected agents that cooperate with A2(DA_CSTR), three measured variables, six possible faults. Let us consider a fault case of reactor leakage. At the initial stage of faulty situation, the following symptom is detected by the diagnostic agents and they start reasoning through communications. A2.Mode(L, Ab-) A2.Mode(T, Ab-) A3.Mode(C L, Ab-) A9.Mode(FR, Ab-) Ag.Mode(TR, Ab-) Al2.Mode(Fw, Ab-) A13.Mode(CR, Ab-) A 14.Mode(C-r, Ab-) For example, A2 detects the abnormally low signals in the level and temperature of the reactor and sends query messages to the connected agents: A1, A3, A4, A]0, and A14. Then, A 3 passes the message to Al1 because it does not have any related measurements associated with keyword m a s s . The followings are the reports from the diagnostic agents to operator: • Fault-- [less hold mass: L_low] 'reactor leak' from A2(DA_CSTR) • Possible fault--[less generate energy: T_low] from A2(DA_CSTR) • Possible fault-- [more carry energy: Tw_high] from A]2(DA_PIPE9) • Working-- [same control mass] from A3(DA_ CTLL) • Working--[same control energy] from A]4(DA_ CTLT) • Working--[same control mass] from A13(DA_ CTLF)
7. Conclusions
rate is controlled, and the reactor residence time is controlled by maintaining a constant level in the reactor. Constant boundary pressures and constant physical properties are assumed. The multi-agent system structure for the process is shown in Fig. 5, directly derived from the original flowsheet. Each agent takes care of the units of the process. Also the controllers have their diagnostic agents even though we assume that there is no controller failure. For readers' understanding, the sample function-behavior models for the diagnostic agents for
The multi-agent technique offers a powerful alternative for diagnostic problem solving in a lot of engineering applications. In this paper, we introduced a multi-agent diagnostic system for chemical processes where diagnostic agents communicate by exchanging messages. Agents represent the process units from the topological viewpoint and utilize the local information in their domains so that designed agents for a certain unit can be reused elsewhere for diagnostic purpose. This distributed and collaborative diagnosis was pow-
734
S. Young Eo et al. / Computers and Chemical Engineering 24 (2000) 729- 734
ered by agent communication. The suggested approach showed the potential of distributed fault diagnosis of chemical processes based on topology without building a global causal relationship model or equation-based model. Moreover, since most of the tasks that diagnostic agents do are message handlings, rapid calculation speed makes real-time fault diagnosis more feasible. We showed by a simple demonstration that a multiagent system had enough potential energy for diagnostic problem solving. However, it is worthwhile to say that still there are many problems left to fully take advantage of multi-agent system. Sensor validation, providing explanations for the propagation of faults, possible multiple fault situation handling are the challenging problems in this study.
Acknowledgements This work was funded in part by the BK 21 Program supported by the Ministry of Education and the Korea Occupational Safety & Health Agency.
References Batres, R., Asprey, S. P., & Naka, Y. (1999). A KQML multi-agent environment for concurrent process engineering. Computers & Chemical Engineering, 23S, 653-656. Becraft, W. R., Guo, D. Z., Lee, P. L., & Newell, R. B. (1994). Fault diagnosis strategies for chemical plants: a review of competing technologies. PSE91. Quebec, Canada: Montebello. Bradshaw, J. M. (1997). Software agents. San Francisco, CA, USA: AAAI Press/MIT Press. Huhns, M. N., & Singh, M. P. (1998). Readings in agents. Cambridge, MA, USA: Morgan Kaufmann Publishers, Inc. Iri, M., Aoki, K., O'Shima, E., & Matsuyama, H. (1979). An algorithm for diagnosis of system failures in the chemical process. Computers and Chemical Engineering, 3, 489-493. Kramer, M. A., & Palowitch, B. L. (1987). A rule-based approach to fault diagnosis using the signed directed graph. American Institute of Chemical Engineering Journal 33(7), 1067-1078. Mylaraswamy, D., & Venkatasubramanian, V. (1997). A hybrid framework for large scale process fault diagnosis. Computers & Chemical Engineering, 21S, 940-953. Nam, D. S. (1995). A study on fault diagnosis in continuous chemical processes using the extended symptom-fault association model. Ph.D. Thesis. Seoul, Korea: Seoul National University. Shoham, Y. (1993). Agent-oriented programming. Artificial Intelligence, 60(1), 51-92. Ygge, F., & Akkermans, H. (1999). Decentralized markets versus central control: a comparative study. Journal of Artificial Intelligence Research, 11, 301-333.