a kqml multi-agent environment for concurrent process engineering
Post on 02-Jul-2016
216 Views
Preview:
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 exchange 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 interorganizational system demands interoperability of highlydecentralized software components.Multi-agent systems (MA~) are well-suited for implementing and deploying dynamically changing softwarecomponents (Jennings and Wooldridge. 1998a). Severalmulti-agent systems have been proposed to support concurrent engineering in the mechanical. electrical andaviation domains. In the process-engineering domain.Struthers (1997) proposes a generic design of autonomous 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 intentions during the design process in which functionallysimilar agents negotiate toward the best design alternative.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 representation of the plant topology.
Current approaches to software interoperabilitySeveral factors are involved in enabling concurrent process 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 approaches is that, while STEP standards make a commitment 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 include 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 methods) does not guarantee that the components will interoperate correctly (Gennari, 1997).In order to get better interoperability, software components 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 messages 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 Request 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 components 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 capabilities 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 configurationProcess engineering involves a number of coIiaborativeinterventions of multiple specialists that propose, modifyand evaluate the design from their own particular perspective. 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 (Multidimensional Object Oriented Model) (Lu et al., 1997)which is intended to guarantee consistency along the lifecycles of the enterprise, plant and product.The physical dimension (structure) contains equipmentand plant life cycles. Agents configured under this dimension 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 exogenous influences from other behavior objects. For example, 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 enterprise management, planning and scheduling, plantwide control, through to local advanced and regulatorycontrol. This dimension also includes knowledge andactivities for controlling, and operating actionable devices (such as control valves) from the physical dimension.
Each agent is responsible for performing activities related 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 exchanged 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 paper on aspects related to agents of the physical dimension.
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 towards 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 represents a subgraph. For any level of abstraction thegraph is represented through tuples of edges of at least 4attributes (name, associatedtopology, inputnode, outputnode). 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 control 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. Manipulations 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 environment. 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 elementarytopology-agent and the cgu-topology-agent. The elementary-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 assemblies. Although these agents differ in the declarativecode for mereological computations, the code for topological processing is completely reusable, as the knowledge 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 construction (structure dimension), analysis and communication 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 inventory control, procedures and equations for local controllers 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 responsible 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 procedures used for the propagation of the material and energyflows, and their properties.
ImplementationThe programs to be integrated are implemented in different programming-languages (C, C++, Java, and CLIPS),running on different machines and/or platforms. Transducers3 or wrappers built around the Lockheed Martin'sKQML agent toolkit (Lockheed Martin, 1997) are usedto incorporate agent-communication language capabilities in each of the applications. This toolkit includes a anapplication programming interface or KRIL (KQMLRouter Interface Library) that provides a number of programming 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 toolkit 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 delivers. 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 concludes with an eos (end of stream) message to tell the g2agent 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 multiagent environment was introduced in which agents communicate 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 behavioral, physical and management aspects of activities,along with tools and information (or knowledge) to support 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 highperformance 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 Promotion of Science, Japan, and by the Ministry of Education 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 Management, 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 Reference Manual
Guarino, N. (1996) Proc. of the J(j" Knowledge Acqulsition 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 Technology: Foundations, Applications and Markets,N.R. Jennings & M. Wooldridge Eds. pp. 3-28
Lockheed-Martin C2 Integration Systems (1997) Software 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), 281293
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 Design 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
top related