<<

Design and Implementation of a Service-based Component for Complex Manufacturing Systems

Lars Mönch Department of Mathematics and Computer Science, University of Hagen, Universitätsstraße 1, 58097, Hagen, Germany

Keywords: Service-oriented , Scheduling, MES, Complex Manufacturing Systems.

Abstract: Scheduling is highly desirable in complex manufacturing systems. However, there is still a mismatch between academic scheduling research, the scheduling solutions offered by software vendors, and the requirements of real-world scheduling applications. In this paper, we describe the design and the develop- ment of a scheduling component prototype that is based on web services. It exploits the idea of a hierarchical decomposition of the overall scheduling problem allowing the integration of different problem- specific scheduling algorithms for sub-problems. We discuss how appropriate services can be identified and implemented and how the resulting scheduling component can be used to extend the functionality offered by manufacturing execution systems (MESs).

1 INTRODUCTION scheduling solutions in the semiconductor manufacturing industry). In this paper, we research This research is motivated by scheduling problems the problem of designing a scheduling component that are found in complex manufacturing systems, as that can be used by an MES. In a certain sense, this for example, semiconductor wafer fabrication paper extends previous work carried out for the ERP facilities (wafer fabs). Complex manufacturing sys- domain (cf. Mönch and Zimmermann, 2009). The tems are characterized by a diverse product mix, design of the component is derived taking an many machines, a large number of jobs, sequence- appropriate hierarchical decomposition of the overall dependent setup times, and batching. Here, batching scheduling problem into account. After identifying means that several jobs can be processed at the same appropriate services, we implement a prototype time on the same machine. Scheduling is chal- based on web services. Such questions are rarely lenging in such an environment. However, it is discussed in the literature so far (cf. Framinan and highly desirable because of the increasing automa- Ruiz, 2010 for a recent survey of the architecture of tion pressure. In contrast to previous papers (cf. scheduling systems). Mönch and Driessel, 2005), we are not interested in The paper is organized as follows. In the next proposing a new scheduling technique. Instead of section, we describe the problem and discuss related this, we deal with the question of how to design literature. We present the hierarchical decomposition scheduling components from a functional and also of the overall scheduling problem in Section 3. from a software technical point of view. It turns out Furthermore, we describe how appropriate services that the data available in Enterprise Resource can be indentified. The implementation of the proto- Planning (ERP) systems and Advanced Planning type is described in Section 4. We discuss also some Systems (APS) are not fine-grained enough to allow limitations of the proposed approach and future for making detailed scheduling decisions. research needs. Furthermore, their actuality with respect to time is not appropriate. MESs are a natural carrier of scheduling functionality (McClellan, 1997; Meyer et 2 PROBLEM DESCRIPTION al., 2009). However, the scheduling capabilities of packaged MESs are often not appropriate because 2.1 Problem they are too generic (cf. Pfund et al., 2006 for the results of a survey of the acceptance of packaged In current MESs for complex manufacturing systems,

284 Mönch L.. Design and Implementation of a Service-based Scheduling Component for Complex Manufacturing Systems. DOI: 10.5220/0004002702840290 In Proceedings of the 14th International Conference on Enterprise Information Systems (ICEIS-2012), pages 284-290 ISBN: 978-989-8565-10-5 Copyright c 2012 SCITEPRESS (Science and Technology Publications, Lda.) DesignandImplementationofaService-basedSchedulingComponentforComplexManufacturingSystems

dispatching functionality often is offered instead of hierarchical decomposition of the overall scheduling the more sophisticated scheduling functionality. problem. The resultant design is validated by a Optimization kernels are typically based on genetic prototypical implementation of such a component. algorithms or on generic commercial constraint programming and mixed integer programming 2.2 Related Work libraries (cf. Fordyce et al., 2008). Scheduling systems are mainly developed only for parts of the A web service-based specification and implemen- manufacturing system, for example for the leading tation of ERP components is described, for example, bottleneck machine group. There is only little by Brehm and Marx Gomez (2007) and Tarantilis et interaction of software vendors and academic al. (2008). However, a direct application of these research (cf. Kellogg and Walczak, 2008). There are ideas to scheduling is not possible because of the several reasons for this situation. different level of detail. A conceptual proposal for 1. Scheduling of production jobs is often an MES based on web services that can be used in combined with transportation scheduling, small- and medium-size enterprises in Mexico is planning, staff scheduling, and finally discussed by Gaxiola et al. (2003). But again, no advanced process control decision-making. specific details of possible scheduling functionality 2. Global scheduling systems fail because humans are included in this paper. This is also true for the on the shop floor are not involved in the resul- recent survey paper by Framinan and Ruiz (2010), tant scheduling decisions. It seems that often the where the usage of web services is only mentioned, notion of reasonable is not taken but not further elaborated. into account. A service-oriented integration framework for 3. Scheduling algorithms depend to a large extent complex manufacturing systems is presented by Qiu on the objectives and constraints taken into et al. (2007). A certain portion of a traditional MES, account. That means that slight changes in the especially with respect to feedback from the shop objectives and the constraints might lead to floor, is implemented within the framework, but totally different algorithms. Dispatching rules again, scheduling functionality is not covered. strongly support this behavior by its inherent There is some work done for the identification of myopic view. Generic scheduling solutions have services (cf. Winkler and Buhl, 2007 for the finan- some limitations with respect to dealing with cial domain and Mönch and Zimmermann, 2009 for this situation. They are often not well accepted ERP-related services). However, to the best of our by people on the shop floor. knowledge, there is no work available that addresses 4. The data for scheduling decisions is located in this question for scheduling services in complex different operative application systems. MES- manufacturing systems. A distributed scheduling and Material Control System (MCS)-related system for complex job shops based on software data are very important in this . agents is presented in Mönch et al. (2006). But in 5. Supplying appropriate data to the scheduling contrast to web services, software agents and multi- algorithms is important. However, scheduling agent-systems are still not widely accepted in algorithms that take many details into account applications on the shop floor. In this paper, we will require at the same time data that is fine-grained. show that some of the scheduling functionality Analyzing these insights results in the conclusion described by Mönch et al. (2006) can be provided that striving for a more detailed modeling is in- using principles of service-oriented computing. applicable because a more detailed consideration of constraints leads to sophisticated algorithms and also to a more difficult data supply. Therefore, it seems 3 IDENTIFICATION OF important to focus on the quintessence of APPROPRIATE SERVICES scheduling, i.e., considering the finite capacity of the manufacturing system is more important. However, 3.1 Distributed Hierarchical it is possible to deal with the finite capacity on a Decomposition more aggregated level. In this paper, we address the question of how a As discussed in Subsection 2.1, we are interested in scheduling component has to be organized to take making manufacturing system-wide scheduling this vision into account. Therefore, the design of a decisions without increasing the level of detail for service-based scheduling component is discussed modeling. This goal is mainly reached by an appro- that is based on an appropriate distributed priate hierarchical approach.

285 ICEIS2012-14thInternationalConferenceonEnterpriseInformationSystems

We start by describing the assumed physical an aggregated model is used taking the capacity only decomposition of the base system of the on the work center level into account. Consecutive manufacturing system. The routing of the jobs, the operations that are related to one work area are dynamic entities in the system, takes place between combined into macro operations. This results in different groups of parallel machines. Parallel aggregated routes that consist of these macro machines offer the same functionality in a operations. The resulting start and completion dates manufacturing system. A single group of parallel can be used to set production goals for each machines is called a work center. The work centers decision-making entity, i.e., a scheduling unit, on a that are located in the same area of the certain work area. This approach is called job manufacturing system are aggregated into work planning to differentiate it from the more detailed areas. On the highest level, we find the entire scheduling. In Figure 1, we denote the decision-ma- manufacturing system, i.e., the different work areas king entity of the entire manufacturing system by form the base system. In order to solve the overall MS. The base-layer is formed by the different work scheduling problem, often hierarchical decompo- area decision-making entities. We can see three sition approaches have been applied. work areas, denoted by WA, in Figure 1. This layer In this paper, we consider a two-layer hierarchi- results in for each single work area. Then, cal approach. The resulting scheduling scenario is it determines a critical work area with respect to a shown in Figure 1 as a Unified Modeling Language criticality measure, for example, the tardiness of the (UML) sequence diagram and will be explained in jobs with respect to the work area where they are more detail below. scheduled. Based on the for the critical work area, updated ready dates and due dates are sent to the non-critical work areas and used to determine new schedules. This procedure is repeated for the next most critical work area in a recursive manner until the last work area is reached.

Rescheduling Rescheduling (time driven) (event driven)

V

Read data for job planning Select parameters for job planning

Data for job planning Parameters are read selected

Select parameters for scheduling in work Perform job area 1 planning Select parameters for scheduling in work Parameters area n Job planning selected performed Parameters

selected V

Transfer job plan to Transfer job plan to ..... work area 1 work area n

.... Job plan transfered Job plan transfered

Determine data for .... Determine data for scheduling in work scheduling in work area 1 area n

.... Data for scheduling Data for scheduling in work area 1 in work area n determined determined Figure 1: Sequence diagram for distributed scheduling. Figure 2: Functionality of the top- and base-layer (Part 1). In complex manufacturing systems, planned start dates and completion dates are determined with Figure 1 does not provide enough information respect to a fixed work area (cf. Mönch and Driessel, from a process modeling point of view. Therefore, 2005 and Mönch et al., 2006) on the top-layer. Here, we provide event-driven process chains (EPC) for

286 DesignandImplementationofaService-basedSchedulingComponentforComplexManufacturingSystems

the researched scheduling scenario in Figure 2 and 1. Degree of Automation (DA): If no manual Figure 3. intervention is required between two consecu- These process models can be used as a starting tive functions then the two functions can be point for identifying appropriate services, because pooled together into one operation, otherwise, service-oriented architectures (SOAs) usually the two functions have to be represented by distinguish between process, service, and technology different operations. models (cf. Siedersleben, 2007). Figure 2 shows the 2. Atomicity (A): When sub-functions of a certain job planning step and major parts of the preparation function can be used within different business phase for the scheduling activities on the base-layer. processes then it makes sense to implement the The iterative procedure that corresponds to the sub-functions using different operations. When decisions on the base-layer is shown by continuing the entire function can be re-used then a service the EPC from Figure 2 in Figure 3. Only a single might be implemented by orchestrating the iteration is depicted in this figure for the sake of services that correspond to the sub-functions. simplicity. Note that a simple process model is 3. Modularity (M): Functions are often carriers of provided by the EPC in Figure 2 and Figure 3. an algorithm. When different algorithms are available to solve a problem, a situation-depen- dent selection of one algorithm is often benefi- cial. When such a selection is required, then an implementation of the function within a service is useful. 4. Reusability (R): When a function is applied in different business processes, then the function has to be implemented within a service. 5. Number of Users (NU): When a function is used by different humans, a certain degree of reusability is given. This function has to be implemented within a service. Note that some of these criteria are also contained in (Kohlborn et al., 2009 and Mönch and Zimmermann, 2009). Applying these five criteria, we obtain a set of operations that can be grouped into different services. We differentiate between different types of services according to Kohlborn et al. (2009). Object- centric services are given by a set of operations that are used to access business objects. -centric services are formed by a set of operations that can be carried out without a specific business object. Hybrid services are somewhere between object- and task-centric services, because they consist of operations that are used to access data and perform tasks. Finally, process-centric services are used to Figure 3: Functionality of the top- and base-layer (Part 2). support business processes using operations of other services by means of service composition. The first 3.2 Identification of Services three service types correspond to basic operations that cannot be further decomposed. The resultant Next, we are interested in deriving a concrete service services are shown in Table 1. Here, we use the ab- model for the researched scenario. The basic idea for breviations PPC and PM for production planning identifying services consists in determining for each and control and preventative maintenance, respec- function within an EPC or activity within an activity tively. diagram, respectively whether it has to be Determining the necessary data for the job implemented as an operation of a service or not. We planning functionality is important. Therefore, we use the following five criteria to make this decision: decompose the corresponding function into several sub-functions that are implemented as operations of

287 ICEIS2012-14thInternationalConferenceonEnterpriseInformationSystems

a service that is related to data management for job the work area schedules are available within the flow planning. Several algorithms can be used to find control, we do not identify a separate operation to appropriate parameters for the algorithms used for transfer schedules to the top-layer of the hierarchy. job planning. Therefore, this function is identified as Several methods are available to determine a critical an own operation of a job planning-related service. work area. Therefore, this function is identified as an Because different job planning algorithms are operation of the job planning-related service. It is possible, we also identify the function that reasonable to inform the decision-making entity of a determines job plans as an operation of the job critical work area. Therefore, we include this planning service. The function that transfers job functionality into the operation that determines the plans to work areas is only important in the context critical work area. of work area scheduling. However, within the flow control, the job plans are available. Therefore, this Table 2: Identified services for the scheduling process. function is not identified as an operation of the job Service planning service. Operation / Object-centric Table 1: Applying the criteria to the scheduling functions. ReadCapacityMS()/ ChangeCapacityMS() Criterion DA A M R NU ReadJobsMS()/ DataManagement- Data Gathering AddJobsMS() 0 X 0 X None JobPlanning Job Planning ReadAggregatedRoutes- Parameter Setting Job X 0 X X PPC MS()/AddAggregated Planning RoutesMS() Calculate Job Plans X 0 X X PPC ReadMachinesWA()/ AddMachinesWA() Transfer Job Plans to DataManagement- 0 X 0 0 None ReadJobsWA()/ Work Areas SchedulingWork- AddJobsWA() Data Gathering for Area ReadPartialRouteWA()/ Scheduling a Work 0 X 0 X None AddPartialRoute() Area hybrid Parameter Setting X 0 X X PC Job Planning InitializeJP() SetParametersJP() Determine PC, Schedule for Work X 0 X X PM ReadDataJP() Area JobPlanning DetermineJP() Transfer Schedule EvaluateJP() 0 X 0 0 None to Top-Layer DetermineCriticalWA() Determine Critical X 0 X X PPC Work Area InitializeSWA() SetParameterSWA() Inform Critical 0 X 0 0 None ReadDataSWA() Work Area SchedulingWA DetermineScheduleWA() The data management service for work area- EvaluateScheduleWA() related scheduling is justified in a similar manner as IsWACritical() the data management service for job planning. Again, process-centric a refinement into several sub-functions is performed. Due to different possible algorithms for parameter Data Manage- DetermineAggregatedCapa- cities() setting within work area scheduling algorithms, we mentScheduling identify a corresponding parameter setting operation AutomatedSche- for the work area scheduling service. Different dulingManufacturing StartProcess() scheduling algorithms, e.g., decomposition- or local- System search-based approaches, can be used to determine After the identification of operations, they have schedules for jobs in each single work area. to be grouped into appropriate services as discussed Therefore, this function is represented by an operation before. We show the results of this second step in of the work area-related scheduling service. Because Table 2.

288 DesignandImplementationofaService-basedSchedulingComponentforComplexManufacturingSystems

Note that two process-centric services are we used this tool for several previous prototypes. described in Table 2. The first service is related to Because web services are stateless, we compose data management issues of an automated scheduling them into a BPEL process that owns state variables process. This service is based on operations of the that can be used to manage the state of the system. DataManagementSchedulingWorkArea service. For We can see from Figure 4 that the AutomatedSche- example, the single machine capacities are determi- dulingManufacturingSystem and the DataManage- ned using the ReadMachinesWA() operation. They mentScheduling services are implemented as BPEL are aggregated to capacities of certain work centers processes. that are used within the job planning approach. The second process-centric service represents the auto- mated hierarchical scheduling process. It contains only a single operation to launch this process. Note that the SchedulingWA service allows for the in- tegration of problem specific scheduling approaches for different work areas.

4 IMPLEMENTATION OF THE PROTOTYPE

4.1 Implementation Issues Figure 4: Architecture of the Prototype. In this section, we will discuss our technology model. A prototype is designed and coded to check SOAP messages are used to exchange data between the feasibility of the proposed component. A client the different web services. This approach requires application implemented in the C# programming that appropriate XML data structures for routes, language provides a for aggregated routes, job plans, and work area calling the services and therefore, serves as a test schedules are defined because SOAP is XML-based. driver. Web services, implemented in C#, are run on Because we also have to write data, we use SOAP- an ASP .NET development server. They implement and not REST-based web services. the services described in Section 3. We do not use a real MES for our prototype 4.3 Limitations of the Approach because we do not have access to an MES. Instead of that, the MES is simulated by a so called black- There are some limitations of the proposed board service, basically a SQL Server database. approach. Task objects, goals, and solution methods Within the prototype, we implement the Automated- are the main building blocks of an enterprise task SchedulingManufacturingSystem service and the (cf. Ferstl and Sinz, 2006). Business processes work DataManagementScheduling service. on task objects and change the attributes of these However, we are not interested in evaluating objects. Therefore, we can conclude that business concrete scheduling algorithms for the scheduling processes are always related to persistency issues. scenario in this paper because this was done in Many object-centric services are the consequence previous research (cf. Mönch and Driessel, 2005 and (see Table 2). A tight coupling using joint master Mönch et al., 2006). Our main interest is related to data is typical for scheduling and more generally for the process flow. The architecture of the prototype is the production planning and control domain. depicted in Figure 4. This may lead to undesirable side effects of services, such as problems with the global state 4.2 Orchestration of the Services consistency of the distributed application. The state of the art master data management in MESs has to An orchestration is required to implement the process- be extended to fulfill the SOA requirements. We can centric services. Orchestration of the services is see this requirement from Figure 4, where the performed using the BPEL engine of the Oracle blackboard service is used to represent the master BPEL process manager. The Oracle BPEL process data from the MES. manager runs on a J2EE application server. The The second limitation is also related to data decision to use Oracle BPEL is based on the fact that management in the service-based prototype. A certain

289 ICEIS2012-14thInternationalConferenceonEnterpriseInformationSystems

number of XML-based SOAP messages have to be Fordyce, K., Bixby, R., Burda, R., 2008. Technology that exchanged between the different operations of the upsets the social order - a paradigm shift in assigning services that form the scheduling component. A loss lots to tools in a wafer fabricator - the transition from rules to optimization. In Proceedings of the 2008 of performance might be the result of this situation. Winter Simulation Conference, 2277-2285. Framinan, J., Ruiz, R., 2010. Architecture of manufacturing scheduling systems: literature review and an integrated proposal. European Journal of 5 CONCLUSIONS Operational Research, 295, 237-246. Gaxiola, L., Ramirez, M. D. J., Jimenez, G., Molina, A., In this paper, we described a scheduling component 2003. Proposal of holonic manufacturing execution for complex manufacturing systems that is based on a systems based on web service technologies for hierarchical decomposition of the overall scheduling Mexican SMEs. In Proceedings HoloMAS 2003, problem. We discussed the identification of LNAI 2744, 156-166. Huhns, M. H., 2008. Services must become more agent- appropriate services. The orchestration of these servi- like. WIRTSCHAFTSINFORMATIK, 50(1), 74-75. ces is shown. The implementation of a prototype for Kellogg, D., Walczak, S. 2008. Nurse scheduling: from such a component based on web services is also academia to implementation or not? INTERFACES, discussed. 37, 355-369. There are some directions for future work. While Kohlborn, T., Korthaus, A., Chan, T., Rosemann, T., it is possible to design and implement such a 2009. Identification and analysis of business and software services – a consolidated approach. IEEE component, there is still much more effort required to Transactions on Services Computing, 2(1), 50-64. integrate the resultant component into a real-world McClellan, M., 1997. Applying Manufacturing Execution MES. A rigor assessment of the performance of the Systems. St. Lucie Press, Boca Raton. overall application, especially with respect to compu- Meyer, H., Fuchs, F., Thiel, K., 2009. Manufacturing ting time, is also necessary. Execution Systems: Optimal Design, Planning, and Furthermore, it seems fruitful to combine software Deployment. McGraw-Hill. agents with service-oriented computing techniques as Mönch, L., Driessel, R., 2005. A distributed shifting bottleneck heuristic for complex job shops. Computers proposed by Huhns (2008). It is highly desirable to & Industrial Engineering, 49, 673-680. enrich the multi-agent-system FABMAS (cf. Mönch Mönch, L., Zimmermann, J., 2009. Providing production et al., 2006) that implements a similar hierarchical planning and control functionality by web services: scheduling approach as described in the present paper state of the art and experiences with prototypes. In by web services. It is differentiated between decision- Proceedings of the 5th Annual IEEE Conference on making and staff agents in FABMAS. Staff agents Automation Science and Engineering, 495-500. Mönch, L., Stehli, M., Zimmermann, J., Habenicht, I., support the decision-making agents. It seems possible 2006. The FABMAS multi-agent-system prototype for to replace the staff agents by web services as production control of wafer fabs: design, implement- discussed in the present paper. The decision-making tation, and performance assessment. Production Plan- agents can be used to carry out a more sophisticated ning & Control, 17(7), 701-716. orchestration of these services. Pfund, M., Mason, S. J., Fowler, J. W., 2006. Semi- conductor manufacturing scheduling and dispatching. Chapter 9 in Handbook of Production Scheduling, Herrmann, J.W. (ed.), Springer, New York, 213-241. ACKNOWLEDGEMENTS Qiu, R. G., 2007. A service-oriented integration frame- work for semiconductor manufacturing systems. Inter- national Journal Manufacturing Technology and The author would like to thank Daniel Kaiser for Management, 10(2-3), 177-191. implementing the prototype and for interesting dis- Siedersleben, J., 2007. SOA revisited: Komponenten- cussions on the topic of this paper. orientierung bei Systemlandschaften. WIRTSCHAFTS- INFORMATIK, 49, 110-117. Tarantilis, C. D., Kiranoudis, C. T., Theodoadoakopoulos, N. D., 2008. A web-based ERP system for business REFERENCES services and supply chain management: application to real-world process scheduling. European Journal of Brehm, N., Marx Gomez, J., 2007. Web service-based Operational Research, 187, 1310-1326. specification and implementation of functional compo- Winkler, V., Buhl, H. U., 2007. Identifikation und Gestal- nents in federated ERP-systems. In Proceedings Busi- tung von Services: Vorgehen und beispielhafte An- ness Information Systems (BIS) 2007, LNCS 4439, 133- wendung im Finanzdienstleistungsbereich. WIRT- 146. SCHAFTSINFORMATIK, 49, 257-266. Ferstl, O., Sinz, E. J., 2006. Grundlagen der Wirtschafts- informatik. Oldenbourg, München, Wien, 5th Edition.

290