Keywords

1 Introduction

Semiconductor manufacturing is characterized by a set of complex manufacturing processes to produce integrated circuits, i.e. chips. The manufacturing process starts with thin silicon discs, so called wafers. Several hundred chips can be produced on each single wafer by fabricating the chips layer by layer in a wafer fab. Then electrical tests identify the dies that are likely to fail when packaged in a probe/sort facility. Probed wafers are sent to assembly facilities where dies that fulfill the requirements are put into a package. In a last step, the assembled dies are sent to a test facility where they are tested to ensure that only high-quality products are delivered to customers. Wafer fab and sort operations are subsumed under frontend operations, whereas assembly and test operations are combined into backend operations. The manufacturing process in the semiconductor industry is very complex because of reentrant process flows on extremely expensive machines, long cycle times, and multiple sources of uncertainty. Capacity expansions are time-consuming and very expensive. The related decisions are based on forecasts that are rarely accurate since the demand is highly volatile [1, 18].

Supply chain management (SCM) issues have become more and more important in the last decade for the semiconductor domain. This is because of the fact that front-end operations are often performed by highly industrialized countries, while backend operations are typically carried out in countries where the labor rates are cheaper. Semiconductor supply chains are an extreme field for SCM solutions from an algorithmic and also from a software point of view [1]. At the same time, the decision support for semiconductor supply chains is often based on packaged Advanced Planning and Scheduling (APS) software [11, 14, 21] that is not tailored to the specific needs of semiconductor supply chains.

While some multi-agent systems (MAS) are proposed for operational decisions in single wafer fabs [15, 16, 29] to the best of our knowledge, this is not the case for semiconductor supply chains. In the present paper, we present design and implementation details for the S2CMAS prototype, a MAS that is hybridized with web services to provide planning and control functionality for semiconductor supply chains.

The paper is organized as follows. In the next section, we describe the problem. Therefore, we identify requirements for an agent-based decision support in enterprise-wide semiconductor supply chains. In addition, related literature is discussed. The design of the S2CMAS prototype is specified in Subsect. 3. The results of simulation experiments with the prototype are presented in Subsect. 4. Conclusions and future research directions are provided in Sect. 5.

2 Problem Setting

2.1 Requirements for Agent-Based Planning and Control

The planning functionality and control functionality for semiconductor supply chains include demand and inventory planning, network design, long and mid-term capacity planning, master planning, order release planning, i.e. operational production planning, and various production control activities such as scheduling and dispatching. Demand and inventory planning, network design, capacity planning and master planning are performed on the network level, while order release planning and scheduling and dispatching is often carried out for single frontend and backend facilities. A distributed hierarchical decision making process (cf. [24] for details) is implemented in semiconductor supply chains [18] where two entities are in a hierarchical relationship if they exhibit some asymmetric relationship with respect to their decision rights, their information status, or simply the point of time where decisions are made [24].

It is well-known that monolithic packaged software systems for planning and control purposes have some limitations in semiconductor supply chains (cf. [14, 21, 23]) since it is challenging to deal with the demand uncertainty, the long cycle times, and the reentrant flows. Therefore, companies tend to offer more specialized functionality by extending commercial software packages or using fully home-grown solutions. In this situation, the packaged software systems often provide the data for the tailored systems. However, since supply chains are distributed and contain by nature decision-makers with a certain level of autonomy, it seems that planning and control functionality offered by software agents provides some advantage in this situation.

Next, we summarize requirements that have to be fulfilled by a planning and control system for semiconductor supply chains:

  1. 1.

    The total functionality of the system must span the entire range of planning and control functions required to manage a semiconductor supply chain ranging from long-term demand and inventory planning for the entire network to short-term detailed scheduling for single wafer fabs. Therefore, the distributed hierarchical structure of semiconductor supply chains has to be taken into account by the system architecture. This means that a decentralized decision-making has to be allowed by the planning and control system. This includes especially iterative feedforward and feedback cycles to implement communication or even negotiation processes among the different decision-making entities.

  2. 2.

    The system has to be able to communicate with other application systems and human decision makers in the semiconductor supply chain to foster an information exchange. Existing communication standards have to be respected if appropriate.

  3. 3.

    It is required that the planning and control system is scalable, i.e., increasing the size of the base system and the base process does not lead to a loss in performance of the provided planning and control algorithms.

  4. 4.

    The frequent changes in the base system and process of semiconductor supply chains have to be reflected by the system architecture, i.e., it is desirable that certain functionality of the overall planning and control system can be replaced during run time of the system. Therefore, a clear separation between the planning and control algorithms and the planning and control system is required.

  5. 5.

    The planning and control system has to allow for a situation-dependent parameterization of the provided planning and control algorithms.

  6. 6.

    Since the system must be able to support planning decisions, it is required that appropriate what-if analysis functionality is provided. That means especially that the system is able to derive meaningful variants of given base scenarios to analyze and understand the consequences of future decisions.

  7. 7.

    The system must be capable to support assessing the performance of the planning and control algorithms using simulation. Simulation can also be used as a tool that supports decisions or can be used as an important ingredient of a what-if analysis.

  8. 8.

    The system must be able to integrate functionality that is provided by other application systems in the semiconductor supply chain since it cannot be expected that the proposed system provides the entire production planning and control functionality.

  9. 9.

    There is often more than one service candidate to provide a specific functionality. In this situation, an appropriate selection of service candidates has to be supported by the proposed system.

  10. 10.

    The system architecture must be open to adopt new trends in manufacturing such as cloud computing [8] or in-memory computing [7].

According to Schneeweiss [24] it is possible to implement distributed hierarchical decision-making systems by means of MAS if the corresponding software agents are equipped with optimization and advanced coordination capabilities. At the same time, agents allow for a meaningful, rich communication. Since MAS are distributed systems, the scalability of the system is ensured. Therefore, we are interested in providing agent-based decision support for semiconductor supply chains to fulfill the requirements 1–4.

The concept of decision-making and staff agents is provided by the Product Resource Order Staff Architecture (PROSA) reference architecture [27] in holonic manufacturing. Staff agents support decision-making agents in course of solving their decision problems. They encapsulate algorithms for decision-making. PROSA is extended towards generic application domains by differentiating between resources, tasks, and task types in [26]. We argue that a separation between decision-making and staff agents is useful to fulfill the requirements 5–7. A separation of planning and control algorithms from the planning and control system is ensured by differentiating between decision-making and staff agents. Staff agents are able to provide situation-dependent parameter settings in the various planning and control algorithms, i.e. requirement 5 is supported. Scenario agents as specific staff agents fulfill requirement 6. Discrete-event simulation can be embedded into staff agents to meet the requirement of simulation-based support of performance assessment and decision-making capabilities.

The remaining three requirements are supported by hybridizing the MAS with web services. Planning and control functionality provided by legacy systems can be encapsulated into web services. The operations of these web services can be used by the software agents, i.e., the web services can be discovered and engaged by software agents. Therefore, this allows us to meet requirement 8. Techniques for web service selection can be incorporated into staff agents. This results in supporting requirement 9. Finally, requirement 10 is supported by web services since web services are considered as one of the key enabling technologies for cloud manufacturing [7]. Moreover, web services support to a certain extent requirement 2 since they are based on human readable and machine readable, i.e., XML-based communication protocols.

2.2 Related Work

We discuss related work with respect to MAS in SCM, methods to hybridize service-oriented architecture (SOA) approaches with MAS and known MAS applications in semiconductor manufacturing. Agent-based approaches for SCM are discussed quite often in the literature. Requirements for agent-based systems to provide SCM functionality are discussed in [5]. We refer to [13] for a related survey.

There are several attempts described in the literature to equip MAS with SOA techniques and vice versa. Huhns [9, 10] argues that agents, on the one hand, have to applied in SOA-based information systems to support service composition and selection, to contribute the rich communication abilities, and to allow for a proactive behavior of the resulting hybrid systems. On the other hand, SOA solutions offer operability in a standardized way, and they are widely accepted in the industry. A similar discussion is presented in [28].

The ALIVE architecture described in [3] differentiates between a coordination layer that is based on software agents and a service layer that is formed by web services. The web services are invoked by the software agents of the coordination layer. The differentiation between agents and services in ALIVE is somewhat similar to the differentiation of decision-making and staff agents in the PROSA architecture, i.e., the staff agents from PROSA are replaced by web services. Decision support systems based on software agents that invoke services to build and run decision models are proposed in [4]. The proposed architecture is applied to solve a collaborative planning, forecasting and replenishment problem in supply chains. In a certain sense, this proposal is similar to replacing certain services provided by a staff agent in PROSA by web services.

An agent-based approach for supply chain collaboration is discussed in [12]. Web services are enriched by coordinating software agents to ensure autonomy and proactiveness of the decision-making entities in the supply chain. Combining agents with web services for decision-making in supply chains is also proposed in [22]. However, rather simple supply chains compared to semiconductor supply chains are considered in these two papers. The Supply Chain Optimization and Protocol Environment (SCOPE) [19] allows for a rapid prototyping of supply chains. The nodes of a supply chain are represented by simple agents that are able to make production planning decisions based on linear programming models.

It is expected that industrial agent-based systems for automation will incorporate SOA concepts since web services can be implemented directly on devises [2]. The agents can be integrated with the devises or act as a service orchestrator. A framework for developing service-oriented agent-based manufacturing systems is proposed in [6]. It equips the ANEMONA approach for developing holonic manufacturing systems with service-based features that are required to apply ANEMONA for the SCM domain. However, in contrast to [6], we believe that the decision problems should be the starting point to design MAS applications for complex supply chains.

MAS approaches applied to the semiconductor manufacturing domain are rarely discussed in the literature. We are only aware of the FABMAS system prototype [15, 16] and a MAS for scheduling with hard real-time restrictions in wafer fabs described in [29]. FABMAS is a hierarchically organized MAS that provides scheduling support for single wafer fabs. The FABMAS design is based on PROSA. The system is implemented using the ManufAg framework [17]. SCOPE is applied in [20] to model fairly simple semiconductor supply chains. Simulation models based on system dynamics are used to study the dynamic behavior of the supply chain. However, the strengths of agent-based approaches such as rich communication capabilities or distributed computing abilities are not fully used in this paper. Overall, to the best of our knowledge, agent-based systems for semiconductor supply chains are not described in the literature so far. Based on the discussion in this subsection, it seems reasonable to develop hybrid systems that involve software agents and web services at the same time.

3 Design and Implementation of the S2CMAS Prototype

3.1 Identifying Appropriate Agents

We start by identifying appropriate software agents. This step should be based on the analysis of the decision problems to be solved. Because of requirement 1, it makes sense to extend the FABMAS system towards the new functionality needed to carry out planning and control tasks in semiconductor supply chains. This means especially that the agents provided by FABMAS will be included in S2CMAS too. The most important decision-making and staff agent types summarized in Table 1 are considered in the S2CMAS prototype. The abbreviation DM refers to decision-making agents while S indicates that a staff agent is used.

Table 1. Main functionality of the members of the FABMAS agency

The agents in Table 1 exploit the fact that lots, a collection of wafers, are the moving entities in wafer fabs, and that a single wafer fab can be decomposed into several work areas. Each work area consists of different work centers. A single work center is formed by machines that provide the same functionality. The fab agent is responsible for decomposing the overall scheduling problem for a single wafer fab into a series of scheduling problems for work areas. Start and completion dates for the different work areas are assigned to each single lot using lot planning algorithms. The scheduling problem for a single work area is solved by the shifting bottleneck heuristic. Iterative exchange processes to compute modified start and completion dates based on the work area schedules are performed (cf. [16] for details of the algorithms).

Based on the additional production planning and control functionality described in Subsect. 2.1, new decision-making agent types are identified for the S2CMAS system to support planning and control activities in the supply chain. We take into account the distributed hierarchical structure of semiconductor supply chains when identifying the agents. This approach again supports the fulfillment of requirement 1. The identified decision-making agent types are summarized in Table 2.

Table 2. Main functionality of the additional DM agents of the S2CMAS agency

Note that several refinements and extensions of the agency in Table 2 are possible. For instance, a decision-making agent for inventory management might be added. We see from Table 2 that most of the identified agents are responsible for network-wide tasks whereas the agents in Table 1 only provide functionality to control a single wafer fab.

Next, we summarize various staff agents in Table 3 that support the agents from Table 2 in the course of their decision-making. Staff agents encapsulate decision rules and support the decision-making agents to perform actions. We see from Table 3 that several staff agents exist that provide planning functionality. Moreover, the scenario agents and the simulation agents might provide support for several decision-making agents that have to provide planning functionality. The simulation agent offers discrete-event simulation functionality. Services encapsulate a concrete functionality that is stateless. They might offer a concrete planning or simulation functionality.

Table 3. Main functionality of the additional staff agents of the S2CMAS agency

3.2 Providing Planning Functionality by Web Services

The different staff agent types identified in Subsect. 3.1 offer the following generic functionality:

  1. 1.

    Select an appropriate service that provides the requested functionality.

  2. 2.

    Prepare to use the specific functionality by collecting the required data.

  3. 3.

    Based on the data from Step 1, a situation-dependent parameterization of the requested functionality, for instance a specific planning algorithm, is performed.

  4. 4.

    Use the functionality, for instance, run the planning algorithms. This might include terminating the functionality based on specific events, for example, by reaching a given maximum computing time.

  5. 5.

    Inform the corresponding decision-making agents about the results of the previous steps.

Since it is unlikely that the entire planning and control functionality will be developed from scratch, decision-making and staff agents might use planning and control functionality from legacy systems. Therefore, it is desirable that the functionality is offered by web services since many packaged software systems are equipped with web services. Composite services can be used by orchestrating existing services. Step1 of the generic functionality ensures that an appropriate service candidate is chosen for each task of a service composition. This requires the solution of appropriate optimization problems.

We differentiate three different ways how services can be used by agents in the S2CMAS prototype. The first approach is based on the idea that a web service is directly invoked by a decision-making agent. Such a setting is reasonable if only a single service candidate exists and if most of the generic functionality for staff agents is not required. This means especially that a situation-specific parameterization of the functionality does not offer much value. The second option uses a staff agent between the web service and the decision-making agent. This option is favorable if the full staff agent functionality is required. In a certain sense, staff agents serve as orchestrators. The third option, however, hybridizes the first and the second option. Here, services can be invoked by decision-making agents and by staff agents depending on the problem to be solved. The three principle approaches are shown in Fig. 1.

Fig. 1.
figure 1

Usage of services by agents in the S2CMAS prototype

3.3 Implementation Issues

The S2CMAS prototype is implemented in the C# programming language by extending the FABMAS system [15, 16] that is based on the ManufAg framework [17]. ManufAG allows for implementing distributed hierarchically organized MAS. The web services are stateless. They are coded in the C# programming language. The communication between the agents of the MAS and the web services is based on the HTTP protocol.

The simulation agents are based on simulation services provided by the commercial simulation framework AutoSched AP 9.3 that is coded in the C ++ programming language. The simulation agents build and parameterize AutoSched AP simulation models in a problem- and situation-specific manner. Moreover, a preliminary analysis of the simulation results is performed by these agents. Appropriate demand signals are generated by a demand generator that is implemented in the C# programming language.

Discrete-event simulation is used to assess the S2CMAS prototype. The center point of the proposed architecture is a blackboard-type data layer coded in the C ++ programming language in the memory of the simulation computer that is between the S2CMAS prototype and a simulation model of the base system of the semiconductor supply chain. It contains all the relevant business objects such as lots, machines, and products with corresponding routes. These objects are updated whenever status changes occur in the simulation using the notification mechanism of the simulation engine AutoSched AP. The overall architecture is shown in Fig. 2.

Fig. 2.
figure 2

Performance assessment architecture

4 Simulation Experiments with the S2CMAS Prototype

4.1 Provided Planning Functionality

A finite planning horizon of length T divided into discrete periods of equal length is given. Deterministic demand information is available for the planning horizon. The objective is to determine the amount of each product to release into the wafer fabs in each period so as to minimize the costs caused by these releases. Therefore, we use backward termination to determine the release quantities based on demand D gt for product g in period t. For the sake of simplicity, we assume that D gt is measured in number of lots. We set the release period \( r_{j} \) for each lot \( j \) that belongs to D gt by

$$ r_{j} := \left\lfloor {{ \hbox{max} }\left( {t - FF\sum\limits_{k = 1}^{{n_{j} }} {p_{jk} } ,0} \right)} \right\rfloor , $$
(1)

where \( p_{jk} \) is the processing time of process step \( k \) of lot \( j \) and \( n_{j} \) is the number of process steps for lot \( j \). The quantity \( FF \ge 1 \) is the flow factor, i.e. the ratio of the amount of time a lot spends in a wafer fab and the raw processing time \( \sum\limits_{k = 1}^{{n_{j} }} {p_{jk} } \). Of course, we assume that an amount of \( \left( {FF - 1} \right)p_{jk} \) is associated with the waiting time for process step \( k \) of lot \( j \). All lots to be released in the current period \( t \) are distributed uniformly over this period. The resulting detailed release date for lot \( j \) is \( s_{j} \). The obtained release schedule is implemented until the next backward termination is computed along the timeline in a rolling horizon setting.

The quantity \( FF \) has to be chosen in Eq. (1). Since the cycle times of the lots increase in a nonlinear manner with increasing resource utilization that is a result of the release plan, we propose to use discrete-event simulation to find appropriate \( FF \) values. We consider the future demand to come up with a FF value for this situation. The demand leads to a certain bottleneck utilization that can be used to determine a FF value \( FF_{1} \). In addition, realized FF values from already executed release plans are taken into account to compute a second FF value \( FF_{2} \). Several FF values from an equidistant grid of the interval \( \left[ {{ \hbox{min} }\left( {FF_{1} ,FF_{2} } \right),{ \hbox{max} }\left( {FF_{1} ,FF_{2} } \right)} \right] \) are used to determine release plans. These plans are then simulated using FIFO dispatching of the lots. The \( FF \) values associated with the release plane are calculated. The FF value \( FF^{ * } \in \left[ {{ \hbox{min} }\left( {FF_{1} ,FF_{2} } \right),{ \hbox{max} }\left( {FF_{1} ,FF_{2} } \right)} \right] \) leading to the smallest absolute difference between the measured FF value and the FF value used for the backward termination is selected. Next, the lots to be released in the current period are assigned to individual wafer fabs by applying simple load balancing techniques.

The release plans are used to compute start and completion dates for the lots with respect to each single work area. This information is necessary to determine detailed schedules based on the distributed shifting bottleneck heuristic (DSBH).

The order release planning functionality is implemented in the S2CMAS prototype by adding an order release agent. This decision-making agent interacts with a single Fab planning agent. This agent is responsible to run the backward termination algorithm that is implemented by means of a web service. In order to parameterize the backward termination algorithm correctly, several simulation runs are necessary that are provided by a simulation agent. Therefore, the second option for invoking services by agents is used in this planning scenario. The final release plan is submitted to the fab agent of a single wafer fab that is responsible to determine lot plans that are a necessary ingredient to compute detailed schedules for the lots in each single wafer fab using the DSBH approach. The described situation is shown in the UML sequence diagram in Fig. 3.

Fig. 3.
figure 3

Interaction of the different agents in the order release planning scenario

4.2 Simulation Environment and Design of Experiments

A small-sized enterprise-wide semiconductor supply chain that consists of two identical wafer fabs is used within the simulation experiments for applying the order release functionality and detailed scheduling in a rolling horizon manner. Each of them contains three work areas. A single work area consists of three work centers, among them one with batch processing machines, i.e., several lots are processed at the same time in a batch on a single machine, and another one with sequence-dependent setup times. The first work area of each wafer fab is visited two times. Each wafer fab has 15 machines and two products with 24 process steps.

We expect that the performance of the order release mechanism depends on the demand setting. Therefore, we generate normally distributed demand that leads to 70 % and 96 % planned bottleneck utilization in the two wafer fabs. In addition, a coefficient of variation of 0.1 and 0.25 is considered to generate the demand. The first setting refers to low variability demand (VL) and the latter to demand with high variability (VH). In addition, we consider two simple approaches to assign release quantities to a specific wafer fab. The first approach is load-based, i.e., the wafer fab with the smallest work in progress (WIP) is assigned to release the lots associated with a certain product and period. The second approach randomly assigns with equal probability one of the two fabs to the lots. The products and the periods are taken into account in a given sequence for both approaches.

Simulation runs are performed for 200 days. The length of a single period is two days. The release plan is revised after a single period, i.e., only the first period is implemented. A planning horizon of \( T = 6 \) periods is considered. The DSBH is used every two hours with a scheduling horizon of three hours. The scheduling subproblems that are a result of the SBH approach are solved using list scheduling based on the Apparent Tardiness Cost dispatching rule. The lot planning algorithm offered by the lot planning agent is applied twice per shift. Here, a fairly simple forward termination algorithm is used to determine the start and completion dates for the lots with respect to each single work area. A due date \( d_{j} \) is assigned to each released lot based on

$$ d_{j} := s_{j} + z_{j} \cdot FF^{ * } \sum\limits_{k = 1}^{{n_{j} }} {p_{jk} } , $$
(2)

where \( z_{j} = 0.45 \) if lot \( j \) belongs to the first product and \( z_{j} = 2.35 \) if \( j \) is a lot of the second product. We use this due date setting scheme to mimic the situation that the processing of lots of the first product is urgent whereas lots of the second product have a large slack. The lot weights are selected as \( w_{j} = 10 \) for the first product, whereas the setting \( w_{j} = 1 \) is used for the second product. We are interested in assessing the profit obtained over the simulation horizon. The profit is the difference of revenue and WIP, backlog, and inventory holding costs. The revenue value per lot is 180, while the unit backlog, WIP, and inventory costs per period are 50, 35, and 15, respectively. The computational experiments are carried out on a PC with 32 GB of RAM and an Intel Xenon E5-2620 CPU with 24 virtual cores where each core has a CPU frequency of 2.0 GHz.

4.3 Results of Computational Experiments

The simulation results are shown in Table 4. Here, we denote by BN the planned bottleneck utilization, whereas LB is used to indicate the load balancing approach used in the experiments. The results are presented as follows. Instead of comparing all simulation cases individually, the cases were grouped according to factor level values. For example, the results for \( VL \) and \( BN = 70\,\% \) are averaged over all runs where demand is generated with \( CV = 0.1 \) that leads to a bottleneck utilization of 70 % while all the other factors have been varied at their different levels. We show in each column first the value obtained by FIFO dispatching, while the corresponding value obtained by the DSBH scheme is in the cell below. For instance, for \( VL \) and \( BN = 70\,\% \) we have a profit value of 343540 for FIFO and a profit value of 358500 for DSBH. Superior profit values are marked in bold.

Table 4. Simulation results

We see from Table 4 that using the order release planning approach together with the DSBH-based scheduling approach is beneficial, i.e., the scheduling approach leads to larger profit values compared to FIFO-based dispatching. The positive effects are larger in case of low variability demand and a highly utilized planned bottleneck. The two load balancing schemes do not lead to significantly different profit values. This result is expected since the lots are randomly released into one of the two wafer fabs with equal probability and the two fabs are identical.

5 Conclusions and Future Research

In this paper, we discussed an agent-based system prototype that supports planning and control activities in semiconductor supply chains. Appropriate agents are identified. We designed the interaction of the various agents with web services that implement the planning and control functionality. The results of experiments with the S2CMAS prototype using a simulation model of a scaled-down semiconductor supply chain were presented and discussed.

There are several directions for future research. First of all, the functionality of the S2CMAS prototype has to be extended. We are interested in adding functionality related to master planning, to the order management process and related to ATP. More simulation experiments with larger simulation models of semiconductor supply chains have to be performed. Standardized communication is an important ingredient for an agent-based decision support. Therefore, we are interested in designing an appropriate ontology based on the ISA 95 standard (cf. Scholten [25]).