Development of a multi-agent-based distributed simulation platform for semiconductor manufacturing

Development of a multi-agent-based distributed simulation platform for semiconductor manufacturing

Expert Systems with Applications 38 (2011) 5231–5239 Contents lists available at ScienceDirect Expert Systems with Applications journal homepage: ww...

684KB Sizes 10 Downloads 68 Views

Expert Systems with Applications 38 (2011) 5231–5239

Contents lists available at ScienceDirect

Expert Systems with Applications journal homepage: www.elsevier.com/locate/eswa

Development of a multi-agent-based distributed simulation platform for semiconductor manufacturing Jie Lin, Qingqi Long ⇑ School of Economics and Management, Tongji University, Shanghai 200092, China

a r t i c l e

i n f o

Keywords: Multi-agent system JADE Distributed simulation Time synchronization Semiconductor manufacturing

a b s t r a c t Since the semiconductor manufacturing system is a large-scale complex system, it is difficult to solve complex problems in semiconductor manufacturing by the mathematical modeling method. This paper presents a multi-agent-based distributed simulation platform to support the extremely complex semiconductor manufacturing analysis. A multi-agent-based distributed simulation platform framework and a multi-agent collaborative control model are proposed to provide a flexible infrastructure and a multi-agent coordination mechanism in distributed environment for semiconductor manufacturing simulation. A multi-agent time synchronization model for distributed simulation is designed to keep events in the correct logical time order in simulation and steps of time synchronization are given. An interaction model and message formats are presented to describe how agents communicate with each other in simulation. The platform development and the design of graphical user interface are also exploited in this paper. Finally, evaluation of this multi-agent-based platform was illustrated with a case study. It indicates that the platform is effective in modeling and simulating the complex semiconductor manufacturing and provides the insights about how to improve the semiconductor manufacturing process with well targeted measures. Ó 2010 Elsevier Ltd. All rights reserved.

1. Introduction Semiconductor manufacturing includes four phases: wafer fabrication, wafer probe, assembly and final test. The first two phases are called front-end production, and the last two are named backend production (Uzsoy, Lee, & Martin-Vega, 1992). Wafer fabrication includes many processes, such as cleaning, oxidation, chemical vapor deposition, lithography, etching, ion implantation and so on. Wafer fabrication process is the most capital intensive and complex of the four phases (Geng, Jiang, & Chen, 2009; Zhang, Jiang, & Guo, 2009). In the phase of wafer probe, the circuits in the wafers are tested for functionality using electrical probes. The wafers are then cut into individual circuits called die, and the defective circuits are discarded. In the next phase, the dies are connected to leads and placed in ceramic or plastic shells to protect them from the environment. In the final phase, the packaged integrated circuits are sent for final functional test for customer specifications. Semiconductor manufacturing has the following characteristics: a large-scale complex system (Lee, Jiang, & Liu, 2009; Zhang et al., 2009), reentrant process flow (Lee et al., 2009; Vargas-Villamil, Rivera, & Kempf, 2003), various types of products (Mok, 2009; Li & Huang, 2009), and a large number of processing machines (Li & Huang, 2009). ⇑ Corresponding author. Address: Room 2-604-2, Building No.16, Tongji University, Cao’an Road 4800, Shanghai 201804, PR China. Tel.: +86 13636405320. E-mail address: [email protected] (Q. Long). 0957-4174/$ - see front matter Ó 2010 Elsevier Ltd. All rights reserved. doi:10.1016/j.eswa.2010.10.035

Therefore, these characteristics determine the semiconductor manufacturing system an extremely complex system. It is difficult to analyze and optimize semiconductor manufacturing process. For this complex system, it is difficult to build a mathematical optimization model, even if the model is built, model solving is most likely a NP problem because of its complexity and nonlinearity (Lu & Yuan, 2007). Therefore, it is difficult to solve the semiconductor manufacturing optimization problem with the traditional analytical methods. Currently simulation is considered as one of the most effective quantitative methods to deal with the complex system, which can deal effectively with the stochastic and dynamics of the complex system (Jin, Wang, & Gao, 2008). With the development of distributed technology, more and more people research the distributed simulation technology. The distributed simulation technology provides a new perspective for solving such issues. Compared to the centralized simulation technology, the distributed simulation technology has the following advantages: effectively solving the complex problems, improving the solving efficiency of the problems by using the parallel computing, and being in line with the distribution and heterogeneity characteristics of the complex systems’ subsystems. The distributed simulation technology provides an effective means for the semiconductor manufacturing process analysis and optimization. For the semiconductor manufacturing process simulation, there is a need for establishing a simulation platform to identify and solve problems in the semiconductor manufacturing. In

J. Lin, Q. Long / Expert Systems with Applications 38 (2011) 5231–5239

interaction protocol library and supports the application-oriented ontology and expression language (Bellifemine, Caire, & Dominic, 2007). JADE is one of the best modern agent environments. JADE is open-source, FIPA compliant and runs on a variety of operating systems, which best supports the multi-agent system development (Meng, 2007). Therefore, the distributed simulation platform in this paper is developed based on JADE. The purpose of this paper is to develop the distributed simulation platform which can simulate the semiconductor manufacturing process. Therefore, a multi-agent-based distributed simulation platform framework for semiconductor manufacturing is proposed, which can support the distributed simulation effectively, and a multi-agents collaborative control model is presented. A time synchronization model for distributed simulation is designed and steps of time synchronization are given. An interaction model and message formats are presented. Finally, we show the platform development and the evaluation of the platform with a case study. The rest of this paper is organized as follows: Section 2 describes the multi-agent-based distributed simulation platform architecture. Section 3 describes the time synchronization model. Section 4 outlines the interaction model and message formats. Section 5 describes the platform development. Section 6 presents the platform evaluation. Section 7 is conclusions.

terms of architecture design, High Level Architecture (HLA) is widely adopted in the distributed interactive simulation to build the simulation applications, which can solve the problems about the reusability of the different simulation application models and the interoperability among the simulation federations. HLA is a milestone in the distributed simulation, which has solved the problems about data collection, analysis and simulation management in the advanced distributed simulation (Breckenridge, 2003). HLA provides the basic time management services for the distributed simulation, and RTI coordinates the time synchronization among federates. In terms of development technology, the multi-agent technology (Wong, 2006; Lo’pez-Ortega, 2009) is widely adopted in building simulation applications, in order to solve the intelligence, initiative and interactivity of federates. In the field of distributed computing, agent is considered as a computing entity which has a definite purpose and can run in the distributed environment independently and persistently, and it generally has the following main characteristics: autonomy, reaction, interaction and initiative (Chen & Tu, 2009; Fazel Zarandi & Ahmadpour, 2009). A multi-agent system consists of a number of agents that work together to find answers to problems that are beyond the individual capabilities or knowledge of each entity. These agents interact with one another, typically by exchanging messages through the computer network infrastructure. Cooperation and coordination between agents is the most important feature of multi-agent systems (Peng, 1998). The agent-based distributed simulation platform can be very good in simulating the intelligence, initiative of simulation members and realizing the distributed computing. At the same time, it can also solve the problems about the coordination and control among simulation members. As one of the mainstream tools for developing multi-agent systems, JADE has a lot of advantages. It can provide the graphical user interface for the remote agents and agent container management, help developers to develop multi-agent systems with its own debugging tools, has the good agent mobile performance, complies with FIPA standards, provides the FIPA

2.1. The proposed platform framework The multi-agent-based distributed simulation platform framework consists of three layers like network communication layer, JADE middleware layer and simulation application multi-agent layer, shown in Fig. 1.

RMI Registry

JADE Distributed Agent Platform

JADE main container

JADE agent container

JRE 1.6

JRE 1.6 Network protocol stack

Fig. 1. The proposed platform framework.

JADE agent container

JRE 1.6

Interface Agent

Delivery Scheduling Agent

Machine Scheduling Agent

Delivery Agent

Buffer Agent

Machine Agent

Interface Agent

H os t 3 Delivery Scheduling Agent

Delivery Agent

Buffer Agent

Machine Agent

Interface Agent

Delivery Scheduling Agent

H os t 2 Machine Scheduling Agent

Delivery Agent

Buffer Agent

Machine Agent

Global Net Service Agent

Host 1

2. Multi-agent-based distributed simulation platform architecture for semiconductor manufacturing

Machine Scheduling Agent

5232

5233

J. Lin, Q. Long / Expert Systems with Applications 38 (2011) 5231–5239

 Network communication layer: the hosts which are located in different physical locations connect with each other together through LAN or Internet. They achieve collaborative and interactive simulation through TCP/IP. The objects in semiconductor manufacturing like machines are also located in different locations, and so the distributed environment not only simulates the semiconductor manufacturing environment exactly but also improves the simulation efficiency. In addition, JADE provides the enough protocols for agent communication and interaction.  JADE middleware layer: JADE middleware provides agent platform, and packages and classes for developing specific applications. The agent registration, management and interaction are realized based on this layer. JADE is the multi-agent developing software in Java language, so it needs Java environment like JRE 1.6 for support. Every agent is identified using unique identifier AID in JADE platform, and the communication and coordination among agents depend on this unique identifier. Process program is as follows: firstly, one agent sends a message to its own agent container. Then the container processes the message and sends the message to the target agent container according to AID and IP of the target agent host. Finally, the target agent container receives and processes the message, and sends the message to the target agent. So the target agent implements some actions according to the message content.  Simulation application multi-agent layer: this layer includes some application agents for semiconductor manufacturing modeling and simulation. According to the semiconductor manufacturing process, there are seven different types of agents in this platform. The seven types of agents are divided into two types like Global Network Service Agent (GNSA) and Memberagent which extend agent class and implement their own attributes and methods. As the core of distributed simulation, GNSA manages Memberagents and coordinates their time synchronization. Memberagent is the parent class of simulation application agents such as Machine Agent, Buffer Agent, Delivery Agent and so on. These simulation application agents extend the attributes and methods of Memberagent and implement their own attributes and methods for special applications. Because the layer provides basic classes for building simulation model, it is easy for users to build the simulation model through setting up the parameters and methods. Therefore, it improves the efficiency of simulation modeling.

2.2. The proposed multi-agent collaborative control model The multi-agent collaborative control model describes the interaction and collaboration relationship of the seven types of agents. Their relationship is showed in Fig. 2. In order to improve the reusability of simulation models and the efficiency of simulation models development, on the one hand, GNSA, Interface Agent and Memberagent extend agent class, on the other hand, the simulation application agents extend Memberagent.  Global Network Service Agent (GNSA): a Global Network Service Agent takes care of initializing agent registration, management, data consistency check and time synchronization. It includes two types like Global GNSA and Distributed GNSA which have the same inner structure, attributes and methods.  Machine Agent (MA): a Machine Agent constantly monitors the production situation and machine situation like lots of production, machining time, setup time, machine fault rate and machine maintenance time.  Buffer Agent (BA): a Buffer Agent is responsible for storing materials and semi-finished products related to special machines.  Delivery Agent (DA): a Delivery Agent takes care of delivering materials and semi-finished products from one buffer to another buffer.  Machine Scheduling Agent (MSA): a Machine Scheduling Agent provides the machining scheduling policies. In other words, they determine which and how many processes the machines select. Different policies have different influences on the manufacturing process and results.  Delivery Scheduling Agent (DSA): a Delivery Scheduling Agent provides the delivery scheduling policies which determine which materials or semi-finished products the delivery tools select and when the materials or semi-finished products are delivered. The same process can be machined by many machines through changing machines’ states, so the machines’ bottlenecks can be alleviated and machine utilization can be increased by the best delivery scheduling policy.  Interface Agent (IA): an Interface Agent is responsible for defining the agents, inputting parameters, displaying simulation dynamic process and storing the simulation results into the data base. Based on various designs of agent-based system in

Global GNSA

Distributed GNSA 1

Distributed GNSA 2

MSA

Material flow

BA 1

MA 1

BA 2

Distributed GNSA n

DSA

DA 1

DA n

BA n-1

MA n

IA 1

IA 2

IA n

Data base

Data base

Data base

Fig. 2. The proposed multi-agents collaborative control model.

BA n

5234

 







J. Lin, Q. Long / Expert Systems with Applications 38 (2011) 5231–5239

the literature (Jeng, Schiefer, & Chang, 2003; Lin, Tan, & Shaw, 1998) and our platform architecture, we propose a reactive agent architecture that consists of the following components: Registration: it handles the registration in JADE platform and between other agents, and gets AID for an agent. Data Consistency Check: it starts the initialization of each agent and checks the data consistency of all logic of the simulation models in all agents before platform starts. If the exception is threw out, it will call exception handling mechanism. Communication Channel: it handles incoming and outgoing messages for an agent. It adopts the ACLMessage that JADE provides for agent communication. Message Parser: when an agent receives an incoming message from Communication Channel, the message will be pressed into its receiving message queue according to its timestamp. Its message parser will select the first message from its receiving message queue, analyze the message type and corresponding event lists, and delivering them to event processor to perform appropriate operations. All messages that the agent creates will be pressed into its sending message queue according to timestamps and will be sent to the target agents by SendMessage( ) method. Event Processor: the event processor interprets the decomposed messages delivered from message parser, analyzes its contents, then undertakes the appropriate action based on the message type/event lists and finally presses new messages that the events creates into the sending message queue.

3. Multi-agent time synchronization 3.1. Design of GSNA for time synchronization GNSA receives the Lower Bound on Time Stamp (LBTS) in the message format from the Memberagents, calculates the minimum of all LBTSs, and then return the minimum as Greatest Available Logical Time (GALT) to all the Memberagents. 3.2. Design of Memberagent for time synchronization According to logical time management strategy in HLA, the relationship of a federate to other federates is divided into two types: logical time regulating and logical time constrained. So there are four logical time management states: not only logical time regulating but also constrained, neither logical time regulating nor constrained, only logical time regulating and only logical time constrained. Similarly, in this paper Memberagents are divided into four types:  Only logical time regulating Memberagent: its time synchronization affects other Memberagents’ time synchronization but is not affected by other Memberagents’ time synchronization, like Machine Agent. So its LBTS is constantly 1.  Only logical time constrained Memberagent: its time synchronization is affected by other Memberagents’ time synchronization but does not affect other Memberagents’ time synchronization, like Buffer Agent. So its LBTS can be calculated by the formula below:

LBTSi ¼ MinðLtimej þ Lookaheadj Þ Ltimej is the current logical time of Memberagentj that affects it, Lookaheadj is the looking ahead time of Memberagentj, i, j = 1,2,. . .n.  Not only logical time regulating but also constrained Memberagent: Its time synchronization not only affects other Memberagents’ time synchronization but also is affected by other Memberagents’ time synchronization. When it is considered

as the logical time regulating Memberagent, its LBTS is 1. When it is considered as the logical time constrained Memberagent, its LBTS can be calculated according to only logical time constrained Memberagent.  Neither logical time regulating nor constrained Memberagent: it is not referred in this platform, so we do not discuss it in this paper. 3.3. The proposed multi-agent time synchronization model The time synchronization has two parts: GNSA’s time synchronization and Memberagent’s time synchronization. The multiagent time synchronization model is illustrated in Fig. 3. GNSA’s time synchronization steps: Step Step Step Step

1: 2: 3: 4:

receiving LBTS of all the Memberagents; calculating LBTSmin as GALT; returning LBTSmin to all the Memberagents; backing to Step 1.

Memberagent’s time synchronization steps: Step 1: sending their LBTS to GNSA; Step 2: waiting for LBTSmin and assign it to simulation clock Ltime; Step 3: judging the self types:  Only logical time regulating Memberagent: judging whether Ltime is equal to its Lookahead Time (LH), if the result is true, implementing time synchronization, creating the new Lookahead, then calculating new LH = Lookahead + Ltime and finally sending LH to all related only logical time constrained Memberagents and not only logical time regulating but also constrained Memberagents; if the result is false, skipping to Step 4.  Only logical time constrained Memberagent: judging whether Ltime is equal to its LBTS, if the result is true, implementing time synchronization, waiting for LH from the related only logical time regulating Memberagents and not only logical time regulating but also constrained Memberagents, and then calculating new LBTS = Min(LHi), i = 1, 2, . . . , n; if the result is false, skipping to Step 4.  Not only logical time regulating but also constrained Memberagent: its time synchronization depends on its own logical time management state. So it can refer to only logical time regulating Memberagent and only logical time constrained Memberagent. Step 4: backing to Step 1. 4. Agent interaction 4.1. Interaction model The interaction model specifies the relationship and communication way–the interactions among agents. Fig. 4 shows interactions among agents for semiconductor manufacturing. Each agent requests other agents’ services through calling the Request( ) method, and the requested agents reply the requests through calling the Reply( ) method. The platform operator sets up simulation parameters and initializes Interface Agent, then Interface Agent initializes the other six types of agents. GNSA and all simulation application agents will register in JADE platform and get their AID. Each agent finds other agents’ locations through IP and AID, and then communicates

5235

J. Lin, Q. Long / Expert Systems with Applications 38 (2011) 5231–5239

Only logical time regulating Memberagent or not only logical time regulating but also constrained Memberagent

GNSA

Only logical time constrained Memberagent or not only logical time regulating but also constrained Memberagent

Send LBTS Send LBTS

Receive LBTS

Calculate LBTSmin

Ltime=LBTSmin

Send LBTSmin

N

N Ltime=LH

Ltime=LBTS

Y

Y

Implement time synchronization

Implement time synchronization

LBTS Min(LHi)

LH= Lookahead Ltime

Send LH to related logical time constrained Memberagents Fig. 3. The proposed multi-agent time synchronization model.

with other agents. In order to improve the platform robustness, GNSA initializes the data consistency check among all agents. If the exception is threw out, it will call exception handling mechanism. First, Machine Agent sends a request for a machining task to Machine Scheduling Agent, and then Machine Scheduling Agent checks the state and essential conditions like the machine state, materials and minimum lots and so on, if they are satisfied, Machine Scheduling Agent assigns the task to it; if not satisfied, Machine Scheduling Agent refuses this request. Second, the Machine Agent that has a machining task asks Buffer Agent for materials, and Buffer Agent replies it and sends the materials to the Machine Agent. After finishing the machining task, the Machine Agent sends semi-finished products to next buffer. Third, Delivery Agent asks Delivery Scheduling Agent for a delivering task, and then Delivery Scheduling Agent inquires Buffer Agent whether it has materials or semi-finished products to deliver and checks Delivery Agent’s priority, if the result is true, Delivery Scheduling Agent assigns certain amount delivering task to Delivery Agent. Finally, Delivery Agent delivers these material or semi-finished products to the target buffer. In addition, this process is accompanied by time synchronization among agents in semiconductor manufacturing simulation. Each event will trigger a request for time synchronization. GNSA takes care of time synchronization and coordinating all other agents. Interface Agent gets the simulation data created in the simulation process, sends it into data base and supplies the platform operator with semiconductor manufacturing simulation dynamic display. 4.2. Message formats 4.2.1. ACLMessage Agents communicate with each other by exchanging messages. JADE provides agent communication language called ACLMessage. Messages exchanged by agents have a format specified by the ACL language defined by the FIPA international standard for agent

interoperability. A message contains the sender of the message, the list of receivers, the communicative intention, the content, the content language and the ontology. A message in JADE is implemented as an object of the jade.lang.acl.ACLMessage class that provides get and set methods for handling all fields of a message. 4.2.2. Message formats A Message format describes the attributes, content compositions and rules of a message. In order to save a lot of pages, we list several message formats in this paper. The message format is defined as a class which includes essential attributes and methods. All message formats are implemented the serialization.  Time synchronization message format: it describes the attributes, content compositions and rules of a time synchronization message which is used for agent communication. The description of time synchronization message format is given in Table 1. Sender_type and Receiver_type include four types like not only logical time regulating but also constrained, neither logical time regulating nor constrained, only logical time regulating and only logical constrained. A message has two types: TSO and RO message. Lookahead is the looking ahead time of logical time regulating Memberagent. LBTS is the GALT of all agents.  Material message format: it describes information of materials in semiconductor manufacturing, like unique identifier ID, Name, Amount, Volume and Weight. The Description of material message format is given in Table 2. An agent can call Getamount( ) and Setamount( ) method to get and set materials amount.  Display Message Format: it describes dynamic data of simulation application agents. The description of machine display message format is given in Table 3. The dynamic data will be sent into data base by Interface Agent for dynamic display and summary calculation.

5236

J. Lin, Q. Long / Expert Systems with Applications 38 (2011) 5231–5239

Interface Agent

GNSA

Machine Scheduling Agent

Delivery Scheduling Agent

Machine Agent

Delivery Agent

Buffer Agent

Initialize Start(Agent)

Register (AID) Request(data consistency check)

Reply(check result) Request(task) Reply(task) Request(material) Reply(material) Send(material) Send(product) Request(task) Inquire(product) Answer(product) Reply(task) Deliver(task) Request (synchronization) Reply(synchronization)

Send(simulation data) Display

Fig. 4. Agent interaction diagram.

Table 1 Description of time synchronization message format. Sender Receiver Sender_type Receiver_type Type Lookahead LBTS

An agent which sends a message to target agents An agent which receives a message from target agents Logical time type of a sender Logical time type of a Receiver Time synchronization message type Looking ahead time of logical time regulating Memberagent GALT of all agents

Table 3 Description of machine display message format. Machine ID Machine Name State Time Material ID Material name Amount Volume Weight

Table 2 Description of material message format. ID

Unique identifier ID of material

Name Amount Volume Weight Getamount( ) Setamount( )

Name of material Amount of material Volume of material Weight of material Method of getting the amount of material Method of setting the amount of material

5. The development of the multi-agent distributed simulation platform for semiconductor manufacturing To validate the proposed platform architecture and prove the applicability and usefulness of the proposed platform architecture for semiconductor manufacturing, we developed the platform.

Unique identifier ID of machine Name of machine Different states for different machining tasks Machining time Unique identifier ID of material which processed by this machine Name of material which processed by this machine Amount of material which processed by this machine Volume of material which processed by this machine Weight of material which processed by this machine

5.1. Development environment The development environment for the platform is described below:      

OS: WinXP. Java environment: Jdk 1.6. Development platform: Eclipse 3.2. Middleware: JADE. Development language: Java. Visual software: Visual Editor 1.2.

5237

J. Lin, Q. Long / Expert Systems with Applications 38 (2011) 5231–5239

5.2. Platform development The multi-agent-based platform of this research is build upon Java Agent Development (JADE) platform. JADE architecture enables agent communication through message exchange based on FIPA specifications of agent communication language (ACL). As an integrated development environment, Eclipse provides the powerful plug-in function so that an external software can be integrated into the integrated development environment as an plug-in. In this platform development, packages and classes of JADE and visual software are integrated into Eclipse platform as plug-ins. 5.2.1. UML model of main classes in the platform development The platform is developed based on the modular design method which improves module reusability and platform development efficiency. The object oriented method is adopted to develop this platform. The description of platform UML model is illustrated in Fig. 5. In order to extend the platform and develop the platform secondly easily, all classes have an unified interface. GNSA and Memberagent extend the Agent class which is a base class, and

have several inner classes which achieve many functions in simulation, such as time synchronization. Many inner classes which implement some actions like Register, Synchronization, Receive_message, Dispose_message, Start, and so on, extend OneShotBehaviour or CyclicBehaviour which are provided by JADE. Classes like Start, Judge_action, NewLBTS and NewLookahead register their states as FSMBehaviour, and they are implemented from one class to another class according to states change. Simulation application agents such as Machine Agent, Machine Scheduling Agent, Buffer Agent, Delivery Agent and Delivery Scheduling Agent which extend Memberagent class are used to implement semiconductor manufacturing objects and actions. In simulation applications, users only need to realize the instantiation of simulation application agents through the graphical user interface. 5.2.2. Design of graphical user interface In order to operate the platform easily and build special semiconductor manufacturing simulation models, a friendly graphical user interface is designed. The main interface of distributed simulation platform is given in Fig. 6. The main interface includes many functions like selecting main host, configuring the distributed

Agentinfo

Setup Global Network Service Agent

Synchronization

- Membernum: int - LBTS: int - MemberAgent:Vector(Agentinfo)

Receive_Message

Register

Agentinfo Agent

CyclicBehaviour

Dispose_Message

Receive_Lookahe

Machine Agent

Register

Memberagent Machine Scheduling Agent

Buffer Agent

Delivery Scheduling Agent

Delivery Agent

- GNS: AID # LBTS: int # Lookahead: int # Logical time: int # ControllingAgent: Vector # ControlledAgent: Vecto r

Start

OneShotBehaviour

Judge_action

NewLBTS

NewLookahead

Fig. 5. UML model of main classes in the platform development.

FSMBehaviour

5238

J. Lin, Q. Long / Expert Systems with Applications 38 (2011) 5231–5239

Fig. 6. The main graphical user interface of multi-agent distributed simulation platform.

environment, defining the name, type and relationship of agents and setting up simulation parameters. The graphical user interface provides a standardized management for simulation operation, integrated many functions like building simulation models, starting and suspending simulation and displaying dynamic simulation process and simulation results.

6. Evaluation An semiconductor manufacturing process of an integrated circuit manufacturer in Shanghai is simulated for evaluating the proposed platform. The semiconductor manufacturing includes a lot of processes. Each process can be machined by several different machines, while each machine can machine several different processes. Firstly, the semiconductor manufacturing simulation model must be built before operating the platform. According to actual semiconductor manufacturing process, a simplified semiconductor manufacturing process is designed. It includes a Machine Scheduling Agent, 120 Machine Agents, and 40 Buffer Agent. Delivery

Fig. 7. Etching machines simulation results.

Agent in this simulation model is not discussed. Secondly, the distributed environment is configured and all of agents are located in four different hosts. The Interface Agents are initialized and GNSA is created in the main host by the platform. Finally, the simulation model is simulated after other agents initialized. The etching machines utilization is showed in Fig. 7. At the logical time 900, 1225 and 2270 nearby, etching machines are full load, while at other times, The etching machines utilization is kept between 20% and 60%. So the etching machines utilization is not desirable. According to this information, we can optimize the process scheduling and change machines to eliminate the machining bottleneck and improve machines utilization. In addition, materials, products and buffer simulation information is well used to optimize the semiconductor manufacturing process. 7. Concluding remarks Since the semiconductor manufacturing system is a large-scale complex system, it is difficult to solve complex problems in semiconductor manufacturing by the mathematical modeling method. The distributed simulation technology provides a new perspective for solving such problems. In this paper, we discuss the multiagent-based distributed simulation platform architecture, the time synchronization model for distributed simulation, the interaction model and message formats and so on. In addition, the UML model and the graphical user interface of the platform are given. Finally, the evaluation of the proposed platform is made through a case. It seems obvious that the multi-agent distributed simulation platform can simulate the complex semiconductor manufacturing effectively and efficiently, and find out key problems in semiconductor manufacturing through dynamic display and final simulation results. According to the key problems, manufacturers can adopt well targeted measures. So the simulation platform can help to improve the semiconductor manufacturers’ efficiency and effectiveness. The next work is to further improve the platform and develop new complex simulation cases.

J. Lin, Q. Long / Expert Systems with Applications 38 (2011) 5231–5239

Acknowledgements This work was supported by National Natural Science Foundation, China (No. 71071114), National High-Tech R&D Program, China (No. 2007AA04Z151), National Natural Science Foundation, China (No. 70832005), and Shanghai Leading Academic Discipline Project (No. B310). References Bellifemine, Fabio, Caire, Giovanni, & Dominic, Greenwood (2007). Developing multiagent systems with JADE. John Wiley & Sons Ltd. Breckenridge, A. et al. (2003). Distributed, on-demand, data-intensive and collaborative simulation analysis. Future generation computer systems, 19(6), 849–859. Chen, R. S., & Tu, M. R. (2009). Development of an agent-based system for manufacturing control and coordination with ontology and RFID technology. Expert systems with applications, 36(4), 7581–7593. Fazel Zarandi, M. H., & Ahmadpour, P. (2009). Fuzzy agent-based expert system for steel making process. Expert systems with applications., 36(5), 9539–9547. Geng, N., Jiang, Z. B., & Chen, F. (2009). Stochastic programming based capacity planning for semiconductor wafer fab with uncertain demand and capacity. European Journal of Operational Research, 198(3), 899–908. Jeng, J. J., Schiefer, J., & Chang, H. (2003). An agent-based architecture for analyzing business processes of real-time enterprises. In IEEE proceedings enterprise distributed object computing conference (pp. 86–97). Jin, C., Wang, G., & Gao, P. (2008). Review of supply chain simulation based on HLA. Journal of System Simulation, 20(4), 817–822. Lee, Y. F., Jiang, Z. B., & Liu, H. R. (2009). Multiple-objective scheduling and real-time dispatching for the semiconductor manufacturing system. Computers and operations research, 36(3), 866–884.

5239

Li, T. S., & Huang, C. L. (2009). Defect spatial pattern recognition using a hybrid SOM–SVM approach in semiconductor manufacturing. Expert Systems with Applications, 36(1), 374–385. Lin, F. R., Tan, G. W., & Shaw, M. J. (1998). Modeling supply-chain networks by a multi-agent system. In IEEE proceedings of the thirty-first annual Hawaii international conference on system science (pp. 5–114). Lo’pez-Ortega, Omar, & Israel, Villar-Medina (2009). A multi-agent system to construct production orders by employing an expert system and a neural network. Expert Systems with Applications, 36(2), 2937–2946. Lu, L. F., & Yuan, J. J. (2007). The single machine batching problem with identical family setup times to minimize maximum lateness is strongly NP-hard. European Journal of Operational Research, 177(2), 1302–1309. Meng, A. et al. (2007). Genetic algorithm based multi-agent system applied to test generation. Computers and Education, 49(4), 1205–1223. Mok, P. Y. (2009). A decision support system for the production control of a semiconductor packaging assembly line. Expert Systems with Applications, 36(3), 4423–4430. Peng, Y. et al. (1998). A multi-agent system for enterprise integration. In Proceedings of the third international conference on the practical applications of agents and multi-agent systems (PAAM-98) (pp. 1–14). Uzsoy, R., Lee, CY., & Martin-Vega, LA. (1992). A review of production planning and scheduling models in the semiconductor industry. Part I: System characteristics, performance evaluation, and production planning. IIE Transactions, 24(4), 47–60. Vargas-Villamil, F. D., Rivera, D. E., & Kempf, K. G. (2003). A hierarchical approach to production control of reentrant semiconductor manufacturing lines. IEEE Transactions on Control Systems Technology, 11(4), 578–587. Wong, T. N. et al. (2006). Dynamic shopfloor scheduling in multi-agent manufacturing systems. Expert Systems with Applications, 31(3), 486–494. Zhang, H., Jiang, Z. B., & Guo, C. T. (2009). Simulation-based optimization of dispatching rules for semiconductor wafer fabrication system scheduling by the response surface methodology. International Journal of Advance Manufacturing Technology, 41(1–2), 110–121.