FABMAS: An Agent-Based System for Production Control of ...

10 downloads 13377 Views 274KB Size Report
Software agents allows for the implementation of distributed planning and control ... dynamic and stochastic aspects, a determination of schedules with process step ... Work center agents represent groups of parallel machines on the shop floor. We .... the simulator simply calls methods and sends data by using parameters.
FABMAS: An Agent-Based System for Production Control of Semiconductor Manufacturing Processes Lars Mönch, Marcel Stehli, and Jens Zimmermann Technical University of Ilmenau, Institute of Information Systems, Helmholtzplatz 3, 98684 Ilmenau, Germany ^/DUV0RHQFK0DUFHO6WHKOL-HQV=LPPHUPDQQ`#WXLOPHQDXGH

Abstract. In this paper, we present results on designing the architecture of an agent-based system for production control of semiconductor wafer fabrication facilities (wafer fabs). These manufacturing systems are characterized by reentrant product flows, sequence dependant setup-times, inhomogenous parallel machines, a diverse product mix, a mix of different process types, prescribed due dates of the orders and preventive maintenance due to difficult technological processes. Hence, coordination issues have to be considered during the design of a production control system for such type of manufacturing processes. We suggest a hierarchical production control scheme. We use the PROSA reference architecture in order to form the proper agency. We describe the development of a system prototype using the C++ and C# programming language and the .NET middleware. In order to allow the investigation of dynamic scenarios by emulation of the production process we suggest the use of the discrete event simulator AutoSched AP and a blackboard type data layer as a coupling component between the production control system and the simulator.

1 Introduction Recently, the electronics industry has become the largest industry in the world. The most important area in this industry is the manufacturing of integrated circuits. In the past, sources of reducing costs were decreasing the size of the chips, increasing the wafer sizes and improving the yield, simultaneously with efforts to improve operational processes inside the wafer fabrication facilities. &XUUHQWO\LWVHHPVWKDWWKHLPSURYHPHQWRIRSHUDWLRQDOSURFHVVHVFUHDWHVWKHEHVW RSSRUWXQLW\ WR UHDOL]H WKH QHFHVVDU\ FRVW UHGXFWLRQV 7KHUHIRUH WKH GHYHORSPHQW RI HIILFLHQWSODQQLQJDQGFRQWUROVWUDWHJLHVLVKLJKO\GHVLUDEOHLQWKHVHPLFRQGXFWRUZD IHUIDEULFDWLRQGRPDLQ,QWKHFRXUVHRIWKHGHYHORSPHQWRIQHZSODQQLQJDQGFRQWURO DOJRULWKPVWKHUHVHDUFKHUVDQGGHYHORSHUVKDYHWRWDNHLQWRDFFRXQWWKHQHZRSSRU WXQLWLHVLQDGYDQFHGVRIWZDUHWHFKQRORJLHV 6RIWZDUHDJHQWVDOORZVIRUWKHLPSOHPHQWDWLRQRIGLVWULEXWHGSODQQLQJDQGFRQWURO DOJRULWKPV7KHDJHQWVDUHDEOHWRDFWDXWRQRPRXVO\RQWKHRWKHUKDQGWKHLUFRPPX QLFDWLRQDELOLWLHVHQVXUH D FRRSHUDWLYH EHKDYLRU DQG WKH IXOILOOPHQW RI JOREDO V\VWHP 90D tN'0F)DUODQH39DOFNHQDHUV (GV +ROR0$6/1$,SS± ‹6SULQJHU9HUODJ%HUOLQ+HLGHOEHUJ

FABMAS: An Agent-Based System

259

JRDOV ,Q WKLV SDSHU ZH H[WHQG D V\VWHP DUFKLWHFWXUH IRU D PXOWLDJHQWV\VWHP GH VFULEHGLQ>@>@XVLQJWKH-$)0$6IUDPHZRUNDQG50,EDVHGFRPPXQLFDWLRQWR WKHFRQVLGHUDEO\PRUHFRPSOH[)$%0$6V\VWHP'XHWRSHUIRUPDQFHGLVDGYDQWDJHV RI WKH -DYD SURJUDPPLQJ ODQJXDJH DQG 50,EDVHG FRPPXQLFDWLRQ ZH GHFLGHG WR EDVH WKH )$%0$6 V\VWHP RQ WKH & DQG & SURJUDPPLQJ ODQJXDJH DQG WR XVH 1(7DVDFRPPXQLFDWLRQLQIUDVWUXFWXUH The paper is organized as follows. In section 2, we describe the manufacturing domain that is relevant for our research. We give a short outline to the hierarchical production control approach in section 3. Then we continue with an agentification based on the PROSA reference architecture. We describe the architecture of the resulting multi-agent-system in section 5. Section 6 provides information on the coupling of FABMAS with a discrete event simulator.

2 Production Control Problems for Wafer Fabs ,QWKHDQDO\VLVRIWKHDSSOLFDWLRQGRPDLQZHKDYHWRGLVWLQJXLVKEHWZHHQWKHSK\VLFDO OD\RXWRIWKHSURGXFWLRQV\VWHPWKHSURGXFWLRQFRQGLWLRQVDQGWKHFRQWUROJRDOV 7KHPDQXIDFWXULQJRILQWHJUDWHGFLUFXLWV ,& RQVLOLFRQZDIHUVLVDFRPSOH[SUR GXFWLRQSURFHVV%HWZHHQSURFHVVVWHSVRQGLIIHUHQWW\SHVRIHTXLS PHQW PDFKLQHV  DUH UHTXLUHG WR SURGXFH D PHGLXP FRPSOH[LW\ FLUFXLW %DWFK SURF HVVHV WKH SURFHVVLQJ RI GLIIHUHQW ORWV DW WKH VDPH WLPH RQ WKH VDPH PDFKLQH  VH TXHQFHGHSHQGDQWVHWXSWLPHVYHU\H[SHQVLYHPDFKLQHVDQGUHHQWUDQWIORZVDUHW\SL FDOIRUWKLVW\SHRISURGXFWLRQ7KHURXWLQJRIORWVWKHG\QDPLFHQWLWLHVLQWKHV\VWHP WDNHVSODFHEHWZHHQGLIIHUHQWJURXSVRISDUDOOHOPDFKLQHV$VLQJOHJURXSRISDUDOOHO PDFKLQHVLVFDOOHGDZRUNFHQWHU7KHZRUNFHQWHUVDUHDJJUHJDWHGLQWRZRUNDUHDV 2QWKHQH[WOHYHOZHILQGWKHIXOOZDIHUIDELHWKHGLIIHUHQWZRUNDUHDVIRUPWKH IDE :H ILQG GHFLVLRQPDNLQJ WDVNV RQ WKH IDFWRU\ OHYHO WKH ZRUN DUHD OHYHO DQG WKH ZRUNFHQWHUOHYHO:HUHIHUWR>@IRUDPRUHGHWDLOHGGHVFULSWLRQRIWKHVHPLFRQGXF WRUPDQXIDFWXULQJGRPDLQDQGWKHGHFLVLRQPDNLQJWDVNV %HFDXVHRIWKHSUREOHPVL]HDQGWKHFRPSOLFDWHGSURGXFWLRQFRQGLWLRQVLQFOXGLQJ G\QDPLF DQG VWRFKDVWLF DVSHFWV D GHWHUPLQDWLRQ RI VFKHGXOHV ZLWK SURFHVV VWHS JUDQXODULW\LVGLIILFXOW7KHUHIRUHFHQWUDOLPSOHPHQWDWLRQVRIFHUWDLQGLVSDWFKVWUDWH JLHV FDQ EH IRXQG LQ PRVW ZDIHU IDEV %HFDXVH WKH GLVSDWFK UXOHV DUH P\RSLF ZLWK UHJDUGV WR WLPH DQG VSDFH FRRUGLQDWLRQ WDVNV DUH FDUULHG RXW E\ H[SHULHQFHG SHRSOH IURPWKHSURGXFWLRQFRQWUROGHSDUWPHQWRUE\IRUHPHQ VHQLRURSHUDWRUV RQWKHVKRS IORRU +RZHYHULWVHHPVWREHSRVVLEOHWRXVHPRUHVRSKLVWLFDWHGDOJRULWKPVDQGVWDWHRI WKHDUWVRIWZDUHWHFKQLTXHVLQRUGHUWRILQGDFRPSURPLVHEHWZHHQFHQWUDOL]HGFRQWURO WDNLQJ LQWR DFFRXQW JOREDO DVSHFWV DQG IXOO\ GHFHQWUDOL]HG DOJRULWKPV ZLWK UHDFWLYH DELOLWLHV 0XOWLDJHQW V\VWHPV 0$6  RIIHU D ZD\ WR REWDLQ WKH GHVLUHG FRPSURPLVH EHWZHHQFHQWUDOL]HGFRQWURODQGIXOO\GHFHQWUDOL]HGFRQWURO

260

L. Mönch, M. Stehli, and J. Zimmermann

3 Hierarchical Production Control Approach %DVHGRQWKHGHVFULEHGSK\VLFDOGHFRPSRVLWLRQRIDZDIHUIDEZHVXJJHVWDKLHUDUFKL FDOPXOWLOD\HUDSSURDFK:HFRQVLGHUWKHIXOOZDIHUIDEDVXSSHUOHYHORIWKHKLHUDU FK\:HXVHDEHDPVHDUFKW\SHDOJRULWKP FI>@IRUPRUHGHWDLOVRIWKHDOJRULWKP IRUPLQLPL]LQJWKHGHYLDWLRQRIWKHFRPSOHWLRQWLPHRIWKHORWVIURPWKHLUSODQQHGGXH GDWH7KHDOJRULWKPXVHVDQDJJUHJDWHGPRGHORIWKHSURFHVVIORZVDQGFDSDFLWLHV:H XVHFODVVHVIURPWKH,/2*OLEUDULHVLQRUGHUWRLPSOHPHQWWKHDOJRULWKP$VDUHVXOW RIWKHDOJRULWKPZHREWDLQVWDUWDQGHQGGDWHVIRUWKHORWVIRUHDFKVLQJOHZRUNDUHD 7KHPLGOD\HULVIRUPHGE\WKHGLIIHUHQWZRUNDUHDV:HXVHDVKLIWLQJERWWOHQHFN W\SH DOJRULWKP $%6%+  LQ RUGHU WR PLQLPL]H WKH SHUIRUPDQFH PHDVXUH WRWDO ZHLJKWHGWDUGLQHVVIRUHDFKVLQJOHDUHD+HUHZHPHDVXUHWKHWDUGLQHVVZLWKUHVSHFW WRWKHZRUNDUHDUHODWHGVWDUWDQGHQGGDWHVIURPWKHXSSHUOHYHO7KLVOD\HUUHVXOWVLQ VFKHGXOHV IRU HDFK VLQJOH ZRUN DUHD 1RWH WKDW ZH FDQ WUHDW HDFK VLQJOH ZRUN DUHD VHSDUDWHO\EHFDXVHRIWKHGHFRXSOLQJHIIHFWRIWKHEHDPVHDUFKDOJRULWKP 7KHORZHUOHYHOLVEDVLFDOO\IRUPHGE\ZRUNFHQWHUV7KHZRUNFHQWHUVVKRXOGLP SOHPHQWWKHVFKHGXOHVREWDLQHGIURPWKHPLGOHYHO,QWKHFDVHRIQRYDOLGVFKHGXOHV ZH VXJJHVW WKH XVH RI D PRGLILHG FRQWUDFW QHW ZLWK SURSHU FKRVHQ FRVWV FI >@ IRU GHWDLOVRQWKHDOJRULWKP  7KHVROXWLRQRIWKHGHFLVLRQPDNLQJSUREOHPVRQWKHWKUHHOHYHOVUHTXLUHVFRPPX QLFDWLRQ DQG LQ IDFW LQWUD DQG LQWHU OD\HU FRRUGLQDWLRQ DFURVV WKH GHFLVLRQPDNLQJ XQLWV )RU H[DPSOH LW LV UHTXLUHG WR SRVWSRQH LQIRUPDWLRQ RQ PDFKLQH EUHDN GRZQV IURP WKH PDQXIDFWXULQJ SURFHVV XS WR WKH XSSHU OHYHO LQ RUGHU WR XSGDWH WKH XVHG PRGHOVIRUGHFLVLRQPDNLQJ $JHQWVDUHDQDSSURSULDWHZD\IRULPSOHPHQWLQJWKHGHVFULEHGSURGXFWLRQFRQWURO DSSURDFK EHFDXVH DJHQWV DUH E\ GHILQLWLRQ GHFLVLRQPDNLQJ HQWLWLHV DQG KDYH VWURQJ FRPPXQLFDWLRQ FDSDELOLWLHV WKDW DUH QHFHVVDU\ IRU LPSOHPHQWLQJ FRRUGLQDWLRQ VFKHPHV

4 Agentification of the Production Control Problem 6WDUWLQJZLWKWKH3526$DUFKLWHFWXUH>@ZHGLVWLQJXLVKEHWZHHQGHFLVLRQPDNLQJ DJHQWV DQG VWDII DJHQWV 'HFLVLRQPDNLQJ DJHQWV VROYH GHFLVLRQ SUREOHPV ZKLOH WKH VWDIIDJHQWVWU\WRVXSSRUWWKHPLQWKHFRXUVHRIWKHGHFLVLRQPDNLQJSURFHVV,QWKH 3526$DUFKLWHFWXUHZHILQGRUGHUSURGXFWDQGUHVRXUFHDJHQWVDVDEVWUDFWFODVVHV :HLGHQWLILHGVHYHQGHFLVLRQPDNLQJDJHQWW\SHVLQRXUDSSOLFDWLRQVFHQDULR • (DFKORWDJHQWUHSUHVHQWVDVLQJOHORW • $30DJHQWUHSUHVHQWVDSUHYHQWLYHPDLQWHQDQFHRUGHU • :RUNFHQWHUDJHQWVUHSUHVHQWJURXSVRISDUDOOHOPDFKLQHVRQWKHVKRSIORRU:H DJJUHJDWHZRUNFHQWHUDJHQWVLQWRZRUNDUHDDJHQWV7KHIDEDJHQWFRQVLVWVRIDOO WKHZRUNDUHDDJHQWV • 7RRODJHQWVDUHXVHGIRUWKHUHSUHVHQWDWLRQRIDX[LOLDU\UHVRXUFHV • :HFRQVLGHUWHFKQRORJ\DJHQWVWKDWHQFDSVXODWHWKHSURGXFWNQRZOHGJHDFFRUG LQJWRWKHSURGXFWKRORQVRI3526$

FABMAS: An Agent-Based System

261

1RWHWKDWIRURXUSXUSRVHVWKHGLIIHUHQFHEHWZHHQKRORQVDQGDJHQWVDUHQRWLPSRUWDQW FI>@IRUDGLVFXVVLRQRIUHODWHGLVVXHV  :H GHILQH GLIIHUHQW VWDII DJHQWV WKDW HQFDSVXODWH WKH VFKHGXOLQJ DQG PRQLWRULQJ IXQFWLRQDOLW\GHVFULEHGLQVHFWLRQ,Q7DEOHZHVXPPDUL]HWKHEDVLFIXQFWLRQDOLW\ RIWKHPHPEHUVRIWKHDJHQF\WKDWFRUUHVSRQGVWRWKHXSSHUDQGPLGOHYHORIWKHKLHU DUFK\ Table 1. Functionality of the Members of the Agency (Fab, Work Area, Work Center Level) Layer of the Corresponding Hierarchy Member of the Agency Entire Fab Fab Agent

Task Description

- coordination of the work of the fab scheduling agent, the monitoring agent and the work area agents - decision-making in form of sequencing the lots for applying the beam-search algorithm Fab Scheduling - preparation of running the beam-search algorithm Agent - running the algorithm - providing scheduling information Work Area Work Area - coordination of the work of the corresponding Agent work area scheduling and monitoring agent - decision-making in form of choosing the proper machine criticality measure for ABSBH - information providing services Work Area Sche- - preparation of running the ABSBH duling Agent - running the heuristic - providing scheduling information Work Cen- Work Center - implementing the work area schedules in a dispatter Agent ching manner - mediator in case of the contract-net-type allocation algorithm

5 Architecture of the Multi-agent-System FABMAS In the next section, we describe the basic architecture of our multi-agent-system FABMAS. During the course of designing the system we used the FIPA Standard and the FIPA Abstract Architecture [2] as an orientation for our own development in order to ensure compatibility to other FIPA compliant multi agent platforms. However, in some cases we deviate from the standard. 5.1 Agent Runtime Environment According to the FIPA Abstract Architecture for agent systems we developed our own agent runtime environment. The runtime environments consist of an agent di-

262

L. Mönch, M. Stehli, and J. Zimmermann

rectory service, an agent management system, an agent container and an agent communicator. These parts of the system provide services that are used by the agents to get information about other agents and to communicate and interact with them. For communication purpose the agent communicator encapsulates communication capabilities. Each communication act between agents is handled by the agent communicator. The agent directory service is the location where agents register their specification as a service-entry. Agents can ask the local directory service for finding information about other agents they want to interact with. If the information is not available, the directory service tries to find the information by contacting other directory services within the whole multi-agent-system. Hence, it is not necessary to establish a global directory service as a centralized information point in a distributed system. Each agent runtime environment needs an agent management system that administrates the life cycle of each agent. As a result the management system is responsible for creating the agents, provides potentially mobility services and removes an agent if it is not any longer needed. The last component of the agent runtime environment is the agent container as a collection of all active agents inside the environment. Figure 1 provides a UML diagram of the runtime environment and its components.

'LUHFW5XQWLPH&RPPXQLFDWRU2EMHFW 

$JHQW0DQDJHPHQW6\VWHP 



'LUHFW&RPPXQLFDWRU 



'LUHFWRU\6HUYLFH$JHQW



$JHQW5XQ7LPH  

$JHQW&RQWDLQHU





$JHQW&RPPXQLFDWRU  

0XOWLFDVW&RPPXQLFDWRU

Fig. 1. Agent Runtime Environment of FABMAS

5.2 Generic Architecture for the Agents Design Approach. From a design point of view we use a role based approach to design different types of agent characteristics. As two basic abstract roles we distinguish between decision-making agents and staff agents as PROSA describes it. Decision-Making Agents. A decision-making agent is an active part with different decision-making capabilities. We distinguish between resource agents, lot agents, technology agents, and agents for preventive maintenance (cf. Figure 2). The lot

FABMAS: An Agent-Based System

263

agent is similar to the order holon described in PROSA as well as the technology agent to the product holon. The preventive maintenance agent is specific and provides ongoing maintenance that can be planned. The resource agent role is the basic role for the fab agent, the work area agent, the work center agent, and the tool agent. The resource agents are the starting point to model the hierarchical control approach described earlier. Each multi-agent-system for production control following our approach has only one fab agent at the highest hierarchy level, one or more work area agents handled by the fab agent at the next level and one or more work center agents within each work area agent. The hierarchy is modelled by using an agent identifier which is a kind of pointer to the agents. An agent identifier encapsulates information like the agent name, the address where the agent is located and the services provided by the agent. Every agent on a higher level stores the agent identifier of the agents on the next hierarchy level. That means that the fab agent has all agent identifiers of the work area agents to provide them with the necessary information and every work area agent knows the identifiers of the work center agents they are directly responsible for. The way button up works similar, i.e, each work center agent knows his work area agent. Thus, a structure exists that allows for communication and cooperation within the same hierarchy level and between adjacent levels.

Fig. 2. Agent Hierarchy of the FABMAS Multi-Agent-System

Staff Agents. A staff agent is a special agent that has to support and improve by design the decision-making capabilities of the decision-making agents. Therefore, a staff agent typically encapsulates scheduling and monitoring algorithms. The architecture of a staff agent should support the following requirements: maintaining of a (dynamic) model of the corresponding parts of the hierarchy, • i.e., a model of the machines and its capacities and a model of the status of the lots, • maintaining the storage of at least one (fixed) reference schedule, maintaining time issues with respect to scheduling or monitoring, i.e., setting • scheduling horizons and time windows for future lot arrivals,

264

• • •

L. Mönch, M. Stehli, and J. Zimmermann

maintaining and implementing a set of performance measures that fit to the proper model of the corresponding part of the hierarchy, maintaining time issues with respect to the (allowed) running time of the solution algorithm, maintaining a set of alternative solution methods depending on the problem size and the allowed running time of the algorithm.

5.3 Implementing Communication Abilities of the Agents by Using .NET By choosing the Microsoft .NET Platform for the development of the agent system various opportunities for implementing communication abilities are given. A similar recent approach using another technology is presented in [9]. An agent communicator is part of every runtime environment and provides two capabilities for communication. The multicast communication is used for announcement of new active runtimes and by the agent directory service to keep their agent list up to date. The direct communication is used for communication purpose between single agents and is implemented by using the .NET remoting framework. The .NET remoting is a framework for distributed computing. It is ideal for the implementation of communication capabilities of multi-agent systems. The agent communicator hides all the communication capabilities from the agents and can be used as an interface. An agent that wishes to send a message to an other agent transfers the message to the agent communicator. The communicator determines the location of the agent and if the other agent is on a remote host, the .NET remoting is used for sending the message, if the agent is in the same runtime the message is directly putted into the mailbox of the receiver agent. The agent communicator is implemented as client and server at the same time and the use of threads makes it concurrently run able. If the agent communicator becomes to be a bottleneck within the communication process because the number of agents rises to a certain level during run time, it is possible to run more than one communicator.

6 Performance Assessment of the Production Control Approach We suggest a discrete event simulation approach in order to assess the performance of the production control approach. We use simulation models of wafer fabs to mimic the behavior of the shop-floor of wafer fabs. We extend the generic assessment architecture suggested in [8] to the present situation. We use the discrete event simulator AutoSched AP 7.1 that is widely accepted in the semiconductor manufacturing domain. This simulator allows for an easy application of notification/subscription mechanism, i.e., we can react to certain classes of events on the shop-floor. The use of a discrete event simulator as a tool for performance assessment of multi-agentsystems in manufacturing is described in [1]. However, our approach has the advantage that we can replace, in principle, the simulation tool by other information systems on the shop-floor that generates the required information for running the control application, i.e., FABMAS.

FABMAS: An Agent-Based System

265

6.1 Blackboard Type Data Layer

:HDGDSWWKHGDWDOD\HUGHVFULEHGE\0|QFKHWDO>@WRWKHSUHVHQWVLWXDWLRQ:HFDQ GLIIHUHQWLDWH EHWZHHQ WZR W\SHV RI LQIRUPDWLRQ LQ WKH EODFNERDUG LH ZH KDYH WR GLVWLQJXLVKEHWZHHQVWDWLFDQGG\QDPLFGDWD Table 2. Content of the Blackboard

Type of Data Static Data

Dynamic Data

Example - Information about process flows - Setup information ([LVWLQJPDFKLQHV - Information on the physical decomposition of the shop-floor - Processing times - Lot release information - Lot states - Machine states - Setup states of the machines

7KHEODFNERDUGLVXVHGLQGLIIHUHQWVLWXDWLRQV :HLQLWLDOL]HWKHEODFNERDUGDWWKHEHJLQQLQJRIWKHVLPXODWLRQUXQE\UHDGLQJDOO UHTXLUHGLQIRUPDWLRQIURPWKHFRUUHVSRQGLQJVLPXODWLRQREMHFWV  7KHPXOWLDJHQWV\VWHP)$%0$6UHDGVLQIRUPDWLRQIURPWKHEODFNERDUG  :HXSGDWHWKHREMHFWVRIWKHEODFNERDUGGXULQJWKHVLPXODWLRQUXQLQDQHYHQW GULYHQPDQQHU 7KHEODFNERDUGZDVGHYHORSHGLQWKH&SURJUDPPLQJODQJXDJH$WLPHUVWDUWV WKHPXOWLDJHQWV\VWHPLQWKHFDVHRIWLPHGULYHQWULJJHULQJ7KLVDSSURDFKDOORZVIRU WKHDSSOLFDWLRQRIUROOLQJKRUL]RQDSSURDFKHV2QWKHRWKHUKDQGHYHQWVRIWKHVKRS IORRU LH VLPXODWLRQ HYHQWV WULJJHU WKH VWDUW RI WKH PXOWLDJHQWV\VWHP )$%0$6 7KH PXOWLDJHQWV\VWHP XVHV RQO\ GDWH VWRUHG LQ WKH EODFNERDUG LQ RUGHU WR PDNH GHFLVLRQV1RLQWHUQDOLQIRUPDWLRQIURPWKHVLPXODWLRQPRGHOLVJRLQJWREHXVHG%\ XVLQJ WKLV DUFKLWHFWXUH LQ SULQFLSOH WKH VLPXODWRU FRXOG EH UHSODFHG E\ DQ DUELWUDU\ PDQXIDFWXULQJH[HFXWLRQV\VWHP 0(6 RIDUHDOIDFWRU\:HXVHWKHREMHFWRULHQWHG GDWDEDVH32(7LQRUGHUWRPDNHFHUWDLQSDUWVRIWKHEODFNERDUGSHUVLVWHQW



6.2 Communication between Discrete Event Simulator, Blackboard, and MAS The simulator and the blackboard are implemented in the C++ programming language, whereas FABMAS is implemented using .NET and the C# programming language. The blackboard is encapsulated into a dynamic link library (DLL) that is called by the AutoSched AP simulation engine during the runtime of the simulator. The communication between the simulator and the blackboard is simple, because the simulator simply calls methods and sends data by using parameters. A direct communication between FABMAS and simulator is impossible and not necessary.

266

L. Mönch, M. Stehli, and J. Zimmermann

We implemented an interfacing component in order to connect FABMAS with the blackboard. The .NET system supports the encapsulation process and also registers the component into the Windows Registry. The .NET framework creates a special class during run time, the COM callable wrapper. This wrapper offers user specific interfaces to the component and also the typical interfaces of COM. Now, the blackboard can call methods of the interface and transfer data via parameters to the FABMAS multi-agent-system. This data is forwarded by the .NET remoting component to the agent runtime environment. On the other hand, data is transported back from the MAS to the blackboard via method calls using reference parameters. The communication between the described components is shown in Figure 3. 6LPXODWRU

1(7)UDPHZRUN 5XQWLPH (QYLURQPHQW

5XQWLPH (QYLURQPHQW

&&: ,QWHUIDFH

%ODFNERDUG

5XQWLPH (QYLURQPHQW

Fig. 3. Overall Architecture of FABMAS and Architecture for Performance Assessment

7 Conclusions In this paper, we present results on the architecture of an agent-based system for production control of semiconductor wafer fabs. After a brief description of the considered manufacturing process we suggest a hierarchical production control algorithm. We explain why software agents are the proper software artifacts in order to implement the (distributed) production control algorithms. Then we describe the architecture of FABMAS in detail. We demonstrate that it is possible to use the C++ and C# programming language together with the .NET framework in order to implement a hierarchically organized multi-agent-system. We describe how FABMAS interacts with the discrete event simulator AutoSched AP. In the future, we want to use simulation models from different types of wafer fabs in order to assess the performance of the hierarchical production control approach. Acknowledgement. This research was supported by a grant from the Deutsche Forschungsgemeinschaft (DFG) Priority Research Program 1083 “Intelligent Agents and Realistic Commercial Application Scenarios”. The authors would like to thank René Drießel and Jie Zou for their valuable programming efforts in course of implementing the FABMAS prototype.

FABMAS: An Agent-Based System

267

References %UHQQDQ5::LOOLDP2$6LPXODWLRQ7HVW%HGWR(YDOXDWH0XOWL$JHQW&RQWURORI 0DQXIDFWXULQJ6\VWHPV,Q-RLQHV-$%DUWRQ55.DQJ.)LVKZLFN3$ HGV  3URFHHGLQJVRIWKH:LQWHU6LPXODWLRQ&RQIHUHQFH2UODQGR86$  ±  ),3$:HE6LWHKWWSZZZILSDRUJ  +DEHQLFKW , 0|QFK / $ )LQLWH &DSDFLW\ %HDP6HDUFK $OJRULWKP IRU 3URGXFWLRQ 6FKHGXOLQJRI6HPLFRQGXFWRU:DIHU)DEULFDWLRQ)DFLOLWLHV,Q