(2) 340. D.Y. CHAO AND D.T. WANG. disturbed by various factors such as urgent orders, possible shortage of tools and materials energy constraints, and unexpected failures of equipment, including machines, instrumen~ and computers. It is obvious that decisions have to be made in a short period of time within the environment of highly automated and interrelated manufacturing systems of the pres ent day. The use of computers in the design and control of manufacturing systems thus becomes mandatory. An FMS is a large and complex system consisting of many interconnected hardware and software components. Typically, an FMS consists of several machines interfaced with automated material handling and computer control. The main tasks in designing an FMS include process routing, selection of a sequence of operations, and scheduling the assign ment of time and resources. Because some FMS operations may be distributed over a large area, it may be difficult to obtain a global view of the complete system. To simplify the design, problem detection, and maintenance, it may be useful to visualize the operations in a central location, and there may be a need for graphical modeling and animation of the FMS. Using existing modeling tools, simulation can sometimes identify the problems and measure the performance of an FMS by running a model for a long time, which may be time-consuming and expensive. Occasionally, for large FMSs, complete simulation is impossible and must be compromised with selected and partial simulations. Some perfurmance models are reviewed below. Queueing theory measures long-term statistical averages, which may not be sufficient to evaluate system performance for real time discrete event systems such as FMSs. We need a technique that can guarantee logical correctness and timing constraints under dynamically changing conditions. Queueing models cannot model mutual exclusion, resource sharing, decision, concurrency, and synchroniza tion, which are common in FMSs, and therefure cannot answer the question of logical correctness. Another analytic approach is based on the {max, +} algebra as in Cohen, et al., 1985 and Dubois and Stecke, 1990. They find the minimum cycle time analytically without using simulation. The authors have developed a unique matrix-based theory (Yaw et al., 1988; Chao and Wang, 1993b) fur the perfurmance evaluation of single-rate flow graphs fur concurrent processing. The single-rate data flow graph can be easily converted into a decision-free Petri net. In Chao and Wang (1993b), the critical loop finding algorithm was not clearly described, and the theory and algorithm of subcritical loops, especially the type B sub critical loops, need to be enhanced. We extend the perfurmance theory and algorithm developed by Chao and Wang (1993b) in section 2 and implement it in XPN-FMSto find the minimum cycle time, critical loop, and sub critical loops. According to Chretienne (1983), if we fire the transitions as soon as they are flreable, there is an initial transient period before a PN enters a steady state in which every transi tion in the PN fires once for each period of the minimum cycle time. How to avoid this transiency is an interesting research problem, as indicated by Dubois and Stecke (1990). We extend the afurementioned matrix-based theory, in section 3, and implement it in the XPN-FMS for determination of scheduling ranges, and fur initial scheduling to avoid the transient period. Its application fur input sequence control is discussed in section 8. In general, two processes can be in one of the fullowing temporal relationships: concurrent, sequential, cyclic, exclusive, or sequentially exclusive. Petri nets (PNs) can model not only for specifications but also fur timing behavior and fur verifying timing correctness. PNs. "". 14. .r. ;i II 'ii. !t. ~. II. x 'I.

(3) ~ l. XPN-FMS: A CAD TOOL. 341. have been recognized for their capability to model parallel/concurrent systems, such as computer hardware, software, operating systems, communication, FMS, etc. The advan lages of PN modeling include the following: 1. Specifications can be expressed in a highly formal way, which offers more promise for automated analysis. 2. The model has a natural graphical (as well as textual) representation. 3. Automated analysis is possible for properties including deadlock-free, mean throughput, mean delay, buffer overflow, and resource contention. 4. Extensive research has been done on the use of timed PNs, e.g., Molloy (1981). There are programs available to support automated analysis of timed Petri nets. Deterministic timing models are available for specifying real time constraints (Huang, 1985). Stochastic PNs (SPN) are preferable for performance analysis in systems without real-time constraints. 5. PNs are able to express solutions to asynchronous events and blocking. 6. It is possible to implement stepwise refmement of system specifications. 7. Some research has been done on the automatic translation of extended PN models into code. This article focuses on the implementation of a software tool that can model, analyze, and simulate the properties and performance of an FMS based on PNs. PN theory has been applied to the specification, validation, performance analysis, control code generation, and simulation for manufacturing systems (Murata et al., 1986; Wilson and Krogh, 1990; Zhou et al., 1990; Beck and Krogh, 1986; Bruna and Biglia, 1986; Jeng and DiCesare, 1992; Narahari and Viswanadham, 1985; and Valavanis, 1990). The first step toward these ap plications is modeling (or synthesis) of PNs for FMSs (Krogh and Beck, 1986). The se cond step is to analyze the PN models, because, for an FMS to operate in a stable, deadlock free and cyclic way, the modeling PN must satisfy the following three logical properties namely, boundedness, liveness, and reversibility. Another feature of XPN-FMS is as follows: as the system grows in complexity, the model ing process and the analysis become a formidable, if not an impossible, task. All existing PN synthesis techniques (Chen, Thai, and Chao, 1993; Datta and Ghosh, 1986; Esparza and Silva, 1990; Murata, 1977, 1980; Silva, 1987; Suzuki and Murata, 1983) employ a trial-and-error approach or exponential time complexity to analyze the logical properties of the PN, such that practicality places a tight limit on the degree of complexity inherent in the PN for these methods to apply. Th resolve the problems, Chao and Wang (1992, 1994a, c) propose a unique method, the knitting technique (KT), for PN synthesis which guarantees that the logical properties are preserved automatically and avoids cumbersome trial-and-error, analysis-redesign-reanalysis cycles. Further, the analysis of the logical prop erties is of polynomial complexity, which allows the use of KT to synthesize PNs of large COmplexity. The KT has been applied to communication protocols (Yaw, 1987; Chao and Wang, 1994a) and has been implemented in XPN-FMS. In the case ofFMSs with multiple robots and machines (Koh and DiCesare 1990), general Petri nets (GPN) must be used. We have studied properties and performance of GPNs and also extended KT for synthesiz ing GPNs (Chao and Wang, 1994c) in XPN-FMS..

(4) 342. D.Y. CHAO AND D.T. WANG. In summary, XPN-FMS is unique, in the sense that: (1) it integrates functions of drawing, analysis (both logical properties and perfurmance), reduction, synthesis, query, and anima tion in one software package; (2) it implements a unique PN synthesis method, KT, which, with polynomial complexity, guarantees that the PN model always preserves well-behaved properties; and (3) it implements a unique theory to analyze the perfurmance of a PN model and to optimize scheduling. Animation is useful for checking the correctness of the PN model. An FMS should have a central monitor displaying both the FMS layout and its PN model. By communicating with the real FMS, FMS operations can be animated in the dis play. The designer can, thus, have full knowledge and command of the operation of the FMS. H the PN model is synthesized using KT, well-behaved properties are preserved. However, if it is not, ill behavior may occur, and animation can help identify the cause of the problem. The structure of this article is as follows. Section 2 describes and extends the perfor mance theory presented in Chao and Wang (1993b). Section 3 further extends the same theory for the avoidance of the transient period. Section 4 briefly describes the X Wmdow user intermce tool implemented in XPN-FMS. Section 5 describes the FMS used here as an example for modeling and simulation, respectively. Section 6 discusses the design issues of XPN-FMS. Section 7 discusses the application of XPN-FMS to improve system perfor mance. Section 8 gives the conclusion.. 2. The perfonnance theory Mathematical modeling of an FMS is the ftrst step in analyzing, simulating, and controll ing the operations of such systems. When concurrency and synchronization concepts become the key to studying the control of an FMS, the PN provides a straightforward tool for model ing these concepts. PN (Peterson, 1981) is a formal graph theory for modeling the flow of information and control in systems, especially those which exhibit nondeterministic, asynchronous, and concurrent properties. The readers are referred to Peterson (1981) for the fundamental theory of PN and to Chao and Wang (1992, 1994a,c) for KT. The algorithm for ftnding the minimum cycle time and critical loop has been documented in the literature (Dubois and Stecke, 1990; Chao and Wang, 1993b) and is described below. We ftrst define the cycle time as follows: Dermition 1. (Ramamoorthy and Ho, 1980). Let Sj(nj), where i = 1, ... , m (m being the number of transitions in the PN) be the time at which transition tj initiates its njth exe cution. The cycle time, Cj , of transition tj is deftned as. Cj =. lim Sj(nj) IIj-+oo. -n;-'. We also need to deftne the following terms. Tk = EtiU,k Ti denotes the sum of the execu tion times of the transition in loop (or circuit) Lk and Tj the execution time of ti' Nt := Ep/U,k denotes the total number of tokens in the places of 4, where Pi is the ith place and Mj the number of tokens in Pj. Using the following theorem, we can obtain the minimWD cycle time..

(5) 343. XPN-FMS: A CAD 100L. Theorem 1. (Ramamoorthy and Ro, 1980) For a decision{ree Petri net, 1. The number of tokens in a circuit remains the same after any firing sequence. 2. All transitions have the same cycle time. 3. The minimum cycle time (maximum performance) C is given by. C=. max{ ~:; k = 1,2, ... , q}. o. The circuit with the maximum TklNk (called the loop bound) is the critical loop. Algorithms to find the critical loop and minimum cycle time are described below. First, we build the initial matrix (f) with entry value t/,y = RMk - rj, where R is an estimated value of the minimum cycle time and Mk is the number of tokens in place pI;. which is between transitions tj and ti . Based on the initial matrix, a series of intermediate matrices Q(m), m = 2, 3, ... , can be fuund according to Floyd's Algorithm. The mth intermediate matrix, with entries t/,j), represents the shortest distances between any two transitions among all paths. These paths are composed of the intermediate transitions, which do not pass through more transitions than m. For each initial matrix (f), there is an upper bound of m such that more iterations of Floyd's Algorithm cannot produce % < t/,j). The cor responding matrix is the final matrix, Q(f), and indicates the shortest distance among all the loops through transition ti' There are three cases associated with the diagonal en tries as follows:. tiP. Theorem 2. (Ramamoorthy and Ro, 1980). In the final matrix (if), if the diagonal en tries are (1) all positive, R > C; (2) some negative, R < C; and (3) all positive or zeros, R=C 0 Thus, we can make an estimate of C and use the algorithm by Chao and Wang (1993b) to determine which case of Theorem 1 applies, and adjust the estimate accordingly; e.g.,. if case (1) holds, we decrease the estimate. We can choose zero as the lower bound of the estimate (since the iteration bound is always positive), and the sum of the execution time of all transitions as the upper bound. Using binary search, we can obtain the minimum cycle time within a tolerable error. Nodes in the critical loop and the minimum cycle time can be identified. The total time complexity is O(n310gn), where n is the total number of transitions. The minimum cycle time can be shortened by reducing the execution times of transitions or by inserting tokens in the critical loop. The loop bound of the critical loop eventually becomes smaller than that of the subcriticalloops, with the next largest loop bound, termed the next eriticalloop. In order to achieve improvement, it is necessary to identify the sub critical loops, from which we identify the one with the largest loop bound as the next critical loop. An example is shown in table 1. The following theorem is useful fur the search of I subcritica1 loops. There are two types of subcritical loops, defined as fullows: Definition 2. type A (B) subcriticalloop of a transition (a place) is the shortest loop through the transition (place). 0.

(6) 344. D.Y. CHAO AND D.T. WANG. 1Qble 1. Critical loop, next critical loop, and subcritic.alloops of the Petri net of figure 3.. 1. I.. Critic.al, Next Critic.al, and Subcritic.al Loops Loop. Type. Loop Bound. 18 1 12 1 4102189654 67896 234102 454 565. critic.al next critical subcritic.al subcritic.al subcritic.al subcritic.al subcritical. 35.00 33.00 27.00 J4.00 13.00 7.00 6.00. 1. d. P. II. A. We assume that the critical loop and the type A (B) subcriticalloop of a transition (Place) are unique. The theory of multiple critical and subcriticalloops is nontrivial and will be developed in the future. We have the following theorem to determine whether a transition is in the type A subcritical loop of another transition.. s s. Theorem 3. (Chao and Wang, 1993b). Transition tb is in a type A subcriticalloop Lk of ta , if and only if qlj,) + q~) = ell'>' 0. T. It is easier to find the shortest loop through a transition, since the distance matrix is transition-based. Hence, we first extend the theory of the critical loop and the type A sub critical loops, as in Chao and Wang (1993b). The following lemmas and theorem lead to the algorithm for finding the critical loop and type A subcritical loops.. s. A. s. s Lemma 1. Let ti' tj' and tk be three arbitrary transitions in this order in a type A subcriti. If. 4iP tht) qrc·. If. + = (2) cal loop of ti' (1) they are in the order of ti to ti to tb then they are in the order of ti to tk to tj , then + q,!) = + q~p. Further, if the type A subcriticalloop oft; is also the critical loop, then + 4,! = q~p.. 4iP. qt 4if. S'. 51. SI. Proof. (1) Since all entries are the shortest distances in matrix (jf) and the subcritical loop is the shortest path from a transition to itself, the shortest path from ti to tk must be through shortest distance is which is the sllJ:.!l of the shortest distances from ti to tj' and from tj to tk. (2) The shortest distance from ti to ti' plus the shortest +' 4,!> = 41[> + q~P + 4,!) = q~f> + q~p. Fur distance from tk to t; is as follows: ther, if the type A subcritical loop of ti is also the critical loop, q~!) = 0. qrt>, qJC. 4iP. t.i and the. 4iP,. o.. r. to. 10. ~I. Lemma 2. Let ti be a transition in a type A subcriticalloop of transition tx and tit' th' ... the next transitions to ti (i.e., there exists a directed path from ti to tit' th , ...• respec = III and q~!> + q~f.> = xx ' t·)1 is the next transition in the same loop. tively). Ifq~!> 'll III III. q9:>. Proof. Since q!J> =. iJ>,. q(f). the shortest path from ti to tit is tj t.i l and cannot be through any other transitiori. Furtlier, since + = tit is the next transition in the type A subcriticalloop of transition tx~ I 0. q!J> qJ{} q1P.. :1. n h !\. h.

(7) 345. XPN·FMS: A CAD TOOL. Theorem 4. V tronsitions ~ in the type A subcriticalloop o/transition Ig, T£ qjj (f) IJ. = qgg' (f) r g = r·· ' l ' 0 theTWlse, Iif qjj(f) <. (f) qgg,. r g .... r- r j.. r g , qJJ>. :$. q~~).. Proof. For any transition tj on r g, qJJ> > q~~) does not hold, since qJ/) is the shortest distance from Ij to Ij and r g is also a path from tj to Ij . If qJ/) = qW, there is no other path from tj to Ij shorter than r g' If < q~~), there is at least one other path from Ij to tj shorter than r g • 0. tiP. Using Lemma 2 and Theorems 3 and 4, we have the following critical and type A sub critical loop search algorithms,. Algorithm 1. Critical loop rmding algorithm. tiP. Step 1: Select a transition tj with = O. Step 2: From the transitions next to ti, select tj with qJ!) transition in the critical loop. Step 3: Repeat Step (2) until the next transition is Ii'. = 0 and q}j) = qV) as the next. The complexity of this algorithm is O(n3).. Algoritlnil 2. 1)'pe A subcritical loops Onding aJgorithm Step 1: Pick transition t g, with (a) q~~) ¢ 0 and (b) either q~p < q~t> V transition te whose type A subcriticalloop is found or Ig is not in the type A subcriticalloop of any other transition, as the searching transition, tj. Step 2: Among all transitions next to the searching transition Ii' select~, with + = q(f) .if) = .i1) gg and 'I.ij 'I.ij .. tiP 4JP. Step 3: Make tj a new searching transition. Step 4: Repeat Steps (2) and (3) until tg in Step (1) is reached and the type A subcritical . thus foun, d F'·WUler, ...t.. V tranSItIon • • (f) -- qgg' (f) r g Ioop 0 f I g, r g' IS Ii WI'th qij - r j. Step 5: Repeat Steps (1)-(4) until the type A subcriticalloops of all the transitions have been found. 0 The time complexity of this algorithm is O(n4). It should be noted that if one only needs to find the critical loop, Algorithm 1 may be used. However, if one needs to find the critical loop and the type A subcriticalloops, Algorithm 2 is used and the loop with all the transi tion t;'s with = 0 is the critical loop, Further, if one only needs to determine whether atransition is in a type A subcritical loop of another transition, Lemma 1 may be used. After finding all the type A subcritical loops. we still need to find some type B sub critical loops, since one of them may be the next critical loop. If a type B subcriticalloop Includes any transition not in the critical loop, there is no need to find it, since it is either Iile same as the type A subcriticalloop of some transition, which has been found, or not even the shortest loop of any transition, which cannot be the next critical loop, We have Iile following two lemmas,. tiP. ....

(8) 346. D.Y. CHAO AND D.T. WANG. Lemma 3. For a place, not in any type A subcritical loop, connecting from transition tl to transition t2 in the same type A subcriticalloop 'Y, its type B subcriticalloop r == tl-tr' . . -Ix- . . .-II> where tx's are the trrlnsitions from t2 to tl in 'Y, is longer than 'Y. Proof. The path t2-' .. Ix-. .. -tI, with tx's being transitions from t2 to t I in 'Y, is the shortest path from t2 to tl and, hence, is the type B subcritical loop of the place connecting from tl to t2. is longer than 'Y, since is otherwise a type A subcritical loop. 0. r. r. It should be noted that if the type A subcritical loop 'Y in Lemma 3 is also the critical loop, r may be the next critical loop, since it may be a longer path than the critical loop only. However, if'Y is not the critical loop, r is not the next critical loop, since it is longer than at least two loops.. Lemma 4. For a place, not in any type A subcriticalloop, not connecting two transitions in the same type A subcriticalloop, its type B subcriticalloop, r, is longer than at least two type A subcritical loops. Proof. If r is a type B subcritical loop of a place connecting from transition tl in type A subcriticalloop 'YI to transition t2 in another type A subcritical loop 'Y2, then r is longer than 'YI and 'Y2' Because if r is not longer than 'YI or 'Y2, the place connecti!l8 from tl to tz is part of a type A subcritical loop. 0. By Lemmas 3 and 4, we only need to find the type B subcritical loops which are composed of a nonempty proper subset of transitions in the critical loop, by the following lemma.. Tbeorem S. The next critical loop can be either a type A subcritical loop, 'YI, which is not the critical loop, or a type B subcriticalloop, 'Y2, composed of a nonempty proper subset ofthe set oftransitions in the critical loop, with exactly one place between two tmn sitions in this proper subset and not in the critical loop. Proof. A type A subcriticalloop 'YI may be the next critical loop if only the critical loop is longer than it. 'YI may also be a type B subcritical loop of a place in it. By Lemmas 3 and 4, a type B subcritical loop, which is not a type A subcritical loop of any transition and includes at least a transition which is not in the critical loop, is obviously not as short as the type A subcriticalloop of this transition, and hence, cannot be the next critical loop. 'Y2 includes at least a place which is not in the critical loop, since otherwise, all transi tions in the critical loop are included and the loop is the critical loop. Further, 'Y2 includes exactly one place not in the critical loop, since, if another such place is also included, the places between the same two transitions in the critical loop form a path shorter than the section in the critical loop between these two transitions; this is impossible. 0. Lemma S. Every place p immediately between two transitions, tl and t2, in the critical loop is either in the critical loop, r, or in the type B subcritical loop ofp, 'Y, with the other transitions in {3 being the ones between tl and t2 in r..

(9) XPN-FMS: A CAD TOOL. 347. Proof Given two transiuons, I, and.iz, in the critical loop, r, if Iz is the next transition. to ',. the place p on the path from I; to Iz is in r. Otherwise, there is a shorter path be , tween I, and Iz, and hence, t,-p-Iz is not in the critical loop. However, if I, and Iz are. not immediate neighboring transitions in r and place p is on the path from I, to Iz, then. tl-p-Iz- . . .-Ix-' • .-I, (where Ix'S are the transitions from Iz to I, in r) is a type B subcritical. 0. loop 'Y of place p, since Ir...-tx -·' .-1, is the shortest path from Iz to I,. Using Theorem 5 and Lemma 5, we develop the algorithm of finding the type B subcritical loops which includes a proper subset of the transitions in the critical loop only, as follows. Note that among the type B subcritical loops, only these special kinds of loops are the candidates of the next critical loop.. Algorithm 3. Type B subcritical loop finding algorithm for next critical loop Step 1: Find a place connecting from transition tl to transition tz, both in the critical loop but not next to each other in the same loop. Step 2: The path I,-p-Iz- . . .-Ix-. . .-/, (where tx's are the transitions from 12 to I, in the critical loop) is the type B subcriticalloop of the place p connecting from I, to I z• Step 3: Repeat Steps (1) and (2) until all the places in Step (1) have been processed. 0 The complexity of this algorithm is O(n2 ). Using the subcriticalloops found with Algorithms 2 and 3, we can determine the next critical loop by selecting the subcriticalloop, types A or B, with the smallest value of eklNk with the following theorem. Theorem 6. (Chao and Wang, 1993b). leI ek be lhe characteristic value in subcriticalloop. 4, and Ihe subcriticalloop with the minimum value of eklNk is lhe nexl critical loop. 0 1 Avoidance of transient period The presence of transiency precludes static scheduling where the execution time of each transition is fixed during each iteration. The algorithm of finding the minimum cycle time, critical loop, and subcritical loops discussed in section 2 is extended in this section for scheduling and avoiding the transient period which may occur in the initial stage of FMS operation. It has also been implemented in XPN-FMS for input sequence control, as de scribed in section 8. Let Ir denote the reference transition which executes at the beginning of each iteration Under steady state. The execution times of all other transitions during each iteration can be expressed relative to Ir • A transition in a critical loop is preferred as the reference tran !ition because, as will be clear below, the scheduling time of this kind of transition is fixed, IIld the transitions not in any critical loop may not be fixed. Iteration ranges and the Pl'escheduling to avoid the transient period are provided in the following two theorems, Ifhere ajj is an entry value of the fmal matrix (if);.

(10) 348. D.Y. CHAO AND D.T. WANG. Theorem 7. The scheduling range ofa transition 1j is (-arj%C, aJr%C), where % is the modulus operator.. arj %C = -arj %C, where Tr = 0 fur the reference tran sition. Because the absolute value of arj could be greater than C, we have applied the modulus operator to obtain the execution time of tj within an iteration. Similarly, the latest scheduling time is determined by the longest (or critical) path from Ij to In i.e., by the entries ajr in the final matrix. Thus the latest Tj = Tr - (-ajr)%C = ajr%C, 0. Proof. Note the earliest Tj = Tr. Because both tj and tr are in the critical loop, ajj = 0 and -arj%C = ajr %C; thus, transi tions in the critical loop execute at fixed times during each iteration. Note when the latest scheduling time is less than the earliest one, the scheduling ranges from (-arj%C) of one iteration to (ajr%C) of the next iteration. In other words, any scheduling time within the range (ajr%C, -arj%C) would disturb the scheduling of transitions in the critical loop. An example is shown in section 7. To eliminate the transient period, we no longer execute the transitions in an immediate fashion; we stagger the initial firing time of each transition. That is, we delay the firings of some initially executable transitions. There must be a transition which is the earliest to execute. Let tm be such a transition.. Theorem 8. To avoid the transient period: (1) the earliest transition for execution is the transition tm with the minimum amr ; (2) the initial execution time of any other transition tk is ~ = (akr - amr); and (3) the execution time ofany tk relative to tm in each iteration is T~%C for static scheduling.. Proof. (1) and (2): Let k = m, then Tf = akr amr = 0, which is consistent with the fact that tm is executed at T~ = O. Also note Tf = akr - amr > 0 for k ¢ m. It is also consi's tent with Theorem 7 when both tr and tk are in the critical loop. This is because I; = -a".". and T~ = akr - amr = T~ - ark, where we have used the fact that akr + ark = O. Thus, Ik executes relative to tr at -ark and transitions in the critical loop exhibit steady-state behavior from the beginning of scheduling. We then show that the execution of other tran sitions does not disturb the schedule of transitions in the critical loop. Consider a tk in a noncritical loop and ti in the critical loop. Since aki + air ~ akr, or air - a".". O!: O-tr amr - aki; i.e., T? ~ ~ - aki ~ ~ - r.'IEP(MtC - rt) (1' is any path from tk to tj). The above inequality holds fur any tk in a noncritical loop. Thus, the scheduling of any ti in the critical loop is not disturbed. Statement (3) results from the fact that there are no transient periods. The initial execution time T~%C relative to tm must remain the same for all iterations. 0 Lemmas 1 through 5, Theorems 3 to 8, and Algorithms 1 through 3 are unique and have been implemented in XPN-FMS such that the user is able to find the critical loop, sub critical loops, next critical loop, minimum cycle time, scheduling ranges, and preschedul ing and static scheduling during each iteration under steady state (see figure 3). Dynamic scheduling requires a lot of overhead in run-time assignment of processors to tasks..

(11) XPN-FMS: A CAD TOOL. 349. 4.10018 used in the implementation of XPN-FMS The emergence of graphical user interfaces has greatly influenced the way people interact with computers. Instead of interacting with the computer by typing in commands, a user can accomplish most of the tasks by using a mouse to select an entry in a menu. In addi tion, a graphical interface usually divides the physical display screen into windows, so that a user can switch between windows to run different tasks. Due to the advantages of such graphics user interfaces, we implement the software tool using the X Window System. The X Window System (Scheifler and Gettys, 1986; Young 1990) is a hardware- and operating-system-independent window system which has been adopted by the computer in dustry as a standard for graphical applications. The X Window System is a combination of X protocol, X display server, X clients, X toolkit, and Xlib routines. The X Window System is also a network-based window system using the client-server model. The X server process, running on a workstation, controls the monitor, mouse, and keyboard. The X client process, running locally or on a remote computer, sends the requests to the server using a communication channel. The X Window System comes with a library of C routines known as Xlib, which pro vides programmers access to the X protocol through more than 300 utility routines. However, Xlib does not provide routines to implement the basic elements of a graphical user inter face, such as scroll bar, command button, dialog box, popup, or pull-down menu. The X Tholkit Intrinsics (also known as Xt Intrinsics), which comes with the X Wmdow System, serves this purpose. In keeping with the X philosophy of •'mechanism, not policy," the designers of the Xt Intrinsics did not develop a fixed set of components with a predefined look and feel. Instead, they created a general mechanism to produce reusable user-interface components so that a higher level library can be built upon it. Motif Toolkit (Young 1990) is such a library of ready-to-use, user-interface elements. Motif has a a distinctive appearance and its own conventions for using its widgets I which lead to a consistent look among all applications using Motif.. 5. The FMS We use the FMS in the NJIT manufacturing laboratory, modeled by Zhou et al. (1993), as an example to demonstrate the capabilities of XPN-FMS. It should be noted that the XPN-FMS can analyze and simulate any FMS that can be modeled by the PN. The FMS is shown in figure 1. It consists of the following six major elements:. 1. SI Handling Conveyor System: It consists of four carts with a fixture mounted on each, two transfer tables, TTl and TT2, and dual conveyors which transport materials to each machine. 2. NASA II CNC Milling Machine: This accepts rectangular solid blanks and machines "NJIT FMS" on the part. 3. GE P50 Robot: It loads and unloads the material between the CNC milling machine and the conveyor system, and between the parts presentation station and the conveyor system..

(12) 350. D.Y. CHAO AND D.T. WANG. IBM 7535 Robot. I. I. Programmable Logic Controller Transfer Table. Drilling Workstation. P. ~ ~. I~. 1Transfer. ITable !. EJ . Computer vision system. I. I. CartB. I. [J Parts Presentation Accept System Reject. I. I. Cart. a. AI. & II~. CNCMilling Machine. 8. GEP50 Robot. Figure 1. The FMS in the NflT Manufacturing Laboratory.. 4. Parts Presentation Station: This includes a gravity-chute which supplies rectangular solid blanks as raw materials. This station also contains two bins, one for accepted parts and another for rejected parts. 5. Compuer Vision System: It provides visual automated inspection for the parts. 6. Drilling Workstation: This includes an IBM 7535 Industrial Robot with a 114" drill as an end-effector, and drills holes at the four comers of the part. The working cycle for this system proceeds in the following sequences:. 1. Initially, all of the four carts on the conveyor system are empty and waiting for the raw materials to be loaded from the parts presentation station. 2. The GE P50 robot loads four parts, one for each cart, into the four carts on the con veyor system. The carts move clockwise after they have been loaded. Steps (1) and (2) constitute Input State for this FMS. Once the four parts are input, the positions acquired by the four carts are as shown in figure 2. 3. The IBM 7535 robot drills four holes (one at each comer) on each blank part as the cart stops at the drilling station. 4. The GE P50 robot goes to the conveyor, removes the blank part from the cart at posi tion Xl, and loads it into the fixture located on the CNC machine tool table. 5. Once the part is loaded on the CN C milling machine, the robot backs off and the mill ing machine mills uNJIT FMS" on the rectangular part..

(13) 351. XPN-FMS: A CAD TOOL. Xs =Ys. X4=Y4. X6=Y6 X7=Y7. Tfl CanC. CartB. ~. CartA. t. D CartD + TI2. XJ=Y3. Xl =YJ. X2=Y2 . ~. Xs=Ys. Looking from GEPSORobot. Figu/'¥) 2. The eight possible positions of carts on the conveyor system.. 6. After the milling operation, the robot arm goes to the milling machine to remove the piece that was machined from the fixture. 7. The robot returns the finished part to the same cart on the conveyor. 8. A signal is sent to the vision camera to inspect the part. 9. The vision system outputs a signal that directs the robot to accept or reject the part. 10. The robot runs either an accept program to place the part on the accepted pile or runs a reject program to place it on the rejected pile. II. The GE robot goes to the parts presentation station and loads a new blank part into the cart. 12. The cart is released to the system, and the next cycle is started. Note that steps (3) through (12) constitute the working state for this FMS. The PN modeling and analysis for the above system can be found in Zhou et al. (1993), and the diagram is shown as in figure 3, where Pxl: Pyl: Px2: Py2: Px3: Py3: Px4: Py4:. Cart available at the loading station at XI. Availability of cart halting position at XI. Cart halting position at X2. Availability of cart halting position at X2. Cart loaded on the transfer table TTl at X3. Availability of TTl at position X3. Cart transported to position X4 by TTl. Availability of TTI at position X4. N: Cart available at drilling workstation at X5. ..c:_.

(14) 352. D.Y. CHAO AND D.T. WANG. ~ ..~If~~~~ RI,---- Ml~T>~'"=-----"ll k Iii· ~o. I. ~L-~ ~" I, .. ~o'. 0". p"". n. ~. G"'. tal)l. ~_. ~f--~ (b). (0). ie""'I.t,,,,,. ~. . ..,. ., I. ~I~:- .,. 1"1-l'!I. '" '" '". . " ':'1 . .,1. -,..,. " '" (c). Figure 3. (a) The factory layout: (b) PN model; (c) perfonnance table.. Py5: Px6: Py6: Px7: Py7: PxS: PyS: t1:. a: t3: t4: t5: t6: t7: tS: 19: tlO:. Availability of cart halting position at X5. Cart halting position at X6. Availability of cart halting position at X6. Cart loaded on the transfer table TI2 at X7. Availability of TI2 at position X7. Cart transported to position XS by TI2. Availability of TI2 at position XS. Cart moving from loading station to X2 (execution time: 30) Cart being loaded on transfer table Tn (execution time: 3). Tn and the loaded cart move together to X4 (execution time: 3). Cart unloaded from Tn and move to drilling station (execution time: 4). Cart moves from drilling station to X6 (execution time: 3). Cart being loaded on transfer table TI2 (execution time: 3). TI2 and the loaded cart move together to XS (execution time: 3). Cart unloaded from TI2 and moves to Xl (execution time: 5). TT2 moves back from position XS to X7 (execution time: 3). Tn moves back from position X4 to X3 (execution time: 3). The readers are referred to Zhou et al. (1993) for the modeling details of this system..

(15) XPN-FMS: A CAD TOOL. 353. 6. Design details of XPN-FMS . The design goals of the XPN-FMS are to make the modeling, operation, and analysis of an arbitrary FMS visualizable and easy to understand. Th achieve this goal, we use anima tion to model the operating process of an FMS dynamically. In addition, XPN-FMS pro vides some way by which to quantify the perfurmance of an FMS. This goal is accomplished by analyzing the critical loop and minimum cycle time. An ideal CAD tool should allow the designer to lay out the mctory graphically and animate its operations such that the designer can visualize the static configuration and dynamic behavior of the FMS designed. In XPN-FMS, we assume that an FMS has some basic elements such as moving carts. Precisely the fullowing are allowed: variable number of carts (up to fuur in the FMS); variable number of cart locations (up to eight in the FMS cell); arbitrary initial positions of the cart (which must be reasonable); and user-specified routing information. XPN-FMS supplies built-in bitmap pictures of the basic components and functions for the designer to create hislher own pictures, which will be appended to the end of the built-in pictures. It is assumed that the user is able to draw a corresponding PN model after the layout of the FMS is specified. The XPN-FMS provides the necessary functions to draw places, transitions, and arcs on the screen. It also allows the designer to erase, copy, move, pan (to shift the center of the graph), and zoom in/out graphical objects. The major functions are discussed as fullows. First, the user can undo the current action and return to the previous step. Second, the user can modify properties such as token numbers and variable values of a place, and also properties of a transition such as transition firing time, to finish a job and the transition statement. Third, the user can draw Text at any location on the screen with various fonts. Fourth, the user can print a selected window (with or without the border menus) to get a hardcopy from the user-specified printer. Fifth, the user ftles (not just a single ftle) can be imported, copied, deleted, and edited. Sixth, the design can be saved. Seventh, each menu or submenu is provided with a Help function to describe and guide users to the functions of all menu items. We have enhanced the functions of drawing by implementing the functions of drawing of "Box;' "Circle," "Elliptics," and "Dashed Line" (see Chao and Wang, 1994b). The vertical and horizontal scroll bars, together with the Move, Pan, and Zoom functions, allow large graphics to be drawn. Further, the logical correctness of a PN model can be verified by XPN-FMS and displayed on the screen, along with the invariants, which are useful to the analysis of PNs. The user can also query properties of the input/output places and transitions, incidence matrix, in variants, cycle time, synchronic distance, and T-Matrix, which records the temporal rela tionship of processes of the PN. The PN can also be reduced based on the reduction algorithm by Yaw (1987) and the six reduction patterns by Berthlot et al. (1979) with enhancements. The animation of the automated operating process of an FMS takes two forms. One is the Auto mode, in which the total number of simulation steps of the FMS is 10000. The other is the Step mode, in which a user can specify this total number of simulation steps. Using XPN-FMS, the motion in the FMS and the state in the corresponding PN are syn chronized to help users verify the correctness of the PN model..

(16) 354. D.Y. CHAO AND D.T. WANG. The Recorder stores the number of parts finished befure a preset (Auto model) or user set (Step mode) timer expires. This makes quantitative evaluation of the FMS perfurmance feasible. A system designer can compare the efficiencies for different FMS layouts and find a mvorable configuration. For each layout, a system designer can experiment with different operation times. This helps system designers quickly determine how to improve efficiency, where to invest new equipment, and where to pinpoint the bottleneck of the operating cycle. The minimum cycle time and the critical loop can also be displayed (see figure 3). Figure 3 shows the FMS along with its PN model. To animate, XPN-FMS first scans all the transitions to find the enabled ones and puts them into a time queue in an increasing order of transition enabling times. XPN-FMS then picks up the first transition (with the least transition enabling time) on the time queue to fire, decreases the number of tokens of all its input places by one and increases the number of tokens of all its output places by one, and updates a global string array t according to each transition routing. Note that some transitions regard the cart's moving from one position to another. If two carts C_i and C-i collide at the same position, only a single cart is displayed in the position with the symbol "e_i,i." Note that each cart carries a symbol "C_" followed by its cart num ber. XPN-FMS then refreshes the PN and animation diagram, and decreases the transition time of enabled transitions in the time queue by the time of the transition fired, which means that this amount of time has been elapsed. XPN-FMS then rescans all transitions, tries to find new transitions enabled, and puts them into the time queue according to their enabling times. In this simulation, every firing loop checks the event.. 7. Implementation of performance analysis Simulation and animation are useful for observing the evolution of states in the FMS; thus, they are useful for verifying the correctness of modeling, for studying the transient behavior of the system, and for checking the analytic results. Analysis, nevertheless, identifies bot tlenecks and provides steady-state perfurmance figures such as minimum cycle time. XPN FMS integrates simulation, animation, and analysis in one software package. Average throughput equals the number of parts finished divided by the time duration of simulation and equals the inverse of the minimum cycle time, provided the simulation is long enough. The time duration of simulation can be obtained from XPN-FMS. Comparing this throughput against the analytic results, we can verify Theorem 1.. 7.1. Results of analysis and simulation. The transient behavior and detailed evolution states are recorded in a "trace" file. For the FMS in figure 3, the minimum cycle time and the critical loop are analyzed. As shown in table 1, tl-t8-tl constitutes the critical loop with its loop bound, 35, as the minimum cycle time, denoted as C in section 2. To decrease the minimum cycle time, one can decrease the execution time of tl or t8 or add tokens to the critical loop. Reducing the execution time of t1 is more effective than t8, since tl is in both the critical and the next critical loop, tl-t2-t3..

(17) 355. XPN-FMS: A CAD TOOL. Figure 3(c) and table 1 provide a summary of some of the experiments. Decreasing the execution time of tl from 30 to 20, for instance, reduces the C from 35 to 25. This reduc tion effects only the execution time of tl above 9. Further reduction does not improve the cycle time, since t6-t7-18-t9-t6 is the new critical loop with loop bound 14, which is also the new C. Adding a token to Px8 in the critical loop (see the last column in figure 3(c» reduces its loop bound from 35 to 17.5, and the next critical loop tl-t2-tl becomes the new critical loop with C = 33 as the new minimum cycle time. This is borne out by both simulation and analysis using XPN-FMS. Thus, the reduction of the loop bound cannot be continued without limitation. As shown in table 2, the scheduling range, prescheduling, and steady-state scheduling of each transition are displayed. Examination of the corresponding trace file validates these results. Note that the scheduling range for t3 is (33, 22), which implies that the scheduling ranges from 33 of one iteration to 22 of the next iteration. It is easy to see that any schedul ing in the range (22, 33) would delay the execution of tl in the critical loop. Another example taken from Dubois and Stecke (1983) is shown in figure 4, where (a) is an FMS consisting of three machines and three part types (b) the corresponding factory layout for animation, (c) its PN model, and (d) a Matrix displaying the processing times of parts on different machines. Note that the "C2,3" indicates two parts, P2 and P3, at the same position on Ml.. 7.2. Input sequence control Here, we briefly describe the application of final matrix and Theorem 8 for solving the problem ofinput part sequence. The example in figure 4 has three part types. In this exam ple, there are two types of resources: pallets to transport parts and machines, represented by tokens in the PN model. Different matchings between pallets and machines indicate different initial markings. Consider the case with a different initial marking, ~, where p2 is waiting at M2 rather than at M I ; the minimum cycle time is doubled. Thus, the input Table 2. The scheduling results of figure 3. Scheduling of Thmsitions. Thmsition. Range. 2. (30, 32). 3 4. (33, 22) (9, 25). 5 6 7. (6, 22) (3, 19) (6,27). 8. (30, 30). 9 10. (0, 16) (13, 29). (0, 0). Initial. Steady State. 0 32. 0 32 22. 57 60 57. 25. 54. 19. 22. 62. 27. 30 51. 30. 29. 16 29.

(18) 356. D.Y. CHAO AND D.T. WANG. ., o;;-~. (c). (b). .. p.. G~' "6,,, " QA,. ~o· ... .puo G. ",.. '. t._. -~. I In. ,1. o"'; .. ,.. ------+. 0. 0 .... ,.a~\~--f~~~ "~~'1>. Figure 4. An example for Dubois and Stecke (1983) with different part types.. sequence of parts and the operation sequence of each machine are indicated by the initial marking. Comparing the performance for various initial markings, Mo leads to the input part sequence and operation sequence at each machine. For complicated PNs, there may be a large number of initial markings to inspect for finding the optimum. However, one can group them into a number of classes; members of the same class are reachable from each other. Different Mo of the same class correspond to different transient periods. There exists an Mo with no transient period, indicating the input part sequence and operation sequence at each machine. This is because token waiting represents resource wastage or idleness of the machines, or, in the case of a pallet as the resource, a higher inventory level. Also, the throughput in the transient period is less than that in the steady state, and the cycle time is, thus, larger. Therefore, we first identify the class with the minimum value of C. In addition, static (rather than dynamic) scheduling can be employed, avoiding much of the run-time overhead. We then identify the Mo in this class with no transient periods. The corresponding part input sequence and operation sequence at each machine would be the one. This Mo can be obtained from an arbitrary Mo in this class as follows. First, we apply XPN-FMS to find the initial schedule; then, we fire transitions in the net, accord ing to this schedule, until all transitions have been fired at least once. The resultant mark ing would be an Mo without transient periods. The procedure to group Mo will be reported in a future article..

(19) 'II'. XPN-FMS: A CAD TOOL. 357. This example demonstrates that XPN-FMS is able to handle different part types, as com pared to the example in figure 3, where all fuur parts are of identical types. This is achieved by assigning the part type, the current position, and the next position to each transition. Although the examples which we have discussed are all cases of decision-free PNs, XPN FMS is able to handle the non-decision-free PNs, either by executing one among all enabled transitions randomly or according to some probability distribution.. 7.3. Control code generation XPN-FMS allows the user to assign a statement in C language to each transition and per form a simulation. We save the net information and its C programs in two separate files. The C program is compiled into object code. The simulation is similar to Auto or Step function ecept that the Simulate function under the Program function is also involved. XPN FMS is able to call different files and simulate without recompilation. The C statements are arranged sequentially in a source program by using the Source function of the Simulate function. It can be extended easily to assign the control code to each transition to perform simulation, debugging, and automatic code generation.. 8. Conclusions. We have presented a unique CAD tool, XPN-FMS, which integrates graphics, analysis (both logical properties and performance), reduction, synthesis, query, and animation in one soft ware package based on Petri net theory. XPN-FMS also implements a unique PN syn thesis method, the knitting technique, which, with polynomial complexity, guarantees that the PN model always preserves well-behaved properties. In this work, we also extend a unique matrix-based perfurmance theory to avoid the transient period which may occur in the initial stage of the system execution. This extension has been implemented in XPN FMS and can be used to obtain input sequence control. XPN-FMS is an X Window application which uses an industrial standard graphical user interface to simulate and animate the operating process of an FMS. The most distinct feature of XPN-FMS is the animation of both the FMS and its PN model, which allows real-time monitoring and problem resolution. We have demonstrated how to improve system perfor mance by locating the bottleneck and how to find the input sequence. By varying some parameters (e.g., cart numbers, routing sequence, etc.) and performing the simulation and animation, XPN-FMS can be extended to determine: 1) buffer size; 2) input sequence of parts; 3) resource distribution, 4) scheduling of each part at each machine; 5) best routing policy; and 6) correctness of deadlock prevention and avoidance policies. As stated above, if the PN model can be synthesized using KT, well-behaved properties are preserved automatically. However, if it cannot, ill behavior may occur. Hence, KT can be used not only to construct new PNs without the unnecessary efforts, but also to syn thesize existing PNs, and can help verify the logical correctness of them or identify the cause of the problem in the system designed. Since KT uses the structural relationship.

(20) 358. D.Y. CHAO AND D.T. WANG. in the PN, its temporal complexity is ideally polynomial, rather than exponential. Therefure, the degree of complication of the PN which KT can handle is much more than that handled by any other synthesis technique. XPN-FMS also implements the theory to find iteration bound, critical loop, next critical loop, and subcriticalloops fur concurrent processing. This theory has also been extended in this work to find the critical loop, subcriticalloops of types A and B, scheduling range of transition fIrings, and to avoid the transient period which may occur in the initial stage of the execution ofconcurrent processing if the transition fIrings are of immediate fashion. This extension has also been implemented in XPN-FMS, such that the input sequence can be optimized. We have progressed somewhat toward hierarchical representation of large state diagrams or Petri nets. Currently, the user can select a subset of the graph and iconize it with a small box. The user, however, has to manually move other parts of the graph towards the icon to fill the empty space in between. Future work should automate this movement. Click ing the box allows the subset of the graph to be restored. Future work should also be directed to (1) extending the XPN-FMS to include perturba tion analysis and statistical analysis for SPN, (2) implementing the perfurmance analysis (see Chao and Wang, 1993a, 1994c-d) for GPNs, and (3) displaying, animating, and simulating large PN and FMS in a hierarchical fashion, with each subwindow correspond ing to a subset of the Pn and FMS.. Acknowledgment The authors gladly extend their deep appreciation to MengChu Zhou and the associate editor for their careful review of this article.. Note 1. Widgets are windows along with some procedures that manipulate the window.. References Beck, C.L. and Krogh, B. R., .. Models for Simulation and Discrete Control of Manufacturing Systems," IEEE International Conference on Robotics and Automation, San Francisco, CA, pp. 305-310 (1986). Berthlot, G., Roucairol, G., and Valk, R., "Reduction of Nets and Parallel Programs;' Proceedings ofthe .Ad vanced Course on Generol Net Theory, Hamburg, Germany, pp. 277-290 (October 1979). Bruno, G. and Biglia, P., "Performance Evaluation and Validation of Thol Handling in Flexible Manufacturing Systems Using Petri Nets," IEEE Intemational WorlcsIrop on 1fmed Petri NelS, lOrino, 11aly, pp. 64-71 (July 1986). Cbretienne, P., "Les Reseaux de Petri Thmporises;' These d'Etat, Universite Paris VI, Paris, France (1983). Chao, D.Y., Cben, T.R., WiIng, D.T., and Zbou, M.C., "X Window Implementation of Petri Net Based Anima tion for FMS," Proceedings of the 1992 IEEE International Conference on Systems, Man, and CybertU!tics, Chicago, IL, pp. 1651-1656 (October 1992). Chao, D.Y. and WiIng, D.T., "A Reduction Algorithm of Petri Nets;' Proceedings ofthe International Computer Symposium, Taichung, 'Thiwan, pp. 16-23 (December 1992)..

(21) XPN-FMS: A CAD TOOL. 359. Chao, D.Y. and Wang, D.T., "Minimum Marking fur No Loop Combination of General Petri Nels;' MASCOIS'93, Proceedings of the First 11/JematiomJ Jfbrblwp on ModeUng, Analysis, and Simulation of Computer and Telecom munication Systems, San Diego, CA, pp. 265-270 (January 1993a). Chao, D.Y. and Wang, D.T., "Iteration Bounds of Single-Rate Data Flow Graphs fOr Concurrent Processing;' IEEE Transactions on Circuits and Systems, Vol. 40, CAS-I, pp. 629-634 (September 1993b). Chao, D.Y. and Wang, D.T., "The Knitting Technique and Its Application to Communication Protocol Synthesis;' MASCOIS'94, Proceedings of the Second International 'WOrkshop on Modeling, Analysis, and Simulation of Computer and Thlecommunication Systems, Durham, NC, IEEE Compurer Society Press, pp. 234-238 (January 19941). Chao, D.Y. and Wang, D.T., '~n Inreractive Tool fOr Design, Simulation, Verification, and Synthesis of Pro tocols," Software-Practice ond Experience, Vol. 24, No.8, pp. 747-783 (1994b). Chao, D.Y. and Wang, D.T., "A Synthesis Technique ofGeneral Petri Nets;' Jou mal ofSystems 11/Jegrotion, Vol. 4, No. I, pp. 66-102 (1994c). Chao, D.Y., Zhou, M.C., and Wang, D.T., "Exrending Knitting Techniques to Petri Net Synthesis of Automared Manufacturing Sysrems;' The Computer Journal, OxfOrd University Press, London, Vol. 37, No. 1-2, pp. 67-76 (1994). Chen, Y., Thai, W.T., and Chao, D.Y., "Dependency Analysis-A Compositional Technique fOr Building Large Petri Nets;' IEEE 1ITmsactions on Pamllel and Distributed Systems, Vol. 4, No.4, pp. 414-426 (1993). Cohen, G., Moller, P., Quadrat, P., and Viot, M., '~Linear System Theory fOr Discrete-Event Processes and Its Use fOr PerfOrmance Evaluation in Manufacturing;' IEEE Transactions on Automatic Control, Vol. AC-30, No. 3,pp. 210-220 (1985). Datta, A. and Ghosh, S., "Modular Synthesis of Deadlock-Free Control Structures," in RJundations ofSoftware Technology and Theoretical Computer Science, Vol. 241, G. Goos and J. Martmanis (Ed.), Springer-Verlag, Berlin, pp. 288-318 (1986). Desrochers, A.A. (Ed.), Modeling and Control ofAutomated Manufacturing Systems, IEEE Computer Society Press, Washington, DC (1990). Dlinga, K., "Manual fOr XPN-FMS, an Inregrated CAD Tool fOr Designing FM S;' Master's Project, New Jersey Institute of Thchnology (June 1993). Dubois, D. and Steeke, K.E., "Using Petri Nets to Represent Production Processes;' Proceedings of the 22nd IEEE Conference on Decision and Control, San Antonio, TX, pp. 1062-1067 (December 1983). Dubois, D. and Steeke, K.E., "Dynamic Analysis of Repetitive Decision-Free Discrete-Event Processes: The Algebra of TlD1ed Marked Graphs and Algorithmic Issues;' Annals ofOperations Research, Vol. 26, pp. 151-193 (1990). Esparza, J. and Silva, M., Top-Down Synthesis of live and Bounded Free Choice Petri Nets, Technical Repon, GISI-RR-O.01, Universidad de Zaragoza, Spain (1990). Floyd, R.W., '~lgorithm 97: Shorrest Path," Communications ofthe Association of Computing Machinery, Vol. 5, pp. 345 (1962). Huang, J.P., "Modeling of Software Partition fOr Distribured Rea1-Tme Application;' IEEE Tronsactions on Software Engineering, SE-ll, pp. 1113-1126 (October 1985). Jeng, M.D. and DiCesare, E, '~Modular Synthesis Technique fOr Petri Nets," Proceeding of the 1992 Japan USA Symposium on Flexible Auromation, San Francisco, CA, pp. 1163-1170 (July 1992). Koh, I. and DiCesare, E, "TransfOrmation Methods fOr Generalized Petri Nets and Their Applications in flexi ble Manufacturing Systems;' IEEE 1hmsactions on Systems, Man, and C)bemetics, SMC-22, No.6, pp. 963-973 (1991). Krogh, B.H. and Beck, C.L., "Synthesis ofPlacelTransition Nets fOr Simulation and Control of Manufacturing Systems," Proceedings of the FoUl1h IFACIIFORS Symposium on Large Scale Systems, Zurich (1986). Molloy, M.K., "On the Inregration of Delay and Throughout Measures in Distributed Processing Models:' Ph.D. dissertation, Computer Science Department, UCLA (1981). Murata, T., "Circuit Theoretic Analysis and Synthesis of Marked Graphs;' IEEE Transactions on Circuits and Systems, Vol. CAS-27, pp. 400-405 (1977). Murata, T., "Synthesis of Decision-Free Concurrent Sysrems fOr Prescribed Resources and Performance," IEEE Transactions on Software Engineering, Vol. SE-6, No. 6, pp. 525-530 (1980). Murata, T. and Koh, lY., "Reduction and Expansion of Live and Safe Market Graphs;' IEEE Transactions on Circuits and Systems, VOl. CAS-27, pp. 68-70 (1980).. L.

(22) 360. D.Y. CHAO AND D.T. WANO. Murata, T., Komoda, N., and Matsumoto, K., "A Petri-Net Based Controller for Flexible and Maintainable Se quence Control and Its Applications in Factory Automation," IEEE Transactions on Industria! Electronics VOl. IE-33, pp. 1-8 (1986). ' Naraharl, Y. and Viswanadham, N., .~ Petri Net Approach to the Modeling and Analysis of Flexible Manufitc turing Systems;' Annals of Operations Research, Vol. 3, pp. 449-472 (1985). Peterson, J.L., Petri Net Theory and the Modeling of Systems, Prentice-Hall, Englewood Cliffs, NJ (1981). Ramamoorthy, C.V., and Ho, O.S., "Performance Evaluation of Asynchronous Concurrent Systems Using Petri Nets," IEEE Transactions on Software Engineering, Vol. SE-6, No.5, pp. 440-449 (September 1980). Scheifler, R. and Gettys, J., "The X Window System;' ACM Transactions on Graphics, VOl. 5, No.2, pp. 79-109 (April 1986). Silva, M., "Toward a Synchronic Theory for PIT Nets," in Concurrency and Nets, K. VOss, H.1. Genrich, and O. Rozenberg, (&Is.), pp. 435-460, Springer-Verlag, Berlin, Germany (1987). Suzuki, I. and Murata, T., "A Method of Stepwise Refinement and Abstractions of Petri Nets," Journal ofCom puterand Systems Science, Vol. 27, pp. 51-76 (1983). VaIava.nis, K.S., "On the Hierarchical Analysis and Simulation of Flexible Manufacturing Systems with Extended Petri Nets," IEEE Transactions on Systems, Man, and Cybernetics, Vol. SMC-20, No.1, pp. 94-100 (1990). WIlson, R.O. and Krogh, RH., "Petri Net Thols fur the Specification and Analysis of Discrete Event Controllers;' IEEE Transactions on Software Engineering, Vol. SE-16, No.1, pp. 39-50 (1990). Yaw, Y., Analysis and Synthesis ofDistributed Systems and Protocols, Ph.D. dissertation. Department ofEECS, University of Califurnia, Berkeley (1987). Yaw, Y., Wei, B.. Ramamoorthy, e.V. and Tsai, W.T., "Extensions on Perfurmance Evalution Technique fur Con current Systems;' Computer Software and Application Conference, Chicago, IL, pp. 480-484 (October 1988). Yaw, Y. and Foun, F.L., "The Algorithm of a Sy nthesis Technique fur Concurrent Systems," 1989 IEEE Interna tional Kbrkshop on Petri Nets and Performance Models, Tokyo, pp. 266-276 (1989). Young, D.A., The X Window System: Programming and Applications with XJ, OSFIMotif Edition, Prentice-Hall, Englewood Cliffs, NJ (1990). Zhou, M.e., DiCesare, F., and Desrochers, A.A., '~ Top-Down Modular Approach to Synthesis of Petri Net Models fur Manufitcruring Systems;' Proceedings of the IEEE Robotics and Automation Conference, Scotts dale, Arizona, pp. 534-539 (1989). Zhou, M.C., DiCesare, F., and Rudolph, D., "Control of a Flexible Manufacturing System Using Petri Nets," 1990 IFAC Congress, Tallinn, Estonia, Vol. 9, pp. 43-48 (1990). Zhou, M.C., McDermott, K., and Patel, P.A., "Petri Net Synthesis and Analysis of a Flexible Manufitcturing System Cell," IEEE Transactions on Systems, Man and Cybernetics, VOl. 23, No.2, pp. 524-531 (March 1993)..

(23)