PLEASE SCROLL DOWN FOR ARTICLE

Size: px
Start display at page:

Download "PLEASE SCROLL DOWN FOR ARTICLE"

Transcription

1 This article was downloaded by:[2007 Korea Advanced Institute of Science & Technology] On: 16 August 2007 Access Details: [subscription number ] Publisher: Taylor & Francis Informa Ltd Registered in England and Wales Registered Number: Registered office: Mortimer House, Mortimer Street, London W1T 3JH, UK International Journal of Computer Integrated Manufacturing Publication details, including instructions for authors and subscription information: Workflow-based dynamic scheduling of job shop operations Online Publication Date: 01 September 2007 To cite this Article: Hwang, H. C. and Choi, B. K. (2007) 'Workflow-based dynamic scheduling of job shop operations', International Journal of Computer Integrated Manufacturing, 20:6, To link to this article: DOI: / URL: PLEASE SCROLL DOWN FOR ARTICLE Full terms and conditions of use: This article maybe used for research, teaching and private study purposes. Any substantial or systematic reproduction, re-distribution, re-selling, loan or sub-licensing, systematic supply or distribution in any form to anyone is expressly forbidden. The publisher does not give any warranty express or implied or make any representation that the contents will be complete or accurate or up to date. The accuracy of any instructions, formulae and drug doses should be independently verified with primary sources. The publisher shall not be liable for any loss, actions, claims, proceedings, demand or costs or damages whatsoever or howsoever caused arising directly or indirectly in connection with or arising out of the use of this material. Taylor and Francis 2007

2 International Journal of Computer Integrated Manufacturing, Vol. 20, No. 6, September 2007, Workflow-based dynamic scheduling of job shop operations H. C. HWANG and B. K. CHOI* VMS Lab., Department of Industrial Engineering, Korea Advanced Institute of Science and Technology (KAIST), Kusong-dong, Yusong-gu, Daejeon, South Korea 1. Introduction In a job shop such as a mould-making shop, dispatching decisions as to which job should be loaded on a machine when it becomes free are termed dynamic scheduling. A practical approach to dynamic job-shop scheduling is the use of discrete event simulation, and their dedicated simulation-based dynamic scheduling systems, often known as manufacturing execution systems or advanced planning systems, are available. In the present paper, we propose a workflow-based dynamic scheduling framework, in which a workflow management system (WfMS) serves as a dynamic job-shop scheduler. For this purpose, we have developed an algorithm for embedding a discrete-event simulation mechanism into a WfMS, and have implemented a prototype job-shop scheduler. Illustrative performance evaluation shows that the proposed framework is logically valid and computationally efficient. Keywords: Workflow simulation; Dynamic scheduling; Job shop scheduling; Enactment service; WfMS; BPMS Typically, there are two approaches to job-shop scheduling: static scheduling and dynamic scheduling. The static scheduling approach may use combinatorial optimization techniques to find the best operation sequence for a given set of jobs (Rangsaritratsamee et al. 2004). In this off-line approach, all operations of available jobs are scheduled for the entire scheduling period (Sabuncuoglu and Hommertzheim 1992). In theory, a static scheduling method can provide an optimal operation sequence, but its applicability is quite limited in practice. The second approach, dynamic scheduling, is employed in a dynamic job shop where jobs arrive randomly over time and dispatching decisions as to which jobs should be processed next when machines become free are made in real time (Baker 1974). It is often called real-time scheduling (Alvarez and Diaz 2004), which attempts to schedule operations one at a time when they are needed. Some researchers prefer the term dynamic scheduling to emphasize the dynamic nature of the real-time scheduling problem (Sabuncuoglu and Hommertzheim 1992). Examples of dynamic job shop include mould-making shop (Choi et al. 1995) and flexible manufacturing system consisting of a number of machining centres (Choi and Kim 2002). A practical approach to dynamic scheduling of job shop is the use of discrete event simulation, called a simulationbased dynamic scheduling (Choi and You 2006). The subject of simulation-based dynamic scheduling has been studied widely in the literature (Ying and Clark 1994, Choi et al. 1995, Kim 1995, Yeh 1997, Baker 1998, Jeong 2000), and there are dedicated dynamic scheduling systems available that are often called manufacturing execution systems or advanced planning systems in industry. A difficulty with these dedicated scheduling systems is that they are nonstandard proprietary systems that are not easily integrated with other enterprise software systems. In the current paper, we propose a workflow-based dynamic scheduling framework in which a workflow management system (WfMS) serves as a dynamic job-shop scheduler that can be easily integrated with other business process management systems. The concept of WfMS emerged in the 1980s and gained popularity in the early 1990s as a means to office *Corresponding author. bkchoi@vmslab.kaist.ac.kr International Journal of Computer Integrated Manufacturing ISSN X print/issn online ª 2007 Taylor & Francis DOI: /

3 558 H. C. Hwang and B. K. Choi automation. According to the Workflow Management Coalition ( the WfMS is a software system that completely defines and automatically executes workflows in order to manage the actual flow of work so that the right work is done at the right time with the right information by the right person in the organization (WfMC 1995). A nice feature of WfMS is that the Workflow Management Coalition (WfMC) provides a set of interface standards for modelling and interfacing, and most commercial workflow management systems comply with the Coalition s standards. In recent years, WfMS has evolved into BPMS (businessprocess management system) by supplementing it with several new functionalities, such as rule engines, activity monitors and specific application modules (Delphi 2003), which is often called workflow-based BPMS. Since WfMS or workflow-based BPMS is widely used in managing and orchestrating various business processes in an enterprise, the use of WfMS in job-shop scheduling as well would provide a natural mechanism for computer integrated manufacturing (CIM). The workflow-based dynamic scheduling framework requires the WfMS to be equipped with an on-line discrete-event simulation mechanism. For this purpose, we have developed an algorithm for embedding a discreteevent simulation mechanism into an existing WfMS. Because the simulator-equipped WfMS is used as a dynamic job-shop scheduler, the dynamic scheduling involves workflow simulation. The subject of workflow simulation has been studied widely (Giaglis and Paul 1996, Aalst 1998, Hong et al. 1999, Bae et al. 1999, Volkner and Werners 2002), but the existing workflow simulation methods are static and off-line in that process definition models are converted into simulation models and then simulated in a separate simulation system. The rest of the present paper is organized as follows: in section 2, characteristics of simulation-based dynamic scheduling and basic mechanisms of WfMS are reviewed to define a workflow-based dynamic scheduling framework, and in section 3, the algorithm for embedding a simulation mechanism in WfMS is presented. In section 4, a prototype system for dynamic scheduling of mould-production operations is described and the results of performance evaluation are presented, followed by the final section on conclusions and discussions. 2. Simulation-based dynamic scheduling and workflow management In this section, we describe key characteristics of simulation-based dynamic scheduling and basic mechanisms of workflow management system, and then present an approach to using a workflow management system in dynamic scheduling of job-shop operations Simulation-based dynamic scheduling The simulation-based dynamic scheduling approach is the experimental investigation of scheduling problems using simulation models and the design of easy-to-use on-line dispatching rules. Research in this area can be also further classified into: (a) testing the performance of several machine scheduling rules against various scheduling criteria, and (b) design of dynamic dispatching rules or other on-line scheduling techniques (Sabuncuoglu and Hommertzheim 1992). In the simulation-based dynamic scheduling framework (Choi and You 2006) as shown in figure 1, simulation experiments are made periodically trying various dispatching rules, taking into account the status of work in progress Figure 1. Simulation-based dynamic scheduling framework.

4 (WIP) and job arrivals, to generate detailed schedules or scheduling rules. In each experiment, a number of simulation runs may be made applying the try-every-rule approach (i.e. try all possible sets of dispatching rules and select the best one) to obtain a near optimal set of schedules. The frame for simulation experimentation is termed as an experimental frame (Zeigler et al. 2000). During the simulation in figure 1, the routing structure of each job is stored in a network structure called bill of processes (BOP). Once a resource is scheduled to every process of each BOP (i.e. every process is loaded on a resource), the entire schedule for all the jobs is stored in a linked-list structure called loading-schedule network (LS-Net). Details on the subject have been described elsewhere (Choi et al. 1995, Choi and Kim 2002). The following data objects are of importance in a simulationbased dynamic scheduling system: (a) (b) (c) (d) (e) standard BOP denotes a pre-defined BOP for a given type of jobs; loaded BOP is an individual BOP for a job loaded in the shop; resource denotes a machine or an operator in the shop; loadable resource is a resource that can handle a process in a BOP; LS-net is a network structure storing all the loaded BOPs connected through (common) loadable resources Workflow management system The WfMC (WfMC, defines WfMS as a software system that completely defines and automatically executes workflows (WfMC 1995). A workflow is a collection of tasks organized to accomplish a business process executable by workflow engine that is a major component of WfMS. The term enactment service refers to the execution of workflows by the workflow engine, which involves assigning tasks to, and receiving results from, participants. The following objects play an important role in a WfMS: 1. Activity refers to the basic work element of a workflow, and it becomes a work item when delivered to a participant for processing. An activity that is not ready to be processed is inactive, and it becomes an enabled activity when all of its predecessor activities are completed: 2. Process definition model (PDM) refers to a network model of the workflow; it describes the precedence relationships among activities. 3. Process instance refers to an instance of the PDM for actual execution. Workflow-based dynamic scheduling of job shop operations Work item handler is a software module handling work items for a human participant. There are two types of internal data in the workflow engine that are related to the enactment service: workflow relevant data and workflow control data. The workflow relevant data, which may be manipulated by work item handlers as well as by the workflow engine, is normally used to determine the state transitions of a process instance. Examples of workflow relevant data, which are also known as process variables, include transition conditions, participant assignments, and the reference values to be passed between activities. In contrast, the workflow control data, which are internal to the workflow engine and not normally accessible to workflow applications, represent the dynamic state of the workflow engine and its process instances. Examples of workflow control data, which are often called enactment service state data, include state information about each process instance, state information about each activity and information on the restart points within each process. Another type of enactment service is the creation of process instances during the run time of a PDM. A PDM is a directed graph of activity nodes. An activity in PDM may be a generic activity that is to be sent out to a participant (human, application software, or hardware resource); or it may be a non-generic activity, such as a start activity, an end activity, or a loop activity. Generic activity can be classified as work-type activity or message-type activity. The content of the work-type activity is delivered to a participant as a work item, either for processing and or for reporting the completion of the activity. In order to make the current paper self-contained, we briefly present some details of enactment service mechanisms of a workflow engine using figure 2. In figure 2, Wj denotes the work-type activity j, where j is a unique id of the activity within a PDM. An inactive activity becomes enabled when all of its predecessor activities are completed: When W1 is changed into a newly completed activity, then W2 and W3 are newly enabled activities by the workflow engine; still W4 and W5 are inactive activities. Right after the completion of W1, the workflow engine provides the following sequence of enactment services (where Tj ¼ processing time for work-type activity Wj): (a) create instances of the enabled activities W2 and W3; (b) send out W2 and W3 to designated work item handlers; (c) receive the content of W2 after a period of T2 (assuming T2 5 T3); (d) update the state of the process instance (W2 becomes newly completed). In the meantime, upon receiving W2, the work item handler notifies a participant, and the participant works on W2 for

5 560 H. C. Hwang and B. K. Choi Figure 2. a period of T2 and reflects the result at the work item handler. A nice feature of WfMS is that the WfMC provides a set of interface standards for modelling and interfacing, and most commercial workflow management systems comply with the Coalition s standards. In recent years, workflow management systems have evolved into BPM systems by supplementing the WfMS with a few new functionalities. There are now quite a large number of workflow-based BPM system venders available as indicated in figure Workflow-based dynamic scheduling By comparing the key objects of the simulation-based dynamic scheduling framework with those of the WfMS, one may find that they have almost identical one-to-one correspondence. Table 1 shows the analogy between the WfMS objects and the dynamic scheduling objects. Thus, if we provide an existing WfMS with simulation capability, the WfMS can serve as a dynamic scheduling system for job shop. In this paper, dynamic job-shop scheduling using a WfMS is called a workflow-based dynamic scheduling and its framework is depicted in figure 4. Thus, the question is how to embed a discrete event simulator into an existing WfMS so that it can perform a workflow simulation that preserves causality constraints (Fujimoto 2000). Enactment service mechanism of workflow engine. 3. Workflow engine with embedded simulator In order to realize the workflow-based dynamic scheduling framework of figure 4, the workflow engine must be capable of performing simulations in run time. The issues of workflow simulation and scheduling have received a high level of attention from academia as well as from industry (Singh 1995, Aalst 1998, Hong et al. 1999, Bae et al. 1999, Giaglis and Paul 1996, Volkner and Werners 2002, April et al. 2005, Senkul and Toroslu 2005). However, none of the existing results were found to be adequate for our purpose. They are static and off-line in that process definition models are converted into simulation models to be simulated in a separate simulation system. Workflow scheduling contends with the problem of finding a correct execution sequence for workflow tasks, i.e. an execution that obeys the constraints that embody the business logic of the workflow (Senkul and Toroslu 2005). Approaches in this area are typically based on temporal logic and specialized algebras (Singh 1995), as well as Petri nets (Aalst 1998). These studies concentrate on the prescheduling of workflows at build time or off-line. Recent studies that have investigated workflow simulation mostly focus on how to use commercial simulation packages or formal modelling languages (e.g. Petri-net) at build time. The basic idea is to convert an executable PDM

6 Table 1. system. Figure 3. Workflow-based BPM System Venders (Gartner Research 2004). Analogy between WfMS and dynamic scheduling Dynamic scheduling objects Standard BOP Loaded BOP Resource Loadable resources in BOP LS-net (Current) WIP Loading simulator Workflow management objects Process definition model (PDM) Process instance Participant Participant definitions in PDM Set of process instances Current state of process instances NA to a formal model described in a target modelling language (Hong et al. 1999, Aalst 2000) or; alternatively, to an input model of a commercial simulation package (Bae et al. 1999, Giaglis and Paul 1996, Volkner and Werners 2002) Architecture of simulator-embedded workflow engine Referring to the enactment service mechanism of the workflow engine given earlier in figure 2, the basic idea of embedding a simulation mechanism is as follows: (a) replace each participant s work item handler with a participant Workflow-based dynamic scheduling of job shop operations 561 simulator; (b) modify the enactment server (ES) so that causality constraints are preserved (Fujimoto 2000); and (c) add a new module, called synchronization manager (SM), responsible for managing activities related to simulation. Figure 5 shows the architecture of the simulator-embedded workflow engine. At the start of simulation (i.e. initialization step), the SM creates process instances for all jobs (loaded and new). For a loaded job in WIP, its current operation step becomes an enabled activity that is sent to a participant simulator (PS) as a work item. In the case of a new job, the job-release activity, which is the first activity for the job, becomes an enabled activity to be sent to the PS handling new job releases. Once initialized, the SM (a) finds a PS who has a work item with the minimum completion time, and (b) asks the PS to report its work item completion to the ES. Upon receiving a work item completion from a PS, the ES starts its simulation cycles, which is described in detail below Workflow simulation algorithm Figure 6 shows the overall execution sequence for workflow simulation. It is a conservative time-stamp simulation

7 562 H. C. Hwang and B. K. Choi Figure 4. Workflow-based dynamic scheduling framework. Figure 5. Architecture of simulator-embedded workflow engine. preserving the causality constraint (Fujimoto 2000). The key idea here is that the synchronization manager allows participant simulators to acknowledge their work item completion only after all the newly generated work items (NGW) are delivered to respective participant simulators. In figure 6, W1 is a newly completed workitem (NCW); which makes W2 and W3 enabled activities (W4 and W5 are inactive activities). NGWs are then generated from the enabled activities. The number of newly generated work items (#NGW), together with NCW (¼W1), are stored as state variables of the ES. The time-stamp workflow simulation has a synchronization phase and an eventscheduling phase. The synchronization phase guarantees that the PSs receive all of the NGWs. The event-scheduling phase then ensures the selection and completion of the work item whose time-stamp of expected completion is the earliest among the pending work items in each of the participant simulators. Details are given in the Appendix. 4. Prototype development and evaluation To verify the proposed workflow-based dynamic scheduling framework and evaluate the workflow simulation algorithm, a prototype system for mould-making shop is developed. A mould-making shop is a typical example of job shop production (Choi and You 2006). The prototype has been developed based on a WfMS named Harmony 1 (Choi and Hwang 2005), using Microsoft.NET Framework and C#. Harmony 1 is a test-bed WfMS developed at the present authors lab and it supports the WfMC standard WAPI (WfMC 1995).

8 Figure 7 shows a PDM for a moulding die (TV front mask) constructed with the process designer of Harmony 1. The process designer, which is a graphical model-building tool, was developed using the GoDiagram 1 library set ( At the end of a simulation run, the resulting job- loading schedule is displayed as a Workflow-based dynamic scheduling of job shop operations 563 Figure 6. Gantt chart, as shown in figure 8. In this prototype, the participant simulators execute work items on a first-in-firstout (FIFO) basis. The short reaction time, indicating the performance of the simulation, is a key requirement for dynamic scheduling (Alvarez and Diaz 2004). The purpose of the performance Execution cycle of time-stamp workflow simulation. Figure 7. PDM of a moulding die.

9 564 H. C. Hwang and B. K. Choi analyses are to evaluate the behaviour of the proposed simulation algorithm (but not to provide a rigorous statistical analysis). We generated eight cases by changing the number of process instances (40, 120, 240, 350, 480, 600, 720 and 1000) and plotted simulation execution times against the number of process instances (see figure 9). As shown in figure 9, the execution time of the simulation appears to be linear with respect to the number of process instances (Ni). Additional simulations were run for different values with the number of activities Na in a PDM (67, 33), the number of process instances Ni for the PDM (1, 2, 3), and the number of participant simulators Ns (5, 9). Figure 8. The N-value given by (1) is used as a measure of the size of the problem. where N ¼ Na Ni Ns ð1þ Na ¼ the number of activities in a PDM Ni ¼ the number of process instances for each PDM Ns ¼ the number of participant simulators. Figure 10 shows the times (in seconds) taken to complete simulation runs under various values of the N-value defined GUI of simulation results (Gantt chart). Figure 9. Execution time versus Ni (the number of process instances).

10 in equation (1). In a typical mould-making shop, about 50 jobs (i.e. process instances) would be involved in a single simulation run (Choi and You 2006). In the prototype, it took approximately 10 s on average to complete a simulation run with nearly operations (Na 6 Ni) and 500 jobs (Ni). The simulation program was run on an ordinary desktop PC (Pentium IV 3.0 with 1GB of main memory). In practice, the dynamic scheduler would be invoked periodically or on an event basis. For example, a mouldmaking shop usually performs rescheduling (i.e. makes a simulation run) once a day in the morning or when a major disturbance event occurs like a major machine down or an arrival of an urgent order. Workflow-based dynamic scheduling of job shop operations 565 Figure 10. Execution time versus N-value [as defined in equation (1)]. handle only unit-loading type operations. If a resource performs an operation on a job one at a time exclusively, we call it a unit-loading type operation. In actual manufacturing, there may be other types of operations as well, like time-sharing, collaborative, and batch-processing type operations. Thus, it may be necessary to increase the modelling-power of the proposed dynamic scheduler in order to cover those types of operations (if they exist) in a job shop. It is also necessary to incorporate various dynamic dispatching rules into the proposed dynamic scheduler to make it a practical job-shop scheduling system. Both of the issues would deserve further research. 5. Conclusions and discussions In this paper, we have demonstrated that an existing WfMS can be used as a dynamic job-shop scheduling system if a discrete-event simulation mechanism is embedded in the WfMS. The results of performance analysis show that the proposed simulation algorithm is very efficient so that the workflow-based dynamic scheduler can handle scheduling problems encountered in large job shops. Since workflow-based BPMS is widely used in managing other business processes such as order-to-delivery process and product development process, the workflow-based dynamic job-shop scheduler may easily be integrated with those systems. Namely, the key advantage of the workflowbased dynamic scheduler is that it is compatible with other business-process management systems in a company. Another merit of the simulator-embedded WfMS is that it can be used in managing office type business processes as well as those that require proactive rescheduling. The main limitation of the workflow-based dynamic scheduler proposed in the present paper is that it can Appendix: Time-stamp workflow simulation algorithm (refer to figure 6) ES ¼ enactment server; SM ¼ synchronization manager; PS ¼ participant simulator; #NGW ¼ number of newly generated workitems; Begin 0) Initialize SM generates process instances and workitems for all jobs While simulation-running condition is true { // Event Scheduling Phase: 1) SM asks each PS to report its local min timestamp (LMT) value 2) Each PS sends its LMT value to SM; SM waits until it receives a LMT value from every PS. SM selects the PS with minimum LMT value. 3) SM asks the selected PS to acknowledge workitem completion.

11 566 H. C. Hwang and B. K. Choi 4) The selected PS acknowledges its workitemcompletion to ES and SM The PS selects its next workitem and computes its new LMT. If there are no pending workitems, set LMT ¼ Infinite. 5) ES updates process instances. // Synchronization Phase: 6) ES creates newly generated workitems (NGWs) SM asks ES to acknowledge that ES creates all NGWs. 7) ES sends out each NGW to a respective PS and set #NGW. ES reports acknowledgement of all NGWs creation. SM obtains #NGW from ES after receiving acknowledged creation of all NGWs. If #NGW equals zero, then go to Step 1. 8) SM asks for acknowledgment of workitemreceipt to every PS. 9) Each PS acknowledges its workitem-receipt to SM SM waits until the workitem-receipt count equals to #NGW Go to Step 1 } End Acknowledgement This work was supported in part by grant No.R from the Basic Research Program of the Korea Science & Engineering Foundation. References Aalst, W.M.P., The application of Petri nets to workflow management. J. Circuits Syst. Comput., 1998, 8, Alvarez, E. and Diaz, F., An application of a real-time scheduling system for turbulent manufacturing environments. Robotics Comput.-Integr. Mfg, 2004, 20, April, J., Better, M., Glover, F., Kelly, J.P. and Manuel Laguna OptTek Systems, Inc., Enhancing business process management with simulation optimization. Technical Report in BPTrends, Available online at: Bae, J.S., Jeong, S.C., Seo, Y.H., Kim, Y.H. and Kang, S.H., Integration of workflow management and simulation. Comput. Ind. Engng, 1999, 37, Baker, K. Introduction to Sequencing and Scheduling, 1974 (Wiley: New York). Baker, A.D., A survey of factory control algorithms that can be implemented in a multi-agent heterarchy: dispatching, scheduling, and pull. J. Mfg Systems, 1998, 17, Choi, B.K., Kim, D.H. and Hwang, H., Gantt chart based MES for die & mold manufacturing. In Proceedings of IFIP WG5.7 Working Conference on Managing Concurrent Manufacturing to Improve Industrial Performance, Seattle, WA, September 1995, pp Choi, B.K. and Kim, B.H., MES architecture for FMS compatible to ERP. IJCIM, 2002, 15, Choi, B.K. and You, N.K., Dispatching rules for dynamic scheduling of one-of-a-kind production. IJCIM, 2006, 19, Choi, B.K. and Hwang, H.C., Architecture of 3-layered closed loop BPMS. KIIE 2005 Fall Conference, Available online at ac.kr/publications/technical.aspx. In Korean. Delphi, BPM 2003 Market Milestone Report, Delphi, Fujimoto, R.M., Parallel and Distributed Simulation Systems, 200 (John Wiley: New York). Giaglis, G.M. and Paul, R.J., It s time to engineer re-engineering: investigating the potential of simulation modeling for business process redesign. In Business Process Modeling, edited by B. Scholz-Reiter and E. Stickel, pp , 1996 (Springer Verlag, Berlin). Hong, K.J., Lee, J.K., Kim, D.H. and Kim, T.G., DEVS framework instrumented with database for web-based workflow modeling simulation. Soc. Comput. Simulation (Simulation Councils, Inc.), 1999, 31, Jeong, K.Y., Conceptual frame for development of optimized simulation based scheduling systems. Expl Syst. Applic., 2000, 18, Kim, Y.D., A backward approach in list scheduling algorithms for multi-machine tardiness problems. Comput. Ops Res., 1995, 22, Rangsaritratsamee, R., Ferrell, W. and Kurz, M., Dynamic rescheduling that simultaneously considers efficiency and stability. Comput. Ind. Engng, 2004, 46, Sabuncuoglu, I. and Hommertzheim, D., Dynamic dispatching algorithm for scheduling machines and AGVs in an FMS. Int. J. Prod. Res., 1992, 30, Senkul, P. and Toroslu, I.H., An architecture for workflow scheduling under resource allocation constraints. Information Systems, 2005, 30, Singh, M.P., Semantical considerations on workflows: an algebra for intertask dependencies. In Proceedings of the International Workshop on Database programming Language, Gubbio, Umbria, Italy, 6 8 September Volkner, P. and Werners, B., A simulation-based decision support system for business process planning. Fuzzy Sets and Systems, 2002, 125, WFMC TC , The workflow reference model, Available online at: Yeh, C.H., A fast finite loading algorithm for job oriented scheduling. Computers & Operations Research, 1997, 24, Ying, C.C. and Clark, G.M., Order release planning in a job shop using a bi-directional simulation algorithm. In Proceedings of the 1994 Winter Simulation Conference, Orlando, Florida, 1994, pp Zeigler, B., Praehofer, H. and Kim, T., Theory of Modeling and Simulation, 2000 (Academic Press: Boston).