An Extended Event Graph With Negative Places and ... - CiteSeerX

33 downloads 28057 Views 699KB Size Report
modern man-made systems, including automated manufacturing systems such as cluster tools for semiconductor manufacturing, microcircuits, and real-time software systems, are usually mod- ...... The issues are discussed in Seo and Lee [4].
IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING , VOL. 2, NO. 4, OCTOBER 2005

319

An Extended Event Graph With Negative Places and Tokens for Time Window Constraints Tae-Eog Lee and Seong-Ho Park

Abstract—We introduce places with negative holding times and tokens with negative token counts into a timed event graph in order to model and analyze time window constraints. We extend the enabling and firing rules for such an extended event graph named a negative event graph (NEG). We develop necessary and sufficient conditions based on the circuits for which the NEG is live, that is, an infinite sequence of feasible firing epochs exist for each transition. We prove that the minimum cycle time is the same as the maximum circuit ratio of the circuits with positive token counts. We also show that when there exists circuits with negative token counts, the maximum cycle time is bounded and the same as the minimum circuit ratio of such circuits. A scheduling example for a robot-based cluster tool with wafer residency time constraints for semiconductor manufacturing is explained. Note to Practitioners—Scheduling and control problems for modern man-made systems, including automated manufacturing systems such as cluster tools for semiconductor manufacturing, microcircuits, and real-time software systems, are usually modeled as discrete event systems. Such systems often have strict time constraints on timings of some events. Our results can be used for identifying whether there can be a feasible schedule that satisfies all time constraints, computing the range of the feasible cycle times, and determining a steady schedule with the minimum cycle time. By using the feasibility condition, we also can accommodate the system configuration, the task times, and the task sequence so that the system can satisfy the time constraints while meeting the target cycle time. Such practice is already used for real cluster tool engineering. We have more results on implementing a real-time scheduler and controller for time constrained systems. Index Terms—Discrete event system, negative place, negative token, Petri net, time window constraint.

I. INTRODUCTION

M

ODERN automated manufacturing systems require strict timing constraints. A part processed at a machine should leave the machine within a time limit or the processing should be performed within a time interval called a time window. Examples include chemical processing systems such as hoist-based production systems for printed circuit board manufacturing, robot-based cluster tools for chemical vapor deposition in semiconductor manufacturing, and other robot cells [1]–[3]. Manuscript received September 25, 2004. This paper was recommended for publication by Associate Editor M. Lawley and Editor N. Viswanadham upon evaluation of the reviewers’ comments. This work was supported in part by Korea Science Foundation under Grant 98-0200-08-01-2 and by the Brain Korea 21 Project in 2004. The authors are with the Department of Industrial Engineering, Korea Advanced Institute of Science and Technology (KAIST), Daejeon 305-701, Korea (e-mail: [email protected]; [email protected]). Digital Object Identifier 10.1109/TASE.2005.851236

There have been attempts to model and investigate scheduling problems of automated manufacturing systems with time window constraints [2]–[6]. Besides such domain-specific ad hoc methods, Khansa et al. [7] introduce p-time Petri nets for modeling time window constraints. Kim et al. [8] apply p-time Petri nets to scheduling cluster tools with timing constraints. A p-time Petri net assigns a time interval to each timed place of which associated activity has a time window constraint. By analyzing synchronizing circuits or synchronizing paths, a necessary condition based on the notion of dead marking is derived for which feasible timings or schedules exist [7]. Van der Aalst [9] suggests a time interval on a firing delay that is intended for representing the range of the possible sample values of a firing delay (that models a processing time or an activity time) instead of a particular probability distribution of the firing delay. The time interval is not for indicating a time window constraint that restricts the feasible difference between two events. He is not concerned with the feasibility issues, but with computing performance bounds. It still remains open whether it is possible to extend notions of places and tokens, generic elements of event graphs or Petri nets, so that they not only can model general time constraints but also generalize fundamental properties such as enabling and firing rules, liveness conditions, cycle time, etc. in a unified framework. Since places and tokens are essential for analyzing dynamic behavior of a system, we expect that their extensions are required to examine dynamic properties of a time constrained system. In this paper, in order to model and examine time window constraints, we introduce negative places with negative holding times and negative tokens with negative token counts into timed event graphs. The enabling and firing rules for the extended event graph called negative event graph (NEG) are extended to incorporate negative places and negative tokens. The generation and consumption rules of negative tokens are opposite to those of conventional positive tokens. We characterize necessary and sufficient conditions for the NEG to be live, that is, each transition fires infinitely without violating any time window constraint, based on the circuits of the NEG. We also present linear programming models for finding a steady schedule of firing epochs that minimizes or maximizes the cycle time. We prove that the minimum cycle time is the same as the maximum circuit ratio of the circuits with positive token counts. We also show that when there exist circuits with negative token counts, the maximum cycle time is bounded and the same as the minimum circuit ratio of such circuits. A scheduling example for a robot-based cluster tool with constraints on wafer residency

1545-5955/$20.00 © 2005 IEEE

320

IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING , VOL. 2, NO. 4, OCTOBER 2005

times within processing chambers for semiconductor manufacturing is explained. We note that Murata and Yamaguchi [10] also propose similar ideas of negative tokens into Petri nets for the purpose of modeling truth in automated reasoning, which have reversed firing behavior. The rest of the paper is organized as follows. In Section II, we formally define the NEG which can model time window constraints. We also characterize necessary and sufficient conditions for which there exists a feasible firing schedule that satisfies all time constraints. In Section III, we present associated linear programming models to find the minimum and maximum cycle times and the steady feasible schedules for a given NEG. Finally, we summarize the results and discuss future research issues. II. NEGATIVE EVENT GRAPH We first briefly explain conventional timed Petri nets from Murata [11] and Wang [12]. A Petri net is a graphical and mathematical representation of a discrete event system. It consists of transitions, places, tokens, and arcs, which usually model events or activities, activities or conditions, entities or parts, and precedence relations between transitions or flow of tokens, respectively. Rectangles, circles, black dots, and arrows represent transitions, places, tokens, and arcs, respectively. A token at a place represents that a condition is satisfied or an activity or an entity is in progress. When a place models an activity, a token at the place can join enabling the succeeding transition after its sojourn time at the place has elapsed beyond a specified time, that is, the time required for the activity. Such a place is called a timed place and the required sojourn time is called the token holding time at the place. A transition is enabled when each preceding place has at least one token assuming that the net is composed by no-weighted arcs. An enabled transition fires immediately or after a firing delay, if any. After a transition fires, a token from each preceding place is removed and a token is added to each succeeding place. For expositional convenience, we assume that all transitions are instantaneous events. A transition with a positive firing delay can be transformed into instantaneous transitions and a place with the holding time same as the firing delay [13]. An event graph with token holding times is often called a timed event graph. We focus on timed event graphs. In the sequel, an event graph indicates a timed event graph. In order to model a time-constrained activity, Khansa et al. [7] introduce a time interval for the token holding time at a place, during which a token should reside at the place for at least time units and no more than time units. We propose an alternative way of extending a timed Petri net or a timed event that models an activity. Let and graph. Consider a place be the input and output transitions of the place, respectively. They may model start and completion of the activity, respecmay represent start of the next activity. tively. Alternatively, should complete during time Suppose that the activity at window once it starts. In other words, event can occur at least time units but no later than time units after event . and represent loading a part For instance, in a robot cell

into a process module and unloading the part from the process module, respectively. Let indicate the processing time at the represents the maximum allowed process module. Then, delay time of the part for which the processed part can stay at the process module until it is unloaded. A robot-based cluster tool for chemical vapor deposition has such time window constraints. When the part or wafer stays within the process module time units, it has significant quality problems due more than to residual gases and heat within the process module. Let and denote the starting times of and in a cycle, respectively. Then, in order to meet the time window constraint, it should hold and . The latter inequality can be that . These two inequalities naturally lead to written as to and the other from to two different arcs, one from , in a program evaluation and review technique (PERT)-like directed graph. Similar ideas for robot scheduling based or the associated directed graphs can be more or less found in the literature [2], [3], [6]. In such a graph, the arc from to denotes that event can occur time units after event occurs. The arc from to represents that event can occur time units after event occurs. In other words, event should occur no earlier than time units before event occurs. Equivalently, event should occur no later than time units after event occurs. A p-time Petri net and a PERT-like directed graph are primarily intended to identify the existence of a feasible schedule rather than analyzing dynamic state change and schedule dynamics. To capture dynamic state change and timing behavior, we introduce negative places and negative tokens into timed event graphs. A. Definitions of Negative Place and Negative Token A negative place that has an incoming arc from transition and an outgoing arc to is defined as follows. 1) A negative place, marked by a dotted circle, has a negative token, marked by a white dot . 2) A negative place has a negative token holding time. 3) A negative place does not affect enabling of output transition . That is, a transition can be enabled regardless of the input negative places. 4) However, it restricts enabling of input transition . The is enabled only when each outgoing input transition negative place has a negative token in addition to having a token in each normal input place. fires, a nega5) If output transition of negative place tive token is added into the negative place. fires, a negative 6) If input transition of negative place token is removed from the negative place. More formal definitions of negative places and negative tokens are given together with the definitions of the enabling and firing rules in the definition of a NEG. An arc that connects a negative place is called a negative arc and marked by a dotted arrow. In contrast with negative places and tokens, conventional places and tokens are called positive places and positive tokens. It is noted that the negative places and tokens in enabling and firing work backward while positive places and positive tokens act forward. An event graph that has negative places and tokens is called a NEG.

LEE AND PARK: EXTENDED EVENT GRAPH WITH NEGATIVE PLACES AND TOKENS

321

Fig. 2.

General time window constraints.

Fig. 1. Negative place and negative token.

B. Generalized Time Window Constraints

C. Definition of Marking Counts

For any two transitions and in an NEG, the th firing of should occur within time units after the th firing of occurred for all , a negative place is configured from to , where and . The negative place has holding time and negative tokens. The generalized time window constraint can be written as

A marking count for positive tokens is the number of positive tokens at the place. A marking count for negative tokens is -(the number of negative tokens at the place). The marking count of a path (or circuit) is the sum of the marking counts of the places along the traverse of the path (or circuit). or indicate the marking counts for We let and negative place , respectively. From the positive place above specifications on an NEG, an NEG is formally defined as where the following are a 6-tuple, true.

equivalently

(1) (2)

As implied by (2), the negative tokens at the negative place should be counted negatively. As a special case of the generalized time window constraint, are an activity of which start event and completion event is specified by constrained by a time window constraint with the token holding time from input a positive place to output transition , and a negative place transition from to with a negative token holding time . When an , the negative place activity is in progress at positive place also has a negative token. A negative token at a negative place implies that the time window constraint is enforced for the activity of the corresponding positive place in progress. Such a simple case is illustrated in Fig. 1. The negative places and tokens can model more general time window constraints. A negative place can constrain the time interval between any two events or transitions, for instance, from unloading a wafer from the loadlock to returning to the loadlock after undergoing several processing and transportation operations. An example for such general time window constraints constraints the time is illustrated in Fig. 2. Negative place to event . A negative place can have interval from event more than one negative tokens. The two negative tokens at negindicate that two time windows are activated ative place for the two activities in progress between transition and . Such generalized time window modeling capabilities increase the modeling power of an NEG for various time constraints. The negative places and the number of negative tokens should be appropriately configured so that the intended time constraints are correctly modeled. No matter how they are configured and whatever they mean, the formally defined NEG can be analyzed. We may further generalize the time window constraints so that can be negative so that the firing instance of is allowed to be later than that of , that is, a negative place allows a positive token. However, we do not consider such a case in this work.

1)

2) 3) 4) 5) 6) 7)

8)

is a finite set of positive places and negative places, where and are the arc index sets for the positive places and negative places, respectively. is a finite set of transitions, where is the set of indexes for the transitions. : is an input function that defines directed arcs from places to transitions. : is an output function that defines directed arcs from transitions to places. : is the initial marking, where is a set of all integers. : is the token holding time function, where is the set of real numbers. Enabling Rule: A transition is enabled for a marking if for all such that , for all such that , and the elapsed sojourn time of each token at each input positive place of exceeds and also the elapsed sojourn time the holding time of does of each token at each output negative place , the absolute value of not exceed the time limit the negative holding time. can fire Firing Rule: An enabled transition fires, while the transition is enabled. After for all such that , for such that , all for all such that , and for all such that , where is the current marking and is the marking after the firing.

322

IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING , VOL. 2, NO. 4, OCTOBER 2005

For a transition to be enabled, two conditions should be satisfied. First, each incoming positive place of the transition should have more than one positive token and each outgoing negative place of the transition has more than one negative token. This is called a marking condition. Second, the sojourn time of at least one positive token in each incoming positive place should elapse the holding time and the elapsed sojourn time of any negative token in each outgoing negative place should not exceed the absolute value of the negative holding time of the negative place. This requirement is called a token sojourn time condition. An enabled transition can fire at any time while the transition is enabled. There can be different firing schedules. An NEG itself does not assume a specific firing schedule while most conventional timed Petri nets or event graphs presume earliest firing schedules, where each transition fires as soon as it can fire. Therefore, an NEG specifies only time constraints or relationships between the transitions, time window type or not. Decision on the firing epochs should be made separately. We are primarily interested in whether there exists any firing schedule that satisfies all time constraints and the characteristics of such feasible firing schedules. A token sojourn time constraint is violated when the token sojourn time of a negative token in an outgoing negative place already had exceeded the sojourn time limit before the elapsed sojourn time of a positive token in each incoming positive place exceeds the required holding time. In the case, one or more time window constraints are violated. When such violation occurs, the NEG stops firing. Therefore, an NEG is live if each transition has an infinite sequence of firing epochs that satisfies the time window constraints, that is, there exists an infinite feasible firing schedule. A reachable marking is a marking of such an infinite feasible firing schedule. In the sequel, a firing schedule indicates an infinite feasible firing schedule unless it has a specific other explanation. We note that the time window constraint for a general case is defined based on the firing epochs of two transitions. It means that there can be a negative place from to without there being a positive place from to . As in an event graph, in an NEG, the input or output function for a pair of transition and place is 0 or 1. There is no parallel arcs between a transition and a place, or equivalently the arc cardinality or multiplicity of each arc is 1. For expositional convenience, we define the index of a place or from transition to based on or . and When there are parallel places between two transitions , we assume that distinct copies of arc are included in or . We let . Remark 1: (Holding Times and Marking Counts of Circuits of a Composite Circuit): We discuss the holding times and the marking counts of a circuit or a path. In an event graph or NEG, a composite circuit is composed of more than one circuits that share one or more transitions or places. An elementary circuit is a circuit that does not have a smaller circuit. When is an elementary circuit, we let and denote the sum of the holding times and the sum of the marking counts of circuit , respectively. The values play essential roles for analyzing an NEG. When is a composite circuit, we should be careful for evaluating the holding time sum and the marking count sum of the and are the elementary circuits that circuit. Suppose that comprise . Then, the sum of holding times of the places in is

. Further, the sum of marking counts not the same as . It is because the of the places in is not the same as holding times and the marking counts of the shared places are counted once in the composite circuit while they are counted and . The holding time sum and twice in the marking count sum of the shared path segment may be positive, zero, or negative. This might lead to some confusion in analyzing an NEG. The real roles of the holding time sum and the marking count sum are clarified when the firing instances of the transitions and the number of visits to the places for a traverse along the circuit are explicitly counted. When a composite circuit is evaluated, the holding time sum and the marking count sum of a shared place should be added as many as the number of the constituent elementary circuits that share the place. A place should be counted as many as the number of visits in a traverse along the circuit. For instance, the holding time sum of com, and posite circuit , denoted by , is defined to be the marking count sum of the composite circuit, denoted by , . A path may also include a circuit. is defined to be In the case, the path should be defined by specifying how many the circuit is traversed. Otherwise, a path is assumed to have no circuit. In the sequel, we therefore assume that a path has no circuit unless its circuit traversal is explicitly specified. Keeping and denote the holding time sum and this in mind, we let and the marking count sum of path . We also let , where is positive or negative. Remark 2: (Initial Token Delays): An initial marking of an event graph or Petri net represents a state of the system that performs the steady work cycle. Initial transient behavior of the system, that is, how the initial tokens are created, is not modeled. For instance, consider an empty cluster tool. For such an empty tool, the event graph model has no tokens that correspond to wafers. The tool performs the steady work cycle after some number of wafers are loaded into the tool. The event graph for a state of the the steady work cycle period has tokens for wafers in progress as well as the robot hand’s position. The initial transient period from the empty state to a state of the steady period is not modeled by such an event graph with an initial marking. An initial marking of the event graph indicates the state of the tool in a steady period. We note that the “steady” period does not mean that the firing schedule has a “steady” timing pattern. Nor does the initial marking specify the event timings of the system. In a timed event graph, the initial state cannot be completely defined by the initial marking only. How long each token at each place has stayed there should be specified. Such times are called the initial token delays of the tokens. The initial delays should be appropriately defined so that the marking and the initial token delays define a feasible state of the system. Such initial token delays are called compatible [13]. Further, in order to avoid overtaking between the tokens at a place, the first-in–first-out (FIFO) rule that the tokens leave the place in the order of their arrivals is assumed [13]. Therefore, we assume that an NEG models a system in a steady period and use the FIFO token rule. For an NEG, we may define specific initial token delays. In the case, the firing schedule of the NEG is restricted by the initial token delays. However, we do not specify the initial token delays for an NEG since we wish to know whether there exists a feasible one among all kinds of firing schedules, including ones with

LEE AND PARK: EXTENDED EVENT GRAPH WITH NEGATIVE PLACES AND TOKENS

323

Fig. 3. Dual-armed cluster tool.

Fig. 4.

NEG for a dual-armed cluster tool.

different initial token delays. The initial token delays are considered as a part of a firing schedule. An NEG model for a cluster tool example is given below. Example 1: (Cluster Tool): We quote and adapt a dual-armed cluster tool scheduling example from Kim and Lee [8] (also see Shin et al. [1]). A cluster tool for semiconductor wafer manufacturing consists of a transfer module, several process modules (PMs), and two loadlocks, which are integrated within a closed mini-environment (see Fig. 3). The robot has dual opposite pan type arms, and performs wafer transportation, loading, and unloading. The tool can have diverse wafer flow patterns by logically reconfiguring the PM’s and scheduling the robot tasks appropriately depending on the recipe. The figure shows a simple flow pattern such that a wafer, unloaded from loadlock A and aligned, undergoes processing at one of PM1 and PM2, and then PM3 sequentially. PM4 and the cooler are not used for the flow pattern. The wafer alignment time at the aligner is included in the time for unloading the wafer from the loadlock. Finished wafers return to the loadlock. After the last wafer of the cassette in loadlock A is unloaded from the loadlock, the tool begins processing the wafers of the cassette at loadlock B. By such pipelined processing, the tool keeps repeating steady work cycles until all wafers of the cassettes in a lot are processed. The dual-armed robot mostly repeats swap operations for loading and unloading wafers at each PM. It unloads a processed wafer from a PM into an empty arm, rotates the arms, and immediately loads the next wafer on the other arm. Cluster tools for chemical vapor deposition often require strict timing constraints that a processed wafer at a PM should be unloaded within a time limit. Otherwise, the wafer is subject to severe quality problems due to residual gases and heat. Fig. 4 illustrates an NEG model for the cluster tool. The robot work cycle has the robot task sequence, unload a new wafer from ) move the empty arm to PM1 ( ) the loadlock ( swap the completed wafer with the unprocessed wafer at PM1 ) move to PM3 ( ) swap at PM3 ( ) move ( to the loadlock ( ) return the wafer to the loadlock ( ) unload a new wafer from the loadlock ( ) move to ) swap at PM2 ( ) move to PM3 ( ) PM2 ( swap at PM3 ( ) move to the loadlock ( ) return the wafer to the loadlock ( ), where the symbols in the parentheses are the corresponding places in the NEG. Each to robot work cycle produces 2 wafers. Places from

and to correspond to the first and second wafer cycles, respectively. Each wafer cycle requires two robot tasks for each process step (a move to a PM of the process step and a swap) and 3 additional robot tasks, unloading a wafer from a loadlock, moving to the loadlock, and returning the completed wafer to the loadlock. Each transition represents the event of completion or readiness of a robot task. In order to start a swap operation at PM1, the robot should have arrived at PM1 and wafer processing at PM1 should have finished. Therefore, the are for moving to PM1 and input places of transition for processing a wafer at PM1. Since each wafer cycle requires one wafer processing operation at PM3, each robot work cycle needs two wafer cycles. indicates the first wafer processing at PM3 after the first swap at the PM completes ( ), which should complete before the second swap for the second wafer processing at the PM berepresents the second wafer processing at PM3 gins ( ). after the second swap at the PM completes ( ), which should complete before the first swap for the first wafer processing at the PM for the next robot work cycle begins ( ). Symbols , , , and indicate the minimum task times for unloading, moving, returning, and swapping, respectively, which do not include any delay or waiting. As soon as the robot completes a swap operation at a PM, the PM starts processing the wafer and the robot should move to the next PM. Therefore, , , , and ) the interval for each swap task ( since intermediate delay during a swap process should be is allowed as [8] suggests as a more flexible alternative to the conventional swap operation method. The token sojourn time at a place for processing a wafer at a PM includes the wafer processing time and the wafer waiting or delay time within the PM’s chamber after processing. The wafer delay time after processing at a PM for process step is not allowed to exceed the maximum wafer delay time limit . Therefore, such a place , , , and for wafer processing for process step ( ) has a time window, . The negative places model the upper bounds on the process times at the PMs. , , For each place for wafer processing in progress ( ), each corresponding negative place ( , , and and ) have one negative token in the initial marking. Remark 3: (Marking Compatibility): For a conventional event graph to be live, the initial marking should be made not to make a null circuit, a circuit that has no token. In an

324

Fig. 5.

IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING , VOL. 2, NO. 4, OCTOBER 2005

Example of incompatible marking.

NEG, improper marking in the negative places as well as in the positive places can make a transition never be enabled. A simple example is shown in Fig. 5. The embedded event graph of the NEG in Fig. 5, that is, the graph that excludes the negative places, is strongly connected and live. Nonetheless, no transition is enabled because transition has no token in the incoming positive place and transi. In this tion has no token in the outgoing negative place example, the net with such a marking is not live regardless of the holding times and the initial token delays. Such a marking is thus called incompatible. An NEG with an incompatible initial marking has no feasible firing schedule and hence need not be examined. Therefore, an NEG should be initially marked to be compatible. When the NEG properly models a real system, it has a compatible initial marking. In Example 1, a negative token is allocated to indicate the wafer residency time constraint for the loaded wafer. Therefore, in the example, a negative token is when the corresponding posiassigned to a negative place has a token that indicates the loaded wafer. The tive place negative token indicates the wafer residency time constraint is effective for the loaded wafer. In the sequel, we consider only NEGs with compatible markings. We note that an NEG with a compatible initial marking may not be live due to violation of the token sojourn time requirement. We are concerned with liveness of an NEG with a compatible initial marking. In an event graph, it is known that the number of tokens in a circuit remains constant for any reachable marking. An NEG has a similar property. Lemma 1: In an NEG, the sum of the marking counts for any circuit remains constant for any reachable marking. Proof: For an NEG, consider the corresponding event graph that removes the negative places and negative tokens. In the event graph, the number of (positive) tokens in a circuit remains constant for any reachable marking. Therefore, in a circuit that does not have any negative place, the (positive) marking count remains constant. Now, consider a circuit in the . Each time a negative NEG that passes a negative place token is generated into the negative place, that is, each time fires, a positive token is added to each output transition in the circuit, and if the output place of place of transition is a negative place, a negative token is removed from the negative place. On the other hand, each time a negative token is removed from the negative place, that is, each time transition fires, a positive token is removed from each input place of in the circuit, and if the input place of is a negative place, a negative token is added to the negative place. Consequently, through any circuit that goes through an input place of to an output place of keeps the marking negative place count unchanged for any firing of or .

Fig. 6.

Cases of L().

and Even if there are consecutive negative places like in a circuit, firing transition moves a negative token at backward into the preceding negative place . From the lemma, it is seen that a circuit of zero marking count, a negative marking count, or a positive marking count remains as such a circuit for any reachable marking. It is seen that the circuit always has a constant marking count 0. In other words, the two places have no token or have a positive token and a negative token, respectively. From the firing rule, a negative token is generated and removed only at a negative place. It does not move into a positive place. So is a positive token. A positive place has only positive tokens and a negative place has only negative tokens at any marking. An event graph is said to be live if each transition has an infinite firing sequence. The liveness of an NEG is defined as follows. D. Definition: Liveness of NEG An NEG is live if there exists a firing schedule such that every transition has an infinite firing sequence and the firing epochs satisfy the time window constraints. We explain the firing epochs of the transitions associated with a negative place. Let denote the th firing epoch of transition . It is known that for a positive place with input transition and output transition , , where is the number of tokens at place and is the token holding time [13]. The following lemma characterizes the relaat place tionship between the firing epochs of two transitions. Lemma 2: Suppose that there is a path from a transition to a transition in an NEG. for all , where and are the sum of marking counts and the sum of holding times of the places in the path, respectively. Proof: Suppose that the path passes sequentially the , , , which may be positive or places marking count and negative places. Let . Then, for each , we have holding time for all . By summing up the inequalities and canceling each two successive terms, we have the claimed inequality. Lemma 2 suggests that for a negative place with nega, for all . tive tokens and holding time Let be the set of all circuits in NEG . We let . Then, function is the upper hull of the collections of linear functions . Fig. 6 illustrates the function. An event graph is live if and only if every circuit has at least one token. An NEG is considered as an event graph with ad-

LEE AND PARK: EXTENDED EVENT GRAPH WITH NEGATIVE PLACES AND TOKENS

ditional time window constraints. We now present a necessary and sufficient condition for liveness of an NEG. For expositional convenience, we primarily examine the case that the embedded event graph is strongly connected. Theorem 3: Suppose that an NEG has a compatible marking and the embedded event graph of the NEG is strongly connected. Then, the NEG is live if and only if there exists a non. negative real value such that Proof: We prove each direction of the statement. ) Let the NEG be live. Then, we disprove the claimed ( liveness condition, that is, we suppose that it does not hold that for a nonnegative real value . This implies that a function for all is a convex nonnegative real-valued . It can be shown that , where . function. Therefore, When is not unique, we take any one. The minimum of funcoccurs at one or two of the constituent linear functions tion (see Fig. 6). We examine the cases of such linear functions where the minimum point locates. 1) When the minimum point locates on linear function such that [see Fig. 6(a)], condition implies . Therefore, the inequality by reduces to . Lemma 2 that This is a contradiction. 2) When the minimum point occurs at the intersection of two such linear functions [see Fig. 6(b)], and such that . that , Therefore, from condition we have and . From Lemma 2, these two inequalities imply and for any positive integer , where and are transitions on circuits and , respectively. The former inequality can be written as . This implies that the asymptotic average cycle times of the two transitions and are different. This contradicts the assumption that the embedded event graph of the NEG is strongly connected because in a strongly connected event graph, the asymptotic average cycle times of the transitions should be identical [12]. This makes another contradiction. Since the assumption disproving the claimed liveness condition leads to contradictions, we prove the liveness condition such that that there exists a nonnegative real value of . ) Suppose that for a nonneg( ative real-valued . For each specific value of firing instance , of which node set is we consider a directed graph and each arc has length . We let be the starting time of node in the graph. From the assumption, for all circuit in , that is, the graph has no “positive” circuit (that is, a circuit that has a positive arc length sum). This implies that there exists a solution that satisfies . The solution is considered as a schedule for a specific cycle. The inequalities . Take can be written as

a steady, infinite firing schedule that

325

such (3)

into the inequalities, we Then, by substituting have . Since due to the steadiness, the inequalities are written as (4) Therefore, the steady infinite firing schedule satisfies all time constraints of the NEG. Consequently, the NEG has such a feasible infinite firing schedule and is live. The liveness condition of Theorem 3 also eliminates conventional deadlocks, which prevent further firing due to logical error. It is because the condition prevents a conventional “null” circuit that does not include any negative place but has zero marking count. The liveness condition of Theorem 3 applies to all circuits, elementary or composite. However, when we apply the liveness condition to a composite circuit , and should be evaluated by summing up those values for the constituent elementary circuits as explained in Remark 1. When each constituent elementary circuit satisfies the liveness condition, so does the composite circuit. When any elementary circuit does not satisfy the liveness condition, the condition is violated. Therefore, it suffices to check the liveness condition only for elementary circuits. We establish this fact as a corollary for clarification. In the sequel, we let a circuit indicate an elementary circuit unless it is specified to be composite. Corollary 4: Suppose that an NEG has a compatible marking and the embedded event graph of the NEG is strongly connected. Then, the NEG is live if and only if there exists a nonfor every elenegative real value of such that mentary circuit . Remark 4: (Comparison With the Parametric Longest Path Approach): Consider the parametric directed graph that is induced from an NEG. Theorem 3 suggests that the necessary and sufficient condition for the NEG to be live is that has no “positive” circuit for some nonnegative real value . We note that Levner and Kats [6] propose a similar condition for a scheduling problem with time window constraints, independently of the Petri net theory. They formulate the scheduling problem of finding a feasible schedule for a specific cycle as a parametric linear program with parameter . They claim that the directed graph associated with the linear program, which , should have no “positive” circuit in is similar to order to have a finite longest path length, which corresponds to a feasible cycle time. It is well known that such a PERT-like directed graph has a finite longest path if and only if the graph has no “positive” circuit (or equivalently negative circuit in a shortest path problem). It is interpreted that the feasibility condition corresponds to our liveness condition, however, the feasibility claim applies to only steady firing schedules such that . In other words, the feasibility condition does not claim about whether there exists a nonsteady schedule or not. We also note that Levner and Kats [6] propose a parametric longest path algorithm to find a feasible range of the cycle time

326

IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING , VOL. 2, NO. 4, OCTOBER 2005

for the scheduling problem, which is modeled as a longest path problem in a parametric directed graph. It is an extension of the parametric shortest path algorithm of Karp and Orlin [14] for the special case of the critical circuit ratio problem for a doubly weighted directed graph of which each arc has dual weights and the second weight is 0 or 1. Levner and Kats [6] allow an arc to as the second weight, which is intended for modeling have a time window constraint. This model corresponds to the spethat allows only one negative cial case of the NEG or token at each negative place and only one positive token at each positive place. However, the NEG model generally allows more than one token at a negative place as well as at a positive place. Therefore, the liveness condition of Theorem 3 for such a special case of the NEG can be verified by the algorithm of Levner and Kats in a polynomial time. However, for the general NEG that allows more than one token at a negative place or a positive place, the algorithm does not work in a polynomial time in general. It works in a pseudo-polynomial time, where the complexity depends on the value of the marking counts. Therefore, for a general NEG, we expect that the Floyd-Warshall algorithm of [15] or some other matrix computation-based algorithms for computing the critical circuit ratio, which works in a polynomial-time slower than Karp and Orlin’s or Levner and Kats’s, would be extended for our purpose. Remark 5: (Comparison With PERT-Like Directed Graphs): As explained earlier, an NEG can be compared to a directed graph that allows an arc from to with a negative length, which models the maximum delay time on the activity for arc to . Similarly as a usual event graph, an NEG can be transformed into a directed graph with such negative arcs by removing the places between each two transitions and directly connecting them by arcs. Although such a directed graph with negative arcs also can model a discrete event system with time window constraints, it has some deficiencies. First, since it loses tokens or marking information, it cannot correctly capture precedence relations between different firing instances of the transitions, that is, the activities or events of different cycles. Therefore, the directed graph model can be used for a limited class of discrete event systems that have precedence relations between activities of the same cycle or the next adjacent cycle. The tokens or marking information significantly improve the modeling power. The issues are discussed in Seo and Lee [4]. Second, the directed graph model cannot capture the dynamic state transition behavior since it does not keep track of token and marking information. Such information is essential for analyzing the steady state behavior of the firing schedule or schedule patterns [4], [13], [16]. Nonetheless, a directed graph can be associated with an NEG and plays an important role for analyzing the steady state behavior of the NEG. Such use of directed graphs for analyzing steady state of event graphs can be found in [13], [16], and [17]. The use of directed graphs for analyzing steady states of the NEG should be further investigated. The liveness conditions of Theorem 3 or Corollary 4 can be , , and indicate the written in another form. We let sets of elementary circuits with a positive marking count, a circuit with a negative marking count, and a circuit with a zero marking count, respectively. We call each of such circuits, pos-

itive circuit, negative circuit, and zero circuit, respectively. We note that the definition of positive circuit here is different from that of “positive” circuit in the conventional directed graph. The former is based on the marking count while the latter is based on the arc length. Theorem 5: Suppose that an NEG has a compatible marking and the embedded event graph of the NEG is strongly connected. , the NEG is live if and only if every zero 1) When circuit, if any, has a nonpositive holding time sum, that is, . , the NEG is live if and only if every zero 2) When circuit, if any, has a nonpositive holding time sum and . Proof: From Corollary 4, the NEG is live if and only if for there exists a nonnegative value such that . We verify the inequality. all . For any positive 1) Consider the case where since circuit , the inequality is written as . This implies that . Since the embedded event graph is strongly connected, it has at least one circuit, which is also a positive circuit with a positive holding time sum. This ensures that , and hence that . For any positive circuit, there always exists a nonnegative real value that satisfies the liveness inequality. For any zero . Therefore, circuit , the inequality reduces to the inequality holds if and only if every zero circuit, if any, has a nonpositive holding time sum. . For any non2) We now examine the case where negative circuit, from the claim of (i), , and every zero circuit, if any, has a nonpositive holding time sum. For any negative circuit , the inequality of . This imthe liveness condition leads to . Therefore, for positive plies that and negative circuits, the liveness inequality is written as . It implies that there exists a nonnegative real value that satisfies the inequality of the liveness condition if and only if . Consequently, the NEG is live if and only if every zero circuit, if any, has a nonpositive holding time sum and . Theorem 5 characterizes the liveness condition based on the elementary circuits and their marking counts. The liveness condition also prevents deadlocks as well as violation of the time , constraints. Since for all such that . Therefore, the second liveness condition of Theorem 5(ii), , ensures that negative circuits have negative holding time sums. Therefore, for liveness, nonpositive circuits should have nonpositive holding time sums. We also wish to characterize the implication of the feasible range of for which the liveness condition hold, that is, . In the next section, we will show that the feasible values of are the cycle times of the feasible firing schedules for the NEG, that is, the feasible range of is the range of feasible cycle times.

LEE AND PARK: EXTENDED EVENT GRAPH WITH NEGATIVE PLACES AND TOKENS

327

TABLE I CIRCUITS ANALYSIS

Example 2: (Cluster Tool: Continued): For the NEG of the cluster tool example, all circuits are analyzed in Table I. The example has negative circuits. From Theorem 5(ii), we have zero marking count firstly examine zero circuits. but they always have negative holding time sums. For the circuits with zero marking count to have negative holding time sums, the following inequalities should be satisfied:

The inequalities are simplified as follows:

(5) For the second liveness condition of Theorem 5(ii), we examine the marking counts and holding time sum of the cir. have negative marking counts and cuits have positive marking counts. From the condition , we on their circuit ratios, have the following inequalities:

(6) In this example, all the inequalities of (6) are dominated by the one of inequalities of (5) or a linear combination of them. Therefore, the necessary and sufficient condition is the inequalities of (5). However, such dominance may not hold generally. We observe that the condition is equivalent to that of [8] which uses the necessary condition for liveness of a p-time Petri net and introduces an additional condition to ensure the sufficiency for liveness that each wafer’s residency time at a PM should be identical. Although the p-time Petri net only provides a necessary condition for the liveness, the additional condition, which tends to make the firing schedule repeat an identical timing pattern, leads to a necessary and sufficient condition. Remark 6: (Comparison With p-Time Petri Nets): Both an NEG and a p-time Petri net essentially model a discrete event system that has time window constraints. However, for modeling time window constraints, an NEG uses negative places and negative tokens while a p-time Petri net uses time intervals on token holding times at places for the time-constrained activities. The two representation methods are basically equivalent. However, an NEG can have negative places between any two transitions, which may not be adjacent. Therefore, a time window constraint can be enforced between any two events, which are not necessarily the start and completion of an activity. For instance, in the cluster tool example, a wafer unloaded from a loadlock, after completing all processing steps, should be returned into the loadlock within a specified time limit.

328

IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING , VOL. 2, NO. 4, OCTOBER 2005

Since such wafer flow time for which a wafer stays outside the loadlock includes waiting times on the robot arms, it may be required to limit the wafer flow time in order to reduce wafer contamination risk during the waiting times. Such a time constraint can be modeled by introducing a new negative from to . The negative place restricts the place to , not wafer sojourn time outside the loadlock from for the unloading activity at . Therefore, an NEG has more modeling power than a p-time Petri net. Furthermore, by Theorem 3, an NEG provides a necessary and sufficient condition on the schedulability while a p-time Petri net of Khansa et al. [7] provides only a necessary condition. Furthermore, an NEG characterizes the schedulability condition based on the circuits while a p-time Petri net provides a set of inequalities based on the synchronizing transitions. In fact, we verified from Example 2 that the first part of the schedulability condition from Theorem 3, that is, each nonpositive circuit should have a nonpositive holding time sum, is equivalent to the schedulability condition derived from a p-time Petri net. Therefore, it seems that the second part of our schedula, makes bility condition, our liveness condition sufficient as well as necessary. III. OPTIMAL STEADY SCHEDULES AND THE FEASIBLE CYCLE TIME RANGE Suppose that an NEG is live. A steady firing schedule defines a steady schedule for the modeled system, for instance, a steady activity schedule for a cluster tool, where each event or activity repeats by each constant time interval. In an automated manufacturing system, a steady schedule has several merits including predictable timing behavior, less work-in-progress, steadyproduction,etc[16],[17].Foranautomatedmanufacturing system with time window constraints, the realized interval times of an activity for each cycle become constant in a steady schedule. Such a steady schedule is essential for meeting the time window constraints. In a nonsteady schedule, the realized start or completion times of activities tend to vary for each cycle, shorter and longer. Therefore, the system is more likely to violate the time window constraints. In the cluster tool example, the residency times for which the wafers wait for unloading within the PM chambers may vary from wafer to wafer, and hence it is highly likely to violate the time window constraints. For instance, the residency time at PM1 is the firing epoch of transition (unloading a processed wafer by a swap operation) (loading a wafer into PM1 – (the firing epoch of transition and immediate starting processing) + wafer processing time at PM1’s chamber ( )). It is expected that the residency times are minimum in a steady schedule as compared with other schedules. Therefore, we are concerned with finding a steady feasible schedule and the minimum cycle time among the steady feasible schedules. We discuss a linear programming model for finding a feasible steady firing schedule that minimizes the cycle time. denote a doubly weighted version of We let such that each arc has the first weight and the second weight as defined by the holding time map, ping function and the initial marking definition function

respectively. Consider the identical firing instances of the tran, desitions. Then, their firing epochs, for instance, fine a steady firing schedule since a steady firing schedule can be made by repeating the firing epoch pattern. With omitting the instance parameter , we let be the firing epoch of transition . Suppose that the cycle time is . Then, from Lemma 2, should satisfy the following inequalities:

For a positive place , is the firing epoch of transition at the instance that is instances later than that of , where . For a negative place , is the firing epoch of transition at the instance that is instances earlier than . The inequality for a negative place that of , where enforces a time window constraint for the associated activity. We note that assumptions of Theorem 3 are also applied in this section. A steady firing schedule that minimizes the cycle time can be found by the following linear program.

where is the set of real numbers. The decision variables are and ’s. The dual linear program is given below.

The decision variables are ’s. The first constraint states that the flow into node should be balanced with the flow out from the node. Therefore, DLP1 is a linear program for a maximum reward network circulation problem in directed with an additional constraint that the graph weighted flow sum is 1. The reward for a unit flow in an arc is and the weight for such flow is . We note that there is one-to-one correspondence between the circuits of the . We therefore use NEG and directed graph the same terminology for circuits for the NEG and the directed graph, for instance, positive, negative, and zero circuits. DLP1 is very close to a linear program that finds the critical circuit [17], [18]. The only difference is that ratio in ’s are unrestricted and allowed to have negative values. In fact, if all ’s are nonnegative, DLP1 is identical to the linear program that finds the critical circuit ratio in a conventional can be considered the flow value on arc directed graph. . The set of arcs such that forms the set of circuits that have nonzero flows. Therefore, any feasible . We solution selects a set of circuits in graph note that the flow values of the arcs in a circuit is not necessarily identical. When a composite circuit is selected, more than one circuits share the arcs. Therefore, in order to make the flows

LEE AND PARK: EXTENDED EVENT GRAPH WITH NEGATIVE PLACES AND TOKENS

in each circuit feasible, the flow value of a shared arc should be the sum of the flow values of the circuits that share the arc. Therefore, by separating the flow on an arc shared by multiple elementary circuits into the flows of each of them, we can along an elementary circuit . This define the circuit flow interpretation coincides with Remark 1 that when we evaluate the holding time and the marking count of a composite circuit, those for a place in the circuit shared by the constituent circuits are multiplied times as many as the number of circuits that share the place. The set of arcs with optimal flow variables forms the set of critical circuits. Now, we discuss the in DLP1. implications of the negative values of Theorem 6: Suppose that an NEG has a compatible marking, the embedded event graph of the NEG is strongly connected, and the NEG is live. The minimum cycle time of steady firing schedules of the NEG, ( ), is . Proof: Suppose that a feasible solution of DLP1, , selects only nonpositive circuits in , that is, the associated directed graph for only for and for all other arcs. Then, since are nonnega, where is tive, the circuit flow of . Therefore, such a solution is infeasible. Consequently, DLP1 does not select only nonpositive circuits. Since from the assumption the embedded event graph of the NEG is strongly connected, the NEG or equivalently has at least one positive circuit. Consider a feasible solution that selects a set of elementary circuits, . In order to select a negative circuit additionally, we also should select a positive circuit since the weighted flow sum should be maintained. Therefore, suppose that we addiand a negative tionally select a positive elementary circuit such that , where elementary circuit . Then, the objective function increment is

However,

since

inequality in Theorem 5 implies that , . Therefore, DLP1 tends not to select a negative circuit. Since the NEG is live, as explained just after Theorem 5, for any zero circuit . Therefore, DLP1 need not to select any zero circuit. Therefore, DLP1 can optimize the objective function by selecting only positive circuits. The objective function is maximized by allocating more flows on the since the positive circuit that has the larger circuit ratio flow on such circuit makes higher contribution per unit flow. Therefore, in an optimal solution of DLP1, all flows are concentrated on a positive circuit with the maximum circuit ratio. reduces to , The constraint on . Then, the objective funcwhere also reduces to . Consequently, tion .

329

From Theorem 6, an optimal solution of DLP1 can include negative circuit if and only if it holds . However, from the objective function values point of view, this case is not different from the maximization problem with positive circuits only. Therefore, we can consider only the positive circuits to maximize the objective function. We wish to know whether the minimum cycle time of all steady feasible firing schedules in Theorem 6 is also the minimum cycle time for all feasible schedules. Theorem 7: Suppose that an NEG has a compatible marking, the embedded event graph of the NEG is strongly connected, and the NEG is live. Then, the minimum cycle time of all feasible firing schedules, steady or nonsteady, is . Further, the NEG has a steady firing schedule that has the minimum cycle time among all feasible firing schedules. Proof: By the complementary slackness relationship beimtween LP1 and DLP1 [19], an optimal solution plies the corresponding inequality in LP1 should hold as the of the arcs in a equality without any slack. Therefore, for critical circuit in DLP1, the corresponding inequalities in LP1 hold tightly as the equalities. Consequently, the activities in a critical circuit have no time slack. Any delays in those activities increase the cycle time. Any schedule for the activities in a critical circuit cannot have the cycle time shorter than . Hence, any schedule, steady or nonsteady, in Thecannot have the shorter cycle time than orem 6. The theorem suggests that the minimum cycle time of an NEG is computed by examining the circuit ratios of only all positive circuits. The negative or zero circuits should not be included for computing the maximum circuit ratio as the minimum cycle time. Since a positive circuit may include negative is distinct from the places or tokens, the ratio conventional critical circuit ratio. The liveness condition of Theorem 3 also can be checked by DLP1 or LP1. Theorem 8: Suppose that an NEG has a compatible marking and the embedded event graph of the NEG is strongly connected. The NEG is live if and only if DLP1 has a finite op(or equivalently LP1 has a finite optimal value timal value ). ) Suppose that the NEG is live. From Theorem Proof: ( . Since any positive cir7, cuit has , . ) Now, we prove this part by contraposition. Suppose that ( the NEG is not live. Then, from Corollary 4, there exists a circuit such that for all nonnegative real value . and . Since the embedded This implies that event graph is strongly connected, the NEG has a positive circuit with . 1) Suppose that . For any feasible solution of DLP1, we can increase the flows along and so that and and since and . Then, the weighted flow sum constraint still holds. The objective function increment is since and . We can arand . Hence, the objecbitrarily increase flows

330

IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING , VOL. 2, NO. 4, OCTOBER 2005

tive function value can increase indefinitely. Condoes not have a sequently, if the NEG is not live, finite optimal value. . In the case, for any fea2) We examine the case sible solution of DLP1, we can arbitrarily increase the , since . Then, since flow along circuit , , the objective function increases indefinitely. This completes the proof. From Theorem 7, the lowerbound of the cycle times for the . In feasible firing schedules of a live NEG is a discrete event system with no time window constraint or a conventional event graph, an event can be delayed arbitrarily. It implies that the feasible cycle time has no upper bound. However, in a time constrained system or an NEG, a delayed event may violate a time constraint. Therefore, it is conjectured that each event can be delayed within some limit and hence the feasible cycle time has an upper bound. We wish to characterize the upper bound. To do this, we first present a linear program that finds a feasible steady schedule that has the maximum cycle time. By changing the objective function of LP1 from minimizing to maximizing , we have the linear program LP2. Its dual DLP2 is also obtained.

In DLP2, the coefficients of in the constraints and the objective function are changed into and , respectively. DLP2 is a linear program for a minimum cost network circulation problem with a weighted flow sum constraint. Since the coefficients and the objective are reversed in DLP1, it can be seen that the roles of positive circuits and negative circuits in DLP1 are reversed in DLP2. Therefore, by similar reasoning as in Theorems 6 and 7, we have two corresponding results on the maximum cycle time. Theorem 9: Suppose that an NEG has a compatible marking, the embedded event graph of the NEG is strongly connected, and the NEG is live, the maximum cycle time of steady firing ( ), is . schedules, Theorem 10: Suppose that an NEG has a compatible marking, the embedded event graph of the NEG is strongly connected, and the NEG is live. Then, the maximum cycle time of all feasible firing schedules, steady or nonsteady, is . Further, the NEG has a steady firing schedule that has the maximum cycle time among all feasible firing schedules. Theorem 10 suggests that a schedule that is delayed to have violates a time concycle time longer than

Fig. 7. Steady schedule for the cluster tool.

Fig. 8.

NEG with a longer cycle time.

straint. We can make a schedule with an arbitrary cycle time between and by delaying a schedule that is determined by LP1. Therefore, we finally establish the range of feasible cycle times of an NEG. Theorem 11: Suppose that an NEG has a compatible marking, the embedded event graph of the NEG is strongly connected, and the NEG is live. , the range of feasible cycle time is 1) When . , the range of feasible cycle time is 2) When . Example 3: (Cluster Tool: Continued): The NEG for the cluster tool example has no circuit that has a negative place and a positive marking count. Therefore, once the NEG is live, that is, there exists a feasible schedule that satisfies the time window constraints, there exists a steady schedule that has the cycle time that is identical to the minimum cycle time of the case where there is no time window constraint. In other words, in the example, the time window constraints do not increase the cycle time. They only determine the feasibility. Such unique scheduling characteristics of the cluster tool are identified by the analysis of the NEG model. A steady schedule quoted from [8], which is also obtained by LP1, is illustrated in Fig. 7. The boxes of the same shading indicate the operations for an in some boxes indicates the waiting time of identical wafer. a wafer at PM3 for the second step processing. The above example suggests that the time window constraints do not always increase the cycle time. However, the following example demonstrates the case where a time window constraint increases the cycle time. Example 4: (Cycle Time Increase): Consider an NEG in Fig. 8. The NEG is live. If there is no time window constraint, the minimum cycle time, i.e., the critical circuit ratio, is 8. However, when the time window constraint is introduced, a new circuit that has marking count 1 and passes a negative

LEE AND PARK: EXTENDED EVENT GRAPH WITH NEGATIVE PLACES AND TOKENS

Fig. 9.

Gantt chart with a longer cycle time. Fig. 11.

Fig. 10.

331

Circuit with a negative marking count and a negative holding time.

place is generated. The arcs of the circuit are marked bold. Therefore, the minimum cycle time increases to 10. The schedule in Fig. 9 explains why the time window constraint increases the cycle time. Each box represents the token holding time at a place. The firing instances of each transition that are marked on its top clarify the timing relationship between the transitions and places in conjunction with the markings. The shaded box and the associated dotted arrows indicate would the time window constraint. The activity of place start earlier if the time window constraint was not enforced. If starts earlier, the time window constraint is violated. Howdelays the activity appropriately so ever, the negative place as to satisfy the time window constraint. The NEG in Fig. 8 has no circuit with a negative marking count and a negative holding time. The NEG is modified into with holding the NEG in Fig. 10 by adding a negative place , that is, should fire within 16 time units once time fires. The modified NEG has a circuit ( ), which has marking and holding time . Therefore, the maximum feacount sible cycle time 11, which is greater than the minimum cycle time, that is, the maximum of the circuit ratios of the positively marked circuits. Fig. 11 shows a feasible firing schedule for the th firing NEG. If the schedule is delayed, for instance, the is delayed by 2 time units, the schedule violates instance of th instance of the time window constraint between the

Gantt chart with a cycle time upperbound.

and the th instance of . If the time window between and is less than 15, that is, the holding time of is greater , the circuit ratio of becomes less than 10, which is than less than the minimum cycle time 10. Therefore, as suggested by Theorem 11, the schedule becomes infeasible. The schedule has the minimum cycle time 10. If the time window has size 14, th firing of cannot start earlier to meet the time the window constraint. In the case, there does not exist any feasible schedule as suggested by the second part of the liveness condition in Theorem 5. We add that the definition of a cycle in a firing schedule depends on the initial marking. A cycle may include different th firing instances of the transitions. For instance, the and the th instance of belong to the same instance of cycle since has a token in the initial marking. The interpretation of the instances of the transitions in a cycle depends has no token, we would on how the system is modeled. If have a different cycle definition. A steady schedule for a cycle that is obtained by LP1 also should be accordingly interpreted. It should be noticed that a Petri net or an event graph model explains only a state in steady work cycles after some transient period. The system behavior during the transient period cannot easily be captured by the net model. IV. CONCLUSION For modeling and analysis of systems with time window constraints, we have proposed NEGs that have negative places and tokens. The time window constraints are generalized for modeling a time limit between any two events. We have developed a theoretical framework for analyzing NEGs. The theory and framework of NEGs provide a unified and generalized framework for scheduling automated manufacturing systems with time window constraints including hoist-based production systems, robot cells, and cluster tools. The proposed methods of verifying the feasibility and finding a feasible schedule have been implemented as a computer program tool for the cluster tool engineers in industry. The engineers use the tool for verifying whether the engineered process times can have

332

IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING , VOL. 2, NO. 4, OCTOBER 2005

feasible schedules, evaluating the cycle time, and determining a steady schedule and timings of the robot tasks. In an NEG, time window constraints are modeled by places and tokens although they are negative. One of the main merits of this approach is that an NEG can explain the dynamic state change of a time constrained system. Although we did not restrict the firing policy, we can consider a specific firing policy. For instance, we are interested in the firing schedules that fire the transitions as soon as possible while meeting the time constraints. We may examine the steady state schedule patterns of such schedules through a steady state analysis of the NEG and the way of implementing such schedules by token play of the NEG. We need to examine the case when the embedded event graph is not strongly connected. The NEG can be further generalized to allow positive tokens in negative places or vice-versa to model more general time constraints. It is expected that the notions of negative places and tokens can be extended for more general Petri nets other than event graphs, timed or untimed. Many known theoretical results on Petri nets or event graphs, including reachability analysis, structural properties, and steady state analysis could be extended for the generalized nets. The idea of negative places and tokens for modeling time window constraints also could be extended for the cases where time window constraints or activity times are fuzzy. It is expected that fuzzy Petri nets are able to accommodate fuzzy or nonfuzzy time window constraints using negative places and tokens since in the NEG, the time window constraints as well as conventional time precedence relations are all modeled in the unified fundamental framework of places and tokens. REFERENCES [1] Y.-H. Shin, T.-E. Lee, J.-H. Kim, and H.-Y. Lee, “Modeling and implementing a real-time scheduler for dual-armed cluster tools,” Comput. Ind., vol. 45, no. 1, pp. 13–27, 2001. [2] H. Chen, C. Chu, and J.-M. Proth, “Cyclic scheduling of a hoist with time window constraints,” IEEE Trans. Robot. Autom., vol. 14, no. 1, pp. 144–152, Feb. 1998. [3] L. Lei and Q. Liu, “Optimal cyclic scheduling of a robotic processing line with two-product and time-window constraints,” INFOR, vol. 39, no. 2, pp. 185–199, 2001. [4] J.-W. Seo and T.-E. Lee, “Steady state analysis and scheduling of cyclic job shops with overtaking,” Int. J. Flex. Manuf. Syst., vol. 14, no. 4, pp. 291–318, 2002. [5] E. V. Levner and A. S. Nemirovsky, “A network flow algorithm for just-in-time project scheduling,” Eur. J. Oper. Res., vol. 79, no. 2, pp. 167–175, 1994. [6] E. V. Levner and V. Kats, “A parametric critial path problem and an application for cyclic scheduling,” Discr. Appl. Math., vol. 87, no. 1, pp. 149–158, 1998. [7] W. Khansa, P. Aygalinc, and J.-P. Denat, “Structural analysis of p-time Petri nets,” in Proc. CESA ’96 , Jul. 1996, pp. 127–136.

[8] J.-H. Kim, T.-E. Lee, H.-Y. Lee, and D.-B. Park, “Scheduling analysis of time-constrained dual-armed cluster tools,” IEEE Trans. Semicond. Manuf., vol. 16, pp. 521–534, 2003. [9] W. M. P. van der Aalst, “Interval timed colored Petri net and their analysis,” in Lecture Notes in Computer Science. New York: SpringerVerlag, 1993, pp. 453–472. [10] T. Murata and H. Yamaguchi, “A Petri net with negative tokens and its application to automated reasoning,” in Proc. 33rd Midwest Symp. Circuits and Systems, Calgary, QC, Canada, 1990, pp. 762–765. [11] T. Murata, “Petri nets: Properties, analysis and applications,” Proc. IEEE, vol. 77, no. 3, pp. 541–580, Mar. 1989. [12] J. Wang, Timed Petri Nets. Boston, MA: Kluwer, 1998. [13] F. L. Baccelli, G. Cohen, G. J. Olsder, and J.-P. Quadrat, Synchronization and Linearity. New York: Wiley, 1992. [14] R. M. Karp and J. B. Orlin, “Parametric shortest path algorithms with an application to cyclic staffing,” Discr. Appl. Math., vol. 3, no. 1, pp. 37–45, 1981. [15] R. K. Ahuja, T. L. Magnanti, and J. B. Orlin, Network Flows: Theory, Algorithms and Applications. Englewood Cliffs, NJ: Prentice-Hall, 1993. [16] T.-E. Lee, “Stable earliest starting schedules for cyclic job shops: A linear system approach,” Int. J. Flex. Manuf. Syst., vol. 12, no. 1, pp. 59–80, 2000. [17] T.-E. Lee and M. E. Posner, “Performance measures and schedules in periodic job shops,” Oper. Res., vol. 45, no. 1, pp. 72–91, 1997. [18] G. B. Danzig, W. O. Blattner, and M. R. Rao, “Finding a cycle in a graph with minimum cost to time ratio with application to a ship routing problem,” in Theory of Graphs, P. Rosenstiehl, Ed. New York: Gordon and Breach, 1966, pp. 77–83. [19] K. Murty, Linear and Combinatorial Programming. New York: Wiley, 1976.

Tae-Eog Lee received the Ph.D. degree in industrial and systems engineering from The Ohio State University, Columbus, in 1991. He is a Professor in the Department of Industrial Engineering, Korea Advanced Institute of Science and Technology (KAIST), Daejon, Korea. His main research interests include modeling, scheduling, control, and control software architecture for discrete event systems with application to automated manufacturing systems, especially integrated equipment such as cluster tools for semiconductor manufacturing. Prof. Lee is the Managing Editor of the Industrial Engineering and Management System Journal and an associate editor of the IEEE TRANSACTIONS ON AUTOMATION SCIENCE AND ENGINEERING.

Seong-Ho Park received the M.S. and Ph.D. degrees in industrial engineering from Korea Advanced Institute of Science and Technology (KAIST), Daejon, Korea, in 1998 and 2005, respectively. He is interested in modeling, scheduling, and control of discrete event systems, automated manufacturing systems with robots, and production planning.

Suggest Documents