a kqml multi-agent environment for concurrent process engineering

4
e Pergamon Computers and Chemical Engineering Supplement (1999) S653-5656 o 1999 Elsevier Science Ltd. All rights reserved PH: S0098·1354/991OO161·1 A KQML Multi-Agent Environment for Concurrent Process Engineering Rafael Batres, Steven P. Asprey, Tetsuo Fuchino and Yuji Naka Tokyo Institute of Technology, Research Lab. of Resources Utilization, Naka Lab. 226-8503 Yokohama, Midori-ku, Nagatsuta 4259 Abstract This paper describes the current development of a concurrent process-engineering environment in which the design tasks are supported by KQML speaking agents. In this environment, distributed agents provide software interoperability, data-exchange, and collaboration facilities: Keywordsi.concerrenr process engineering, interoperability, multi-agent systems. multi-dimensionalframework Introduction Concurrent process engineering (McGreavy et al., 1995) approaches involve all aspects of the life-cycle of a plant during its design process. Interoperability among systems is critical for a concurrent engineering environment. in which CAD programs, steady state simulators. dynamic simulators, and other tools are expected to share and ex- change data that changes through a series of negotiations and trade-offs as processed during the design process. Furthermore, the emergence of virtual enterprises where competitors, customers, and suppliers form an inter- organizational system demands interoperability of highly decentralized software components. Multi-agent systems are well-suited for imple- menting and deploying dynamically changing software components (Jennings and Wooldridge. 1998a). Several multi-agent systems have been proposed to support con- current engineering in the mechanical. electrical and aviation domains. In the process-engineering domain. Struthers (1997) proposes a generic design of autono- mous agents for the modeling of design processes. Such modeling is used for organizing and managing a pressure relief and blowdown study. Agents exchange messages using a predefined protocol for encoding the agent's in- tentions during the design process in which functionally similar agents negotiate toward the best design alterna- tive. In this paper we present the development to date of an agent-based environment based on a multidimensional framework for representing physical, behavioral. and operational aspects of the plant. We also illustrate the use of agents for the generation of an abstracted representa- tion of the plant topology. Current approaches to software interoperability Several factors are involved in enabling concurrent proc- ess engineering: (I) application-independent data and knowledge representation, (2) application-independent communication protocols and languages. (3) resource management services. Application-independent data, and knowledge representation constitutes the first step toward interoperability. A number of approaches 'for data and knowledge exchange have been proposed to date. Among these. STEP efforts promote the development and use of standard data models for the excha nge of data through the use of a neutral format that is independent of the application . Likewise. knowledge interchange format (KIF) (Genesereth, 1995) and common ontologies (Guarino, 1996) provide an alternative way to share data and knowledge. The differences between both ap- proaches is that, while STEP standards make a commit- ment to common data, ontologies make a commitment to the specification of the concepts and relationships of a specific domain of discourse without necessarily sharing the whole data. Existing approaches for communication languages in- clude CORBA Interface Definition Language (IDL) and KQML. An IDL interface allows a software component to call the methods of a remote software component (Orbix, 1997). Although CORBA contributes to the interoperability of software components, the information contained in the IDL definitions (attributes and meth- ods) does not guarantee that the components will inter- operate correctly (Gennari, 1997). In order to get better interoperability, software compo- nents need to share common semantics in an explicit way and that is what KQML provides. KQML is an agent communication language (ACL) based on the speech act that provide semantics and syntax for mes- sages to be exchanged between software components. Resource management services are the mechanisms that allow agents to find each other without knowing the exact locat ion of the participants. CORBA Object Re- quest Broker. and the Agent Name Server in Lockheed Martin's KQML agent toolkit (Lockheed Martin, 1997) provide low-level coordination services . The Agent approach Agent-Based Software Integration (Cranefield-Purvis, 1995) supports interoperability in a heterogeneous and distributed environment. This provides a common ground where data and knowledge are shared through the exchange of typed messages among software com- ponents called agents. Other advantages of multi-agent systems include better means to conceptualize computer systems, distributed problem solving, and integration of legacy systems (Jennings and Woolrdige, 1998b). An agent can be viewed as an autonomous (that it may act without human intervention), reactive, cooperative

Upload: rafael-batres

Post on 02-Jul-2016

216 views

Category:

Documents


3 download

TRANSCRIPT

e PergamonComputers and Chemical Engineering Supplement (1999) S653-5656

o 1999 Elsevier Science Ltd. All rights reservedPH: S0098·1354/991OO161·1

A KQML Multi-Agent Environment forConcurrent Process Engineering

Rafael Batres, Steven P. Asprey, Tetsuo Fuchino and Yuji Naka

Tokyo Institute of Technology, Research Lab. of Resources Utilization, Naka Lab.226-8503 Yokohama, Midori-ku, Nagatsuta 4259

AbstractThis paper describes the current development of a concurrent process-engineering environment in which the designtasks are supported by KQML speaking agents. In this environment, distributed agents provide softwareinteroperability, data-exchange, and collaboration facilities:

Keywordsi.concerrenr process engineering, interoperability, multi-agent systems. multi-dimensional framework

IntroductionConcurrent process engineering (McGreavy et al., 1995)approaches involve all aspects of the life-cycle of a plantduring its design process. Interoperability among systemsis critical for a concurrent engineering environment. inwhich CAD programs, steady state simulators. dynamicsimulators, and other tools are expected to share and ex­change data that changes through a series of negotiationsand trade-offs as processed during the design process.Furthermore, the emergence of virtual enterprises wherecompetitors, customers, and suppliers form an inter­organizational system demands interoperability of highlydecentralized software components.Multi-agent systems (MA~) are well-suited for imple­menting and deploying dynamically changing softwarecomponents (Jennings and Wooldridge. 1998a). Severalmulti-agent systems have been proposed to support con­current engineering in the mechanical. electrical andaviation domains. In the process-engineering domain.Struthers (1997) proposes a generic design of autono­mous agents for the modeling of design processes. Suchmodeling is used for organizing and managing a pressurerelief and blowdown study. Agents exchange messagesusing a predefined protocol for encoding the agent's in­tentions during the design process in which functionallysimilar agents negotiate toward the best design alterna­tive.In this paper we present the development to date of anagent-based environment based on a multidimensionalframework for representing physical, behavioral. andoperational aspects of the plant. We also illustrate the useof agents for the generation of an abstracted representa­tion of the plant topology.

Current approaches to software interoperabilitySeveral factors are involved in enabling concurrent proc­ess engineering: (I) application-independent data andknowledge representation, (2) application-independentcommunication protocols and languages. (3) resourcemanagement services. Application-independent data, andknowledge representation constitutes the first step towardinteroperability. A number of approaches ' for data andknowledge exchange have been proposed to date. Amongthese. STEP efforts promote the development and use ofstandard data models for the exchange of data through

the use of a neutral format that is independent of theapplication . Likewise. knowledge interchange format(KIF) (Genesereth, 1995) and common ontologies(Guarino, 1996) provide an alternative way to share dataand knowledge. The differences between both ap­proaches is that, while STEP standards make a commit­ment to common data, ontologies make a commitment tothe specification of the concepts and relationships of aspecific domain of discourse without necessarily sharingthe whole data.Existing approaches for communication languages in­clude CORBA Interface Definition Language (IDL) andKQML. An IDL interface allows a software componentto call the methods of a remote software component(Orbix, 1997). Although CORBA contributes to theinteroperability of software components, the informationcontained in the IDL definitions (attributes and meth­ods) does not guarantee that the components will inter­operate correctly (Gennari, 1997).In order to get better interoperability, software compo­nents need to share common semantics in an explicitway and that is what KQML provides. KQML is anagent communication language (ACL) based on thespeech act that provide semantics and syntax for mes­sages to be exchanged between software components.

Resource management services are the mechanisms thatallow agents to find each other without knowing theexact locat ion of the participants. CORBA Object Re­quest Broker. and the Agent Name Server in LockheedMartin's KQML agent toolkit (Lockheed Martin, 1997)provide low-level coordination services .

The Agent approachAgent-Based Software Integration (Cranefield-Purvis,1995) supports interoperability in a heterogeneous anddistributed environment. This provides a commonground where data and knowledge are shared throughthe exchange of typed messages among software com­ponents called agents. Other advantages of multi-agentsystems include better means to conceptualize computersystems, distributed problem solving, and integration oflegacy systems (Jennings and Woolrdige, 1998b).An agent can be viewed as an autonomous (that it mayact without human intervention), reactive, cooperative

5654 Computers (lilt! Chemical Engineering Supplement (/999) S653--5656

component with a goal-directed behavior (pro-active)and responsiveness to' changes within its environment(e.g. local network, Internet) (Jennings and Wooldridge,op. cit.). In multi-agent systems, such agents interact in anetwork environment to extend the problem solving ca­pabilities of individual agents. In these systems, softwareintegration is possible through the use of a predefinedcommunication language, such as KQML, by means ofwhich the agents exchange messages, and find resources.An agent communication language presents a number ofcharacteristics that include a defined syntax, semanticsand pragmatics.

A multidimensional framework for agent configura­tionProcess engineering involves a number of coIiaborativeinterventions of multiple specialists that propose, modifyand evaluate the design from their own particular per­spective. In the context of the software tools that are usedfor each of these activities, inconsistencies betweenmodeled behaviors and designed facilities are oftenfound.To overcome these limitations, the agents are configuredfollowing a multidimensional framework for representingphysical, behavioral, and operational aspects of the plant.This framework is based on MDOOM (Multi­dimensional Object Oriented Model) (Lu et al., 1997)which is intended to guarantee consistency along the life­cycles of the enterprise, plant and product.The physical dimension (structure) contains equipmentand plant life cycles. Agents configured under this di­mension are responsible for the design, retrofitting andmaintenance or the components of the plant (equipment),their topology and their spatial representation.The behavioral dimension comprises agents that act onobjects with properties that come up as a result of theinteraction between the physical dimension and exoge­nous influences from other behavior objects. For exam­ple, the level of an isolated storage-tank is given as anattribute of the material that is being stored that dependson the geometry (physical dimension) and the flow-rateat the outlet (an exogenous variable). In some cases, agiven structure might have not one, but many differentassociated behaviors. For example, a tank could embodya chemical-reaction behavior and/or a flashing-behaviorand/or a storing behavior. It is important to mention thatbehavior agents (such as simulators) evaluate changes inprocess attributes such as temperature or pressure, butare not responsible for how to operate the plant.

The management dimension is composed of a variety ofagents that deal with control and operating tasks. Theseagents are responsible for activities that range from en­terprise management, planning and scheduling, plant­wide control, through to local advanced and regulatorycontrol. This dimension also includes knowledge andactivities for controlling, and operating actionable de­vices (such as control valves) from the physical dimen­sion.

Each agent is responsible for performing activities re­lated to the existence and design features of objects thatbelong to only one dimension. Thus, structure agents canadd equipment instances and update their design pa-

rameters, while management agents coordinate designand operation activities.

For consistency purposes, data and knowledge are ex­changed following ontologies that encode objects ofeach dimension, their relationships and attributes. Formore details about the ontology refer to (Batres, 1998).Due to space limitations we will dedicate the rest of pa­per on aspects related to agents of the physical dimen­sion.

Support ofdifferent viewsMultiple ontologies provide semantically rich data andknowledge models about multiple views of the design. Aglobal ontology based on the multi-dimensional model isused to ensure the integration and consistency of theviews. We define two views of the plant structure: (1)one in which there is a strong commitment towards therepresentation of connections as association objects andanother in which, (2) there is a strong commitment to­wards the representation of connections as tuples. (1) ismore appropriate for representing objects to be shown ina PFD or P&ID, enabling more efficient storage andretrieval and (2) is more appropriate. for mereological'and topological reasoning mereological about the plantstructure (part-whole relations).In (1), an instance of a connection is used to link twoobjects through their respective ports. For example, "thevalve-status of the valve connected to the suction-port ofpump P-OI is open." In (2), graphs (of nodes and edges)are used to represent the connectivity of the equipmentand composite structure. Each graph can be decomposedin to different levels of abstraction in which a node rep­resents a subgraph. For any level of abstraction thegraph is represented through tuples of edges of at least 4attributes (name, associatedtopology, inputnode, out­putnode). The attributes inputnode and outputnodeare the knowledge representation of equipment objects.

eGU composite objectsIn order to improve the flexibility in operating the plantand to supply local actions with global knowledge,(Naka et al. 1997) have proposed that the plant shouldbe divided into smaller units or COUs (ControlledOroup Units). COUs represent composite objects thatcan be operated relatively independently from the rest ofthe plant.

A COU can be identified from the flowsheet topology asan assembly of pieces of equipment surrounded by con­trol valves. Operations are then carried out at multiplelevels of abstraction: plant-wide level, COU level,equipment level.

For the simulation of startup and other operating modes,a plant-wide inventory control strategy based on theCOU concept provides a mechanism that is independentfor any kind of process (Naka et al., 1998). In thismechanism, the inventory control! is used to coordinatethroughput manipulations inside each COU. Manipula­tions of flow by means of operating valves and pumpson the boundaries of the COU and/or on by-pass lines

I From Greek uepoo which means part2 Component inventory CJn also be considered

Figure 2. KQML message structure

tation and platform. A KQML message consists of aperformative and a number of parameters (keywords)with their respective values. The design environmentimplements most of them including stream-all, tell, eos,

5655

locating

Vat..

IJt"UOl r n m' ('1IlC'_TprrJ.rioff

(_ r ...·a.Jl..eDl5.r g2egsl·agentIrKeiTer cgu-tlgy-a;entI content

(q-.ary ((ed;e (node-from ?x)(node-to ·CGU-J"))

Ir.Ply-wlth ql.langu.... CLIPS.ontology graph-representation

Figure 1. System architecture of thedesign environment

as routing messages to the adequate agents,agents, and providing cross-platform interfaces.

The user interface and simulator are implemented in theG2 intelligent system shell (Gensyml'", 1997), whichprovides GU! development tools, an inference engine,and the necessary elements to build a simulation envi­ronment. This 02 agent relates to the rest of the agentsthrough a transducer, which communicates to G2 bymeans of remote procedure calls.

Two agents implemented in CLIPS (CLIPS, 1997) areresponsible for the processing of mereological andtopological queries about the plant: the elementary­topology-agent and the cgu-topology-agent. The ele­mentary-topology-agent exchanges messages with theg2-agent to update its local knowledge base or to answerqueries from 02. This agent also generates paths ofnodes between pairs of control valves and labels thepaths that correspond to the same CGU. If a change inthe flowsheet topology occurred the cgu-topology-agentwould ask the elementary-topology-agent to send itspaths to generate an abstracted topology of cgu assem­blies. Although these agents differ in the declarativecode for mereological computations, the code for topo­logical processing is completely reusable, as the knowl­edge representation used for the graph is the same inboth agents. The C interface in CLIPS provides themeans for wrapping the agent code.

Agent CommunicationKQML is a protocol language developed by the ARPAsupported Knowledge Sharing Effort that provides astandard interface that is independent of the implernen-

Computers and Chemical Engineering Supplement (/999) S653-S656

inside the CGU facilitates bringing the plant to the finalstate.

) A transducer is an external program that links to the applicationthrough remote procedure calls

System architectureThe engineering environment (Figure I) is composed ofa number of programs that are distributed in differentcomputers connected to a local network. A CAD-likeGU! acts as a man-machine interface for flowsheet con­struction (structure dimension), analysis and communi­cation with the rest of the system. Other structural agentsare responsible for the processing of mereological andtopological queries about the plant.

The management dimension encompasses rules for in­ventory control, procedures and equations for local con­trollers and reasoning systems. Control agents in thisdimension generate actions that are applied over anyactionable structure objects such as valves, pumps orcompressors Among these agents, CGU-agents are re­sponsible for the operation of each CGU composite viewof the plant. These agents can be distributed throughoutthe computer network so as to reduce the processingload.The behavioral dimension contains models for each kindof behavior object and procedures. These procedurescoordinate the input to the models and the propagation ofthe properties of the material and energy flows. Softwarecomponents in this dimension include a simulator, amodule for the calculation of physical properties, and anumerical solver. A simulator runs as daemon that can beactivated or deactivated as needed. Simulation modelsare composed of differential equations that simulate thedynamics of the plant during every transition that occursin the plant. A model manager is composed of proce­dures used for the propagation of the material and energyflows, and their properties.

ImplementationThe programs to be integrated are implemented in differ­ent programming-languages (C, C++, Java, and CLIPS),running on different machines and/or platforms. Trans­ducers3 or wrappers built around the Lockheed Martin'sKQML agent toolkit (Lockheed Martin, 1997) are usedto incorporate agent-communication language capabili­ties in each of the applications. This toolkit includes a anapplication programming interface or KRIL (KQMLRouter Interface Library) that provides a number of pro­gramming interface routines to be called from the bodyof the agent (the code or application that solves the localproblem). Each agent has a separate router process thathandles the messages between the agent and the rest ofthe network. The router is implemented through UNIXpipes or through starting a thread in the case of Java. Anevent handler is used for each performative to tell theagent which function or method to call when a messagearrives. These event handlers are registered with therouter as KQML performatives.

The agent name server (ANS) included in the agent tool­kit is used as a facilitator agent. This facilitator permitsagents to locate and address other agents by name (ratherthan IP addresses and ports). It also performs tasks such

8656 Computers and Chemical Engineering Supplement (1999) S653-S656

insert, achieve, ask-if, ask-all. For example, the messagein Figure 2 represents a query that a g2-agent sends to acgu-tlgy-agent to obtain the instances of node (the graphrepresentation of pieces of equipment in Figure 4) thatare the input to CGU-3 shown in the CGU topology ofFigure 5. In this example, the KQML performativestream-all is used to get all the instantiations of :contentthat are true in the local knowledge base of the :receiver.The language and ontology or data model are specified toverify that the receiver understands what the sender de­livers. If the :receiver (cgu-tlgy-agent) understands thelanguage and ontology, it would then send the g2-agent aseries of messages with the tell performative containingthe answers to the query. Finally cgu-tlgy-agent con­cludes with an eos (end of stream) message to tell the g2­agent that no more instances are found.

Once a message is received, actions are determined by

/t oll/ .....

n .U, . ...... C'g ,,-tln · · 'lIont . . ..... .. c:qu- t lvy· a~ .n t

..'_ . 1.....1' ; 2 -alOa.nt 11'_ . 1..... g l · . i1e n lt__ t • • t

1_' . Dt,_.tnod. - Iro- - LeV- U · ) '.... lna". · t .. - 1iT'L\M- VALVIE-l - ,(nod e - t o · CW o ] · , lnod . - t o ·ceo-)-.

Ii.-....h '- t . q l , i . ...... l)"·" . ql. ....... .. CLI PS . ....,..p CLI ' S__ t olotn' graph-r apr• ••nt ation __ t olon IIr.ph· r .~r • • • n t . t Lon

I I <,

r_ V. ....... c:g,,· tl gy - a9 -nt'1'_ 01 _ .. 9 2-. ; on"• 1. - ..0. 1r - t o q l. :,. ........ Cl"IPS. _ t olO9Y O... ph - ..op r• • • nt ot l on

I

Figure 3. Responses that cgu-tlgy-agent sends to theg2-agent with the tell performative

Figure 5. CGU topology of an HDS process

......._ - ):[6

Figure 4. Stripping area of an HDS process

the agent's internal state. Inserting and retracting data inthe local knowledge base of the agent is one way tochange the internal state of the agent.

ConclusionsThe multi-agent paradigm offers a powerful alternativefor software conceptualization and integration. A multi­agent environment was introduced in which agents com­municate by exchanging messages encoded in KQML,which serves as a communications and control protocol.

This approach offers the potential of a plug-and-playfunctionality in which a new agent can be incorporatedinto the system whenever it speaks the same languageand understands at least one of the ontologies. Theagents are conceptualized and implemented around amulti-dimensional framework that distinguishes behav­ioral, physical and management aspects of activities,along with tools and information (or knowledge) to sup­port consistency along the life-cycle of the plant.

It is worthy to say that despite all the advantages offeredby agent systems, still there are many research issues tobe attended in order to exploit all the potential of thisparadigm. Undoubtedly, multi-agent applications willbenefit with the advent of new developments in high­performance networks (Mckae, 1997). Consequently,real-time collaboration and integration in wide-areanetworks or even the Internet may become a reality.

AcknowledgementsThis work was funded by Japan Society for the Pro­motion of Science, Japan, and by the Ministry of Edu­cation of Japan. We are indebted to Robin McEntire,and the Advanced Research Group at Lockheed-MartinMission Systems for their invaluable collaboration inthis project.

ReferencesBatres, R., Lu, M. L., Naka. Y. (1998) Proc. of the 5th

ISPE Int. Conference on Concurrent Engineering,Tokyo July 15-/7

CLIPS (1997) CLIPS 6.05 Reference ManualCranefield, S., Purvis, M. (1995) Proc. of the Workshop

011 Intelligent Information Agents, 4th lnternationalConference 011 Information and Knowledge Man­agement, Baltimore, USA.

Gennari, J., Stein, A. R., and Musen, M. A. (1996) Proc.of the J(j" Knowledge Acquisition WorkshopKAW'96 Banff, Alberta, Canada

Gensym Corporation, Inc. (1997) G2 Version 5.0 Refer­ence Manual

Guarino, N. (1996) Proc. of the J(j" Knowledge Acqul­sition Workshop KAW'96 Banff, Alberta, Canada

Jennings, N. R., Sycara, K., M. Wooldridge (l998a) Int.J. ofAut. Agents and Multi-Agent Systems 1, 7-38

Jennings, N. R., Wooldridge, M. J (1998b) Agent Tech­nology: Foundations, Applications and Markets,N.R. Jennings & M. Wooldridge Eds. pp. 3-28

Lockheed-Martin C2 Integration Systems (1997) Soft­ware User's Manual for KQML Rev. 4.2

Lu, M. L., Batres, R.. Li, H. S, Naka, Y. (1997) CompoChem. Engng., 21, SIl-SI6

McGreavy, c., Wang, X. Z., Lu, M. L. and Naka, Y.(1995) Concurrent Eng. Res. and Appl., 3(4), 281­293

McRae, G. J. (1997) Communications of the ACM40(11),75-83

Naka, Y., Lu M.L.and Takiyama H. (1997) CompoChem. Engng. 21(9) 997-1007

Naka, Y., Batres, R., Fuchino (1998) Operational De­sign and its Benefits in Real-Time Use. FOCAP098,Snowbird, Utah, USA

Orbix Programmer's Guide (1997)Struthers, A. (1997) Compo chem. Engng, 21, S83-88