Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 94 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
94
Dung lượng
14,1 MB
Nội dung
International Journal of Computer Integrated Manufacturing Vol 24, No 2, February 2011, 95–105 An approach to optimise an avatar trajectory in a virtual workplace Mahmoud Shahrokhia*, Alain Bernardb and Georges Fadelc a Engineering Department, University of Kurdistan, Sanandaj, Iran; bIRCCyN Laboratory, Ecole Centrale de Nantes, Nantes, France; cCEDAR Group, Clemson University, Clemson, USA (Received 23 April 2010; final version received October 2010) A dynamic programming approach is developed to find the optimal operator walking trajectory in simulated risky and encumbered industrial workplaces The risk for the trajectories is evaluated by calculating the area of the cross section of the fuzzy danger zones in the operator’s path The workplace is discretised into rectangular cells, and the optimal trajectory is approximated by a polygon, connecting the centres of ordered cells This method is adapted for both determining the optimal operator paths and simulating the operator behaviour in the virtual engineering platforms The results are useful to develop emergency safety procedures, risk concept training and to evaluate safety in the workplace Keywords: simulation; risk analysis; virtual reality; path planning; fuzzy logic Introduction Path planning is the process of choosing a trajectory to move from an initial position to a target point (Meyer and Filliat 2003) One special case of this type of problems concerns the optimisation of a human’s trajectory in a flat workplace when simulating motion in both computerised three dimensional and virtual engineering platforms This problem arises during the analysis of the performance and risk in industrial settings, when an estimation of the work time and the safety index for human operations are required It may be during normal operation or after an accident or in improvised situations, when new risks are raised and new dangers appear In these critical moments, the objective is finding the most efficient way to implement preventive measures Also this problem may be discussed, during repair and inspection and maintenance operations, when barriers are removed and operators are obligated to work with dangerous machines and materials In this paper, a dynamic programming approach is proposed to find an optimal operator walking trajectory in risky and encumbered industrial workplaces The approach illustrates how a trajectory in a flat workplace is planned for an operator from a starting point to a destination point, around obstacles and dangerous objects The top view of the workplace, as a 2D search space, is discretised into rectangular cells The operator’s trajectories are approximated by polygons, *Corresponding author Email: Shahrokhi292@yahoo.com ISSN 0951-192X print/ISSN 1362-3052 online Ó 2011 Taylor & Francis DOI: 10.1080/0951192X.2010.531290 http://www.informaworld.com constructed by connecting the centres of ordered cells The objective is to find the trajectories with minimum cost-risk index (CR) as a sequence of straight paths between the initial and the destination points This method is adapted for finding the optimal operator walking path in virtual engineering platforms and can be used to develop emergency safety procedures, risk concept training and evaluate the safety in the workplace It can help to improve the layout and configuration of the manufacturing systems in the design phases, by evaluating different layouts and configurations and measure the effect of barriers on the human safety and performance The proposed approach can also be used to simulate human perception and behaviour in the industrial workplace and has potential to conduct artificial avatars in gaming software, in a natural way Related works Path planning problems are mainly discussed in the aerospace, vehicle driving, robotics and computer networking contexts This process includes searching for the shortest path or finding the trajectory with minimal displacement time, energy, cost and risk in an encumbered environment It is still one of the open problems in the field of autonomous systems, which involves meeting operational requirements and safety (Shanmugavel et al 2009) by searching in large or 96 M Shahrokhi et al infinite response space and avoiding local minima and oscillatory movements Many versions of the path-planning problem exist An exhaustive classification of these problems and the methods developed to solve them can be found in Hwang (1992), Meyer and Filliat (2003), LaValle (2006) Multi-agent modelling, dynamic programming, artificial intelligence, graph-based searching (e.g Dijkstra’s algorithm) and analytical methods (e.g the artificial potential field approach) are among the most well known and used approaches They are applied in discretised or continuous search spaces Many of the human trajectory optimisation studies concern the detail analysis of the movements and postures of human body parts (see Campos and Calado 2009), by considering the ergonomic, kinematic and biomechanical parameters They attempt to model and optimise the human performance and better simulate his/her behaviours Chedmail et al (2003) present an example of path planning in an industrial context, by planning the walking path for a manikin in a virtual workplace The approach uses a multi-agent technique to optimise the operator access and visibility, taking into account the ergonomic constraints Using neural networks, Bendahan and Gorce (2004) developed an adaptive model to determine the motion path of the arm of an operator to reach and grasp a prototype object, avoiding an obstacle As a motion prediction model for obstacle avoidance, Yang et al (2006) developed a geodesic model to define the minimum distance curve between two points on an obstacle surface Melchior et al (2003) described the A* algorithm and the fastmarching method which use a modified gradient descent to obtain the minimum trajectory length Kinematic models have been developed previously to simulate the most natural human movement among different possible solutions (e.g., analytical methods and neural networks); however, many of them have not yet been applied in design platforms In spite of the fact that kinematic models for walking have been developed and are successfully applied in design applications, the designer is obliged to define a walking trajectory to simulate a natural human operation Methodology This paper proposes a method to find the human walking trajectory in flat workplaces that minimises displacement risk and cost In contrast to the previous path mapping methods, it presents dangers and barrier effects by fuzzy sets In this way the supposed avatar compares the total cost of the possible trajectories, including his movement cost and the risk cost The term ‘movement cost’ is used as a representative of aggregated energy, fatigue and other undesirable displacement factors of the path, and the risk cost is calculated by considering the intersection of the avatar path with the defined fuzzy danger zones Also, the proposed approach introduces a backward check to find the complex trajectories and several improvement rules, to apply the dynamic programming solution in a more effective way Figure 1(a) exemplifies a computerised 3D model of an industrial plant Three-dimensional and virtual platforms are used during the design and analysis of industrial systems to evaluate various alternatives and propose improvements Simulating human operation in these platforms helps to better take into account ergonomic and safety considerations The problem under study in this paper is finding the shortest safe trajectory from a start point to a destination point, in a simulated workplace In contrast to robots, human behaviour has a great inherent tolerance, and therefore, the approximation of the person’s continuous response space trajectory by a discrete space is justified The notion of safety for a trajectory originated from military requirements (Oustaloup and Linare`s 1996) and is measured by the ability of the path to avoid threats and obstacles (Shanmugavel et al 2009) In this paper, fuzzy danger zones, already proposed by Shahrokhi and Bernard (2004, 2009), are used to simulate danger in the 3D and the virtual workplace This definition is derived from the concept of fuzzy sets, which permits the gradual assessment of the membership of elements in a set In this way, the distribution of danger in the workplace is expressed by a spatial fuzzy set A fuzzy danger zone can be used in the following cases: An accident that can occur due to the direct contact of a human with a danger source (e.g., a sharp blade); however, the position of the danger source is not exactly known and we use membership degree to represent our opinion about its approximate place An accident that can occur due to the direct contact of a human with a danger source; however, the human movement is not precise and may contact with it involuntarily We use membership degree around the danger source to explain our opinion about the danger that menaces a human in the neighbourhood of a danger source An accident can occur due to the direct contact of a human with a danger source; however, the danger source is not fixed, and we use a membership degree to explain the proportion of 97 International Journal of Computer Integrated Manufacturing Figure Computerised 3D model of an industrial system times that danger source is present in a point, as an indicator for danger level of the point An accident can occur due to the presence of a human nearby a danger source (e.g., dangerous sparks, slung articles or gases that are produced around the manufacturing machines); however, the danger reduces as the distance of the human from the danger source increases We use a membership degree to explain how the amplitude of danger changes For example, radiation amplitude is reduced proportionally to the square of the distance from a radiation source Then, that danger can be modelled by a fuzzy danger zone with a parabolic membership function Our objective is to simulate the perception of a human about danger in the workplace, and we ask him to define dangers as a degree of membership of points in danger zones In conclusion, fuzzy sets can be used to present our uncertain and approximate information or can be used to explain the physical rules about the distribution of danger space In any case, if there are several dangers in a specific point, their dangerous effects may be accumulated This is modelled by using the fuzzy union operation because it is not strictly defined and is adequately flexible to explain the various ways that the effects of dangers may be accumulated Similarly, the protection effects of barriers aregeographically modelled using the fuzzy memberships, and the simultaneous effect of several barriers can be calculated by using the suitable fuzzy union operation The protection effect of barrier h against danger g is modelled by fuzzy barriers zone B~hg It is characterised by function mBhg ~ ðxÞ which illustrates the membership degree of point x in B~hg Danger will remain, if the barriers are not sufficient Therefore, the remaining danger for a specific point depends on the intersection of the initial danger and insufficiency of union of barriers, in that point This makes formula (1), fuzzy complement (Ø) for calculate insufficiency of the union of the barriers: k \ [ r ~ ~ ~ Zg ¼ Zg Bhg ð1Þ : h¼1 where K is the number of barriers and Z~rg represents the remaining danger g after applying the effect of the K barriers, on the danger zone Z~g It is the percentage of effectiveness of barrier h to reduce the dangerous effect of danger g in point x According to De Morgan’s laws (Keef and Guichard 2010) it can be rewritten as: Z~rg ¼ Z~g C ( Z~rg ¼ \ K ð:B~hg Þ ð2Þ h¼1 ) Y K ðx; mZg ð1 À mBhg ~ ðxÞ: ~ ðxÞÞÞ jx X h¼1 mZg ~ ðxÞ; mBhg ~ ðxÞ ½0; 1 ð3Þ In the previous equation, algebraic multiplication is used to evaluate the fuzzy intersection; other kinds of t-norms can be used according the accumulation effects of the barriers Figure illustrates a schematic 1D fuzzy danger ~ and the manner how barrier h reduces its zone ðZgÞ amplitude 98 M Shahrokhi et al In addition, the accumulation of several danger zones is calculated by using their bounded sum as follows: È É Z~rT ¼ ðx; mðZ~r ÈZ~r È Z~rn Þ ðxÞÞjx X ð4Þ X n mZ~r ÈZ~r È Z~rn ðxÞ ¼ 1; mZ~rg ðxÞ ð5Þ g¼1 where Z~rT is the total remained danger zone and mz~rg is the membership degree of point x in fuzzy danger zones Z~g , after applying the barriers effects, respectively Other kinds of s-norms can be used according the accumulation effects of the dangers A 2D fuzzy danger zone is characterised by a membership function that assigns a membership in [0,1] scale, to each point in its domain, indicating the amplitude of danger, as follows: mZ~ : ðx; yÞ ! ½0; 1: ð6Þ The red profiles, in Figure 1(b), illustrate the fuzzy danger zones around the dangerous facilities in the exemplified plant of Figure 1(a) Analytical methods are not suitable to analyse the non-linear, non-convex and non-continuous fuzzy danger zones that result from the accumulation of several danger sources and barriers In addition, the optimal trajectory in an encumbered workplace may be complicated [see Figure 3(a)], and as illustrated in Figure 3(b), in the general case, a simple mathematical function that associates a unique output value to each input value as f : x ! y; ðx; y RÞ cannot define these trajectories Therefore, an analytical model should include an algorithm to combine several functions for modelling complicated trajectories by several different trajectory partitions Dynamic programming is an efficient approach which solves complicated path planning problems by reducing their computational complexity (Meyer and Filliat 2003, LaValle 2006) In this paper, a backward check algorithm is developed and is used to examine all possible solutions and find an optimal solution In the example, presented in Figure 1, an operator should find the shortest trajectory to arrive to the electric power transformer from his original position, by avoiding the dangers characterised by the red fuzzy danger zones Figure presents the flow chart of the proposed algorithm to solve this problem In the first step of this algorithm, the obstacles, danger zones and the start and destination points are specified To use the dynamic programming technique, the top view of the workplace is modelled as a 2D Cartesian plan, including the obstacles, danger zones and the operator start and destination points (Figure 5(a)) The effect of barriers on dangers is modelled by eliminating fuzzy danger zones or reducing their membership amplitude Figure 5(b) illustrates that the protective walls cut the Figure Effect of a barrier on a fuzzy danger zone Figure zones A complex trajectory (a), and a complex trajectory in Cartesian space (b), through the obstacles and around danger International Journal of Computer Integrated Manufacturing Figure 99 Flow chart of proposed dynamic programming approach fuzzy danger zones, signifying the elimination of the dangerous effects in the protected zones In the second step of the algorithm, an outline is defined for a virtual universe (VU) as geographical limits of the search space Several hypotheses are developed and applied to define an ‘as small as possible area’ for enveloping all reasonable trajectories By using a simpler example, illustrated in Figure 6(a), these hypotheses are explained as follows: ðlS þ ð1 À lÞxÞ VU 8x A; l ½0; 1; ð7Þ ðlD þ ð1 À lÞxÞ VU 8x A; l ½0; 1: ð8Þ The maximum search space, defined as VU is the smallest area that satisfies the following two conditions for any arbitrary point x in the set A: Set A is the set of all points representing obstacles and danger zones plus the required pads for the operator to surround them, and S and D are the starting and destination points, respectively [Figure 6(a)] Figure 6(b) illustrates the search space including the VUI and VUII for this example VU is the union of two convex areas, called VUI and VUII that are separated by a line connecting the start point to the destination point Figure illustrates the search space including the VUI and VUII for the 100 M Shahrokhi et al Figure Top view of obstacles and danger zones in the exemplified workplace (a), and the effect of barriers on the fuzzy danger zones (b) Figure An example of obstacles and danger zones (a), and the related surrounding set A (b) example presented in Figure In the absence of obstacles and danger zones, a straight line is always selected to connect the trajectories’ partitions The virtual universe can be reduced if two straight trajectories can be found from the start to the destination points that cross in the search space before contacting any other objects For example, in Figure 8(a) the two trajectories T1 and T2 are connected at the point P1, before contacting any other object Therefore, danger zones Z1 and Z2 and the obstacle O1 are excluded from the search space and the final VU becomes as presented in Figure 8(b) The obstacle areas and the zones with an unacceptable risk level are excluded from the VU The unacceptable risk zones are regions that are too dangerous for human presence Figure illustrates the resulting VU, for the example presented in Figure 6, after applying these hypotheses The obstacle areas and the zones with unacceptable risk level are marked by a tiles or checkerboards in Figure In the next step of the algorithm, a baseline is drawn for use as a reference for girding the virtual universe It is a straight line, which isolates an as large as possible empty space in front of the start point by separating it from all other objects All trajectories in this empty space are straight, because there is no obstacle or danger zone in this space Therefore, the dynamic programming approach is applied in the rest of the VU by considering the square cells only (Figure 9) The next step of the algorithm is concerned with identifying the processing order of the cells For simplicity the cells are drawn as 101 International Journal of Computer Integrated Manufacturing unit squares Generally, the size of the cells determines the accuracy of the results As these results identify a human walking trajectory, a high resolution approach is an overkill and too cumbersome to justify The cells entirely hidden by the obstacles and unacceptable risk zones are eliminated To address the cells, integer numbers (i.e., 1,2, , n) are assigned to them, according to the processing order illustrated in Figure In the fifth step of the algorithm, the From-To chart is developed It is a table that includes risk-cost indices (RCs) for paths between neighbouring cells More discussion related to neighbouring cells is in step of the algorithm The sub-trajectory for motion from the centre of cell i(xi, yi) to the centre of cell j(xj, yj) is approximated by line l characterised by the following equation: y¼ yj À yi ðx À xi Þ þ yi xj À xi Figure An example of obstacles and danger zones, and the related largest virtual universe Figure Contact of two straight trajectories (a), and the final virtual universe outline (b) Figure Dividing the VU to the cells by using the baseline as a reference guide minðxi ; xj Þ x maxðxi ; xj Þ: ð9Þ 102 Figure 10 M Shahrokhi et al Cross section of fuzzy danger zone along the operator path The RC index for this displacement, (RCij), is calculated by accumulating risk and cost on the line c, as follows: Z qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi RCij ¼ w mðx; yÞdxdy þ c ðxi À xj Þ2 þ ðyi À yj Þ2 ; lij ð10Þ where w and c are the risk severity factor and the displacement cost (e.g., energy, time, length) factors, respectively The symbol m indicates the membership of specific points in the danger zones As previously explained, danger zones are constructed by considering the distribution of hazards and effects of the mitigating barriers on them (see Figure 5(b)) The risk of a straight path is estimated by calculating the integral presented in equation (10) This integral is equivalent to the area under the fuzzy section of the danger zone described earlier, traversed by the operator during the trajectory from the cell i to cell j (Figure 10(a)) It is easily evaluated using conventional geometric tools provided in most CAD applications (Figure 10(b)) The state variable RCÃi represents the minimum value of calculated RC indices for displacement from the starting points to the cell i The RC index is calculated and compared only for the possible trajectories that not cross any obstacle or interdiction zone in the path As the paths from the starting point to the cells of the first column are straight lines in the empty zone, where there are no obstacles or dangers, at step of the algorithm, the cost indices of these displacements are simply calculated as follows: qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi à ðxi À xS Þ2 þ ðyi À yS Þ2 ; RCi ¼ c ð11Þ where S(xS, yS) and i(xi, yi) represent the starting point, and the individual centres of the cells of the first column, respectively The dynamic programming process commences at the 7th step of the algorithm by considering the second column of cells The stage variable is defined as the number of the current cell i, which increases through the progression of the program Step checks if there is an un-processed cell in this column and the response ‘yes’ to this question leads to step to calculate the optimal trajectory for the next un-programmed cell The RCÃi is evaluated by comparing the cost indices for different alternate paths for arriving to cell i, by using the following formula: È É ð12Þ RCÃi ¼ RCÃj þ RCji ; j2Ni where Ni is the set of neighbourhood cells for cell i, including cell i71 and all cells of the previous column In addition, as is illustrated in Figure 11, to increase the resolution of the examined possible paths, the set of neighbourhood cells (Ni) is enhanced by including several cells from the previous columns Therefore, the neighbourhood cells of cell i are defined by the following set: È È É È À2 À2 À3 À3 À3 À3 À3 ÉÉ ; i1 ; iÀ1 ; iÀ1 ; i1 ; i2 ; iÀ1 ; iÀ2 Ni ¼ fi À 1g; iÀ1 à ð13Þ Here i kl corresponds to the cell which is placed in the l th row above and k th column at the right hand of cell i, and iÀ1 à are all cells in the previous column After finding the optimal trajectory to cell i, the optimal RC index (RCÃi ) and the number of the latest cell in the optimal trajectory (NÃi ) before arriving to cell i is saved International Journal of Computer Integrated Manufacturing Figure 11 103 Clustering the exemplified workplace to the rectangular programming cells To take into account the complex trajectories, a backward check is done, which recalculates the RC index of all neighbourhood cells (Ni) that have an RC index superior to RCÃi Step 10 of the algorithm describes this process The possible decrease of the RC index of neighbourhood cells is performed After considering the RC index for each cell, it is necessary to the backward check to study the possibility of further propagation of improvement to its corresponding neighbourhood cells By using the steps 11 and 12 of algorithm, this process is continued for all columns Step 13 is concerned with aggregating and presenting the optimal trajectory from start to destination points The optimal trajectory is a set of ordered cell numbers, identified one by one, by tracking back the optimal sub-trajectories already found the productivity is evaluated by considering the trajectory length The programming process is in the up-down and left-right direction, respectively The calculated optimal trajectory is illustrated by the dotted line in Figure 13 Cell numbers, the optimal RC index for arriving to every cell and the previous cell in the optimal trajectory are illustrated for all cells This trajectory connects the start and destination points by passing through the obstacles and risk zones The calculated total RC index is 156 units After applying the backward check in cell 14, the RC index for cell is improved The improvement is propagated for cells and 4, in the previous columns The same process for cell 29 leads to an improvement of the RC index for cells 21 and 20 This way, a complex trajectory with optimal RC cost is identified Example Figure 12 presents a simple example, including danger zones and obstacles in a workplace To provide traceability, several simplifications are applied The workplace is placed in a rectangular area, divided into 30 cells Start and destination points are placed in the cells and 25, respectively The neighbourhood cells for cell i are limited to the cells in the under-process column and its previous column The relevant ‘FromTo’ chart also is illustrated in this figure, containing the RC index for the possible paths between the centres of the neighbourhood cells The impossible paths are marked by * in this chart These paths are barred by the physical barriers In this model, the risk function is defined as the accumulated risk through the motion trajectory, and Discussion The proposed method provides a global optimal solution for planning an operator’s path, by considering the fixed obstacles and danger zones in the 2D workplace Danger zones are differentiated from obstacles: an operator cannot pass through an obstacle; however, a danger zone can be crossed if one accepts the relevant consequences The risk for a trajectory does not consider the duration of the presence of an operator in a cell, especially cells in danger zones, the optimisation method can be easily modified to consider such cases if required The approximation of the operator’s movement as a polygon is acceptable when one considers the natural operator movement’s tolerance The slopes and the steps in the workplace can be modelled by International Journal of Computer Integrated Manufacturing The rest of this article is organised as follows: in section 2, related research, including simulation- and workflow-based planning and scheduling issues are reviewed Also, the concepts of WfMS and the Business rule approach are briefly described as fundamental knowledge for the main contents In section 3, we discuss the elements and structures of the required workflow model; in sections and 5, we explain how to execute a designed workflow model on the WfMS and how to reconfigure implemented system according to the evolving manufacturing system Section deals with a case study based on the proposed methodology We introduce the prototype system targeting a semiconductor backend assembly line of a major electronics company in Korea, and results of performance evaluation, including reconfigurability, are presented, followed by the last section, with conclusion and discussion Related literature review In the research domain related to planning and scheduling, it is hard to find information that covers how to reconfigure or develop information systems easily rather than introducing new algorithms So, in this section, we describe the key characteristics, basic terminologies and related previous works of (1) simulation-based planning and scheduling, (2) WfMS and the Business rule approach to enhance functionalities of workflow and also (3) research issues including both of the aforementioned domains 2.1 173 has been presented (Choi and Kim 2002, Choi and You 2006, Hwang and Choi 2007, Bagchi et al 2008, Park et al 2008) In this approach, all the information required to execute the system, including simulation models, is always synchronised with the shop floor’s current configuration, and then users iteratively adjust simulation parameters or decision variables such as dispatching rules and machine assignment policies according to the results of simulation experiment until an acceptable plan or schedule is acquired Generally, the simulation is executed on invoking events like job arrival according to the previously defined sequences in the simulation model, such as bill-of-process (BOP) This procedural behaviour may be quite similar to WfMS, which carries out a workflow model composed of sequenced activities Based on this analogy, research on engrafting workflow onto planning and scheduling has been conducted (Kwak et al 2002, Lin et al 2004, Hwang and Choi 2007) 2.2 Workflow and business rule approach The WfMC defines WfMS as a software system that completely defines and automatically executes workflows (WfMC 1995) A workflow is a collection of activities organised to accomplish a business process executable by a workflow engine, a major component of WfMS The term workflow enactment service refers to the execution of workflows by the workflow engine, which involves assigning activities to, and receiving results from (1) agent-invoked applications or (2) workitems that are delivered to human participants The fundamental entities of workflow, defined by WfMC, are as follows Simulation-based planning and scheduling The simulation-based planning and scheduling approach is the experimental investigation of planning and scheduling problems using simulation models Research in this area can also be further classified into the following: (1) analysing or evaluating the performance of several machines, configurations of the shop floor, and scheduling rules or policies, and (2) utilising simulation tools to generate plans or schedules for shop floor operation and to support human decisionmaking Computer simulation has been widely applied to various domains for performance evaluation purposes, thanks to the simulation model’s high flexibility and transparent visibility for execution procedures Simulation models can also be developed at different levels of detail: a highly detailed model of a particular process step or workstation, and a more aggregate model representing an entire facility or subsystem (Uzsoy et al 1992, Wu 1994) Recently, including the authors’ previous works, as a decision support tool, the simulation-based planning and scheduling approach Process definition model (PDM) refers to a buildtime network model of the workflow; it describes the precedence relationships among activities Activity refers to the basic work element of a workflow At build time, user defines how to execute required operations when activity is invoked: (1) for human participant type activity, user interfaces are typically defined as workitems, and (2) for agent type activity, applications that can be invoked automatically are connected to the activities In both cases, users may select relevant data among what is defined in PDM and selected data have to be sent to or received from operation of the activity beforehand or afterwards, respectively Relevant data is the process variable defined in PDM Relevant data is initialised when the process instance is created from PDM as a template, and it is consumed or updated during execution of the process instance 174 H.Y Lee and B.K Choi Process instance refers to an instance of the PDM for actual execution In the same way, activity instance can be defined Both entities are runtime objects handled by the workflow engine Transition arc represents the order of the activities and can embed condition expressions for branching or merging of the activity sequences Workflow enactment service, operated by the workflow engine, catches the completion event of a former activity and makes instances of the subsequent activities according to the transition arcs and condition expressions Workflow itself is a procedure consisting of a series of requests with no embedded business logic (Ross 2003) So, various business logics required for workflow execution, e.g calculating, decision-making, applying constraints, manipulating relevant data, etc have to be implemented as applications for agents or work items for human participants But, there is a concern that development or maintenance costs of the business logics can be higher than the reconfiguring cost of the workflow itself, especially in fluctuating environments requiring constant alteration of the business logics In this situation, the Business rule approach can be a practical alternative The Business rule approach refers to a systematic method in which system managers write business logic as a form of easyto-understand business rules, and these scripts are directly converted to executable form without additional programming or compiling efforts The Business rule engine, the core information system module of this approach, plays the role of transforming scripts into executable files that can be invoked from the other applications at run-time (Chisholm 2003) 2.3 Workflow-based planning and scheduling The existing studies that have adopted workflow in the planning and scheduling domain commonly regard creating and completing time of the activity instances as a necessary plan or schedule (Julia et al 2008, Lin et al 2004, Senkul and Toroslu 2005) In addition to such approaches, we previously proposed a workflowbased scheduling framework that embedded a simulator inside of the workflow engine (Hwang and Choi 2007) In this study, we modelled each machine of the job shop and the routing among them to activities and transitions of workflow, and at run-time let the participant simulator and the synchronisation manager decide whether to take or not and when to complete the ‘empty work items’ that are created according to the workflow enactment service Despite the merit that users can put the workflow model directly into the simulation system, this approach has several limitations in applying it to the development of generalised planning and scheduling systems: (1) Despite the simulation model’s flexibility for various level-of-details, the activity node of the workflow could only be mapped onto a single production machine Under this limitation, it becomes a very big concern that the modification cost of the workflow may be very high for modelling flexible job shops or flow shops such as LCD and semiconductor production lines, in which the machine assignment policies of the particular step are dynamically changed several times a day Furthermore, it is not easy to represent machine sharing, the circumstance in which a particular machine is assigned to multiple job types or production steps (2) Participant simulator and synchronisation manager function as ‘another’ simulation engine but there is no mention of how to modularise inside structure and so it is not easy to reconfigure system’s functionalities, for instance, modifying dispatching rules To get over the drawbacks found in the existing studies, we will consider the following points to develop a generalised workflow-based planning and scheduling system in this article First of all, we will model a more abstract production unit, e.g the production step as a basic workflow entity, i.e activity Practically, most commercial planning and scheduling systems support the production step and more aggregated production units in the input model and, therefore, we not need to map each production machine onto the ‘virtual’ participant of the workflow Instead, the agent participant, connecting the ‘simulation engine’ as an application, may generate plans or schedules for the production unit modelled as an activity Second, to accommodate the entire system’s reconfigurability, it is necessary to modularise repetitive procedures of the target information system as much as possible In this way, we will propose a workflow model that supports the generalised architecture of a simulation-based planning and scheduling system Design workflow model A general modelling and simulation system is composed of three main entities (Zeigler et al 2000), which are (1) simulation engine or simulator, (2) simulation model that reflects source system by satisfying particular objectives and (3) experimental frame, which is the frame for simulation experimentation Improving on this, the simulation-based scheduling framework was presented in our previous works (Choi and You 2006, Hwang and Choi 2007), as depicted in Figure In this section, according to this framework, we will discuss how to design workflows that play roles of the International Journal of Computer Integrated Manufacturing Figure Simulation-based dynamic scheduling framework major three entities, and what are the required functionalities for each workflow 3.1 175 Simulation engine workflow The simulation engine workflow (SEWF) models repetitive procedures inside the simulation engine (see simulation engine section in Figure 2.) The SEWF is created whenever a job arrives at a particular production step and initialises simultaneously its relevant data according to the information from the simulation model and the external environment Relevant data may contain the resource and capacity model (see the next section for more detail), the list of dispatching rules required to handle arrived job at the current production step and the current status of job and resources The key role of SEWF is literally to simulate production step’s behaviour while taking into account the current job and resource status for generating the plan or schedule After its operation, SEWF is terminated with a process complete event and updating of relevant data representing job and resource status SEWF mimics behaviour of a general manufacturing system that is organised well in the prototype system model (Wu 1994) According to this model, the manufacturing system is composed of three sub-systems: auditorial, managerial, and operational sub-system, and those sub-systems can be, respectively, modelled into one or more activities that function in SEWF as follows Monitoring (agent type activity) Analyse job and resource status and deliver required information to decision-making activity Check need for exception handling Decision-making (agent type activity or human participant type activity) Select or prioritise production machines (or tools) according to defined dispatching rule among candidates that can handle arrived job Determine whether each machine has to consider disturbance factors, e.g machine setup or preventive maintenance or not Status transforming (agent type activity) Get simulation done for given job and production machines (or tools) Note that the word simulation here means fundamental operation, i.e job and resource status transformation After this operation, status of machines (or tools) is updated to busy during occupied duration by the job, which becomes ready for next step after its cycle time 3.2 Manufacturing process workflow Manufacturing process workflow (MPWF) acts as a simulation model, as depicted in Figure Commonly, commercial simulation systems and previous studies dealing with planning and scheduling problem adopt manufacturing processes, i.e routings, as a part of the simulation model that can be constructed according to each type of job (Choi and Kim 2002, Choi and You 2006, Hwang and Choi 2007, Bagchi et al 2008, Park et al 2008, Applied Materials 2010) In a similar way, MPWF takes the form of the network of production steps that have to be processed to complete the specific type of job during simulation and this network is referred to as product and routing model in our framework The shop floor’s routing may be composed of (1) production steps representing physical resources and 176 H.Y Lee and B.K Choi capacity, and (2) logical steps that define operations for shop floor control purposes regardless of capacity limits (Liu et al 2008) The most typical example of a logical step is to change material handling units between two production steps For instance, in the semiconductor fabrication process, including a single wafer as a basic unit and, besides that, multiple wafers, single lot, multiple lots or batches of the specific size may be utilised as a material handling unit according to the characteristic of the particular production step To sum up, MPWF, which is defined for each type of job, is composed of the following two activity types Production step (agent type activity): physical production unit that invokes a simulation engine for generating plans or schedules, taking into account the finite capacity of resources Logical step (agent type activity): In the front and the rear of the production step, changes attributes of the job for the purpose of shop floor control and application of constraints Inside of the MPWF, relevant data for each step’s operation may be embedded and this data composes the remaining parts of the simulation model, as shown in Figure The resource and capacity model contains the information for simulation of the given job type in the respective production step, and this information is composed of (1) list of candidate (or technically loadable) resources for each production step and (2) basic production information including cycle time, throughput rate, etc for every candidate relation Besides this, the list of the dispatching rules that will be used at the particular production steps is important information required for MPWF Meanwhile, resource and capacity model is composed of data which can be shared among single or multiple MPWFs For instance, a specific resource, which is already assigned to a certain step for a particular type of job, can be assigned simultaneously to any other steps or types of job Therefore, these shareable data have to be generated and managed on higher level workflow which is going to be defined in the next section 3.3 Experiment control workflow Experiment control workflow (ECWF) functions as an experimental frame for the simulator and its controller by loading the relevant simulation model and information for execution An experimental frame consists of three types of components (Zeigler et al 2000): a transducer for observing and analysing the system output segments; an acceptor for monitoring to see if the desired experimental conditions are met; and a generator for generating input segments to the system The experimental frame plays an important role, especially in simulation-based planning and scheduling systems; that is why an iterative simulation experiment is required and why studies related to data gathering, performance analysis, and decision-making after simulation experiments are considered essential in this approach In our proposed framework (see Figure 2), human intervention is emphasised; for instance, users may set the acceptance level of the simulation results (Yeh 1997) and edit the generated schedule manually (Choi and Kim 2002) To support such manual intervention, user-interactive procedures are required (Bagchi et al 2008), and use of workflow by human participants may be a good resolution According to the earlier discussions, activities that seek to organise ECWF are summed up as follows Data collector and initialiser (agent type activity): Supplying all the information required to simulation and performance analysis before and after experiments, respectively Performance analyser (agent type activity or human participant type activity): Analysing quality of supplied information and generating KPI (key performance index) reports (agent), and inquiring about results (human) Simulation input generator (human type activity): Setting simulation parameters and decision variables for simulation experiments Simulation model loader (agent type activity): Loading appropriate simulation model and related information according to the type of job when job is released into the factory (with job arrival event at first production step) 3.4 Workflow structures The three previously defined workflows are models of the main component of the simulation-based planning and scheduling framework and may have a hierarchical relationship with each other, as shown in Figure Activities in charge of the simulation model loader in ECWF are as necessary as the number of types of job During simulation, whenever a new job is released to the factory, branching conditions of the transition arc are processed and an appropriate activity is enabled to create its own activity instance, which loads the predefined simulation model, namely MPWF We can assume that this activity is an abstractive form of the MPWF and that the concept of such an abstract activity has already been introduced to enhance understandability of subordinate workflows and to implement WfMS more easily (Manolescu 2001, Chrzastowski-Wachtel et al 2003) Similarly, activities in charge of the production steps of the MPWF are abstract activities of the SEWF, and they create International Journal of Computer Integrated Manufacturing process instances of SEWF simultaneously with the creation of their own instances to execute simulation For a specific simulation experiment, if we set the number of types of jobs as t, the number of jobs whose type is k as jk, and the number of production steps in MPWF for job type k as sk, the required number of PDMs at build-time and the created process instances at run-time can be expressed as shown in Table The reason that the number of PDMs for SEWF is a minimum of is that we may need multiple SEWFs to develop the entire system when (1) a particular type of job requires totally different simulation logic, (2) a particular production step, e.g outsourced routing, has different operational rules or (3) organisational or security issues matter so that one does not want to reveal the internal behaviour of the shop floor For reference, in studies related to manufacturing execution systems, it has been shown that workflow can be utilised as a controllable medium of information or middleware for the multi-organisation or for the environment in which various types of machines are deployed (Huang 2002, He et al 2006) System implementation To execute the workflows designed in Section on the WfMS, we have several things to consider because, Figure The hierarchical relationship of the workflows Table Number of workflows required at build time and run time Workflow PDM (build-time) Process instance (run-time) ECWF MPWF SEWF t minimum 1 S jk for all job type k S jk6sk for all job type k 177 while the most prevalent use of WfMS itself is within the office environment in staff intensive operations such as insurance, banking, legal and general administration (WfMC 1995), the planning and scheduling system needs relatively little human intervention and is a highly automated system due to the computerised algorithms that accompany huge and complex data structures The standard structure of the WfMS is depicted in Figure 4, and, out of these images, in this section we will mainly discuss about (1) specification of workflow relevant data and repository used by workflow enactment service and related applications during whole lifecycle of the workflow, (2) how to enhance reconfigurability of the agent applications invoked from the workflow enactment service according to the characteristics of the applications, and (3) what is the required specification of the data interfaces for deploying simulation engines 4.1 Relevant data and repository infrastructures The volume of information utilised in the planning and scheduling system is considered extremely large compared with the systems in office environments For example, in a typical 300-mm memory semiconductor fabrication factory, the number of main processing steps may be more than 500, the number of machines that can be assigned to a given processing step could be as many as 30, and the number of product types extends to 50, approximately For efficient use of such a huge volume of data and algorithmic requirements, various user-defined types of data may be deployed But standard WfMS basically offers typical data types such as integers and strings, which can be easily embedded in document form Standard WfMS briefly mentions the need for user declared types of data (WfMC 2008) Therefore, definition tools such as a PDM designer have to be equipped with functionalities that can import a complete description of the data types along with a declaration of the relevant data itself Also, when the workflow enactment service and invoked applications are executed at run-time, both the relevant data and its descriptions of the type have to be accessible in pairs, so that interpretation, calculation and update of the relevant data becomes possible WfMS has a continuous need for access to a process repository during the entire lifecycle of the workflow; for instance, when to store PDM, create process or activity instances by workflow enactment service and preserve or refer relevant data for execution of humans and agent applications Especially in our proposed framework, the simulator continuously refers the current status of jobs and resources and updates those status in order to generate plans and schedules; but, during this process, WfMS 178 H.Y Lee and B.K Choi Figure Generic structure of a WfMS may be maintaining ‘past’ information that has no chance to be referred to again (usually, WfMS records all the related information including used relevant data during its progress) This ‘past’ information may still occupy a large space in the process repository and exert a bad influence on the efficiency of the entire system Therefore, similar to the general simulation tools, it is necessary to have a memory-based temporal repository through which workflow enactment service can access all the information after the creation of process and activity instances at run-time Nevertheless, PDM may use a slower but more stable process repository based on the physical disk at build-time 4.2 Agent applications PDM, which contains a sequence of activities and ‘relationship information’ for their invoked applications, is easily designed and modified using definition tools such as PDM designer So how easily the invoked application itself can be modified is essential for reconfigurability of the entire WfMS based system Applications for human participants usually not embed complex logics or algorithms and are commonly implemented to form documents (Bae and Kim 2002) that can be easily modified by commercial form design tools But logics embedded in agent-invoked applications not only vary considerably from simple condition checkers to complex simulation algorithms but also differ in their changeability and diversity (see Table 2) Therefore, according to their characteristic, logics embedded in agent-invoked application have to be implemented in various ways and particular logics that must be changed continuously or those that are highly rule-based are suitable for implementation via a Business rule approach Meanwhile, in the case of logics that require connections with external applications such as databases and not need modification over time, it is much better to implement them as a general software component that can be plugged into the workflow from a performance perspective In the majority of cases, a Web service can be a felicitous software component thanks to its standardised interfaces International Journal of Computer Integrated Manufacturing The key point of implementing agent invoked applications according to the Business rule approach is the business rule engine that transforms business rules in script form to executable files (Chisholm 2003) To support this functionality on WfMS, we need close cooperation of existing modules of WfMS including the workflow engine and the PDM designer with the business rule agent, as shown at Figure First of all, the PDM designer needs add-on functions on which users are able to edit Business rules linked to particular agent type activity Of course, written Business rules must be able to use relevant data previously declared in the PDM as a given variable When the Business rule agent is initiated by an activity instance at run time, the Business rule engine imports proper Business rules and Table Workflow ECWF MPWF SEWF Figure 179 current relevant data to initialise variables inside of the Business rules Note that the description for the type of each relevant data is indispensable in this initialising procedure And then the Business rule engine converts the initialised rule into executable form and the rule executer executes it literally The role of the Business rule agent is completed by updating the appropriate relevant data from the final outcome along with the complete event of the related activity instance 4.3 Data interfaces Simulation systems dealing with planning and scheduling problems usually adopt discrete event-based approaches in which operation is carried out only Proper types of application according to the characteristics of the activities and logics Role for activities Simulation parameter and decision variable setting KPI analysis Data collect and initialise Simulation model loading (abstract activity) Logical step Production step (abstract activity) Monitoring Decision-making Status transformation Participant type Changeability of embedded logic Diversity of embedded logic Application type Human Agent Human Agent Agent – – Medium – Medium Medium – – Low – Low Low – Form document Web service Form document Web service Web service Sub-process Agent – Agent Agent Agent High – High High Low High – High High Low Business rule Sub-process Business rule Business rule Web service Business rule agent integrated with WfMS 180 H.Y Lee and B.K Choi when certain events such as job arrival or departure are occurred and these approaches can be divided into two categories (Zeigler et al 2000) One approach requires the mutual synchronisation among respective operations according to chronological global-time management functionalities (Choi and Kim 2002, Choi and You 2006, Hwang and Choi 2007, Bagchi et al 2008, Park et al 2008, Applied Materials 2010) and in the other approach, operation is carried out exclusively only corresponding with the local-time (Choi and Seo 2009, Kim et al 2010, Lee et al 2010) In this article, we handle the latter part for emphasising system’s reconfigurability, but by adding a synchronisation module that controls execution time between activities of workflows, we can easily accommodate the former approach (Hwang and Choi 2007) In respect that the aforementioned two simulation approaches’ fundamental functionality is to update the status of jobs and resources based on currently given status, core simulation engines have similar data interfaces regardless of the time management function Input: (1) initial time, (2) initial status of jobs and resources, (3) capacity parameters between each candidate job and resource, e.g cycle time, (4) loading priority among candidate jobs or resources Output: (1) completion time, (2) updated status of jobs and resources Therefore, simulation engine which conforms to such data interfaces can be implemented into agentinvoked application and complete the workflow based simulation system by integrating it with a pre-defined PDM We may note that input and output data structures required to deployed simulation engine must be compatible with the workflow relevant data mentioned in Section 3, because they play a key role as a simulation model Reconfiguring process In this section, we are going to discuss how to reconfigure the simulation-based planning and scheduling system that we have implemented Business processes involved in planning and scheduling are continuously evolving to cope with managerial purposes and market environments, and the physical manufacturing system itself is also constantly modified due to (1) new product introduction, (2) technical improvement of the manufacturing processes, and (3) renovating and scraping of existing resources or deploying an additional one including machines and labour forces Meanwhile, planning and scheduling systems have to closely interact with related business processes during configuring, activating the system and reporting the result to the stakeholders Therefore, it is highly required to keep system updated in the perspective of not only front-end business processes but also back-end manufacturing systems Note that we not describe minutely in this article how to deal with changes of the business process because general WfMS can accommodate it easily The basic elements composing a general manufacturing system can be categorised into physical PPR (process, product and resource) entities (Woerner and Woern 2005, Choi et al 2010) and logical policies or rules operating it, and we can summarise the way to reflect those alterations as shown Table Described reconfiguring activities are straightforward enough to be done not by software engineers but by nonprofessional system users directly using PDM design tools These activities still require human’s manual intervention But especially in case of the MPWF, there are applicable previous studies in which workflow model can be constructed automatically using event logs recorded during production machines’ operation (Weijters and van der Aalst 2003) Case study: semiconductor backend multi-chip package assembly line In this section, a case study of system development according to the proposed workflow model (Section 3) and WfMS reinforced functionalities (Section 4) is presented For the sake of this case study, we have developed a simulation-based production planning system targeting a semiconductor backend multi-chip package (MCP) assembly line in Korea Semiconductor backend is probably one of the most complex manufacturing systems (Sivakumar 1999) and, furthermore, an MCP backed line that has appeared recently is very challenging for planning and scheduling because in this line, multiple, up to 20 different types Table system Activities for reconfiguring the implemented Changes of the shop floor Product Process (routing) Physical step Logical step Resource Operation policy (dispatching rule) Activities required to reconfigure the system Add/remove MPWF Modify activities in MPWF Link corresponding SEWF Modify activities in MPWF and corresponding logic via Rule Editor Modify resource and capacity model in each MPWF Modify dispatching rule embedded in decision-making activity nodes of SEWF via Rule Editor International Journal of Computer Integrated Manufacturing of wafer are laminated on a single printed circuit board (PCB) so that routing is more complex than ever The purpose of the developed production planning system is to craft a release plan composed of releasing amount and time for PCB and wafers corresponding with given delivery orders of the final products To generate a release plan, we adopted a capacity-filtering algorithm (Choi and Seo 2009) for backward finite-capacity planning; this algorithm employs rough-cut capacity simulation methodology that plays a role of filtering infinite-capacity loads with finite-capacity constraints of resources composing bottleneck production steps Meanwhile, besides this work, we have participated in many works with industries in Korea related to development of simulation-based planning and scheduling systems for LCD-TFT lines (Park et al 2008) and semiconductor fabrication lines Previous studies have been carried out with classical development methods, namely the object-oriented programming approach, but the MCP assembly line had very Figure Simplified BOP for four-layered MCP product 181 distinguished features so it needed very costly customising effort For this reason, we have engaged in this research expecting that it may be very helpful in a practical way 6.1 MCP assembly line During development of the production planning system for the MCP assembly line, we have to take into account several managerial issues in addition to classical algorithmic issues such as machine assigning and re-entrant flow problem The typical BOP for a four-layered MCP product is shown in Figure Note that the wafers and the PCB released into the line each have individual material codes, and multiple codes are merged into new ones after assembly at the die attaching step We may note that material units are changed to wafers, chips and PCB, after particular production steps Reflecting these characteristics does not require complex logic or algorithms, though we 182 H.Y Lee and B.K Choi may need time-consuming and annoying maintenance efforts including code-level implementation whenever shop floor alteration occurs, such as in introducing a new type of product, or changing the BOP or configurations of production machines 6.2 System implementation A workflow-based production planning system has been developed based on a WfMS named Harmony1 (VMS Lab 2010), using Microsoft NET Framework and C# programming language Harmony1 is a testbed WfMS including a PDM design tool, a workflow engine and other software modules developed in the present authors’ research group The system supports the WfMC standard (WfMC 1995) First of all, we modelled ECWF, located on the top layer in Figure As mentioned in Section 3, ECWF includes activities for human participants such as setting the simulation environment and the parameters, including dispatching rules, and for automated agents like the simulation initialiser that supply required information and create proper process instances of MPWF according to the type of releasing job as a simulation controller After Figure completing the simulation, ECWF collects results of the simulation experiment and generates a performance analysis report for managers Then, human participants are provided with simulation results and a performance index report in the form of work item If needed, decide whether to execute the simulation again or terminate A screenshot of the PDM designer that covers ECWF is shown in Figure 7; the graphic notation used in Figure and subsequent figures is described in Table Figure represents MPWF of a 4-layered MCP product corresponding to ‘simulation model activity’ named ‘‘Job type F’’, shown in Figure Note that activities in Figure are organised in reverse order, from product order to material release, of physical material flow on the shop floor (see Figure 6) because we are currently implementing backward finite-capacity planning You can check this in that the logical step is modelled as an activity whose participant is the Business rule agent This type of activity is utilised for managerial purposes such as updating job attributes For example, in Figure 8, the product order is given as a form of chip quantity, but we need quantity of PCBs for the last production step (the second node in the top ECWF that outlines simulation-based production planning system International Journal of Computer Integrated Manufacturing left of figure) so that unit converting logic is required and is implemented for the activity that embeds the corresponding Business rule As mentioned in Section 4, Business rules can be edited in rule editor invoked from PDM designer, as shown in Figure The grammar of the Business rule can vary depending on how to implement the Business rule engine; we adopt the widely used C# language style In our system, release plans for each type of wafer and PCB according to the given batch are generated after finishing MPWF Table Icon Graphical notation used in PDM designer Description 183 If the activity instance of a particular production step in Figure is created, then the corresponding SEWF is invoked automatically, and is depicted in Figure 10 SEWF plays the role of monitoring of the current job and resource status whether of the abnormal case or not, decision-making, including prioritising candidate production machines using the dispatching rule and configuring the machine setup information and, finally, status transformation over the job and resource, namely simulation, especially capacity-filtering simulation in our case If abnormal cases obstructing subsequent automated decisionmaking are detected during monitoring activity, human participant may intervene and make decisions manually Process start event Process end event Activity: participant type is human Activity: participant type is agent Activity: participant type is business rule agent Simulation model activity: load simulation model (MPWF) as a sub-process Production step activity: load simulation engine (SEWF) as a sub-process Dummy activity (connector) Figure 6.3 Evaluation of software reconfigurability The simulation algorithm used in this article is a capacity-filtering algorithm that is a core part of the capacity-filtering system that we have introduced previously (Park et al 2008, Choi and Seo 2009) Detailed description of this system and algorithm is beyond the scope of this article, but originally this system was developed targeting an LCD-TFT fabrication factory, a typical flexible-flow line Besides the capacity-filtering simulation engine as a key component, the original system is composed of many other software modules that offer similar functionalities from an external perspective compared to our Example MPWF as a simulation model for four-layered MCP product 184 H.Y Lee and B.K Choi proposed system in this article The original system, which was developed with C# programming language on a Microsoft NET framework environment, was the following size: nine system modules 77 classes 10,762 lines of raw programming code The authors of this article, regardless of present research, developed a production planning system for the MCP assembly line, the same target as mentioned in the previous part of this section, in the classical objectoriented method accompanying code-level programming The finally completed system had almost the same functionalities for production planning, but we needed considerable effort to modify the original system to cover various features of the MCP assembly line Contrarily, in our proposed method, the workflowbased system development procedures obtain excellent results for dramatically minimising customisation efforts to complete an identical production planning system This comparison is summarised in Table As a result, in a classical development manner, we were required to add or modify eight system modules out of nine, 29 classes out of 77, and lines of code corresponding to 10% of the total program In comparison, the workflowbased development merely required us to add or modify system modules and classes just for data input/output functions, and 299 lines of code (less than 2.8% of total) to fit with the Web service interface Most development work could have been completed by reconfiguring workflows in the PDM designer From another viewpoint, we may have to consider the manual effort of reconfiguring the workflow models and the Business rules inside of them on the PDM designer, but it is very meaningful that the information system of the same functionalities can be developed easily without constructing complex development environments and compiling tools by non-professional users who can only manipulate the PDM designer 6.4 Figure Embedded Business rules ‘‘‘UnitChange] ChipToPCB’ of Figure Table for activity Evaluation of performance Evaluating quality performance including rigorous statistical analysis of the generated plan is beyond Developing systems having identical functionalities: comparison between two methods Category of modified or added object for required customisation functionalities System module (number of modules) Class (number of classes) User interface (number of UIs) User interfaces for system configuration and performance report viewer Programming code (line count) Support material code change Support material unit change Support route merging Support new behaviour of machine setup Support new dispatching rule Support new data I/O and system interface environment Total Ratio for original system Code-based customisation Workflow-based customisation 29 3 120 110 400 150 205 100 1085 10.0% None (reconfigured by user) 299 299 2.8% International Journal of Computer Integrated Manufacturing the scope of this article, but it is meaningful to verify that the developed system works fast enough to apply it in the practical domain Data set for the experiment is prepared from ten product types that are produced on the shop floor on a particular day; this product mix is shown in Table We have developed MPWFs for each product type; for instance, Figure is the MPWF corresponding to the product type ‘F’ among those shown in Table and process instance of this MPWF creates 17 activity instances of the production step and logical step at run-time The other workflows, such as ECWF and SEWF, have been modelled, as already discussed, in Figures and 10, respectively The capacity-filtering algorithm, used as simulation logic, processes a single batch per product type daily so that Table Daily product mix and the number of activity instances created in MPWF Number of created activities on each process instance of MPWF MCP product type Two layer Type A Type B Three layer Type C Type D Type E Four layer Type F Type G Type H Type I Five layer Type J Total Figure 10 Production steps Logical steps 10 11 10 10 14 14 15 13 13 13 17 18 18 19 17 17 17 17 22 158 19 146 185 process instances of MPWF are created in equal quantities with the daily number of product mix for one particular day Note that if the daily product mix varies, the number of creating process and activity instances would have no relationship with the length of the planning horizon because the number of activities composing MPWF may be different according to the product type Therefore, for the sake of evaluating performance index according to the length of planning horizon, we assumed that the daily product mix is identical despite the fact that the shop floor produces various product mixes daily in real life We conducted an experiment with the orders from one day to eight days as a planning horizon (as mentioned earlier, the customer order is the input of our developed system) and measured the total duration of each experiment along with the number of created process and activity instances Increasing the number of jobs to be processes, we can notice that the created number of activity and process instances naturally goes up proportionally because the daily product mix is identical (see Figure 11) The bar chart with dark grey colour in Figure 11 denotes the execution time of the production planning system developed according to the classical objectoriented programming method discussed in Section 6.3 This graph also shows that the workflow-based system (denoted by a light grey-coloured bar chart) required approximately 30% more execution time on the last day, and this may be the result of the additional computation time of the workflow enactment services besides simulation Observing the execution time with the growing number of activity and process instances, it is shown that growth rates of the execution time versus the number of jobs takes the SEWF representing detailed simulation procedures for each production step 186 H.Y Lee and B.K Choi Figure 11 Execution time and the number of instances versus the number of processed jobs form of low exponential growth, due to the original behaviour of the capacity filtering algorithm, while the time devoted to additional computation time for the workflow enactment service increases linearly According to the observed facts, we can forecast that the longer the planning horizon, the lower the time ratio required for workflow enactment service of the whole workflow-based production planning system Conclusions In this article, we have demonstrated how to develop a simulation-based planning and scheduling system based on workflow; this system is one that non-professional users are able to reconfigure easily We have noticed that in contrast with the classical algorithmic approaches, simulation-based planning and scheduling approaches fulfil the essential conditions for recently focused-on trends for reconfigurable information systems, so that we have adopted the business rule approach and Web service as enabling technologies and workflow has been utilised as a platform on which these technologies are implemented The three-layered hierarchical workflow model is presented according to the three core components and their behaviours of simulation-based planning and scheduling framework, which were proposed in our previous research To execute the designed workflow model, we have discussed what additionally to consider in existing WfMS We explained how to reconfigure the implemented system, and as a detailed case study, the development procedures of simulation-based production planning system targeting semiconductor backend MCP assembly lines are illustrated Through performance evaluation for the developed system, we have confirmed that the proposed workflow-based methodology can efficiently minimise the implementation efforts without programming but simply by reconfiguring the system Besides this quantitative outcome, it is considered very beneficial that users themselves can develop or modify their information systems without intervention of professionals Evaluation for the execution speed for various experiment sets has been conducted to test applicability, and, as a result, we have noticed that it required additional computation time for the workflow enactment service but this time is considered acceptable for application in the practical domain, especially when compared with the existing method In this paper, besides the easy-to-modify characteristic of workflow, we not mention in detail any other advantages of the workflow-based approach, such as interconnectability or interoperability with other information systems and business processes If what we have proposed in this article, and the other merits of workflow are considered together, we expect that it will be possible to develop reconfigurable information systems covering not only planning and scheduling for a single factory but also supply chains or more complex systems This issue deserves further research References Applied Materials Inc, 2010 Autosched AP (simulationbased scheduling system) [online] Available from: http:// www.appliedmaterials.com/services-software/library/auto sched-ap/ Ausiello, G., et al., 1999 Complexity and approximation: combinatorial optimization problems and their approximability properties Berlin, Germany: Springer Bae, H and Kim, Y., 2002 A document-process association model for workflow management Computers in Industry, 47 (2), 139–154 Bagchi, S., et al., 2008 A full-factory simulator as a daily decision-support tool for 300 mm wafer fabrication productivity In: S.J Mason, et al., eds Proceedings of the 2008 winter simulation conference Miami, FL: ISBN: 978-1-4244-2708-6 Chisholm, M., 2003 How to build a business rules engine: extending application functionality through metadata engineering (The Morgan Kaufmann Series in Data Management Systems) San Fransisco, CA: Morgan Kaufman, 12 November, 2003 Choi, B.K and Kim, B.H., 2002 MES architecture for FMS compatible to ERP International Journal of Computer Integrated Manufacturing, 15, 274–284 Choi, B.K and Seo, J.C., 2009 Capacity-filtering algorithms for finite-capacity planning of a flexible flow line International Journal of Production Research, 47 (12), 3363–3386 Choi, B.K and You, N.K., 2006 Dispatching rules for dynamic scheduling of one-of-a-kind production International Journal of Computer Integrated Manufacturing, 19, 383–392 Choi, S.S., Yoon, T.H., and Noh, S.D., 2010 XML-based neutral file and PLM integrator for PPR information exchange between heterogeneous PLM systems International Journal of Computer Integrated Manufacturing, 23 (2), 216–228 International Journal of Computer Integrated Manufacturing Chrzastowski-Wachtel, P., et al., 2003 A top-down Petri netbased approach for dynamic workflow modeling Volume 2678 of LNCS Eindhoven, The Netherlands: 336–353 Debevoise, T., 2005 Business process management with a business rules approach Business Knowledge Architects, 10 October 2005, Virginia He, Y., et al., 2006 Flexible workflow driven job shop manufacturing execution and automation based on multi agent system In: Proceedings of the IEEE/WIC/ACM (IAT’06), USA, 695–699 Huang, C.Y., 2002 Distributed manufacturing execution systems: a workflow perspective Journal of Intelligent Manufacturing, 13 (6), 485–498 Hwang, H.C and Choi, B.K., 2007 Workflow-based dynamic scheduling of job shop operations International Journal of Computer Integrated Manufacturing, 20 (6), 557–566 Julia, S., Oliveira, F.F., and Valette, R., 2008 Real time scheduling of workflow management systems based on a p-time Petri net model with hybrid resources Simulation Modelling Practice and Theory, 16 (4), 462–482 Kim, T., et al., 2010 Gantt chart simulation based job change planning for LCD industry Proceedings of IFIP5.7 APMS International Conference, 11–13 October 2010, Como, Italy Koren, Y., et al., 1999 Reconfigurable manufacturing systems A keynote paper Annals of the CIRP, 48 (2), 527–540 Krafzig, D., Banke, K., and Slama, D., 2004 Enterprise SOA: Service-oriented architecture best practices (the coad series) Upper Saddle River, NJ: Prentice Hall PTR Kwak, M., Han, D., and Shim, J., 2002 A framework for dynamic workflow interoperation using multi-subprocess task In: Proceedings of the 12th international workshop on research issues in data engineering: engineering e-commerce/e-business systems (RIDE.02), 99–130 Lee, H., et al., 2010 Capacity-filtering simulator: finitecapacity planning system for the fabrication factory In: In Proceedings of IFIP5.7 APMS International Conference, 11–13 October 2010, Como, Italy Lin, H.P., Fan, Y.S., and Loiacono, E.T., 2004 A practical scheduling method based on workflow management technology International Journal of Advance Manufacture Technology, 24 (11), 919–924 Lindberg, L., 2005 SOA as a paradigm shift SAP Whitepaper Liu, X.-L., et al., 2008 Process routing planning system based on PDM Advanced design and manufacture to gain a competitive edge London, UK: Springer Manolescu, D.A., 2001 An extensible workflow architecture with objects and patterns In TOOLSEE 2001, Sofia, Bulgaria Mckay, K.N and Black, G.W., 2007 The evolution of a production planning system: A 10-year case study Computers in Industry, 58, 756–771 Meyr, H., Rohde, J., and Wagner, M., 2000 Architecture of selected APS in supply chain management and advanced planning In: C Kilger, ed Concepts, models, software and case studies Berlin, Germany: Springer, 241–249 187 Morgan, T., 2002 Business rules and information systems: Aligning IT with business goals Boston, MA: AddisonWesley Newman, D., 2005 EIM reference architecture: an essential building block for enterprise information management Gartner Research Report, ID Number: G00130553 Available from: http://www.gartner.com/Display Document?id=485697 [Accessed 15 December 2010] Park, B.C., et al., 2008 Simulation based planning and scheduling system for TFT-LCD fab In: S.J Mason et al., Proceedings of the 2008 Winter Simulation Conference ISBN: 978-1-4244-2708-6 Pinedo, M., 2002 Scheduling: theory, algorithms, and systems 2nd ed Englewood Cliffs: NJ: Prentice Hall Ross, R.G., 2003 Principles of the business rule approach Boston, MA: Addison-Wesley Information Technology Series Senkul, P and Toroslu, I.H., 2005 An architecture for workflow scheduling under resource allocation constraints Information Systems, 30, 399–422 Sivakumar, A.I., 1999 Optimization of cycle time and utilization in semiconductor test manufacturing using simulation based, on-line near real-time scheduling system In: P.A Farington et al., Proceedings of the 1999 winter simulation conference Piscataway, NJ: IEEE, 727–735 Uzsoy, R., Lee, C.Y., and Martin-Vega, L.A., 1992 A review of production planning and scheduling models in the semiconductor industry—Part I: system characteristics, performance evaluation and production planning IIE Transactions, 24 (4), 47–60 VMS Lab, 2010 Harmony1 – Workflow management system test bed [online] Available from: http:// bpm.kaist.ac.kr/ Weijters, A.J.M.M and van der Aalst, W.M.P., 2003 Rediscovering workflow models from event-based data using Little Thumb Integrated Computer-Aided Engineering, 10 (2), 151–162 WfMC, 1995 The workflow reference model TC00-1003 [online] Available from: http://www.wfmc.org/ WfMC, 2008 Workflow standard process definition interface – XML process definition language, Document Number WFMC-TC-1025 Available from: http://www.wfmc.org/ View-document-details/WFMC-TC-1025-Oct-10-08-AFinal-XPDL-2.1-Specification.html [Accessed 15 December 2010] Woerner, J and Woern, H., 2005 A security architecture integrated co-operative engineering platform for organized model exchange in a digital factory environment Computers in Industry, 56, 347 Wu, B., 1994 Manufacturing systems design and analysis Oxford: Chapman & Hall Yeh, C.-H., 1997 A fast finite loading algorithm for job oriented scheduling Computers & Operations Research, 24 (2), 193–198 Zeigler, B., Praehofer, H., and Kim, T., 2000 Theory of modeling and simulation Boston, MA: Academic Press [...]... (AMI) ( 1, 1, 1) (1/ 2, 1, 3/2) ( 1, 3/ 2, 2) ( 1, 1, 1) (2/ 3, 1, 2) (1/ 2, 2/ 3, 1) (3/ 2, 2, 5/2) (2/ 5, 1/ 2, 2/3) ( 2, 5/ 2, 3) (1/ 3, 2/ 5, 1/2) (5/ 2, 3, 7/2) (2/ 7, 1/ 3, 2/5) cause-and-effect relationships, ending in financial objectives that represent a strategic theme for the business The attributes are designed to pull organisations towards the overall vision This methodology is consistent with the approach of. .. Bourland, K.E ., Powell, S.G ., and Pyke, D.F ., 1996 Exploting timely demand infomration to reduce inventories European Journal of Operational Research, 9 2, 239–253 Brewer, P.C and Speh, T.W ., 2000 Adapting the balanced scorecard to supply chain management Supply Chain Management Review, 5 (2 ), 48–56 International Journal of Computer Integrated Manufacturing Bullinger, H.-J ., Ku¨hner, M ., and van Hoof, A .,. .. management Journal of Retailing, 76 (4 ), 549–568 Mentzer, J.T ., et al ., 1999 What is supply chain management? Unpublished Working Paper Knoxville, TN: University of Tennessee Mertins, K ., Rabe, M ., and Ja¨kel, F.W ., 2005 Distributed modelling and simulation of supply chains International Journal of Computer Integrated Manufacturing, 18 (5 ), 342–349 Miragliotta, G and Staudacher, A.P ., 2006 The integrated. .. 702–709 Huang, X.G ., Wong, Y.S ., and Wang, J.G ., 2004 A twostage manufacturing partner selection framework for virtual enterprises International Journal of Computer Integrated Manufacturing, 17 (4 ), 294–304 Jain, V ., Wadhwa, S ., and Deshmukh, S.G ., 2009 Enhancing flexibility in supply chains: modelling random demands and non-stationary supply information International Journal of Computer Integrated Manufacturing, ... Science, 2 3, 286–296 Forrester, J.W ., 1961 Industrial dynamics Cambridge, MA: MIT Press Fulkerson, W ., 2000 Information-based manufacturing in the informational age The International Journal of Flexible Manufacturing Systems, 12 (2/3 ), 31 Gavirneni, S ., Kapuscin, R ., and Tayur, S ., 1999 Value of information in capacitated supply chains Management Science, 46 (1 ), 16–24 Georgiadis, P ., Vlachos, D ., and... Management Journal, 38 (1 ), 58–62 Chen, Q.X ., Chen, X ., and Lee, W.B ., 2007 Qualitative search algorithms for partner selection and task allocation in the formulation of virtual enterprise International Journal of Computer Integrated Manufacturing, 20 (2/3 ), 115–126 Cheng, C.H ., Yang, K.L ., and Wang, C.L ., 1999 Evaluation attack helicopters by AHP based on linguistic variable weights European Journal of Operational... Information, Process, Management, 5, 71–82 125 Towill, D.R ., 1997 The seamless supply chain–the predator’s strategic advantage International Journal of Technology Management, 13 (1 ), 37–56 Udin, Z.M ., Khan, M.K ., and Zairi, M ., 2006 A collaborative supply chain management framework, Part 1: planning stage Business Process Management Journal, 1 2, 361–376 Verma, R and Pullman, M.E ., 1998 An analysis of the... Integrated Manufacturing, 21 (4 ), 455–467 Polychronakis, Y.E and Syntetos, A.A ., 2007 ‘Soft’ supplier management related issues: An empirical investigation International Journal of Production Economics, 10 6, 431– 449 Rabelo, L ., et al ., 2007 Value chain analysis using hybrid simulation and AHP International Journal of Production Economics, 10 5, 536–547 Ravi, V ., Shankar, R ., and Tiwari, M.K ., 2005 Analyzing... 143– 158 Yu, X and Wang, F ., 2007 Method of performance evaluation based on ANP and BSC Asian Social Science, 3 (11 ), 43–47 Yu, Z ., Yan, H ., and Cheng, E ., 2001 Benefits of information sharing within supply chain partnerships Industrial Management and Data System, 101 (3 ), 114–119 Zadeh, L.A ., 1965 Fuzzy sets Information and Control, 8, 338–353 Zarandi, M.H.F ., Tu¨rksen, I.B ., and Saghiri, S ., 2002 Supply... (b) (b ), (c) (b) (a ), (b ), (c) (a ), (b ), (c) (a ), (b ), (c) (a ), (b ), (c) (a ), (b ), (c) (a ), (b ), (c ), (d) (a) (a) Techniques and methods applied: (a) causal loop diagramming; (b) continuous simulation; (c) OR techniques; (d) discrete simulation International Journal of Computer Integrated Manufacturing of transactional linkages between lead firms and subordinate firms: market, modular, relational, captive