Abstract:
Recent trends of larger wafer and smaller lot sizes bring cluster tools with frequent lot switches. Practitioners must deal with more transient processes during such switches, including start-up and close-down processes. To obtain higher yield, it is necessary to shorten the duration of transient processes. Much prior effort was poured into the modeling and scheduling for the steady state of cluster tools. In the existing literature, no attention has been turned to optimize the close-down process for single-arm cluster tools with wafer residency constraints. This invention intends to do so by 1) developing a Petri net model to analyze their scheduling properties and 2) proposing Petri net-based methods to solve their close-down optimal scheduling problems under different workloads among their process steps. Industrial examples are used to illustrate the effectiveness and application of the proposed methods.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims the benefit of U.S. Provisional Patent Application No. 62/221,027, filed on Sep. 20, 2015, which is incorporated by reference herein in its entirety. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The present invention relates to a method for scheduling a process for single-arm cluster tools. More particularly, the present invention relates to a method for scheduling close-down process for single-arm cluster tools with wafer residency time constraints. 
       BACKGROUND 
       [0003]    The following references are cited in the specification. Disclosures of these references are incorporated herein by reference in their entirety. 
       LIST OF REFERENCES 
       [0000]    
       
         A. Caloini, G. A. Magnani, M. Pezz´e, “A technique for designing robotic control systems based on Petri nets,”  IEEE Transactions on Control Systems and Technology,  vol. 6, no. 1, pp. 72-87, 1998. 
         W. K. V. Chan, J. Yi, and S. Ding, “Optimal scheduling of multicluster tools with constant robot moving times, part I: two-cluster analysis,”  IEEE Transactions on Automation Science and Engineering,  vol.8 no. 1, pp. 5-16, January 2011. 
         S. Ding, J. Yi, and M. Zhang, “Scheduling multi-cluster tools: An integrated event graph and network model approach,”  IEEE Transactions on Semiconductor Manufacturing,  vol. 19, no. 3, pp. 339-351, August 2006. 
         L. Ferrarini and L. Piroddi, “Modeling and control of fluid transportation operations in production plants with Petri nets,”  IEEE Transactions on Control Systems and Technology,  vol. 16, no. 5, pp. 1090-1098, 2008. 
         D. Liu, Z. W. Li, and M. C. Zhou, “Hybrid Liveness-Enforcing Policy for Generalized Petri Net Models of Flexible Manufacturing Systems,”  IEEE Transactions on Systems, Man, and Cybernetics: Systems,  43(1), pp. 85-97, January 2013. 
         C. Jung and T.-E. Lee, “An efficient mixed integer programming model based on timed Petri nets for diverse complex cluster tool scheduling problems,”  IEEE Transactions on Semiconductor Manufacturing,  vol. 25, no. 2, pp. 186-199, 2012. 
         T. K. Kim, C. Jung and T. E. Lee, “Scheduling start-up and close-down periods of dual-armed cluster tools with wafer delay regulation”  International Journal of Production Research,  vol. 50, no. 10, pp. 2785-2795, May 2012. 
         D. K. Kim, T. E. Lee, and H. J. Kim, “Optimal scheduling of transient cycles for single-armed cluster tools,” in Proceedings of the 2013  IEEE International Conference on Automation Science and Engineering,  Madison, Wis., USA, August 2013a. 
         H. J. Kim, J. H. Lee, C. Jung, and T. E. Lee, “Scheduling cluster tools with ready time constraints for consecutive small lots,”  IEEE Transactions on Automation Science and Engineering,  vol. 10, no. 1, pp. 145-159, January 2013b. 
         H. J. Kim, J. H. Lee, and T. E. Lee, “Noncyclic scheduling of cluster tools with a branch and bound algorithm,”  IEEE Transactions on Automation Science and Engineering,  DOI: 10.1109/TASE.2013.2293552, 2013c. 
         J.-H. Kim, T.-E. Lee, H.-Y. Lee, and D.-B. Park, “Scheduling analysis of timed-constrained dual-armed cluster tools,”  IEEE Transactions on Semiconductor Manufacturing,  vol. 16, no. 3, 521-534, 2003. 
         J. H. Lee, H. J. Kim, and T. E. Lee, “Scheduling transient periods of dual-armed cluster tools,” in Proceedings of the 2012  IEEE International Conference on Mechatronics and Automation,  Chengdu, China, pp. 1569-1574, August 2012. 
         J. H. Lee, H. J. Kim, and T. E. Lee, “Scheduling lot switching operations for cluster tools,”  IEEE Transactions on Semiconductor Manufacturing,  vol. 26, no. 4, pp. 592-601, 2013. 
         J. H. Lee, H. J. Kim, and T. E. Lee, “Scheduling cluster tools for concurrent processing of two wafer types.”  IEEE Transactions on Automation Science Engineering,  vol. 11, no. 2, pp. 525-536, 2014. 
         T.-E. Lee, H.-Y. Lee, and Y.-H. Shin, “Workload balancing and scheduling of a single-armed cluster tool,” in  Proceedings of the  5 th APIEMS Conference,  Gold Coast, Australia, 1-15, 2004. 
         T.-E. Lee and S.-H. Park, “An extended event graph with negative places and tokens for timed window constraints,”  IEEE Transactions on Automation Science and Engineering,  vol. 2, no. 4, 319-332, 2005. 
         D-Y. Liao, M. D. Jeng, and M. C. Zhou, “Petri net modeling and Lagrangian relaxation approach to vehicle scheduling in 300 mm semiconductor manufacturing,” in  Proc.  2004  IEEE International Conference on Robotics and Automation,  New Orleans, La., 2004, pp. 5301-5306. 
         M.-J. Lopez and S.-C. Wood, “Systems of multiple cluster tools—configuration, reliability, and performance,”  IEEE Transactions on Semiconductor Manufacturing,  vol. 16, no. 2, 170-178, 2003. 
         T. L. Perkinson, P. K. Maclarty, R. S. Gyurcsik, and R. K. Cavin, III, “Single-wafer cluster tools performance: An analysis of throughput,”  IEEE Transactions on Semiconductor Manufacturing,  vol. 7, no. 2, pp. 369-373, May 1994. 
         T. L. Perkinston, R. S. Gyurcsik, and P. K. Maclarty, “Single-wafer cluster tool performance: An analysis of effects of redundant chambers and revisitation sequences on throughput,”  IEEE Transactions on Semiconductor Manufacturing,  vol. 9, no. 2, pp. 384-400. May 1996. 
         Y. Qiao, N. Q. Wu, and M. C. Zhou, “Petri net modeling and wafer sojourn time analysis of single-arm cluster tools with residency time constraints and activity time variation,”  IEEE Transactions on Semiconductor manufacturing,  vol. 25, no. 3, 432-446, 2012a. 
         Y. Qiao, N. Q. Wu, and M. C. Zhou, “Real-time scheduling of single-arm cluster tools subject to residency time constraints and bounded activity time variation,”  IEEE Transactions on Automation Science and Engineering,  vo. 9, no. 3, 564-577, 2012b. 
         Y. Qiao, N. Q. Wu, and M. C. Zhou, “A Petri net-based novel scheduling approach and its cycle time analysis for dual-arm cluster tools with wafer revisiting,”  IEEE Transactions on Semiconductor Manufacturing,  vol.26, no.1, pp. 100-110, February 2013. 
         Y. Qiao, N. Q. Wu, M. C. Zhou, and Q. H. Zhu, “Scheduling and Control of Start-up Process for Single-arm Cluster Tools with Residency Time Constraints,” working paper, 2014 
         S. Rostami, B. Hamidzadeh, and D. Camporese, “An optimal periodic scheduler for dual-arm robots in cluster tools with residency constraints,”  IEEE Transactions on Robotics and Automation,  vol. 17, 609-618, 2001. 
         S. Venkatesh, R. Davenport, P. Foxhoven, and J. Nulman, “A steady state throughput analysis of cluster tools: Dual-blade versus single-blade robots,”  IEEE Transactions on Semiconductor Manufacturing,  vol. 10, no. 4, pp. 418-424, November 1997. 
         N. Q. Wu, C. B. Chu, F. Chu, and M. C. Zhou, “A Petri net method for schedulability and scheduling problems in single-arm cluster tools with wafer residency time constraints,”  IEEE Transactions on Semiconductor Manufacturing,  vol. 21, no. 2, 224-237, 2008. 
         N. Q. Wu, and M. C. Zhou, “Avoiding deadlock and reducing starvation and blocking in automated manufacturing systems”,  IEEE Transactions on Robotics and Automation,  vol. 17, no.5, pp. 657-668, 2001. 
         N. Q. Wu and M. C. Zhou, “Modeling and deadlock control of automated guided vehicle systems,”  IEEE/ASME Transactions on Mechatronics,  vol. 9, no. 1, pp. 50-57, 2004. 
         N. Q. Wu and M. C. Zhou,  System modeling and control with resource - oriented Petri nets,  CRC Press, Taylor &amp; Francis Group, New York, October 2009. 
         N. Q. Wu and M. C. Zhou, “Colored time Petri nets for modeling and analysis of cluster tools,”  Asian Journal of Control,  vol. 12, no. 3, pp. 253-266, 2010a. 
         N. Q. Wu and M. C. Zhou, “A closed-form solution for schedulability and optimal scheduling of dual-arm cluster tools with wafer residency time constraint based on steady schedule analysis,”  IEEE Transactions on Automation Science and Engineering,  vol. 7, no. 2, 303-315, 2010b. 
         U. Wikborg and T. E. Lee, “Noncyclic scheduling for timed discrete event systems with application to single-armed cluster tools using Pareto-optimal optimization,”  IEEE Transactions on Automation Science and Engineering,  vol. 10, no. 3, pp. 689-710, July 2013. 
         J. Yi, S. Ding, and M. Zhang, “Steady-state throughput and scheduling analysis of multi-cluster tools: A decomposition approach,”  IEEE Transactions on Automation Science and Engineering,  vol. 5, no. 2, pp. 321-336, April 2008. 
         H. J. Yoon and D. Y. Lee, “On-line scheduling of integrated single-wafer processing tools with temporal constraints,”  IEEE Transactions on Semiconductor Manufacturing,  vol. 18, no. 3, 390-398, 2005. 
         M. Zhou and F. DiCesare, “Parallel and sequential mutual exclusions for Petri net modeling of manufacturing systems with shared resources,”  IEEE Transactions on Robotics and Automation,  vol. 7, no. 4, pp. 515-527, 1991. 
         M. Zhou, F. DiCesare, and A. Desrochers, “A hybrid methodology for synthesis of Petri nets for manufacturing systems,”  IEEE Transactions on Robotics and Automation,  vol. 8, pp. 350-361, 1992. 
         M. C. Zhou and M. D. Jeng, “Modeling, analysis, simulation, scheduling, and control of semiconductor manufacturing systems: a Petri net approach,”  IEEE Transactions on Semiconductor Manufacturing , vol. 11, no. 3, pp. 333-357, 1998. 
         M. C. Zhou and K. Venkatesh,  Modeling, simulation and control of flexible manufacturing systems: A Petri net approach,  World Scientific, Singapore, 1998. 
         M. C. Zhou, C.-H. Wang, and X. Y. Zhao, “Automating mason&#39;s rule and its application to analysis of stochastic Petri nets,”  IEEE Transactions on Control Systems and Technology,  vol. 3, no. 2, pp. 238-244, 1995. 
         Q. H. Zhu, N. Q. Wu, Y. Qiao, and M. C. Zhou, “Petri Net-Based Optimal One-Wafer Scheduling of Single-Arm Multi-Cluster Tools in Semiconductor Manufacturing,”  IEEE Transactions on Semiconductor Manufacturing,  vol. 26, no. 4, pp. 578-591, 2013a. 
         Q. H. Zhu, N. Q. Wu, Y. Qiao, and M. C. Zhou, “Scheduling of Single-Arm Multi-Cluster Tools to Achieve the Minimum Cycle Time,” in  Proc. IEEE International Conference on Robotics and Automation,  pp. 3555-3560, Karlsruhe, Germany, May, 2013b. 
         Q. H. Zhu, N. Q. Wu, Y. Qiao, and M. C. Zhou, “Modeling and Schedulability Analysis of Single-Arm Multi-Cluster Tools with Residency Time Constraints via Petri Nets” in  Proc. IEEE International Conference on Automation Science and Engineering,  Taipei, Taiwan, pp 81-86, 2014. 
         Q. H. Zhu, N. Q. Wu, Y. Qiao, and M. C. Zhou, “Scheduling of Single-Arm Multi-cluster Tools With Wafer Residency Time Constraints in Semiconductor Manufacturing”  IEEE Transactions on Semiconductor Manufacturing,  DOI10.1109/TSM.2014.2375880, vol. 28, no. 1, 2015 
         W. M. Zuberek, “Timed Petri nets in modeling and analysis of cluster tools,”  IEEE Transactions on Robotics and Automation,  vol. 17, no. 5, pp. 562-575, October 2001. 
       
     
         [0049]    Cluster tools are widely used as wafer fabrication equipment by semiconductor manufacturers. Each consists of multiple processing modules (PMs), one wafer delivering robot, an aligner and two cassette loadlocks (LLs) for loading/unloading wafers. As shown in  FIG. 1 , the robot can be equipped with one or two blades, called single-arm or dual-arm, respectively; the former can carry one wafer while the latter can carry two wafers at a time. Two loadlocks working alternatively can keep the tool operating consecutively. According to a specified recipe, wafers are processed one by one at PMs in a cluster tool, each time there is one wafer processed at a PM. 
         [0050]    Substantial efforts have been made for a cluster tool&#39;s modeling and performance analysis [Chan et al., 2011; Ding et al., 2006; Perkinston et al., 1994; Perkinston et al., 1996; Venkatesh et al., 1997; Wu and Zhou, 2010a; Yi et al., 2008; Zuberek, 2001; and Lee et al., 2014]. These studies show that in the steady state a cluster tool operates in one of two regions: process or transport-bound ones. The robot is always busy in the former and its task time dominates the cycle time of the tool. It has idle time in the latter and the processing time at PMs determines the cycle time. Since the robot moving time from one PM to another is much shorter than the wafer processing time, a backward scheduling strategy is optimal for single-arm cluster tools [Lee et al., 2004; and Lopez and Wood, 2003]. 
         [0051]    All aforementioned studies are conducted with the assumption that a wafer can stay in a PM for unlimited time after it is processed. However, strict residency constraints should be considered for some wafer fabrication processes, such as low-pressure chemical vapor deposition and rapid thermal processing. For them, a wafer&#39;s surface would be detrimental if it stays in a PM for too long time after being processed [Kim et al., 2003; Lee and Park, 2005; Rostami et al., 2001; and Yoon and Lee, 2005]. With such constraints, it is much more complicated to schedule a cluster tool. In order to solve it, the studies [Kim et al., 2003; Lee and Park, 2005; and Rostami et al., 2001] are conducted to find an optimal periodic schedule for dual-arm cluster tools with wafer residency time constraints. This problem is further investigated in [Wu et al., 2008; Wu and Zhou, 2010; and Qiao et al., 2012] for both single and dual-arm cluster tools by using Petri nets. Schedulability conditions are proposed to check if a cluster tool is schedulable. If so, closed-form algorithms are given to find the optimal cyclic schedule. 
         [0052]    Majority of the existing studies [Chan et al., 2011; Ding et al., 2006; Perkinson et al., 1994; Perkinson et al., 1996; Venkatesh et al., 1997; Wu and Zhou, 2010a; Yi et al., 2008; Zuberek, 2001; Qiao et al., 2012a and 2012b; Qiao et al., 2013; Zhu et al., 2013a, 2013b, 2014, and 2015; and Lee et al., 2014] focus on finding an optimal periodical schedule for the steady state. However, a cluster tool should experience a start-up process before it reaches a steady state. Then, after the steady state, it will go through a close-down process. Very few studies are done for scheduling the transient process including the start-up and close-down process [Lee et al., 2012 and 2013; Kim et al., 2012, 2013a, 2013b, and 2013c; and Wikborg and Lee, 2013]. In semiconductor manufacturing, recent trends are product customization and small lot sizes. Thus, the transient processes are more common due to product changeover and setups. Therefore, it becomes more important to optimize such transient processes. For a dual-arm cluster tool, Kim et al. [2012] propose methods to minimize the transient period based on a given robot task sequence. For a single-arm cluster tool, non-cyclic scheduling methods are developed in [Kim et al., 2013a, and Wikborg and Lee, 2013]. Due to small batch production, a cluster tool needs to switch from processing one lot to another different one frequently. Thus, techniques are developed to schedule lot switching processes for both single and dual-arm cluster tools in [Lee et al., 2012 and 2013; and Kim et al., 2013b and 2013c]. 
         [0053]    However, the above work on the transient process scheduling does not consider the wafer residency time constraints. Thus, their method in [Lee et al., 2012 and 2013; Kim et al., 2013a, 2013b, and 2013c; and Wikborg and Lee, 2013] cannot be applied to schedule a cluster tool with such constraints. It is these constraints that make an optimal schedule for a transient process without considering residency time constraints infeasible. Considering such constraints, Kim et al. [2012] develop scheduling methods to optimize the start-up and close-down processes for dual-arm cluster tools. Owing to a different scheduling strategy used to schedule a dual-arm cluster tool with residency constraints, the scheduling methods in [Kim et al., 2012] cannot be used to optimize the transient processes of a single-arm cluster tool. For a single-arm tool with such constraints, based on a developed Petri net (PN) model, Qiao et al. [2014] develops a scheduling algorithm and a liner programming model to find an optimal schedule for the start-up process. However, for the close-down process, there is no scheduling method provided in [Qiao et al., 2014]. Although a close-down process is a reverse of a start-up one, their PN models are totally different. Consequently it requires different scheduling methods. 
         [0054]    There is a need in the art for a method for scheduling close-down process for single-arm cluster tools with wafer residency time constraints. 
       SUMMARY OF THE INVENTION 
       [0055]    An aspect of the present invention is to provide a method for scheduling a cluster tool for a close-down process with wafer residency time constraints. 
         [0056]    According to an embodiment of the present claimed invention, a computer-implemented method for scheduling a cluster tool for a close-down process, the cluster tool comprising a single-arm robot for wafer handling, loadlocks for wafer cassette loading and unloading, and n process modules each for performing a wafer-processing step with a wafer residency time constraint where the ith process module, i ∈ {1, 2, . . . , n}, is used for performing Step i of the n wafer-processing steps for each wafer, the method comprising: determining, by a processor, a lower workload            iL  of Step i as follows: 
         [0000]                  iL   =a   i +4α+3μ,  i ∈ N   n \{1};
 
         [0000]                  1L   =a   1 +3α+α 0 +3μ;
 
         [0057]    determining, by a processor, an upper workload            iU  of Step i as follows: 
         [0000]                  iU   =a   i +4α+3μ+δ i   , i ∈ N   n \{1};
 
         [0000]                  1U   =a   1 +3α+α 0 +μδ 1 ;
 
         [0058]    determining, by a processor, that the workloads are balanced among the Steps if [           1L ,            1U ] ∩ [           2L ,            2U ] ∩ . . . ∩ [           nL ,            nU ]≠Ø; 
         [0059]    determining, by a processor, a robot waiting time ω i   d , d≦i≦n, 0≦d≦n−1, and ω n   n  n as follows: 
         [0060]    let ψ c0 =ψ 1 , during the period from M cd  to M c(d+1) , 1≦d≦n−1, let            dmax =max{           iL , i ∈ N n \N d−1 }, ω i   d =0, i ∈ N n \N d−1 , and ω n   d =max{           dmax −ψ c(d−1) , 0}, where ψ c(d−1) =2(n−d+2)μ+2(n−d+2)α, 2≦d≦n; 
         [0061]    during the period from M cn  to M ce , let ω n   n =a n ; 
         [0062]    determining, by a processor, a schedule for the close-down process based on the robot waiting time determined; 
         [0063]    a i , i ∈ N n , is a time that a wafer is processed in the ith process module; 
         [0064]    δ i  is the wafer residency time constraint of Step i, given by a pre-determined longest time for which a wafer in the ith process module is allowed to stay therein after this wafer is processed; 
         [0065]    α is a time of loading a wafer to or unloading the wafer to the robot in Step i; 
         [0066]    μ is a time of the robot moving from one wafer-processing step to another; 
         [0067]    α 0  is a time of the robot unloading a wafer from the loadlocks and aligning the same; 
         [0068]    M cd  denote a d th  state during the close-down process of the cluster tool; and 
         [0069]    M ce  denote a final state during the close-down process of the cluster tool. 
         [0070]    According to an embodiment of the present claimed invention, a computer-implemented method for scheduling a cluster tool for a close-down process, the cluster tool comprising a single-arm robot for wafer handling, a loadlock for wafer cassette loading and unloading, and n process modules each for performing a wafer-processing step with a wafer residency time constraint where the ith process module, i ∈ {1, 2, . . . , n}, is used for performing Step i of the n wafer-processing steps for each wafer, the method comprising: 
         [0071]    determining, by a processor, a lower workload            iL  of Step i as follows: 
         [0000]                  iL   =a   i +4α+3μ,  i ∈ N   n \{1};
 
         [0000]                  1L   =a   1 +3α+α 0 +3μ;
 
         [0072]    determining, by a processor, an upper workload            iU  of Step i as follows: 
         [0000]                  iU   =a   i +4α+3μ+δ i   , i ∈ N   n \{1};
 
         [0000]                  1U   =a   1 +3α+α 0 +3μ+δ 1 ;
 
         [0073]    determinig, by a processor, that the workloads are unbalanced among the Steps if [           1L ,            1U ] ∩ [           2L ,            2U ] ∩ . . . ∩ [           hU ,            nU ]=Ø; 
         [0074]    determining, by a processor, a robot waiting time ω i   d , d≦i≦n, 0≦d≦n as follows: 
         [0075]    1) ω i   d =ω i , d≦i≦n−1, 0≦d≦n−1 where ω i  is the robot waiting time at the ith step at steady state, and obtained by: 
         [0000]    
       
         
           
             
               ω 
               
                 i 
                 - 
                 1 
               
             
             = 
             
               { 
               
                 
                   
                     
                       0 
                       , 
                     
                   
                   
                     
                       i 
                       ∈ 
                       F 
                     
                   
                 
                 
                   
                     
                       
                         
                           ϑ 
                           max 
                         
                         - 
                         
                           ( 
                           
                             
                               a 
                               1 
                             
                             + 
                             
                               δ 
                               1 
                             
                             + 
                             
                               3 
                                
                               α 
                             
                             + 
                             
                               α 
                               0 
                             
                             + 
                             
                               3 
                                
                               μ 
                             
                           
                           ) 
                         
                       
                       , 
                     
                   
                   
                     
                       1 
                       ∈ 
                       E 
                     
                   
                 
                 
                   
                     
                       
                         
                           ϑ 
                           max 
                         
                         - 
                         
                           ( 
                           
                             
                               a 
                               i 
                             
                             + 
                             
                               δ 
                               i 
                             
                             + 
                             
                               4 
                                
                               α 
                             
                             + 
                             
                               3 
                                
                               μ 
                             
                           
                           ) 
                         
                       
                       , 
                     
                   
                   
                     
                       i 
                       ∈ 
                       
                         E 
                         ⋂ 
                         
                           { 
                           
                             2 
                             , 
                             3 
                             , 
                             4 
                             , 
                             … 
                              
                             
                                 
                             
                             , 
                             n 
                           
                           } 
                         
                       
                     
                   
                 
               
             
           
         
       
     
         [0076]    2) ω n   0 =ω n ; 
         [0000]    
       
         
           
             
               
                 
                   3 
                   ) 
                 
                  
                 
                     
                 
                  
                 
                   ω 
                   n 
                   d 
                 
               
               = 
               
                 
                   ϑ 
                   max 
                 
                 - 
                 
                   ψ 
                   
                     c 
                      
                     
                       ( 
                       
                         d 
                         - 
                         1 
                       
                       ) 
                     
                   
                 
                 - 
                 
                   
                     ∑ 
                     
                       i 
                       = 
                       
                         d 
                         - 
                         1 
                       
                     
                     
                       n 
                       - 
                       1 
                     
                   
                    
                   
                       
                   
                    
                   
                     ω 
                     i 
                     
                       d 
                       - 
                       1 
                     
                   
                 
               
             
             , 
           
         
       
     
         [0077]    1≦d≦n−1; and 
         [0078]    4) ω n   n =a n . 
         [0079]    determining, by a processor, a schedule for the close-down process based on the robot waiting time determined; 
         [0080]    a i , i ∈ N n , is a time that a wafer is processed in the ith process module; 
         [0081]    δ i  is the wafer residency time constraint of Step i, given by a pre-determined longest time for which a wafer in the ith process module is allowed to stay therein after this wafer is processed; 
         [0082]    α is a time of loading a wafer to or unloading the wafer to the robot in Step i; 
         [0083]    μ is a time of the robot moving from one wafer-processing step to another; 
         [0084]    α 0  is a time of the robot unloading a wafer from the loadlock and aligning the same; 
         [0085]    E is {i|i ∈ N n ,            iU &lt;           max }, where            max =max{           iL , i ∈ N n }; 
         [0086]    F is N n \E; and 
         [0000]      ψ c(d−1) =2( n−d+ 2)μ+2( n−d+ 2)α, 2 ≦d≦n.  
 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0087]    Embodiments of the present invention are described in more detail hereinafter with reference to the drawings, in which: 
           [0088]      FIG. 1  depicts cluster tools: (a) single-arm robot; (b) dual-arm robot; 
           [0089]      FIG. 2  depicts Petri net for the steady-state of a single-arm cluster tool according to a prior art [Wu et al., 2008]; 
           [0090]      FIG. 3  depicts a Petri net for the close-down process of a single-arm cluster tool according to the present invention; 
           [0091]      FIG. 4  depicts a Gantt chart for Example 1 according to the present invention; and 
           [0092]      FIG. 5  depicts a Gantt chart for Example 2 according to the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0093]    In the following description, a method for scheduling close-down process for single-arm cluster tools with wafer residency time constraints is set forth as preferred examples. It will be apparent to those skilled in the art that modifications, including additions and/or substitutions may be made without departing from the scope and spirit of the invention. Specific details may be omitted so as not to obscure the invention; however, the disclosure is written to enable one skilled in the art to practice the teachings herein without undue experimentation. 
         [0094]    The present invention aims to schedule a close-down process of a single-arm cluster tool with wafer residency time constraints, which was not addressed yet. According to the specification of the present invention, Section A presents a Petri net model for the close-down process of a single-arm cluster tool. The schedulability results for single-arm cluster tools [Wu et al., 2008] are reviewed in Section B. Then, a closed-form algorithm and a linear programming model are developed to schedule the close-down process in Section C. Section D presents illustrative examples. 
       A. PETRI NET MODELING 
       [0095]    A.1 Finite Capacity Petri nets (PNs) 
         [0096]    As an effective modeling tool, Petri nets are widely used in modeling, analysis, and control of discrete event systems [Zhou and DiCesare, 1991; Zhou et al., 1992; Zhou et al., 1995; Wu and Zhou, 2001, 2004, 2005, and 2007; Zhou and Jeng, 1998; Liao et al., 2004; Ferrarini and Piroddi, 2008; Jung and Lee, 2012; Liu et al., 2013; Wu et al., 2013c]. Following Zhou and Venkatesh [1998] and Murata [1989], the present invention adopts a finite capacity PN to model a single-arm cluster tool. It is defined as PN=(P, T, I, O, M, K), where P={p 1 , p 2 , . . . , p m } is a finite set of places; T={t 1 , t 2 , . . . , t n } is a finite set of transitions with P ∪T≠Ø and P ∩T=Ø; I: P×T→N={0, 1, 2, . . . } is an input function; O: P×T→N is an output function; M: P→N is a marking representing the count of tokens in places with M 0  being the initial marking; and K: P→N\{0} is a capacity function where K(p) represents the count of tokens that p can hold at a time. 
         [0097]    The preset of transition t is the set of all input places to t, i.e., •t={p: p∈P and I(p, t)&gt;0}. Its postset is the set of all output places from t, i.e., t•={p: p∈P and O(p, t)&gt;0}. Similarly, p&#39;s preset •p={t∈T: O(p, t)&gt;0} and postset p•={t∈T: I(p, t)&gt;0}. The transition enabling and firing rules can be found in [Wu and Zhou, 2009]. 
       A.2 PN Model for Cluster Tools 
       [0098]    In the present invention, (m 1 , m 2 , . . . , m n ) is used to describe the wafer flow pattern in a cluster tool, where n is the number of processing steps and m i  is the number of parallel PMs configured for Step i, i ∈ N n ={1, 2, . . . , n}. It is assumed that there is only one PM at each step. Thus, one has the wafer flow pattern is (m 1 , m 2 , . . . , m n ) where m i =1, i ∈ N n . Based on the PN model, the scheduling analysis of a single-arm cluster tool operating under the steady-state has been well conducted in [Wu et al., 2008]. Then, one briefly introduces the PN model for the steady-state process as developed in [Wu et al., 2008]. 
         [0099]    In the PN model, Step i is modeled by timed place p i  with K(p i )=1, i ∈ N n . The loadlocks are treated just as a processing step called Step 0. Because the loadlocks can hold all the wafers in a tool, they are modeled by p 0  with K(p 0 )=∞. The robot is modeled by place r with K(r)=1, meaning that it has only one arm and can hold one wafer at a time. When M(r) =1, it represents that the robot arm is available. When M(p i )=1, i ∈ N n , a wafer is being processed in a PM at Step i. In the following discussions, a token in a place, or a wafer in a place, refers to a wafer in its modeled PM when no confusion arises. When the robot arrives at Step i for unloading a wafer, the wafer may be under way. Then, it has to wait there for some time. Timed place q i , i ∈ N n , is added to model the robot&#39;s waiting at Step i before unloading a wafer there and M(q i )=1 means that the robot is waiting at Step i. Non-timed place z ij  is used to model the state that it is ready to load a wafer into Step i or the wafer unloading from Step i ends. Transitions are used to model the robot tasks. Timed t i1 , i ∈ N n , models loading a wafer into Step i, and t 01  models loading a completed wafer into a loadlock. Timed t i2 , i ∈ N n , models unloading a wafer from Step i, and t 02  models unloading a raw wafer from a loadlock. Transition y i , i ∈ N n−2 ∪ {0}, represents the robot&#39;s moving from Steps i+2 to i without carrying a wafer. Transitions y n−1  and y n  represent the robot&#39;s moving from a loadlock to Step n−1 and Steps 1 to n, respectively. Transition x i , i ∈ N n−1 ∪ {0}, models the robot&#39;s moving from Steps i to i+1 with a wafer held, and x n  models the robot&#39;s moving from Steps n to 0. Pictorially, p i &#39;s and q i &#39;s are denoted by          , z ij &#39;s by ⊖, and r by          . Then, the PN model for a single-arm cluster tool is shown in  FIG. 2 . 
         [0100]    In the steady state, there Σ i=1   n  m i  wafers being concurrently processed. This means that m i  wafers are being processed at Step i, i ∈ N n . For the PN model in  FIG. 2 , at marking M with M(p i )=m i , i ∈ N n , and M(r)=1, y 0  is enabled and firing y 0  leads the PN to a dead marking, or the PN is deadlock-prone. Thus, according to [Wu et al., 2008], a control policy is proposed to make it deadlock-free. 
         [0101]    Control Policy 1 (CP1): At any M, transition y i , i ∈ N n−1 ∪ {0} is said to be control-enabled if M(p i+1 )=0; and y n  is said to be control-enabled if M(p i )=1, i ∈ N n . 
         [0102]    After the steady state, the cluster tool enters the close-down process. Thus, a Petri net model shown in  FIG. 3  is developed to describe the close-down process for a single-arm cluster tool. In the PN model in  FIG. 3 , the places have the same meanings as the ones in the PN model in  FIG. 2 . Note that N 0 =Ø. Transitions t i1 , i ∈ N n \N d  and 1≦d≦n−1, t 01 , t i2 , i ∈ N n \N d−i  and 1≦d≦n, y i , i ∈ N n−1 \N d  and 1≦d≦n−1, and x i , i ∈ N n \N d−1  and 1≦d≦n, also have the same meanings as the ones in the PN model in  FIG. 3 . Transition y n  represent the robot&#39;s moving from Steps d to n, d≦n−1. If d=n, or M(p i )=0, 1≦i≦n−1, M(p n ) =1, and M(r)=1, firing y n  represent the robot start to stay at Step n and it does not take any time for firing y n . Then, a token goes into q n  such that the robot waits at Step n. Because Step i, i N n \N d−1  and 1≦d≦n−1, has one wafer being processed and Step i, N d−1  and 1≦d≦n−1, is empty, one has M(p i )=K(p i ), i ∈ N n \N d−1  and 1≦d≦n−1, and M(r)=1. At the marking shown in  FIG. 3 , y d  is enabled and can fire. If y d  fires, a token then goes to z d2 , z (d+1)1  sequentially, which leads the PN to a dead marking, or the PN is deadlock. To avoid it, a control policy is given below. 
         [0103]    Control Policy 2 (CP2): For the PN model in  FIG. 3 , transition y i , i ∈ N n−1 \N d−1  and 1≦d≦n1 , is said to be control-enabled if M(p i+1 )=0; and y n  is said to be control-enabled if M(p i )=1, i ∈ N n \N d−1  and 1≦d≦n. 
         [0104]    With CP2, the close-down process could be described by running the PN model in  FIG. 3  shown as follows. Let M ci , denote a certain state during the close-down process of the cluster tool. Then, let M c1  denote the state of the system when the robot finishes loading wafer W into Step 1 and each Step i (2&lt;i&lt;n) has one wafer being processed (W is the last raw wafer released from the loadlock). Thus, one has M c1 (p i )=K(p i ), i ∈ N n , and M c1 (r)=1. Note that, when state M c1  is reached, the system enters its close-down process. Then, one sets d=1 in the PN model in  FIG. 3 , according to CP2, the following transition firing sequence denoted by σ 1  is executed: σ 1 =(firing y n  (moving to Step n)→firing t n2  (unloading a wafer from Step n)→firing x n  (moving from Steps n to 0)→firing t 01  (loading the wafer into Step 0)→firing y n−1  (moving from Steps 0 to n−1)→firing t (n−1)2  (unloading a wafer from Step n−2)→firing x (n−1)  (moving from Steps n−2 to n−1)→firing t n1  (loading the wafer into Step n) → . . . . . . →firing y 1  (moving from Steps 3 to 1)→firing t 12  (unloading a wafer from Step 1) →firing x 1  (moving from Steps 1 to 2)→firing t 21  (loading the wafer into Step 2)). At this time, let M c2  denote the state of the system with M c2 (p i )=K(p i ), i ∈ N n \{1}, M c2 (p 1 )=0, and M c2 (r)=1. Then, one can set d=2 in the PN model in  FIG. 3 . According to CP2, the PN model can evolve to state M c3  with M c3 (p i )=K(p i ), i ∈ N n \{1, 2}, M c2 (p i )=0, i ∈ {1, 2}, and M c3 (r)=1. Similarly, with the PN model in  FIG. 3  and CP2, the PN model can evolve to state M cn  with M cn (p n )=K(p n ), M c2 (p i )=0, i ∈ N n−1 , and M cn (r)=1. Then, the robot should wait there until this wafer is completed. After the wafer is processed, the robot unloads it from Step n, moves to Step 0, and loads the wafer into Step 0. In this way, the close-down process ends. 
       A.3 Modeling Activity Time 
       [0105]    For the purpose of scheduling, the temporal aspect of a cluster tool should be described in the PN models in  FIGS. 2-3 . Both transitions and places are associated with time as given in Table I. 
         [0106]    With wafer residency time constraints, the deadlock-freeness does not mean that the PNs shown in  FIGS. 2-3  are live, because a token in p i  cannot stay there beyond a given time interval. Let τ i  be the sojourn time of a token in p i  and δ i  the longest permissive time for which a wafer can stay in p i  after it is processed. Then, the liveness of the PN model is defined as follows. 
         [0000]    
       
         
               
             
               
               
               
             
           
               
                 TABLE I 
               
             
             
               
                   
               
               
                 TIME DURATIONS ASSOCIATED 
               
               
                 WITH TRANSITIONS AND PLACES 
               
             
          
           
               
                 T or P 
                 Actions 
                 Time 
               
               
                   
               
               
                 t i1 , i∈ 
                 Robot loads a wafer into Step i, i∈ N n ∪{0} 
                 α 
               
               
                 N n ∪{0} 
               
               
                 t i2 , i ∈ N n   
                 Robot unloads a wafer from Step i, i∈N n   
               
               
                 t 02   
                 Robot unloads a wafer from a loadlock and aligns it 
                 α 0   
               
               
                 y i   
                 Robot moves from a step to another without carrying 
                 μ 
               
               
                   
                 a wafer 
               
               
                 x i   
                 Robot moves from a step to another with a wafer 
               
               
                   
                 carried 
               
               
                 p i   
                 A wafer being processed in p i , i∈N n   
                 a i   
               
               
                 q i , i∈ 
                 Robot waits before unloading a wafer from Step i, i∈ 
                 ω i   
               
               
                 N n ∪{0} 
                 N n ∪{0} 
               
               
                 z ij   
                 No activity is associated 
               
               
                   
               
             
          
         
       
     
         [0107]    Definition 2.1: If the PN models for single-arm cluster tools with residency time constraints are live, one has: 1) at any marking with a token in p i , ∀ i ∈ N n , and when t i2  fires, a i ≦τ i ≦a i +δ i  holds for the net in  FIG. 2 ; and 2) at any marking with a token in p i , i ∈ N n \N d−1  and 1 23  d≦n, and when t i2  fires, a i ≦τ i ≦a i +δ i  holds for the net in  FIG. 3 . 
       B. SCHEDULING ANALYSIS 
       [0108]    For a single-arm cluster tool with wafer residency time constraints, before discussing how to schedule its close-down process, one recalls the scheduling analysis results for its steady state process [Wu et al., 2008]. 
       B.1 Timeliness Analysis for Steady State 
       [0109]    It follows from [Wu et al., 2008] that, to complete the processing of a wafer at Step i, i ∈ N n \{1}, it takes τT i +4a+3μ+ω i−1  time units, where τ i  should be within [a i , a i +δ i ]. With one PMs at Step i, i ∈ N n , one has that the lower bound of permissive cycle time at Step i is 
         [0000]      θ iL   =a   i +4α+3μ+ω i−1   , i ∈ N   n \{1}  (3.1)
 
         [0110]    The upper bound of permissive cycle time at Step i is 
         [0000]      θ iU   =a   i +4α+3μ+ω i−1 +δ i   , i ∈ N   n \{1}  (3.2)
 
         [0111]    For Step 1, the lower one is 
         [0000]      θ iL   =a   1 +3α+α 0 +3μ+ω 0    (3.3)
 
         [0112]    Its upper one is 
         [0000]      θ 1U   =a   1 +3α+α 0 +3μ+ω 0 +δ 1    (3.4)
 
         [0113]    It follows from (3.1)-(3.4) that the permissive wafer sojourn time can be affected by the robot waiting time ω i . By removing it from the above expressions, one can obtain the lower and upper workloads of each step as follows. 
         [0000]                  iL   =a   i +4α+3μ,  i ∈ N   n \{1}  (3.5)
 
         [0000]                  iU   =a   i +4α+3μ+δ i   , i ∈ N   n \{1}  (3.6)
 
         [0000]                  1L   =a   1 +3α+α 0 +3μ  (3.7)
 
         [0000]                  1U   =a   1 +3α+α 0 +3μ+δ 1    (3.8)
 
         [0114]    To schedule a single-arm cluster tool with residency time constraints, one has to ensure a i ≦τ i ≦a i +δ i . Hence, one needs to know how τ i  is calculated. According to [Wu et al., 2008], one has 
         [0000]      τ i =2( n+ 1)μ+(2 n+ 1)α+α 0 +Σ d=0   n ω d −(4α+3μ+ω i−1 )=ψ−(4α+3μ+ω i−1 ),  i ∈ N   n \{1}  (3.9)
 
         [0000]      τ 1 =2( n+ 1)μ+(2 n+ 1)α+α 0 +Σ d=0   n ω d −(3α+60  0 +3μ+ω 0 )=ψ−(3α+α 0 +3μ+ω 0 )   (3.10)
 
         [0115]    The robot cycle time is 
         [0000]      ψ=2( n+ 1)μ+(2 n+ 1)α+α 0 +Σ d=0   n ω d =ψ 1 +ψ 2    (3.11)
 
         [0000]    where ψ 1 =2(n+1)μ+(2n+1)α+α 0  is a known constant and ψ 2 =Σ d=0   n ω d  is to be decided by a schedule. 
         [0116]    Let θ 1 =τ 1 +3α+α 0 +3μ+θ 0  and θ i =τ i +4α+3μ+ω i−1 , i ∈ N n \{1}, denote the cycle time for step i, i ∈ N n . Then, it can be seen that, by making ω i−1 &gt;0, the cycle time of Step i is increased without increasing the wafer sojourn time. Thus, it is possible to adjust the robot waiting time to balance the wafer sojourn time among the steps such that a feasible schedule can be obtained. Following Wu et al. [2008], for a periodic schedule for the steady state, one has 
         [0000]      θ=θ 1 =θ 2 = . . . =θ n =ψ  (3.12)
 
         [0117]    In (3.11), μ, α, and α 0  are constants, only ω d &#39;s d ∈ N n ∪ {0}, are variables, i.e., ψ 1  is deterministic and ψ 2  can be regulated. Thus, with the PN model in  FIG. 2 , a feasible and optimal schedule can be found by properly setting ω d &#39;s, d ∈ N n ∪ {0}, for a single-arm cluster tool. 
       B.2 Schedulability Conditions and Scheduling for Steady State 
       [0118]    To find a feasible cyclic schedule, the key is to know under what conditions there exist θ such that the system is schedulable. It is known that, in (3.5)-(3.8),            iL  and            iU  denote the lower and upper bounds of θ i , respectively. Let            max =max{           iL , i ∈ N n }. Then, Wu et al. [2008] developed the sufficient and necessary schedulability conditions shown below. 
         [0119]    Theorem 3.1 [Wu et al., 2008]: If            max ≦           iU  and ψ 1 ≦           iU , i ∈ N n , a single-arm cluster tool with residency time constraints is schedulable. 
         [0120]    For this case, if            max ≦           iU  and ψ 1 ≦           max , i ∈ N n , the tool is process-bound. If            iL ≦ψ 1 ≦           iU , i ∈ N n , it is transport-bound. With            max ≦           iU , i ∈ N n , the difference of the workloads among the steps is not too large. Thus, with ω i &#39;s being set appropriately, the workloads among the steps can be balanced such that a feasible schedule can be found. It follows from [Wu et al., 2008] that, in this case, one can simply set ω i =0, i ∈ N n−1 ∪ {0}, and ω n =max{           max −ψ 1 , 0} such that ψ=max{           max , ψ 1 } holds. In this way, a feasible schedule is determined. Further, it is optimal in terms of cycle time. 
         [0121]    Theorem 3.1 shows that the difference of the workloads among the steps is not too large, i.e., ∩ j∈N     n   {           jL ,            jU }≠Ø. However, for some cases, ∩ j∈N     n   {           jL ,            jU }=Ø holds. It follows from [Wu et al., 2008] that the time taken for completing a wafer at Step i can be increased by increasing ω i−1  without changing the sojourn time τ i . Hence, a cluster tool can be scheduled for these cases with ∩ j∈N     n   {           jL ,            jU }=Ø by properly setting ω i−1 &#39;s. Then, let E={i|i ∈ N n ,            iU &lt;           max } and F=N n \E. To do so, one can set ω i−1 &#39;s as follows. 
         [0000]    
       
         
           
             
               
                 
                   
                     ω 
                     
                       i 
                       - 
                       1 
                     
                   
                   = 
                   
                     { 
                     
                       
                         
                           
                             0 
                             , 
                           
                         
                         
                           
                             i 
                             ∈ 
                             F 
                           
                         
                       
                       
                         
                           
                             
                               
                                 ϑ 
                                 max 
                               
                               - 
                               
                                 ( 
                                 
                                   
                                     a 
                                     1 
                                   
                                   + 
                                   
                                     δ 
                                     1 
                                   
                                   + 
                                   
                                     3 
                                      
                                     α 
                                   
                                   + 
                                   
                                     α 
                                     0 
                                   
                                   + 
                                   
                                     3 
                                      
                                     μ 
                                   
                                 
                                 ) 
                               
                             
                             , 
                           
                         
                         
                           
                             1 
                             ∈ 
                             E 
                           
                         
                       
                       
                         
                           
                             
                               
                                 ϑ 
                                 max 
                               
                               - 
                               
                                 ( 
                                 
                                   
                                     a 
                                     i 
                                   
                                   + 
                                   
                                     δ 
                                     i 
                                   
                                   + 
                                   
                                     4 
                                      
                                     α 
                                   
                                   + 
                                   
                                     3 
                                      
                                     μ 
                                   
                                 
                                 ) 
                               
                             
                             , 
                           
                         
                         
                           
                             i 
                             ∈ 
                             
                               E 
                               ⋂ 
                               
                                 { 
                                 
                                   2 
                                   , 
                                   3 
                                   , 
                                   4 
                                   , 
                                   … 
                                    
                                   
                                       
                                   
                                   , 
                                   n 
                                 
                                 } 
                               
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   3.13 
                   ) 
                 
               
             
           
         
       
     
         [0122]    Theorem 3.2 [Wu et al., 2008]: If ∩ j∈N     n   {           jL ,            jU }=Ø,            iU &lt;           max  with i ∈ E≠Ø,            iU ≧           max  with i ∈ F, and Σ i∈E ω i−1 +ψ 1 ≦           max , a single-arm cluster tool with residency time constraints is schedulable when ω i−1 , i ∈ N n , are set by (3.13). 
         [0123]    In this case, with the obtained ω i−1 , i ∈ N n , by (3.13), the workload among the steps can be well balanced. Notice that, by (3.13), the robot waiting time ω i−1 , i ∈ N n , is set, and then set ω n =           max =(ψ 1 +Σ i∈E ω i−1 ) such that ψ=           max  holds. Thus, a feasible schedule is obtained. Further, the cycle time of the tool is optimal. According to [Wu et al., 2008], the schedulability conditions given by Theorems 3.1 and 3.2 are the sufficient and necessary for the steady state scheduling. Based on them, in the next section, one conducts the scheduling analysis for the close-down process. 
       C. SCHEDULING ANALYSIS FOR CLOSE-DOWN PROCESS 
     C.1 Temporal Properties in Close-down Process 
       [0124]    Let M c0  denote the state with M c0 (p i )=K(p i ), i ∈ N n , M c0 (r)=1, and there is only one raw wafer in the loadlocks. In other words, the robot task sequence from M c0  to M c1  is the last robot task cycle for the steady state. Then, the system operates according to the PN model in  FIG. 3  and CP1 such that M c1  is reached. For state M c1 , Step i, i ∈ N n , has one wafer being processed and the robot stays at Step 1. In other words, M c1 (p i )=K(p i ), i ∈ N n , and M c1 (r)=1. It is assumed that when M c1  is reached, there is no raw wafer in the loadlocks and the system enters its close-down process. 
         [0125]    During the evolution from M cd  to M c(d+1) , the robot should sequentially move to Steps n, n−1, , . . . , d +1, and d to unload the processed wafers. Thus, with wafer residency time constraints considered, it is necessary to determine how long a wafer visits Step i, i ∈ N n \N d−1 . With the PN model in  FIG. 3  and CP2, M c2  can be reached from M c1 , M c3  can be reached from M c2 , . . . , M cn  can be reached from M c(n−1) . When M cn  is reached, the robot has just loaded a wafer into Step n. Then, the robot should wait there. When the wafer being processed at Step n is completed, the robot unloads it immediately, and then delivers it to the loadlock. At this time, all the wafers are out of the system, and it is the end of the close-down denoted by M ce . In fact, the evolutions from M c1  to M ce  form a close-down process. During the close-down process, the robot task sequence is deterministic and the robot waiting time is unknown. Thus, to obtain an optimal feasible schedule for the close-down process, it is very important to find a way to adjust the robot waiting time such that the wafer residency time constraints can be satisfied. However, the robot waiting time would affect the wafer sojourn time. Thus, firstly, the key is to know how to determine the wafer sojourn time. 
         [0126]    Let ω i   d , d≦i≦n, 0≦d≦n−1, and ω n   n  denote robot waiting time in places q i  and q n  during the evolutions from M cd , to M c(d+1)  and M cn  to M ce , respectively. At M c0 ), there is only one raw wafer in the loadlocks and let W 1  denote it. During the evolution from M c0  to M c1 , according to the model in  FIG. 2  and CP1, the following transition firing sequence is executed: firing y n  (time μ)→the robot waits in q n  (ω n   0 )→firing t n2  (time α)→firing x n  (time μ)→firing t 01  (time α) → . . . →y 0  (time μ) the robot waits in q 0  (ω 0   0 )→firing t 02  (time α 0 )→firing x 0  (time μ)→firing t 11  (time α) with wafer W 1  being loaded into Step 1. Then, by the model in  FIG. 3  and CP2, to reach M c2  from M c1 , the following transition firing sequence is executed: firing y n  (time μ)→the robot waits in q n  (ω n   1 )→firing t n2  (time α)→firing x n  (time μ)→firing t 01  (time α)→ . . . →firing y 1  (time μ) the robot waits in q 1  (ω 1   1 )→firing t 12  (time α)→firing x 1  (time μ)→firing t 21  (time α) with wafer W 1  being loaded into Step 2. Thus, when the robot arrives at Step 1 during the evolution from M c1  to M c2 , the wafer sojourn time at Step 1 is 
         [0000]      τ 1 =[2( n+ 1)μ+(2 n+ 1)α+α 0 ]+Σ 1   n ω j   1 −(3α+α 0 +3μ)   (4.1)
 
         [0127]    Similarly, when the robot arrives at Step d during the evolution from M cd  to M c(d+1) , 2≦d≦n−1, the wafer sojourn time at Step d is 
         [0000]      τ d =[2( n−d+ 2)μ+2( n−d+ 2)α]Σ d   n ω j   d −(4α+3μ)   (4.2)
 
         [0128]    When the robot arrives at Step i, 2≦i≦n, during the evolution from M c1  to M c2 , the wafer sojourn time at Step i is 
         [0000]      τ i =[2( n+ 1)μ+(2 n+ 1)α+α 0 ]+Σ 0   i−2 ω j   0 +Σ i   n ω j   1 −(4α+3μ)   (4.3)
 
         [0129]    When the robot arrives at Step i, d+1≦i≦n, during the evolution from M cd  to M c(d−1) , 2≦d≦n−1, the wafer sojourn time at Step d is 
         [0000]      τ i =[2( n−d+ 2)μ+2( n−d+ 2)α]+Σ d−1   i−2 ω j   d−1 +Σ i   n ω j   d −(4α+3μ)   (4.4)
 
         [0130]    During the evolution from M cn  to M ce , the wafer sojourn time at Step n is 
         [0000]      τ n =ω n   n    (4.5)
 
         [0131]    Due to ψ 1 =2(n+1)μ+(2n+1)α+α 0 , expressions (4.1) and (4.3) can be respectively rewritten as 
         [0000]      τ 1 +ψ 1 +Σ 1   n ω j   1 −(3α+α 0 +3μ)   (4.6)
 
         [0000]      τ i +ψ 1 +Σ 0   i−2 ω j   0 +Σ i   n ω j   1 +(4α+3μ)   (4.7)
 
         [0132]    Let ψ c(d−1) , 2≦s≦n, and ψ cn  denote the robot task time for transferring the tool from M c(d−1)  to M cd  and M cn  to M e  without considering the robot waiting time, respectively. Then, one has 
         [0000]      ψ c(d−1) =2( n−d+ 2)μ+2( n−d+ 2)α, 2≦d≦n   (4.8)
 
         [0000]      ψ cn =μ+2α  (4.9)
 
         [0133]    Thus, from (4.8), expressions (4.2) and (4.4) can be rewritten as 
         [0000]      τ d =ψ c(d−1) +Σ d   n ω j   d −(4α+3μ)   (4.10)
 
         [0000]      τ i =ψ c(d−1) +Σ d−1   i−2 ω j   d−1 +Σ i   n ω j   d −(4α+3μ)   (4.11)
 
         [0134]    Then, one discusses how to regulate the robot waiting time such that the residency time constraints at all steps are satisfied. 
       C.2 Scheduling for Close-down Process 
       [0135]    Feasibility is an essential requirement for scheduling a transient process of a cluster tool. From the above analysis, one knows that the robot task sequence during the evolution from M c1  to M ce  is determined. Thus, it is very important to determine the robot waiting time during the close-down process such that the residency time constraints are met at each step. Thus, one has the schedulability results next. 
         [0136]    Proposition 4.1: A cluster tool with wafer residency constraints in a close-down process is schedulable if the robot waiting time during the period from M c1  to M ce  can be found such that the constraint at each step is satisfied. 
         [0137]    Generally, a cluster tool has not less than two steps. By the PN model in  FIG. 3  and CP2, the cluster tool can operate from M cd  to M cn , 1≦d≦n−1. Then, after M cn , the following transition firing sequence is executed: robot waiting at q n  (time a n )→firing t n2  (time α)→firing x n  (time μ)→firing t 01  (time α). At this time, the close-down process ends. Thus, by Proposition 4.1, one only needs to find ways to set the robot waiting time during the period from M c1  to M ce  such that the constraint at each step can be satisfied. To do so, one develops the following algorithms to set the robot waiting time. 
         [0138]    Scheduling Algorithm 4.1: If            max ≦           iU  and ψ 1 ≦           iU , i ∈ N n , the robot waiting time is set as follows:
   1) Let ψ c0 =ψ 1 . During the period from M cd  to M c(d−1) , 1≦d≦n−1, the tool operates according to the model in  FIG. 3  and CP 2. Let            dmax =max{           iL , i ∈ N n \N d−1 }, ω i   d =0, i ∈ N n \N d−1 , and ω n   d =max{           dmax −ψ c(d−1) , 0};   2) During the period from M cn  to M ce , let ω n   n =a n .   
 
         [0141]    According to Algorithm 4.1, during the period from M cd  to M c(d+1) , 1≦d≦n−1, Step i with 1≦i≦d−1, is empty. Thus,            dmax  depends on the bottleneck step from steps d to n. With ω i =0, i ∈ N n \N d−1 , and ω n =max{           dmax −ψ c(d−1)1 , 0}, the residency time constraints at Steps d to n are satisfied and the time to complete each Step i ∈ N n \N d−1 , is expected to be shortest in the permissive range. Finally, during the period from M cn  to M ce  , after the robot loads a wafer into Step n, it only waits there for the end of wafer processing and unloads the wafer immediately. One can show that this is feasible by the following theorem. 
         [0142]    Theorem 4.1: For a single-arm cluster tool with wafer residency time constraints, if            max ≦           iU , ψ 1 ≦           iU , i ∈ N n , a schedule obtained by Algorithm 4.1 for the close-down process is feasible. 
         [0143]    Proof With the PN model in  FIG. 2  and CP1, the cluster tool can reach M c1  from M c0 . Notice that the process from M c0  to M c1  is under the steady state. Therefore, one has ω i   0 =0, i ∈ N n ∪ {0}, and ω n   0 =max{           max −ψ 1 , 0}. Then, based on Rule 1) in Algorithm 4.1, from expressions (4.1) and (4.6). one has τ 1 =ψ 1 +Σ 1   n ω j   1 −(3α+α 0 +3μ)=ψ 1 +max{           1max −ψ 1 , 0}−(3α+α 0 +3μ). If ψ 1 ≦           1max  leading to max{           1max −ψ 1 , 0}=0, from (3.7)-(3.8) and the assumption of            max ≦           iU , ψ 1 ≦           iU , i ∈ N n , one has a 1 ≦           1L −(3α+α 0 +3μ)≦τ 1 =ψ 1 −(3α+α 0 +3μ)≦           1U −(3α+α 0 +3μ)≦a 1 +δ 1 . If ψ 1 &lt;           1max  leading to max{           1max −ψ 1 , 0}=           1max −ψ 1 , from (3.7), (3.8), and the assumption of            max ≦           iU , ψ 1 ≦           iU , i∈ N n , one has a 1 ≦           1L −(3α+α 0 +3μ)≦τ 1 =           1max −(3α+α 0 +3μ)≦           1U −(3α+α 0 +3μ) ≦a 1 +δ 1 . Thus, when the robot arrives at Step 1 for unloading a wafer during the evolution from M c1  to M c2 , the wafer residency time constraint at Step 1 is not violated. Similarly, based on Rule 1) in Algorithm 4.1, (3.5), (3.6), (4.3), (4.7), and the assumption of            max ≦           iU , ψ 1 ≦           iU , i ∈ N n , one has a i ≦τ i ≦a i +δ 1 , 2≦i≦n, when the robot arrives at Step i, 2≦i≦n, for unloading a wafer during the evolution from M c1 , to M c2 . This means that when the robot arrives at Step i, 2≦i≦n, for unloading a wafer during the evolution from M c1  to M c2 , the wafer residency time at Step i is not violated. 
         [0144]    When the robot arrives at Step d during the evolution from M cd  to M c(d+1) , 2≦d≦n−1, for unloading a wafer, based on Rule 1) in Algorithm 4.1, it follows from expressions (4.2) and (4.10) that the wafer sojourn time at Step d is τ d =ψ c(d−1) +Σ d   n ω j   d −(4α+3μ)=ψ c(d−1) +max{           dmax −ψ c(d−1) , 0}−(4α+3μ). If ψ c(d−1) ≧           dmax  leading to max{           dmax −ψ c(d−1) , 0}=0, from (3.5), (3.6), and the assumption of            max ≦           iU , ψ 1 ≦           iU , i ∈ N n , one has that a d ≦           dL −(4α+3μ)≦           dmax −(4α+3μ)≦τ=ψ c(d−1) −(4α+3μ)&lt;ψ 1 −(4α+3μ)≦           dU −(4α+3μ)≦a d +δ. If ψ c(d−1) &lt;           dmax  leading to max{           dmax −ψ c(d−1) , 0}=           dmax −ψ c(d−1) , from (3.5), (3.6), and the assumption of            max ≦           iU , ψ 1 ≦           iU , i ∈ N n , one has that a d ≦           dL −(4α+3μ)≦τ d =           dmax −(4α+3μ)≦           dU −(4α+3μ)≦a d +δ d . Thus, when the robot arrives at Step d during the evolution from M cd  to M c(d+1) , 2≦d≦n−1, for unloading a wafer, the wafer residency time at Step d is not violated. Similarly, based on Rule 1) in Algorithm 4.1, (3.5), (3.6), (4.4), (4.11), and the assumption of            max ≦           iU , ψ 1 ≦           iU , i ∈ N n , one has that a i ≦τ i ≦a i +δ 1 , d&lt;i≦n , when the robot arrives at Step i, d&lt;i≦n, for unloading a wafer during the evolution from M cd  to M c(d+1) , 2≦d≦n−1. This means that when the robot arrives at Step i, d&lt;i≦n, for unloading a wafer during the evolution from M cd  to M c(d+1) , 2≦d≦n−1, the wafer residency time at Step i is not violated. 
         [0145]    During the period from M cn  to M ce , based on Rule 2) in Algorithm 4.1 and expression (4.5), one has τ n =a n . Hence, from all the above analysis, during the close-down process from M c1  to M ce , the wafer residency time constraints are all satisfied, or the theorem holds. 
         [0146]    During the period from M c1  to M c2 , ω i   1 =ω i   0 , i ∈ N n , it is obvious that residency constraints are satisfied.            max ≦           iU , ψ 1 ≦           iU , i ∈ N n , implies the workloads among the steps are properly balanced. During the period from M cd  to M c(d+1) , 2≦d≦n−1, ψ c(d−1) , decreases as d increases. If            dmax ≧ψ c(d−1) , the cluster tool operates in a process-bound region. If            dmax &lt;ψ c(d−1) , it operates in a transport-bound region. Due to the varied ψ c(d−1)  as d increases, the cluster tool may operate in a process-bound region in the next state. Thus, one has to adjust the robot waiting time dynamically to meet the residency constraints by Algorithm 4.1, which assigns the robot waiting time to the last step. Theorem 4.1 guarantees that the obtained schedule by Algorithm 4.1 is feasible to satisfy the residency constraints. Further, one has the following theorem to show its optimality. 
         [0147]    Theorem 4.2: For a single-arm cluster tool with residency time constraints, if            max ≦           iU , ψ 1 ≦           iU , i ∈ N n , a schedule obtained by Algorithm 4.1 is optimal for the close-down process. 
         [0148]    Proof Without loss of generality, let            max =           nL . During the period from M c1  to M c2 , by (4.3) and Rule 1) of Algorithm 4.1 one has that τ n [2(n+1)μ+(2n+1)α+a+ 0 ]+Σ 0   n−2 ω j   0 +Σ n   n ω j   1 −(4α+3μ)=[2(n+1)μ+(2n+1)α+α 0 ]+ω n   1 −(4α+3μ)=[2(n+1)μ+(2n+1)α+α 0 ]+max{           dmax −ψ 1 , 0}−(4α+3μ)=ψ 1 +max{           max −ψ 1 , 0}−(4α+3μ), if            max ≧ψ 1 , τ n =ψ 1 +           dmax −ψ 1 −(4α+3μ)=           nL −(4α+3μ)=a n . If            dmax &lt;ψ 1 , τ n =ψ 1 −(4α+3μ) cannot be shortened. During the period from M cd  to M c(d−1) , 2≦d≦n−1, τ n =[2(n−d+2)μ+2(n−d+2)α]+Σ d−1   n−2 ω j   d−1 +Σ n   n ω j   d −(4α+3μ)=[2(n−d+2)μ+2(n−d+2)α]+ω n   d −(4α+3μ)=[2(n−d+2)μ+2(n−d+2)α]+max{           max −ψ c(d−1) , 0}−(4α+3μ), if            dmax ≧ψ c(d−1) , τ n =           dmax −(4α+3μ)=           nL −(4α+3μ)=a n . If            dmax &lt;ψ c(d−1) , τ n =ψ c(d−1) −(4α+3μ) cannot be shortened. Since ω i   d =0, i ∈ N n \N d−1 , 1≦d≦n−1, the period from M cd  to M c(d+1) , 1≦d≦n−1, is determined by τ n  and minimized. By Rule 2), during the period from M cn  to M ce , τ n =a n  is also minimized. Thus, during the period from M c1  to M ce , τ n  is minimized. That is to say, the time span of the close-down process is minimal. Therefore, a schedule obtained by Algorithm 4.1 is optimal for the close-down process. 
         [0149]    The conditions in Theorem 4.1 indicates that the workloads among the steps are well balanced, i.e., ∩ j∈N     n   [           jL ,            jU ]≠Ø. However, when ∩ j∈N     n   [           jL ,            jU ]=Ø holds, it means that the workloads among the steps are too large. Let E={i|i ∈ N n  and            iU &lt;           max } and F=N n \E. For this case, Wu et al. [2008] have found that a feasible schedule can be obtained by setting ω i−1 &gt;0 i ∈ E. In this way, the wafer sojourn time τ i  can be reduced such that the wafer residency time constraints at Step i are met. For the close-down process, the time taken for the process from M cd  to M c(d+1)  and M c(d+1)  to M c(d+2)  may be different. Thus, in order to obtain an optimal feasible schedule for the close-down process, the key is to dynamically adjust the robot waiting time in q i−1 , i ∈ E, during the evolution from M cd  to M c(d+1) . However, increasing and decreasing the robot waiting time in q i−1 , i ∈ E, would decrease or increase the wafer sojourn time τ at Step i during the evolution from M c(d+1)  to M c(d+2) , respectively. This makes it difficult to guarantee both the feasibility and optimality. Thus, one develops a linear programming model to tackle this issue. During the process from M cd  to M c(d+1) , let β ij   d  denote the time to start firing t ij  (j=1, 2). Then, the linear programming model is formulated as follows. 
         [0150]    Linear Programming Model (LPM): If ∩ j∈N     n   [           jL ,            jU ]=Ø and the system is schedulable under the steady state, with ω i   0 , 1≦i≦n, set by (3.13), then a schedule can be found by the following linear programming model. 
         [0000]    
       
         
           
             
               
                 
                   min 
                    
                   
                       
                   
                    
                   
                     
                       ∑ 
                       
                         d 
                         = 
                         1 
                       
                       n 
                     
                      
                     
                         
                     
                      
                     
                       
                         ∑ 
                         
                           i 
                           = 
                           d 
                         
                         n 
                       
                        
                       
                           
                       
                        
                       
                         ω 
                         i 
                         d 
                       
                     
                   
                 
               
               
                 
                   ( 
                   4.120 
                 
               
             
           
         
       
     
         [0151]    Subject to: 
         [0000]      ω i   1 = 107   i   0 , 1≦i≦n   (4.13)
 
         [0000]      β n2   1 =μ+ω n   1    (4.14)
 
         [0000]      β 01   d =β n2   d +α+μ, 1 ≦d≦n− 1   (4.15)
 
         [0000]      β i2   2 =β (i+1)2   d +2(α+μ)+ω i   d   , d≦i≦n− 1 and 1 ≦d≦n− 1   (4.16)
 
         [0000]      β i1   d =β (i−1)2   d   +α+μ, d+ 1 ≦i≦n  and 1 ≦d≦n− 1   (4.17)
 
         [0000]      β n1   d =β 01   d +2(α+μ)+ω n−1   d , 1 ≦d≦n− 1   (4.18)
 
         [0000]      β n2   d =β d1   d−1 α+μ+ω n   d , 2 ≦d≦n− 1   (4.19)
 
         [0000]      ω n   n =a n    (4.20)
 
         [0000]      β n2   n =β n1   n +α+ω n   n    (4.21)
 
         [0000]      ω i   d ≧0, 1≦i≦d and 1≦d≦n   (4.22)
 
         [0000]      a i ≦β i2   d −β i1   d−1   −α≦a   i +δ i , d≦i≦n and 2≦d≦n−1   (4.23)
 
         [0152]    After reaching M c1 , the cluster tool operates according to the model in  FIG. 3  and CP2 until it reaches M cn . Finally, the robot waits at Step n to unload the wafer and transports it to the loadlock, thus, the close-down process ends. During the close-down process, the robot task sequence is known. One only needs to determine the robot waiting time. Objective (4.12) in LPM is to minimize the total robot waiting time. Equations (4.14), (4.16), (4.19) and (4.21) are used to determine when to start unloading the wafer from a step. Equations (4.15), (4.17) and (4.18) are used to determine when to start loading a wafer into a step. Inequality (4.22) demands that the robot waiting time be not less than zero. Inequality (4.23) guarantees that the residency time constraints are satisfied. 
         [0153]    For the case of ∩ j∈N     n   [           jL ,            jU ]=Ø, Theorem 3.2 presents the schedulability conditions to check if the tool is schedulable. Now one investigates that when the system is schedulable for the case of ∩ j∈N     n   [           jL ,            jU ]≠Ø, whether a feasible schedule can be found by LPM. To answer it, during the close-down process, the robot waiting time can be set as: 1) ω i   d =ω i , d≦i≦n−1, 0≦d≦n−1 where ω i  is obtained by (3.13); 2); ω n   0 =ω n ; 3) 
         [0000]    
       
         
           
             
               
                 ω 
                 n 
                 d 
               
               = 
               
                 
                   ϑ 
                   max 
                 
                 - 
                 
                   ψ 
                   
                     c 
                      
                     
                       ( 
                       
                         d 
                         - 
                         1 
                       
                       ) 
                     
                   
                 
                 - 
                 
                   
                     ∑ 
                     
                       i 
                       = 
                       
                         d 
                         - 
                         1 
                       
                     
                     
                       n 
                       - 
                       1 
                     
                   
                    
                   
                       
                   
                    
                   
                     ω 
                     i 
                     
                       d 
                       - 
                       1 
                     
                   
                 
               
             
             , 
           
         
       
     
         [0000]    1≦d≦n−1; and 4) ω n   n =a n . It is easy to verify that this schedule is in the feasible region of LPM. Therefore, if a system is schedulable according to Theorem 3.2, a feasible and optimal schedule can be obtained by LPM. 
         [0154]    Up to now, for the case that the workloads among the steps are properly balanced, i.e., [           1L ,            1U ] ∩ [           2L ,            2U ]∩ . . . ∩ [           nL ,            nU ]≠Ø, a scheduling algorithm is proposed to find an optimal schedule for the close-down process. For the case that such differences are too large such that [           1L ,            1U ] ∩ [           2L ,            2U ] ∩ . . . ∩ [           nL ,            nU ]≠Ø, a linear programming model is developed to find a feasible optimal schedule for a single-arm cluster tool during the close-down operations. Notice that Algorithm 4.1 consists of several expressions and LPM is a linear programming model. Therefore, it is very efficient to use the present proposed methods to find a feasible and optimal schedule for the close-down process for single-arm cluster tools with wafer residency time constraints. 
       D. EXAMPLES 
     Example 1 
       [0155]    In a single-arm cluster tool, the wafer flow pattern is (1, 1, 1, 1, 1). The activity time is as follows: (a 1 , a 2 , a 3 , a 4 , a 5 ; α 0 , α, μ)=(90 s, 100 s, 100 s, 105 s, 115 s; 10 s, 5 s, 2 s). After being processed, a wafer can stay at Steps 1-5 for 20 s (δ i =20 s, 1≦i≦5). 
         [0156]    By (3.5)-(3.8), one has            1L =121 s,            1U =141 s,            2L =126 s,            2U =146 s,            3L =126 s,            3U =146 s,            4L =131 s,            4U =151 s,            5L =141 s,            5U =161 s, and ψ 1 =89 s. According to Theorem 3.1, the cluster tool is schedulable. For its steady state, an optimal schedule can be obtained by setting ω 0 =ω 1 =ω 2 =ω 3 =ω 4 =0 s and ω 5 =52 s. Then, its cycle time in the steady state is 141 s. It is easy to verify that the workloads can be balanced among the steps, i.e., [           1L ,            1U ] ∩ [           2L ,            2U ] ∩ . . . ∩ [           nL ,            nU ]≠Ø. By Algorithm 4.1, one can find an optimal feasible schedule for the close-down process. Thus, the robot waiting time is set as follows: 1) During the process from M c1  to M c2 , ω 0 =ω 1 =ω 2 =ω 3 =ω 4 =0 s and ω 5 =52 s: 2). During the process from M c2  to M c3 , ω 2 =ω 3  =ω 4 =0 s and ω 5 =71 s; 3) ω 3 =ω 4 =0 s and ω 5 =85 s; 4) ω 4 =0 s and ω 5 =99 s; 5) ω 5 =115 s. Thus, this robot waiting time determines an optimal feasible schedule for the close-down process. The Gantt chart in  FIG. 4  shows the simulation result that takes 623 s to finish the close-down process. 
       Example 2 
       [0157]    The flow pattern is (1, 1, 1, 1). α=5 s, α 0 =10 s, μ=2 s, a 1 =85 s, a 2 =120 s, a 3 =110 s, a 4 =85 s, and δ i =20 s, 1≦i≦4. 
         [0158]    It follows from (3.5)-(3.8) that, one has            1L =116 s,            1U =136 s,            2L =146 s,            2U =166 s,            3L =136 s,            3U =156 s,            4L =111 s,            4U =131 s, and ψ 1 =75 s. By Theorem 3.2, the single-arm cluster tool is schedulable. For the steady state, an optimal feasible schedule is obtained by setting ω 0 =10 s, ω 1 =ω 2 =0 s, ω 3 =15 s, and ω 4 =46 s. Then, the cycle time of the system under the steady state is 146 s. For this example, [           1L ,            1U ] ∩ [           2L ,            2U ] ∩ . . . ∩ [           nL ,            nU ]=Ø holds since the differences between each step&#39;s workload are too large. By the proposed LPM, an optimal feasible schedule is found for the close-down process, during which the robot waiting time is set as follows: 1) From M c1  to M c1 , ω 1   1 =ω 2   1 =0, ω 3   1 =15, ω 4   1 =46 s; 2) From M c2  to M c3 , ω 2   2 =0 s, ω 3   2 =35 s and ω 4   2 55 s; 3) From M c3  to M c4 , ω 3   3 =5 s and ω 4   3 =89 s; 4) From M c4  to M ce , ω 4   4 =85 s. The Gantt chart in  FIG. 5  shows the simulation result that takes 468 s to finish the close-down process. 
         [0159]    Semiconductor industry has shifted to larger size wafers and smaller lot production. Frequently, the wafer fabrication in the cluster tools switches from one size of wafer lot to another. This leads to many transient switching states, including start-up and close-down process. In some wafer fabrication process, quality products require that a processed wafer should leave the processing module within a given limit time to avoid its excessive exposure to the residual gas and high temperature inside a module. Such time constraints complicate the optimization issue for scheduling a close-down process. The problem and its solution are not seen in the existing research of scheduling cluster tools. This invention develops a Petri net model to analyze the time properties of this close-down process with time constraints. Based on it, the present invention proposes a closed-form algorithm and a linear programming model to regulate the robot waiting time for balanced and unbalanced workload situations, respectively, thereby finding an optimal schedule. The proposed methods are highly efficient. 
         [0160]    The embodiments disclosed herein may be implemented using general purpose or specialized computing devices, computer processors, or electronic circuitries including but not limited to digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA), and other programmable logic devices configured or programmed according to the teachings of the present disclosure. Computer instructions or software codes running in the general purpose or specialized computing devices, computer processors, or programmable logic devices can readily be prepared by practitioners skilled in the software or electronic art based on the teachings of the present disclosure. 
         [0161]    In some embodiments, the present invention includes computer storage media having computer instructions or software codes stored therein which can be used to program computers or microprocessors to perform any of the processes of the present invention. The storage media can include, but is not limited to, floppy disks, optical discs, Blu-ray Disc, DVD, CD-ROMs, and magneto-optical disks, ROMs, RAMs, flash memory devices, or any type of media or devices suitable for storing instructions, codes, and/or data. 
         [0162]    The present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The present embodiment is therefore to be considered in all respects as illustrative and not restrictive. The scope of the invention is indicated by the appended claims rather than by the foregoing description, and all changes that come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein.