• 沒有找到結果。

Knitting Technique and Structural Matrix for Deadlock Analysis and Synthesis of Petri Nets with Sequential Exclusion

N/A
N/A
Protected

Academic year: 2021

Share "Knitting Technique and Structural Matrix for Deadlock Analysis and Synthesis of Petri Nets with Sequential Exclusion"

Copied!
44
0
0

加載中.... (立即查看全文)

全文

(1)KNITTING TECHNIQUE AND STRUCTURAL MATRIX FOR DEADLOCKANALYSIS AND SYNTHESIS OF PETRI NETS WITH SEQUENTIAL EXCLUSION/Daniel Y. Chao. 45. KNITTING TECHNIQUE AND STRUCTURAL MATRIX FOR. DEADLOCK ANALYSIS AND SYNTHESIS OF PETRI NETS. WITH SEQUENTIAL EXCLUSION 1. Daniel Y. Chao2. Department of Management and Information Science. National Cheng-Chi University. Taipei, Taiwan, ROC. yyaw@mis.nccu.edu. ABSTRACT Inappropriate handling of resource sharing is the major cause of deadlocks in Flexible Manufacturing System (FMS) modelled by Petri nets (PN). Zhou et al [ZHO 91] presented the deadlock-free condition (DFC) of a PN containing Sequential Mutual Exclusion (SME). This paper presents an alternative approach to explain SME and Parallel Mutual Exclusion (PME) in the context of the knitting technique and structural relationship, illustrates the application of S-Matrix to detect deadlocks in SMEs, generalizes the DFC for more complicated SMEs than the example in [ZHO 91], and discovers new DFCs. The structural matrix (S-Matrix) records the structural relationship among the processes and thus can be used to detect the violation of the synthetic rules upon a new generation of paths in the Petri net. To synthesize the SME, we have enhanced the algorthrm to corstruct the S-Matrix. Key words: FMS, Petri net, deadlock, liveness, boundedness, shared resource, PME, SME, S-matrix, S-Matrix, knitting rules, synthesis, deadlock-free condition.. , This paper was partially supported by New Jersey Institute of Technology under grant No's 421190 and 421380. 2. The fonner name ofthe first author was Yuh Yaw, which has appeared in some ofhis earlier papers..

(2) %. • • ~.. .t~. -hAt~+=~. I. Introduction. processes. Because. of the nature of resource. The FMS offers a very promising approach to the increase of productivity through state-of-the-art. sharing, processes in a system can enter a deadlock state by waiting for completion.. manufacturing technology. The modeling and. The PN models of S:MEs have deadlocks due. control of FMS are part of the great challenge to. to either inappropriate structure ot the net or. the professionals in engineering, computer science,. incorrect allocation of shared resoUrces. Zhou et aI.. mathematics, and management. PNs have been. [ZHO 91] discovered that a net with an SME can. applied. become nonlive and nonreversible when tokens are. to. the. specifications,. validations,. '\. performance analysis, control code generation, and. inappropriately distributed in the net. They derived,. simulation for automated manufacturing systems. the conditionS under which a net containing SMEs. [COU 83, MAR 86, NAR 85, MUR 86, CRA 93f].. is bounded, live and reversible. They pointed out. A problem of using PNs [MUR 89] for modeling. that an algorithm is needed to detect SMEs. various systems is the large number of states. automatically and the DFC should be generalized. generated. Synthesis can eliminate this problem by. such that the shared resource can contain more. avoiding analysis. Various synthesis approaches. than one token. This paper presents an alternative. have been proposed: top-downlbottom up [BER 86,. approach to automatically detect S:ME and explain. DAT 84, SUZ 83, VAL 79], peer entity generation. S:ME and P:ME. Furthermore, it generalizes the. [RAM 86b] , and knitting technique [YAW87,. DFC for S:MEs more complicated than Zhou's work. CRA93c-e 97,98]. Most of them do not deal with. and discovers a new DFC. The major objectives of. PNs with shared resources. Zhou et al. [ZHO 911. this paper are. developed a deadlock-free condition (DFC) of such PNs for synthesis. Automated manufacturing systems. (1)Explain SME and P:ME in the context of the knitting technique/structural relationship.. often. share. resources such as machines, robots, and ma­ terial transporters. There are two forms of resource sharing: P:ME and S:ME as proposed by [ZHO 911. A P:ME models a resource shared by independent processes and an S:ME models sequentialization (synchronization) of P:MEs. In a P:ME, any independent process may monopolize the use of a. (2)illustrate the application of S-Matrix to detect S:MEs, and deadlocks in P:MEs. (3)Synthesize PME and S:ME based on the knitting technique. (4)Generalization of DFC to more complicated SMEs than the example in [ZHO 91]. (5)Discover new DFCs unvisited in [ZHO 911·. resource, thus creating an unfair situation. The. The knitting technique .is a rule-based. S:ME eliminates this unfairness problem by. interactive approach. It expands PN in a structural. sequentializing or synchronizing these independent. fashion based on a set of rules. While it takes.

(3) .............­. KNITTING TECHNIQUE AND STRUCTURAL MATRIX FOR DEADLOCKANALYSIS AND SYNTHESIS OF PETRI NETS WITH SEQUENTIAL EXCLUSION/Daniel Y. Chao. 47. exponential time complexity to detennine marking. the resources required by the operations involved.. it may take polynomial time· to. Since expansions are· conducted among the nodes. detennine structural properti~ such as structural. (transitions or places) in a global way, the knitting. liveness (SL) and boundedness (SB). It aims to find. technique is thus called. This approach is easy to. the fundamental constructions for building any. use due to the simplicity of the rules, and leads to. PNs. There are two advantages of the knitting. the final well-behaved PN. Another advantage of. technique: (1) reduction of the complexity of. this knitting technique is that it is easily adapted to. synthesiS as an interactive tool and (2) providing. computer. knowledge of which construction building which. synthesis of PNsperformed in a user-friendly. class of nets. It therefore opens a novel avenue to. fashion [Yaw 89].. properties;. PN analysis.. implementation. for. rendering. the. Structural matrix (S-Matrix) is used in the. Rather than refining transitions [RAM 86a],. knitting. technique. to. record. the. structural. this. technique generates new paths to a PN, Nt.. relationships (concurrent, exclusive, sequential,. producing a larger PN, N 2. The new generations. cYclic, etc.) among processes and to detect rule. are performed in such a fashion that all reachable. violations upon. markings in Nl remain unaffected in N2; hence all. to another. Because the structural relationship also. transitions and places in Nl stay live and bounded,. resembles their temporal relationship, S-Matrix is. respectively. N2 is live and bounded by making the. also called the temporal matrix (T-Matrix). There. new paths live and bounded. This notion is novel. are four types of path generations; namely IT, PP,. compared with other approaches and could. TP, and PT; depending on whether the generation. synthesize more general PNs than others [CRA. is from a transition or place to a transition or place.. 93c].. One of the following three actions are taken Using the knitting technique, designers start. with a basic process which is modeled by a set of sequentially-connected places and transitions with a home-place (defined in Section 3) marked with a. ". a new generation from one node. depending on the structural relationship between the two nodes and the type of generation: (l) forbidden, (2) permitted, (3) permitted but more new generations are needed. For instance, a IT. certain number of tokens. The tokens may. (pP)-generation. is. permitted. between. two. represent a number of resources which can be. sequential or concurrent (exclusive) processes;. present in a system each time. Then parallel and. while TP (PT) generation is forbidden since it may. eXclusive processes or operations are added. create unbounded (nonlive) nets. The rules are. according .to the system specification. Closed. complete in the sense that all possible generations. circuits for the operations are added according to. are considered. Recently, we have upgraded the knitting technique by relaxing some forbidden.

(4) ........ 48. jt~~~. tfH:::M -fLJ1t1t:+=fj. roles. For instance, we allow IT-generations. An algorithm was ~loped [YAW 89, CRA. between exclusive processes [CRA 92] and pennit. 93f] accordingly and to update the T -matrix with. TP and PT generations [CHE93a].. polynomial time complexity (since only structural. A IT-path from a transition tg to another. information is needed). We have implemented this. creates a concurrent process. If ~,fires. algorithm in an X-WindowlMotif environment. It. earlier than tg in the original PN Nh tokens must. can synthesize protocols among l}1ultiple parties. be inserted in the new path to avoid deadlocks:. and. transition. ~'. Such a generation is called a backward generation. Multiple PP-paths from a place to itself creates a PME. These PP-paths are mutually. exclusive to each other. IT-generations between these exclusive processes can sequentialize or synchronize. them~. therefore generating an SME. Thus the creation of. has. been. of. synthesis. conununication protocols [Yaw 87, CRA 94a] and automated manufacturing systems [CRA 93a]. In. ,. [CRA 93c], we have extended these rules to synthesize General Petri Nets (GPNs) whose arcs have. multiple weights.. This technique can. synthesize well-behaved nets more general than. (FCl,. SME and PME can be automatically detected using. free-choice. the S-Matrix. Further IT-generations can be. asymmetriC-choice nets. performed between transitions within an SME or in. 'to.. applied. extended free-chOice (EFC/. rACl. [MUR 89]. FC is a. subset of EFC, which, in turn, is a subset of AC.. different SMEs. In both cases, the appropriate. Other contributions in this direction are as. number of tokens lnay need to be inserted into the. follows. Esparza & Silva [ESP 91a] proposed two. new paths to avoid deadlocks, since the above. roles to synthesize live and bounded free-choice. transitions are now sequential to (hence it may be a. PNs. Their IT- and PP- handles [ESP 9lb) are. backward. ,gene~tion). each. other.. The. similar to the IT-and PP-paths in [YAW 87]. corresponding conditions are more general than. Similar to [YAW 87] and rephrased in another way,. the DFC by Zhou,et al. where a shared resource has. they also showed that circuits without TP- and PT­. only one token. Whether a IT-generation is within. handles have good structural properties. However.. an SME, or is between different SMEs, or is not in. they do not explicitly apply them to the synthesis. any SMEs, is readily available from the S-Matrix.. using the notion of structural relationship. In [ESP. Thus the generalized DFC is applicable to. 91a], 'Rule RF1 refines a macroplace by a state. co~plicated. machine and RF2 adds an marking structurally. structures. rather. than. simple. structures such as that by Zhou et al. Further, we discover a new DFC for generations between different SMEs which was not envisioned by Zhou et al.. 3 'Vp e p,lp ~l S lor .(p ,)={p} 4. 'VPl,P2 eP,PI,np2,*,o=>PI'=P2'. 5. 'VPI,P2 e P,pr. n P2' *' °=>. .. pr ~ P2' or Pi'. ;2. Pf.

(5) KNITTING TECHNIQUE AND STRUCTURAL MATRIX FOR DEADLOCKANALYSIS AND SYNTHESIS OF PETRI NETS WITH SEQUENTIAL EXCLUSION/Daniel Y. Chao. 49. implicit place (MSIP) to a free-choice net. RFI. reduction [CHA 92). For a given PN. we construct. corresponds to the PP rule in [YAW 871 to add. its S-Matrix and analyze. paths between places. RF2 cprresponds to the TT. relationships among PSPs against the rules and. role in [YAW 87) to add the paths between. DFCs. Any violation spots potential ill-designs. .. transitions and increase the degree of concurrency.. The reverse process of removing PSPs - reduction,. However, one needs to decide whether the subnet. according.to rules should preserve the properties of. can be reduced to a macroplace (in RFI) and. the PN.. Rather than. whether a place is an implicit place (in RF2). The. transitions.. we remove paths to reduce the PN. The. knitting technique [YAW 87] requiTes no checking. distinct . point of this approach is that while. on the paths generated; rather, it uses the S-Matrix. reducing. it can discover wrong designs and. to check automatically whether the generation. suggest how to' :fix the problem based on the. points and joints satisfy certain constraints. This is. knitting rules.. simpler than checking many different subnets and a linear algebra equation for MSlP. In addition, the S-Matrix can record self-loops and find maximum concurrency with linear time complexity. Although [ESP 91bJ added the RFT rule to synthesize EFC. nets, [ESP 91b) is unable to synthesize ACs. Datta & Ghosh. [~AT. mutual. structural. reducing modules. to. The rest of the paper is organized as follows. Section. n introduces PME. SME and the DFC to. motivate this work. Section ill presents some preliminaries for understanding the S-Matrix. The algorithm for finding the S-Matrix is presented in Section IV. The guidelines for synthesis and some. 84] also proposed two. knitting rules and examples are presented in. rules that are similar to the TT and PP rules [YAW. Section V. The synchronization rule for generating. 87]. Instead of using S-Matrix, they used the. an SME and the rule for TT-generation involving. labeling rules to guide the augmentation. One can. SMEs are discussed in Sections VI and VII. show that the synthesized nets are free- choice nets.. respectively. followed by its application to the. These two techniques do not have explicit. synthesis of PMEs and SMEs in Section VIII.. algorithms and the associated complexity. Chen,. Section IX concludes this paper.. Tsai and Chao [CHE 93b] proposed a synthesis procedure to compose two modules with two TT. II. Examples ofPME, SME and DFC. paths. An algorithm to find P-invarsiant and its complexity was presented. All three techniques do not allow PT and TP generations such as those in Rules TT.3and PP.2.. First we follow the same examples in [ZHO 91] to explain PME·and SME, and in later sections, we will present other examples to demonstrate more complicated SMEs. An example of PME is. The knitting rules are useful for an3Iysis and. shown in Fig. I where the two circuits (PIlI P3 t3 PI1.

(6) ---....... ~tg~giB. 50. ~t;Wj. -fl.;;h.t;tf.+-FI. and [Pl 11 P4 14 P2] fonn a 2-PME (a k-PME has k. containing only these two processes is a 2-PME.. independent processes sharing a common resource).. This 2-PME can be sequentialized by adding. They model two independent processes sharing a. processes [12 P3 13] and [14 PI III This results in a. common resource Ps. In the initial·marking, both. cycle [PI II P2 12 P3 13 P4 14 Prj. By Pbtting tokens. can be executed: however, they cannot be executed. into PI, process 1 gets executed ·before process 2.. simultaneously. Without the presence of Ps, each of. Hence they become sequenli~lIy mutual exclusive. these. (8ME) to each other - no longer just mutually. two. processes. can. iterate. infinitely. exclusive to each other.. independent of each other. Fig. 2(a) shows a PN which models a. Remark: In Fig. 3(a), processes [P3 13 P6 t5 P8]\nd. three. [P3 14 P7 16 P8] fonn a 2-PME by sharing a common. workstations (WI,W2,W3) and a shared robot for. starting place P3, as when P3 holds a token, only. loading/unloading these workstations. The robot is. one of them can be executed. They become 8ME by. modeled as a shared resource place P6 with Mo(P6). adding the circle [t3 Ps t4 P4 13].. manufacturing. system. composed. of. 1, the three empty slots available in W2 are modeled by place Ps with Mo(Ps) = 3, and the three .. A Simple Example of DFC:. ,. fixtures with parts available are modeled by place. Careful observation of the PN in Fig. 2(a). PI with Mo(P r) = 3 representing three initially. reveals that if the initial marking of place PI, Mo(pl). unprocessed parts. Places Pr, Pl, P3, and P4 model. > Mo(Ps), the system will get into deadlock state.. the four major steps, respectively. Initially Pr has. For instance, if the initial marking of PI, namely. three fixtured parts in storage available to WI. The. Mo(PI). robot now loads a part from the storage for WI to. after a sequence of firings of tl and I]. Fig. 2(b). process in P2. By firing 12, the robot unloads WI. presents a deadlOCk situation whose marking is. and move the fIXtured part to W3. In P3, W2. (0,1,3,0,0,0) after the firing of II'!2,!}.t],!}.I]'!/ if. processes the part which is then moved to W3 by. Mo(PI) = 4.. the robot. W3 processes the part to be unloaded by the robot and released to the storage.. ~4,. the system comes to a total. deadlock. Viewing Mo(Pl) as the number of available jobs; the requirement Mo(P!) ~ Mo(Ps) precludes. The place P6 is shared by transitions tl and h.. large number of available jobs to be dispatched to. Hence they never proceed simultaneously and they. the system in a fixed time interval. This is because. are mutually exclusive. The single resource at P6 is. tIle empty slots or buffers in the system are limited.. utilized by process 1, [P6 Ir P2 121, and process 2, [P6. Excessive arrivals of jobs or parts exhaust the. 13 P4 14], which are exclusive to each other without. shared resources in the system and cause deadlOCks.. the presence of other nodes and arcs. And the net. Physically, workstations W I have processed three.

(7) KNITTING TECHNIQUE AND STRUCTURAL MATRIX FOR DEADLOCKANALYSIS AND SYNTHESIS OF PETRI NETS WITH SEQUENTIAL EXCLUSION/Daniel Y. Chao. 51. parts and W2 has three processed parts with no. only one· token. They also pointed out that future. a\'ailable empty slots. Now WI is processing the. works should be directed at generalizing PMEs and. fourth part along with the robot: however this part. SMEs and developing algorithms to automatically. cannot enter into W2 to release the robot to be llSed. verify whether a pair of arcs is properly added to N1. by W3 to load a part from W2 - a deadlock.. such that the resultant N2 still has a PME or an. ()hservation : From the above examples. one can. SME.. conclude that an SME exists if a set of transitions. ill. Pseudoprocesses, Structural. are in a cycle and they share a common input place.. Relationship and S-Matrix. Such a cycle is called a Cycle of Exclusive A PNs behavior depends on both its structure. Synchronization (CES). and We adopt the following definitions by Zhou et a1. [ZHO 91] defined A-place (or operation place) as a place p with Mo(p) = 0, B-place (or fixed resource place) as a place if Mo(p) is constant, and C-place (variable resource place) as a place with (p) > 0 and Mo (p) is a variable. A path containing the A-place (B- place, C-place) is called an A-path (B-path, C-path).. Me and MB denote the. total number of tokens in the C-path and B-path. respectively. In the above example [Fig. 2(a)]. pz is an A-place with no tokens in the initial state. ps is a B-place representing the fixed internal resource buffer and PI is a C-place representing the varied. marking.. The. former. (latter). can. be. determined in a polynomial (exponential) time. For certain markings, the PN's properties depend only on its structure (i.e., in the synthesis using the knitting technique). Structurewise, a PN can be decomposed into a number of straight paths or elementary processes; all nodes of which are mutually sequential to each other. Such a path is called a pseudo-process (PSP). The structure of the PN can be captured by the relationship between all paits of PSPs and is recorded in the S-Matrix. We. now formally define home place. pseudo process and the related terms in the following.. Jobs available. The maximum number of jobs the. Definition (Home Place): Every Ph holding tokens. system can handle are determined by the internal. initially in a synthesized net is defined as a home. resource buffer size. The system will get into. place. Every circuit contains at most one home. deadlock if the internal resource buffer size is not. place in a synthesized net using our rules. Without. large enough to process the jobs available : in other. tokens in any home place, the net becomes. Words. the condition Mo(Ps) ~ Mo(P/) must hold. deadlocked. Places p /, ps, Pll, and P26 in Fig. 4 are. III. order to· avoid deadlocks. Zhou et al. indicated. home places.. lhat this DFC is a sufficient condition only because. Definition (Pseudo-Process, Generation Point, and. 11 Considers. Joint) . A pseudo process (PSP) in a PN is a. the case where the resource place holds.

(8) II. • • ~~. .tM. -ftftt~+=~. ... directed elementary path in which any node. to Ill, denoted as II 2- Ill. Otherwise,. (transition or place) has only one input node and. II, -. only one output node except its two terminal nodes:. sequentially previous (next),. the starting node is defined as the generation point. ( 'SN' ) to nz~ denoted as II ,0-( -0). and the end node as the joint.. II 2, ifII I -(-) Il2 and the fonner's joint. DefmitioD (Virtual PSP) : A virtual PSP (VP) is a. (generation point) coipcides with the latter's. two-node PSP.. generation point (joint).. It should be noted that a virtual PSP contains no node other than the generation point and joint.. Ilz. andIl z -. II, is · SP ,. Ill.. 2) Concurrent (Exclusive): III is concurrenl. (exclusive),. 'CN '. ( 'EX'. ),. -t> II 2,. The examples of PSP and VP are presented after. denoted as II, n (I) II 2, if they are not. we define the, structural relationship between two. sequential to each other and there exists at'.. PSPs. Prior to that, we have. (P'S).. DefmitiOD (prime ts (Ps] of Two PSPs) : Let ts(Ps]. In Fig. 4, (P5 t5 PI tl P2] is a PSP whose. be the starting transition [place]. of two directed. generation point and joint are P5 and Pl,. paths, PI containing III and £>2 containing Ilz,. respectively. [t13 P14 t14] and [t13 P33 114] share the. which do not share common PSPs. The prime ts (P.r]. same prime ts = t13, and hence are concurrent to. of III and Ilz, denoted as t's (P's), is the ts (P.r]. each other. The two VPs: (P31 t4] and (P31 19] share. such that any directed path from ts (PsJ to III or II 2. the same prime Ps =P31 and, hence, are exclusive to. does not contain any other ts (P.r].. each other. [t21 P20 t22]. 0. [t23 P25 t26 P26 127 P27 121J.. (P3 18 P6 t9]-(P5 t5 PI tl P2].. DefmitiOD (Structural· Relationship between Two PSPs) : The structural relationship between III. The structural relationship between two nodes. is defined as follows.. and II z is defined as 1) Sequential : III and Il2 are sequential. DefmitiOD (Structural Relationship between Two. ( 'SQ' ) to each other if an elementary. Nodes) : If two nodes are in the same PSP, they are. circle passes through both II, and II 2. If. sequential to each other. If they are in two. there are DO token in the circle, then III is. different PSPs, their structural relationship follows. cyclic,. that ofthe two PSPs.. ~. 'eL' to II 2, denoted as III 0 II 2.. Otherwise, consider the p on the circle. It is easy to see that if we execute a safe PN then III -. II ~. from III to II 2, if there are no tokens in the. one iteration involving. p from III to II 2, then III is sequentially. implies that III is executed earlier than II 2, II 1. earlier,. III 2 implies that there is no need to execute II 2to complete the iteration, and II, II II 2 implies tbat. 'SE'. to II 2, denoted as Il I ­. II 2 and Il2 is sequentially later,. 'SL'. Ill,.

(9) KNITTING TECHNIQUE AND STRUCTURAL MATRIX FOR DEADLOCKANALYSIS AND SYNTHESIS OF PETRI NETS WITH SEQUENTIAL EXCLUSION/Daniel Y. Chao. 53. both n I and n 2 need to be executed to complete. new generation violates some rules or additional. the iteration. Intuitively, two PSPs are sequential to. paths must be generated [CHA 98). It also detects. each other if they are subject to an intra-iteration. the creation of PMEs and SMEs automatically. In. precedence relationship; i.e., ifboth are executed in. tllis section, we present the S-Matrix finding. one iteration. then one is executed earlier than the. algorithm, prove its correctness, and give an. other. They are concurrent to each other if they can. example of tIlls algorithm.. proceed in parallel. They are exclusive to each other if it is possible to complete one iteration with only one of them being executed.. Note that. 'SE'. and. 'SL". are marking. dependent. For an arbitrary PN, a circle may contain more than one 'marked place (unlike the. Thus a PN consists of a set of PSPs which is enabled if it possesses a token; this PSP executes. synthesis) which may render two PSPs mutually to each other, by the definition of. , SE '. and the associated token disappears. New tokens. structural relationship. To simplify the matter we. are subsequently generated to enable other PSPs.. consider all sequential relationship as. The set of PSPs holding tokens represents the state. any two PSPs which are sequential to'each other. of the PN. Thus a PN consists of a set of PSPs; their. are also cyclic, by the revembility property of. relationships are recorded by the structure Matrix. knitting technique. Thus the S-Matrix contains. (S-Matrix).. only four kinds of entries, namely, 'CL'. An entry A if corresponding to row i and column j. represents the relationship between. pseudo-processes i and j. For example. if concurrent to stands for. ni. is. n J' then Aij = Aji = CN, where CN. "concurrent.". S-Matrix is used for both analysis and. as. 'CN'. 'EX' and 'SX' (defined later). A systematic procedure such as depth-first or breadth-first search' is preferred. Out of the structural. relationships, ,. "depth" ,and. "exclusive". sequential or. (in other words, branchings) implies. IV. Algorithm for Finding S-Matrix and Its Extension to Detect SME. 'CL'. Hence,. "depth-first". implies. "concurrent" "breadth".. search implies searching. for PSPs sequentially and breadth-first search searching branches. In this paper we concentrate. synthesis. It records the structural relationship. on the. "depth-first". search to construct the S-. between any two PSPs in the PN, including PSPs. Matrix. The basic algorithm for finding the S­. which are involved in an SME. The DFC can then. Matrix of a PN, without SME, is presented in .. be applied to analyze deadlocks. During the course. Program List 1 and has been implemented on Sun. of synthesis, S-Matrix helps detennine whether a. Workstations, under X Window [CHA 94bl..

(10) -. ~. •• ~. .tM. ",. -ftftt~+=~. !.fori = 1 to n. (checked(nodeJ= 'FALSE' 2.homey/ace. =. ; forj= 1 to k;{marked(ujof (nodeJ)= 'FALSE' }}. an inputyJace of an enabled transition; j = 0;. 3.Find the PSP containing homey/ace; PSP.number =- j; 4.currentJlode = PSP.joint; startysp = PSP. 5.while(l). 5.1 {while (I). {if(marked(uj)== 'TRUE'. '<;f. uJofcurrent_node). i\. if (PSP.number == 0) exit else {current_node = PSP.generationyoint with PSP.joint == current _node} else break~ I*while(l) of 5.1 *1 5.2. If (j =I: 0) startysp =j++;. . If (currentJlode == place) type = 'P' else type = 'T'. ;. 5.3.while (3 at least a Uj of current_node with marked(uj) == 'FALSE' ) {pick one unmarked Uj of current_node to find a new PSP;. marked(uj) =. 'TRUE'; PSP.generationyoint = current_node;. 1* Generate a new PSP */. while (both the indegree & outdegree of output_node == I). {insert output_node into the new PSP ; 'TRUE'; output_node. checked (output_node) =. = output_node of output_node} 1* PSP. generation *1 PSPjoint =output_node; current_node = PSPjoint; PSP.number = j++} 1* while of 5.3 *1 5.4. end-psp = PSP.number; 5.4.1. {for (k = 0; k < startysp; k++). {If (ckeck(k» 1* If (n k for (i. a path from end-pspjoint to start-psp. generation-PQint) *1. startysp; i < endysp; i++).. S[k][iJ. else if (n k. E. E. = S[i](k] =. 'CL'. ;. another path from start-psp.generation-PQint.

(11) -KNITTING TECHNIQUE AND STRUCTURAL MATRIX FOR DEADLOCKANALYSIS AND SYNTHESIS OF PETRI NETS WITH SEQUENTIAL EXCLUSION/Daniel Y. Chao if type == 'P' S[i][k]. = S[kW] =. 55. 'EX'. else Sf;][k] = S[k][i] = 'CN'. else {find. n x with n x .generation-PQint =. start.J>sp.generation-PQint. for (i = start.J>sp: i <end.J>sp: itt). S[kW] = S[i]fk]. =S[x][k]}/* last else *1. )/* for k *1. for (a = startysp to endysp). for. (fJ = startysp to endysp). S[ a ][ fJ ] = S[ fJ ]( a] = 'CL':. 5.4.2 current_node = PSP.generation-PQint} 1* wbile(l) of line 5. *1. Program. List 1. Basic S-Matrix Finding. (b )tracing forward from node J, node 1 itself. cannot be found without node;] on the tracing. Algorithm. path. The function checkO used in Program List 1 IS. The latter returnes. 'TRUE'. if. given in Program List 2. It should be noted that. the two functions, traceJorward (nodet. node]). and trace_backward (node1. node:!). are used. The fonner returns. TRUE'. if. (a)tracing forward from node], node:: can be. (a)tracing backward from node], node1. can be. found: and (b)tracing backward from node]. node] itself cannot be found without node 1 on the tracing path.. found; and. check(i). [If «traceJorward (ns,. n igenerationyoint,) == . TRUE'. "'''''TRUE'» • retum(TRUE) 1* n i is on a directed path from ne to ns *1 else retum(FALSE)} 1* check *1. ) && (trace_backward. (n iJoint.. n.).

(12) %. .~~~. .tm. -ftftt~+=~. depth-first searching keeps going from g'. Further. Program List 2. Function check() CaUed in Program List 1. backtracking may occur to the nodes in the path from g'. Omy when all the searching from all the. The algorithm starts by picking one PSP. nodes, other than g', in this path have been con­. containing an input place of an initially enabled. ducted, the procedure backtracks to g' again. In. transition, continues finding new PSPs and. addition, only when there is no...more unmarked". updating the S-Matrix. At any stage, we find new. output node from g', g' is checked. Hence when the. PSPs b.y picking a path whose two end nodes have. procedure backtracks to the generation point of. been traced. The relationship between each PSP on. II 0 and there is no more output nodes unmarked,. the newly picked path and a traced PSP depends on. all the nodes in the PN have been checked.. the relative locations of the generation (starting) point and the joint (end) for this traced PSP with respect to the starting and the ending nodes of the new path. It is easy to find the structural relations~p. 11\ 0. Lemma 2. Function check can determine whether. a PSP is on the path from the joint of ending PSP to the generation point of starting PSP of the current path.. between the PSP on the newly picked. path (called a new PSP) and the PSP's near tbe starting or the ending nodes of the new patb. Based on these relationship, the structural relationship between a traced PSP far away from the newly picked path to the latter can be inferred from the existing relationship. We have the following. Proof : By the aforementioned property·· of functions trace_forward and trace_backward, if a PSP.. II j, is such that trace_forward (ns, II i generationyoint, )== trace_backward (II i .joint, ne) == 'TRUE' ,it is obviously on the path from. ne to ns·. lemma proving the correctness of fue S-Matrix. Lemma 3. The structural relationship between the. finding algorithm without SME, Steps 1 to 5.4.2.. PSPs II i on the current path, from start-.PSP to. Lemma 1. If all output_nodes of current_node. have been marked and current_node is the generation-'point of II 0, then all nodes have been. end-'psp, and any other PSP II j which is (I) not. 'eL' to these PSPs, and (2) not in another path from the start-.PSP, is the same as that between II j and the PSP II k whose generation point is the same as. checked.. the generation point of the start-.psp, i,ej SO, jF Proof : In the S-Matrix Finding Algorithm. the. S(j. k),. depth-first search is applied. The searching for PSP and cbecking the nodes with indegree. =. outdegree. II k.generationyoint= II stsrtysp.generationyoint. = I goes as deep as possible. When it cannot go any. Proof: As shown in conceptual Petri net in Fig. 10,. further. it backtracks to the generation point of any. the PSPs satisfying the above two conditions are on. PSP under consideration for searching, g'. The. P'1 Without loss of generality, the generation.

(13) KNITTING TECHNIQUE AND STRUCTURAL MATRIX FOR DEADLOCKANALYSIS AND SYNTHESIS OF PETRI NETS WITH SEQUENTIAL EXCLUSION/Daniel Y. Chao. 57. points of the first psp of P a; and the current. path is a transition or place. The PSPs of the. startyspare a transition and a place. respectively.. current-.path are all cyclic to each other.. The structural relationsbip between tbe PSPs in tIle from start-.PSP to end-'psp and the PSPs in P "" is the same as tbat between. n. x. wbose generation. point is the same as the generation point of. D. startysp and the PSPs in P a; •. Lemma 4. Step 5.5.1 of the S-Matrix Finding. 3) The generation point. ni. is on a directed. path from n g to lIe and the joint. ni. is on a. directed path from lIe to lis. The PSPs of this case are as shown in the. p~. of Fig. 10.. p~. has not been traversed yet. Hence the S­ Matrix entries regarding this path is to, be determined later. When, the program begins. Algorithm is correct.. to traverse this path, this path becomes the Proof: Depending on relative position of. n i with. respect to the starting (lis) and ending (lIe) nodes of. current path. Step 5.4.1 determines the 'CL' PSPs (part of. a path, there are three cases: Case 1) first and then determines the 'EX' or I) Both the generation point and joint of. are on a directed path from. ni. lIe to lis. As. , CN '. PSPs, for the PSPs on another paths. starting from the generation-'point, of the start-.psp. shown in Fig. 10, paths P a, P,1, Pr, and P 6. of the current path (part of Cases 2 and 3), by the. belong to this case. Because the PSPs in P II. definition. satisfy the two conditions of Lemma 3, hence. between two PSPs;, For the PSPs not belonging to. the structural relationship between the PSPs. these two categories (the remaining part of Case 1),. of P. (J. and those in the current path Pc, by. of exclusiveness. and. concurrency. the entries are the same as those with a PSP whose. Lemma 4, is the same as that between the. generation point is the same as the generation point. PSPs in Piland the, PSP whose generation. of the start-.PSP of this new path. ,This is true. point is the same as the generation point of. because those PSPs are, on the path started from. the start-.PSP. The PSPs in P (J, Pr, and Po. another node, cyclic to the current path. Finally, the. are cyclic to the PSPs of the current path.. relationship between thePSPs on the current path. ni. (the remaining part of Case 2) are all 'CL' ,by. are on a directed path from lis to lIe. The. the property of depth first search. The property of. PSPs of this case are as shown in Pit and. depth-first search guarantees that all the PSPs are. currentyath of Fig. 10. The PSPs in Pit are. traversed. Hence all the S-Matrix entries are. either concurrent or exclusive to the PSPs in. computed correctly.. 2) Both the generation point and joint of. the current path, depending on whether the generation' point of the starting PSP of tIlls. Theorem 1. The S-Matrix finding algorithm is correct..

(14) 58. Jf~W~iB. ~tM. -:h.fLtlf.·+-F.I. Proof: Initially, in Step 1, all the nodes are not. an unmarked output node of this node as the. marked nor checked. In Step 2, a home place. second node of the PSP. This series of depth-first. which is not on the synchronizing cycle is selected.. searching continues until a marked node is. In Step 3. the PSP containing the home place is. encountered because, by Lemma 1, if a marked. found, using the method in Step 5.4, as 110 . In Step. node is encountered, all its output node(s) are. 4, the current_node is made the joint of 110 • Step 5. marked. The en<.CPSP is the last p.sp of this path. is a while loop which guarantees that all the. (series of depth-first PSP searching), as conducted. transitions and places in the PN are visited/checked.. in Step 5.4. The correctness of Step 5.4.1 is proved. Step 5.1 is based on the nature of depth-first. in Lemma 4. Step 5.4.2 is for backtracking to the. approach, which goes as deep as possible and; and. generation point of the current PSP, before starting. when it cannot go any further, backtrack to the. another depth first search of the PSPs. The. generation point of the current PSP and do the. algorithm continues searching, in the depth first. depth-first search for PSPs from there. Step 5.2 is. sense,. used to determine the 'eN' and 'EX entries. for the. current_node have been marked and current_node. PSPs between the current path and the path started. is the generationJ>Oint of ITo because, by Lemma 2,. from the same node, in the S-Matrix to be used in. all the nodes in the PN are marked. The correctness. Step 5.4.1, for the structural relationship between. of the algorithm is thus proved.. the PSPs in the new path and those in the existing. Let n and m be the number of nodes and PSPs in. path started from the same node. in Step 5.4.l.. the PN, respectively. The time complexity of this. Step 5.3 contains two nested while loops. Function. algorithm, as proved in the following lemma, is. marked is used to mark the output node(s) from the. O(n\. for PSPs until. all. output_nodes of. current node. If all the output node from a node are. marked, the backtracking to the generation point of. Lemma 5. The time complexity of the S-Matrix. the PSP this node belongs to is executed. The inner. Finding Algorithm is O(n\. while loop is used to search for the nodes in the. Proof: The number ofPSPs in the PN, m, is O(n).. same PSP, of which, both the indegree and. The number of execution time of Step 5.3 is O(n. outdegree of the nodes other than the generation. Step 5.4.1 is executed O(m2) times. The while loop. point and the joint are ones, per the definition of. of Step 5 is executed O(n) times. Hence the total. pseudoprocess. The depth-first search approach is. time complexity of this algorithm is O(n\. implemented because (1) the PSP is fonned starting from the generation point. and (2) each time the joint of the PSP is found. this joint becomes the generation point of the PSP including. 2. ).. Assuming that the SMEs are synchronized at the control transition in each one of the sequential exclusive processs, we develop the ehnancing part of S-Matrix Finding Algorithm for SME as. I.

(15) KNITTING TECHNIQUE AND STRUCTURAL MATRIX FOR DEADLOCKANALYSIS AND SYNTHESIS OF PETRI NETS WITH SEQUENTIAL EXCLUSION/Daniel Y. Chao. 59. II e .generationyoint == ti such that. follo,"vs: The ehnancing part of S-Matrix Finding. S[i][e] = 'CL' and S[i1[e] = 'CL' or 'CN' ;. Algorithm is given in the following: 1* Detect whether there exists sequential. 7.2. II nllmber =II i'; Y i = {II i. II i'}:. while (II number. exclusive . SX' between PSPs *1 (), Find all VPs which satisfy the following. 'CL'. II i'). {Yi=Yj + II number; number = number +1}. conditions;. 6.1. They share a common generation point which is a place, denote such a place as. 7.3. For all PSPS II i and II j such that II i. e Y i and II j e ofY," IfS[i][j] = 'CN' then S[i][j]. CGP;. = S[j][iJ =. 'SX' ; 6.2. Find the joints (which must be transitions) of all these VPs, denoted as t/s.. Program List 3. The Enhancing part of S-Matrix. Divide them into a serial of subsets. these transitions in each subset must be cyclic to each other and in some elementary cycle, ­. Finding Algorithm for SME The correctness of Program List 3 is proved in the following theoreun:. Merge two subsets into one if they share a. Theorem 2. The algorithm of updating the S­. common transition :. Matrix for SMEs is correct.. 6.3. For each subset, find the subnet by deleting. Proof : Steps 6.1, 6.2, and 6.3 find all the. all PSPs from the net which are not in some. synchronizing cycles, which are live, bounded, and. elementary. cycles, connecting. the. transitions in the subset;. SMEs. Step 7 first finds the control transition in. 6.4. This subnet must be live, bounded and. f1, f2, ... , fk. each of the sequential exclusive processes. Using Step 7.1, for each sequential exclusive process i,. reversible; 7_ Let. reversible by themselves, for the corresponding. be the set of transitions in. the VP from the decision place to the control transition f.ci, II iJ and the next PSP, II ;2, are. ordel' in the subsets;. found since II il 'CL' For each ti (i = 1,2, ..., k), repeat the following. steps: 7.1. Find. II II and II i2 'CN'. II e.. In Step 7.2, II il and II i2 are first included in process i. In the second part of Step 7.2, all the. an. input. PSP. II i. with. other PSPs, II j3, II i4,. ..• ,. are included in process. Ii .generationyoint = CGP and output PSP. i because of the use of depth-first approach and. II ~ and a PSP II e e subnet with. backtrack property in the S-Matrix finding.

(16) ~. mtM. .~w~. -Aht~+=~. algorithm. and the fact that the increase of PSP. PME (SME). Given this S-matrix, we can find the. numbering in each of the sequential exclusive. B-places and C-places. Based on their markings,. processes in the SME stops at the common ending. we can verify whether the net is deadlock-free or. place. Using Step 7.3 and the fact that the II il.. not assuming the same PN as the one in [ZHO 911.. process Yi and the II jl. E. E. process Yj of the same. SME are exclusive to each other, the. 'SX'. The S-Matrix for the PN in Fig. 3(a) is shown. of the SME can be determined. The correctness of. in Fig. 3(t). An example of the application of this. D. The corresponding time complexity is given. algorithm is described as follows:. ,. 1. In the initial· marking, t1 is enabled. Hence,. in the following Lemma 6.. pick PI as a home place. The PSP containing. Lemma 6. The time complexity of the detection of. PI is II 0 = [Pa t7 PI tl P1 t1 P3]. Mark t7 and. SME isO(n\. check Pa since t7 is the only output node to. Proof : Select a joint t1 of a VP and find the. .,. Pa. The current node is P3.. elementary cycle the joint is in. Trace along the. 2. t3 and 4 are two output nodes of P3. Pick t3,. cycle starting from the above joint, find the first. t3 is not a simple node (which has only one. transition t2 which is a joint of another VP with the. input and only one output node). Hence II I. same CO; Continue this tracing, we find all t's in. = [PJ t3] and Mark t3.. the cycle which are the joints of VPs with the same. 3. Ps and .1>6 are two output nodes of t3· Pick Pis,. CG. The total time complexity involved in this step. which is a simple node. Its output node ts is. is. O(n 2) ..It takesO(n). amount of time to find Yj of ti.. Therefore, it takes totally O(n1) of time to find all Y;'s. It takes O(n1) of time for the update of entries. from· 'CN'. to. 'EX'. Hence the total time. complexity of this update of entries due to SME is O(n. 2. D. ).. not simple. Hence II2. = [t3 1>6 ts]. Mark Pis·. 4. The output node Ps ofts is not simple. Hence II3. = [ts Ps]. and end""psp. =. II 3. Mark PH. and check ts. Ps has been checked. Hence S[i](j]=. 'CL' 'V i j. E. {O,I,2,3}, i=l=j.. Backtrack to ts which has been checked. So. The above' algorithm is included in the S­. backtrack again to t3 and pick its unmarked. Matrix searching algorithm so that the obtained S­. output node pj which is a simple node. Mark. Matrix has. pj. Its output node t4 is not a simple node. 'SX'. . entries. Hence, the S-Matrix. = [t3 pj t4 ].. helps identify PMEs and SMEs. If the entry values. and II4. in the S-Matrix corresponding to a set of PSPs are. output arcs have been traced.. 'EX'. II. ... rlationship among the PSPs of different processes. the algorithm is thus proved.. i. Example of the S-Matrix Search...A lgorithm. ('SX'), then these PSPs are part of a. Check t3 since all its. S. Pick an untraced arc 4 P9 and find a. new.

(17) ........... KNITTING TECHNIQUE AND STRUCTURAL MATRIX FOR DEADLOCKANAL YSIS AND SYNTHESIS OF PETRI NETS WITH SEQUENTIAL EXCLUSION/Daniel Y. Chao. n5. [t4 P9 t.5]. t5 has been marked, so. =. n 4. n 5) II n 2.. update the S-Matrix. startysp =. n 5. n 4 0 n 5, (11 4.. endysp (n 4. II 5). II J, II 1 (} (II 4. II 5) and II 0. 0. () ( II 4, II 5). Mark po.. 61. V. The Knitting Technique Zhou et al. [ZHO 91] developed the DFC to upgrade current PN unalysis for shared' resources. However, they did not explicitly apply the DFC to synthesis as we shall in this section. We will. 6. Pick an untraced arc t4P7 and find, a new II 6. explain how to synthesize PMEs and SMEs; As a. II ( II 5. II 2. II 3),. result, the DFC is generalized. Here we present the. = [t4 P7. t6. pa].. IT 6. (II 0, II 1, II 4) 0 II 6. Mark P7.. guidelines for the rules used in the knitting. 7. Pick an untraced arc t4P4 and find a new. II 7,. [t4. P4. t3].. Hence. (II 0, II I, II 2, II 3, II 4) 0 II 7, and (II 5, II 6). technique followed by examples. In the next section we apply the knitting technique to synthesize. PMEs. and. SMEs. and. extended. generalized DFCs to mitrary paths.. II 7. Mark P4and check 4. 8. Backtrack to P3. Pick the remained untraced. To understand the knitting technique in an. arc P3 4; II 8 = [P3 t4] and 4 has been. intuitive fashion, we present the guidelines for. marked , EX'. and. is. on. a. circle.. ( II h IT 4), and. II 8. IT 8. generating new arcs.. 'CL' A.Guidelines for Synthesis. ( II 0, II 2, II ], II 5, II 6, II 7). Check P3. 9. VPs. II 1 and. II II share a common. generation point. P3. and have joints t3 and t4. respectively. {II· 4. II 7} is a live. bounded. and reversible sub- net of the PN.. Given. a synthesized. net, N1., a. set of new paths are generated using some synthesis rules to fonn another net, N 2. The marking in the NP upon the generation is called its initial marking. The synthesis rules should be such that all transitions. lO.Since S[I][4] =. 'CL'. and S[2][4]. 'CL' , Y I = {II), II 2}. Similarly, S[8][7] = 'CL'. and S[5][7]. *-. and places in N2 are also live and bounded. This can be ensured by. 'CL' , Y 2. {II.-g. II s}.. 1) Inhibiting. any. transition firings l1.Y) = {II), II 2, II 3}and Y 2 =. intrusion of N. I. into. nonnal. prior to. the. generations. This guarantees' that neither. { II 8, II 5, II 6}, II 1 'EX'. unbounded places nor dead transitions. II 8, II I.generationyoint. would occur in N I since it was live and. II a .generationyoint = ps. and thus. bounded prior to the generations.. (II 1,II 2, II 3) 'SX' (II 8. II 5, II 6).. 2) Inhibiting 12. All PSPs are found and stop.. any. dead. transitions. unbounded places in the NP.. and.

(18) mt;M. W~ff~. 62. There are two kinds of intrusion. One is to. no unbounded places in the IvP (since all tokens. 1. change the marking of N : the other is to eliminate. can disappear from the NP). This paper only deals. some reachable markings. In order for NP to be. with ordinary PN's ; the rules for general PN's. live. it must be able to get enough tokens from pg or. where arcs may carry multiple weights are. by firing !g. When tokens in NP disappear, the. discussed in [CHA 93c).. 1. resultant marking of the subnet N in N::! must be. To relieve the reader {rom the burden of. 1. reachable in N prior to the generation of NP.. understanding the complete set of rules, we strip. Further, the marking of NP must be reversible in. down the concepts to a bare minimwn and rely on. N. 2. .. one example to explain the necessarY terminology The second intrusion may occur when the. and rules. To simplify the discussion, we first. joint is a transition which may not be enabled in. present the terminology, rules, and examples for. case of backward IT generation~ hence causing. non-SMEs followed by the SMEs.. 1. some markings in N unreachable. Thus. if the joint is a transition, the NP must be able to get. B. Rules for NOD-SMEs. This section provides the terminology, rules. tokens from a generation' point within each iteration.. 4If. . and an example of synthesized PNs with no SMEs.. Based on the concept of no intruSion, the. Definition (Local Exclusive Set) : A local exclusive. rules are constructed according to the following. set (LEX) of II j with respect to II k, X ik, is the. guidelines:. maximal set of all PSPs which are exclusive to. n but (II n k) =. Mo, each !g must be potentially flrable (always or has fired \:;f firing sequence a. each other and are equal to or exclusive to. in N 1 enabling the joint which is a. { II zl II :. transition).. \:;f. 1) From. not to II k· That is, X ik. II zl ,n zZ. 1. (b).return to N to reach a marking in M2. The marking of the, subnet N 1 in N2.M2 (NI). E. LEX. or II :1 II j,. j. ..,. j,. (. n zInk),. Xik. II zl I II zZ}. There is a general rule:. 2) (a).These tokens must disappear from NP before it gets unbounded tokens, and. =II. =. j,. An isolated basic process can be generated at any time. The TT- and PP-Rules are listed as follows:. of all possible sets of such M2 are identical to those in N l without the new paths. Guidelines (1) and (2) guarantee no intrusion. Guideline (2) guarantees no dead transitions and. TTRules : For a II W from!g. E. II g to tj. E. II j generated by. the designer, 1) TT.I If!g I tj and . tgfl . tj. ffJ or only one. ......

(19) KNITTING TECHNIQUE AND STRUCTURAL MATRIX FOR DEADLOCKANALYSIS AND SYNTHESIS OF PETRI NETS WITH SEQUENTIAL EXCLUSION/Daniel Y. Chao. of them is in a circle which was solely. transition tt of. generated using Rule PP.l,. II j in Cjg •. then display. a. transition tg of II W. If IT g = II j, then display. In [CHA 93c], we showed that some. to fire tg,. then insert a token in a place of II w. "You may. generate another II" and return.. to a piace Pj of each. a place Pg of of each II g.in Cg; to the. +- ~i or tg = tj and without firing tj, there. does not exist a firing sequence. W. b) PP.2.2 Generate a virtual PT-path from. "Disallowed, delete tlus. PSP and generate another PSP" and return. 2) If (tg. n. 63. synthesized nets using' this approach the. "assymetric-choice nets". are beyond. [MUR 89].. AD Eumple. 3) TT.3. See Fig. 4, initially, using the general rule,. a) TT.3.1 Generate a TP-path from a. we generate an isolated/only basic process, [PIt1 P2. transition tg of each II g in Xgj to a place. t2 P3 t3 P4 t4 Ps ts PI]. Then another basic process,. Pt in the IIw.. [PIl til P12 t12 PH t13 P14 t14 PH tIS P16 tl6 Pl7 tl7 PIl]'. b) TT.3.2 Generate a virtual PT-path from. is added, using the general rule. Then, by Rule. the place Pi to a transition tj of each II j. PP.l, the following four PSPs are generated: [Pz t6. inXjg .. P7 t7 P4], [P3 t8 P6 t9 PsI, [P12 tl8 P18 t19 PI9 t20 PIS],. tg to ; prior. and [P12 t21 P20 t22 P21 t23P22 t24 P23 t2S P17]. Two. to this generatibn or both are in a circle. backward TT-paths, [t9 P8 t8] and [t23 P2S t26 P26 t27. which. was generated using the PP rule, then. P27 t2J.], is then generated with a token respectively. (1) generate a new TT-pathfrom tg'to;' such. added to P8 and P26. by Rule TT.2. A pair of. ;t are in a circle, (2) apply. forward- and backward-generations, [PJj t30 pJ6]. 4) TT.4 If there was no path from. that tg> ~, tg ' and. Rule TT.3, and (3) Go to step 2.. and [P16 t28 PH], are then generated.. They form a .. circle. Another three forward TT-paths, [t13 P28 t33. PP Rules:. P29 t14]. [t13 P33 t14] and [t23 P24 tu], are generated.. For an II W from pg. E. II g to Pj. II j generated. E. [P30 tI8], and [P30 t31] are generated. By Rules TT.4. by the designer,. 1) PP.l If Pg. Using Rule TT.3, PSP [t7 P30 t13] and VPs [t2 P30J.. II p",. then display. I. "Disallowed,. generate another II" and return. 2)PP.2. a) PP.2.1 Generate a TP-path from a. and TT.3, PSP [t14P31 t4] andVPs [tI9P31], [t2SP31],. and[P31 t9] are generated. Using Rule PP.l, PSP [P16 t29 Pu] is generated. Using Rule PP.2, PSP 1P29 t31 P32 t32 P22] and VPs lPu t3/], [P33 t31] and [t32 P24]. are generated. It should be noted that, during the course of any generations, the PN in Fig. 4 is well­.

(20) ""'III. MtM. M. -hht~+-~. behaved, that is, the PN is live, bounded, reversible.. Definition (Decision Place) : A decision place is. and conservative.. the common generation place of a set of exclusive. The following observation is also in [CHA. PSPs.. 93c].. Definition (Control Transitions) : The control. Observation 1 : Every circle of a synthesized net. transitions are the output traIi§itions of a decision. •. place.. contains at most one marked place.. For example, in Fig. 3(e), P3 is a decision. We explain this observation below. In the basic process, only the home place holds tokens.. place and t3 and t4 are control transitions.. Afterwards, only a backward IT-generation would. The synchronic distance is a concept closely. add tokens to the newly formed cycles. If there is. related to the degree of mutual dependence between. no backward IT-generation, the observation holds.. two events in a condition/event system. The. Otherwise, multiple marked places in a cycle could. definition is as follows:. only occur when we add tokens upon a backward TT-generation to the IT W and another PSP in the circle already holds tokens. This is not possible because prior to the generation,. tg. (Ij) is enabled.. An example of this obserVation is shown in Fig. 4. Another example shows the use of knitting. IIIIfI. Definition (Synchronic Distance) : The synchronic distance between two transitions 11 and t2 in a PN (Z, Mo) is defined by d n = Max { a (t/) - a (t2), E. I]. L(M)}, where a (t;), i = 1,2, is the number of. times transition ti appears in. a. L(M) is the set of. all firing sequences for the net with the initial. technique to synthesize a PME easily is given as. marking m. follows:. between ITI and IT2 follows that between 11 in. Example of Synthesizing PME : As shown in Fig.. ITI and t2 in IT 2.. 1. We can first generate a basic process, [PI tl P3 13. E. R(Mo). The synchronic distance. For example, consider the net shown in Fig. pd, followed by a backward IT-generation, [t3PS td. 2(d) without the two paths: [t4 PI. with a token added to Ps. We then generate a PP­. d l4 =. path, [Ps tz P4 t4 P4], followed by another backward. is similar to the token capacity concept in [ZHO 91]. IT-generation, [t4 pz t2], with a token added to p~.. or the deviation bound in [SIL 87].. The result is Fig. 1.. VI. Synchronization Rule for Generating SMEs. description of synchronization rules :. Note that the above synchronic distance. Now a IT-path, [/4 PI tI], is generated from 14 in ITz. [P6 13 P4 t4 P6] to tl in ITI = [P6 I] Pl I] P6J·. ITI I IT 2, as shown in Fig. 2(d). This is referred 10 as. We first define the following terms for the. 00.. 111 and [12, P3. 13],. .. exclusive IT interaction". in [YAW. 87,88a,88b,89] which forbids such a generation for. I.

(21) KNITTING TECHNIQUE AND STRUCTURAL MATRIX FOR DEADLOCKANALYSIS AND SYNTHESIS OF PETRI NETS WITH SEQUENTIAL EXCLUSION/Daniel Y. Chao. the following reason. Each time. t4. fires. it iI~jects a. token into PI. After an infinite number of such. firings. PI gets unbounded. Therefore. a single IT­ path generated between these two exclusive transitions with synchronic distance d. =. 00. is. tg. 65. may be 'SX' to t} which corresponds to the. generation within an Sl\ffi. For the case of 'EX' ,we may apply the synchronization rule again and will not be considered further. For 'SX' and 'CN' ,we can still apply Rule IT.3 between LEXI and LEX2 without disturbing the. insufficient. The two alternative PSPs. however. can still be synchronized by generating a path with a token,. [t2 PJ t3], from t2 to t3· The resulting PN is bounded, live and reversible. Note that without the token in. well-behavedness. The synchronic distance among PSPs in LEXI or LEX2 is, however, no longer infinite. We teno such LEXI and LEX2 as Sl\ffil and Sl\ffi2 respectively. Thus an Sl\ffi is not only a teno indicating a specific behavior, but also a set of. Pl. the net becomes dead.. PSPs that are mutually exclusive but sequentialized For exclusive processes,. synchronization. paths must be generated between the control transitions of the exclusive PSPS. Summarizing the above discussion, we have the following rule for synchronization :. with each other, having a finite synchronic distance. In other words, no process in Sl\ffi, unlike PSPs in an LEX, can fire infinitely without firing any other processes in the Sl\ffi. Rule IT. 3 may be relaxed. In other words, not all PSPs in. Synchronization Rule : If a IT-path is generated. Sl\ffi 1 or Sl\ffi2 may participate in the generation.. from tg to f,j, tg I ~. and~· is a control transition. then. With synchronic distance d. generate! another IT-path from t'g to t~ such that if. deadlocks or unbounded places since tg and t} may. t, is control transition then. tj is also a control. transition with the same decision place.. =. 00,. this may create. neverexecute which is not true for finite d. Relaxing Rule IT.3 creates new rules and. VII. Rules for Generations Involving SMEs. also generates more classes of nets, allowing us to uncover more aspects behind well-behaved nets and enhancing the. approach of synthesis-based. This section discusses rules for nets with SMEs, Since Sl\ffi manifests a new structure, new rules are required for IT generations within an SME. and. among. Sl\ffis. to. maintain. the. completeness of the knitting rules. There are three cases of IT-generations, namely. within an Sl\ffi,. analysis. In the rest of this paper, whether Rule IT.3 is relaxed or not, we uniformly say that the IT-generations are applied from Xgf to ~g. Therefore, when Rule IT.3 is relaxed, Xgf (Xjg ), changing its original meaning somewhat, may not equal Sl\ffil (Sl\ffi2).. between two Sl\ffis and between an Sl\ffi and an LEX In addition to 'CN' , 'EX' and 'SQ' .. PSPs in both Sl\ffi 1 and Sl\ffi2 are executed.

(22) ~. ... ~.. sequentially and. .t~. some. -ftftt~+=~. IT-path. within. the. which is a generalized version of the DFC in [ZHO. generation may be a backward one. We need to. 91c]. Note that nW corresponds to the marking in Ps,. detennine whether and how many tokens need to. d;g to that in Pc, and. be added. As a result, a new DFC is discovered.. shared resource place (i.e., robot). Calculating. A. TT-Generations within An SME. MAX[M<Po)] to that in the. d;g and MAXiM(PD )] is, in. general, a reachability problem. It is, however, not In this subsection, we study the first case, i.e.,. so for synthesized nets because we calculate them. the IT-generations within an SME and. its. in an incremental fashion. Upon each new. application to resource sharing in an FMS. As a. generation,. result, the DFC by Zhou et al is generaJ.!zed. The. corresponding SME is first formed and equals the. remaining two cases will be investigated in the. number of tokens inserted into. next subsection. Again, there· are two types of. equals the minimum marking of all home places. generations ; forward and backward. Similar to. which are. Rule IT.2, backward generation entails tokens. upon each backward IT-generation.. inserted into. d;g. is. determined. when. the. n w. MAX[M(po)] .",. 'SE'. to PD which can be updated. n w. The difference is that insertion. of a single token may not avoid the deadlock. An. .Lemma 7 : MAX(M(PD» =. min M(Phi ). Phi-.PD. example is shown in Fig. 2(e) where a IT-path is generated backward from tJ to 12. Tokens must be inserted into Ps such that Mo(pJ} ;£ Mo(ps} in order to avoid deadlocks. For instance, if Mo(pJ). =. 4 and Mo(ps) = 3, the system comes to a total deadlock after the firing sequence. a. = 1J 12 IJ 12 I J. Proof: MAX(M(PD» can be achieved by disabling all output transitions of PD and continue firing transitions in the PN until no more transitions are firable. Only those tokens in home places Phi which are 'SE' to PD can flow to PD. Because Phi are 'CN' to each other, the maximum tokens that c. 12 II. the marking is (0,1,3,0,0,0). The deadlock can. be removed by adding one more token to Ps which enables 12 to fire, removing the token trapped in PJ. In general, the least number of tokens to be. can flow to PD is the minimum marking of all such. Phi· When there are tokens in. n w,. ~'. can fire as. 1. inserted depends on the maximum marking at both. that in N prior to the generation. Because the. d;g.. generation does not alter input and output sets of. Pt5, it. transitions of all places in N1, the reachable. is easy to see that the least nwnber of tokens nW (if. markings of N 1 remain the same as that prior to the. the decision place and Ps which determines Using the example in Fig. 2(a}, in which PD. > 0) to be inserted into. n. W. for N 2 to be well­. behaved when tg fires later than t; is. nW:.:: MAX( <d;g - MAX[M(PD)] + 1 }, 0),. 2. generation" Since N 1 was well-behaved, so is N as. n w, In order for N2 to remain well-behaved, we must make sure that N'. long as there are tokens in.

(23) KNITTING TECHNIQUE AND STRUCTURAL MATRIX FOR DEADLOCKANALYSIS AND SYNTHESIS OF PETRI NETS WITH SEQUENTIAL EXCLUSION/Daniel Y. Chao be live even if all tokens in. consumed by never firing. (g.. n. W. MAX[M(PP»). bave been. Thus, the tokens in PD. IV. nW. have been consumed, fj cannot fire and tokens. are trapped in the input place of f.J. When all tokens. n. supply tokens to. W. to fire Ij. Thus, the PN comes. to a deadlock and no longer reversible. The above trapping stops when the marking of the C-place turns to zero. Under this situation, if PD still has. ~. d;g - MAX[M(pD») + 1. Because nW must be greater than zero, we bave. in PD are consumed and get trapped, none of the control transitions te can flTe, neither can tg to. d;g - n'" + I. whicb is equivalent to. always are consumed to fire f" After all tokens in. n. ~. 67. nW. ~ MAX(~g -. MAX[M(PD») + 1,0). The condition in Eq. (I) is also a necessary condition as we can assume the contra.ty and prove tbat N2 is deadlocked. Note tbat prior to the sequentialization, an SME is an LEX. We first define the full and partial SME as follows :. tokens, we can fire one output transition of PD to fire subsequently. tg. and to make fj. firable again.. Definition (Full SME, Partial SME) : If all the control transitions of a decision place are 'SX' to. And there are no deadlocks.. n w,. Lemma 8 : If there are no tokens in. eacb other, the SME is a full SME; otherwise it is a the. partial SME.. maximum tokens trapped in the input place of fj equals the minimum of (M(PP),. For the TT-generation between an SMEILEX. d;g).. and another SMEILEX, wben the SME is partial,. o. Proof: easy to see.. Theorem J : Assuming new paths have been. correctly generated, the least number of tokens inserted into the. n. W. for the TT-generation within. tbat is, the exclusive processes· are not all syncllronized, there is no ordering of executions of PSPs in the SME and other PSPs corresponding to the same decision place, PD. As a consequence, tg (fj) may. an SME is shown in Eq. (I).. never. fire. and. thus. cause. deadlock. (unboundedness). Hence, Rule TT.3 must be Proof : Each time token from IS. tj. fires once, it consumes one. n w, the C-place, and PD.. reversible,. Becasue N1. atoken generated by the firing of fj. eventually returns to PD. Assume. ~g. n"', after tj. n" times, there will be no tokens in. n wand. the number of tokens of the C-place reduces from dig. to dig. In. the C·place are consumed, there must be at least. - flw.. To avoid deadlocks, when all tokens. one token in PD.. TIlUS. we have. applied. In the sequel, we assume tbat all SMEs under consideration are full.. B. IT-Generations from SMEI to SME2 This kind of generations create new DFCs unvisioned in [ZHO 91). Since PSPs within an SME are exclusive to eacb other, it seems tbat Rule TT.3 is still applicable. The only difference is that not all PSPs in the SME may be involved in the.

(24) 68. 1l~~~. ~-tM. -fLJL-tlf.t=J=J. In. In this case, PSPs in an' SME execute sequentially and alternatively. We let rg (r i ) be. what follows, we first show, in Lemma 9. that the. the total number of firings of PSPs in SMEl. generation. Consider two SMEs, each containing a pair of PSPs with synchronic distance d. ratio of firing number of. tg. to that of~.. = 1. U _K. (SME2) and a and b be the number of PSPs in. U.. SMEl and SME2, respectively.. }. •. should asymptotically be 1 after tg or 1.i fire!> infinite. Based on Lemma 9, we have the follOwing. times.. theorem.. The IT-generation must be performed to. Theorem 4 : For IT-generations from SMEI to. have enough tokens iqjected into the NP to fire tj,. SME2, if neither a nor b is a factor of the other,. to avoid deadlock, and no persistent accumulation. then Rule IT.3 cannot be relaxed.. of tokens in the NP, to avoid unboundedness. Based on this, we have the following:. Lemma 9 : After a IT-generation between two full SMEs, the necessary condition for preserving well­ U u· behavedness is k = lim g J = O. If k > 0 « U. 0),. g. ~ 00. U. g. then the synthesized net is unbounded. (deadlocked), where. a g (aj). Proof : Consider the IT-generation from a PSP,. n g,. in SME 1 to r PSPs in SME2 and infinitelyiii' large r g = r j which is divisible by both a and b. Then, because the synchronic distance of PSPs in r each SME is one, n g fires a g = -L times and a the total number of firings of the r PSPs in SME2 is. is the total number. a ,. infinite number. lim. r. =. of firings of Ig'S (t/s).. Proof : If k> 0, then as a g. -7. 00,. Ug. Ug~OO. of tokens are accumulated in the NP. the synthesized net is unbounded. Similarly, if k<O, then the NP needs to have infinite tokens in the initial marking to support. t/~. to fire infinite. number of times; implying that the synthesized net has a deadlock. Hence the necessary condition for preserving well-behavedness is k = O.. ug. U j. * '!L b _ r i. ug. (I r) ___. a. k. have. We. ;t:O. for. any. b. integer r since neither a nor b is a factor of the other. Because the above r and large, finite changes of r. a. are infinitely. would not alter the. above conclusion of k =1= O. Thus, we have to apply Rule IT.3 to preserve well- behavedness. The same conclusion applies' when the 17­ generations are from arbitrary ng PSPs in SMEI to. We then discuss the following two cases of. arbitrary. n, PSPs in SME2.. synchronic distances among PSPs in an SME, (l) d. = 1 and (2) d> 1.. Thus, Rule IT.3 can only be relaxed when a or b is. a factor of the other. Otherwise, it has to be applied Case 1: d = 1. to all PSPs in SMEl and SME2; i.e., XgJ. = 5MB}.

(25) KNITTING TECHNIQUE AND STRUCTURAL MATRIX FOR DEADLOCKANALYSIS AND SYNTHESIS OF PETRI NETS WITH SEQUENTIAL EXCLUSION/Daniel Y. Chao. 69. and X,g = SME2. As will be shown later, this. 2, .... r}. Thus, there is only one PSP in SME 1. theorem also holds for the case when d> 1. The. involved in the generation. PSPs in SMEI executes. proof of Theorem 4 also leads to the following:. one by one in the sequence of. Theorem 5 : If b/a is an integer, then applying. n g:y. Thus. SME2.. the well-behavedness.. n. Lemma 10 : If no tokens need to be inserted into generated from. W. n g:y to X;g. =. {n jx},. x = 1,. a. b of r = - being an integer. a. o. Proof : In order to have no insertion of tokens,. Similarly, we have the following corollary : Corollary, 1 : If b is a factor of a, then applying j. executes in. 2, ..., r}, then V x,jx>(x - 1) * a + y for the case. '" 0,. n. n jx. b. Proof: By making r = - of Theorem 4, we have k. Rule TT.3 to. executes the y-th in SMEL jx is an. index indicating the order that. Rule TT.3 by making Xg} = n g and X;g a set b containing arbitrary PSPs of SME2 preserves a. ,. n gJ, n g2 , ..• n gao. of SME2 and a set containing. every x-th execution of. n jx. than. n g:y. must occur earlier. of X;g. The x-th execution of. coordinates with the execution of. a'. n fx to complete. arbitrary - PSPs of SMEI preserves the well­ b. one iteration wherej~ = (x - 1) * a + y. If}x >. behavedness.. then. In the above discussion, we consider only the. can have more than one PSP. Thus, 'for the rest of this paper, all theorems and lemmas will only concern with such a generation.. a. the NP to avoid deadlock. This happens when a. •. X;g is about to execute but there is no token. in the NP to support such an execution because the. PSP in Xg!" fires too late to supply tokens. The number of tokens to be inserted into the NP. depends on the Xg!" and X;g selected. The following lemma helps one develop procedure token_AddedO below, Let Xg!". = (n gy }. and. X;g. ,. For the case of r = -. b. = {n p }'. x = 1.. n fx. j~,. and,. n g:y •. being an integer,. similar results can be obtained. Let Xg}' ={n g:y I y = 1. 2, .... r and r =. a b } and X;g = {n. PSPs in Xg!" must execute earlier than. Note that tokens may have to be inserted in. PSP in. executes later than that of. hence. later than the x-th execution of case of Xg!" being only a PSP in SME1. We can. apply such generation a number of times so that Xg,. n jx. n g:y. JX }.. np. Again. which is. just the reverse of the case of b > a. That is, gy. <. g~. (note the sign changes from>to<). AIl the. rest discussions remain the same as those in Lemma 4.. Lemmall: If no tokens need to be inserted into. n. generated from Kg, = b. W. {.n g:y I y =. r=-}toXjg={nfr},then V x,gy. a. 1, 2, ...,r and. <. (y-l)*a.

(26) 70. jf~lWgiti. ~-tWJ. -:fLfL-tiF+=fJ. b + x for the case of r = -,- being an integer. a. Procedure Token_AddedO for b. >. integer is similar. The procedure checks each. n..P. starting from x = I. If it cannot be executed and the a is. presented below. Let Xgi = { n gy} and XJg = { n p. synthesized net comes to a deadlock, then the. I. procedure adds a token to the NP. At the end, the. x= 1,2, ... }. We scanI. in the increasing orderofx.. number of tokens added is the minimum. We then. Each time the deficiency of a token is detected, the. prove that the condition to add a.,token at the x-tb. integer variable "Token_Added" is incremented. step is ix <[(x - 1 - Token':'Added) '" a + y] as. by. procedure,. shown in the procedure where "Token_Added" is. "Token_Added" represents the total number of. a temporary variable indicating the minimum. one.. At. the. end. of. the. number of tokens to be added at the end of the. tokens to be added.. procedure. It also indicates the number of tokens. Token_Ac'!ded (Xgj, Xjg) {. added to the NP prior to the x-th step. At the Token_Added = 0; for {x = 1; x < r + 1; x++}. beginning of the x-th step, we need x tokens to support the executions of all n j8' () = 1, 2, ..., x.. {. But the NP already has "Token_Added" tokens,. .. if Vx < «x - 1 - Token_Added) '" a + y». thus. n gy. WIll. must have executed (x -. 1 ­. Token_Added) times earlier than the execution of Token_ Added++;. n i •. /.The (x - Token_Added)-th execution of n to'. }}. adds a token into the NP to be consumed by the. Similarly, procedure Token_AddedO for the a case of - being an integer exactly parallels that. b. execution of. n p.. The fonner must coordinate. with the execution of. n fx. to complete one. iteration where/x = (x - 1 - Token_Added) '" a + y.. h .for the case of - being an integer except the sign. a. change (from < to » in the "if' statement. We prove the correctness of the procedure as follows.. As the proof of Lemma 4, ifix. token can be consumed by the execution of. maintain the well-behavedness. Proof : Consider first the case of. The theorem is thus proved. Thus, procedure token_AddedO determines the least number of tokens to be inserted to avoid deadlocks and therefore represent a new DFC. h. being an. a. integer. The proof for the case of. nft·. Otherwise a token must be added at the x-th step.. Theorem 6: Procedure Token_AddedO calculates the minimum number of tokens to be added to. >/x, then the above. a -b. different than that by Eq. (1) and by [ZHO 91). Ai an example, consider the case (Fig. 5) a. being an. dl. =. 2, b ::: 4,. d2 = 1, and new paths are generated, using. Rule IT.3, from. n g2 to n j /. and. n]l. Thus we.

(27) KNITTING 1ECHNIQUE AND STRUCTURAL MATRIX FOR DEADLOCKANAL YSIS AND SYNTHESIS OF PETRI NETS WITH SEQUENTIAL EXCLUSION/Daniel Y. Chao. have Y =. 2,h =. I, and12 = 2. We start fromh (x.. 1). Initially, IT gl and IT/I must both execute to. avoid deadlock. IT/I, however, cannot execute because IT 82 has not executed to inject a token into the NP. Thus, we add a token to the NP and set. the variable token_Added. 1. Next consider ITp. (x ::: 2) and the token to. be injected by executing. IT g2 is to support the execution of IT iI, rather. than :=. rr J1 if token_Added = O. Thus we compare 12. 2 to (x - 1 - I) '" a + y = 2 (rather than (x - I) '" a. + vi: thus there is no need to add a token. No more. it needs to be considered; hence,. the total number. c. IT-Generations. 71. Between an SME and an. LEX In this case, it is easy to see that any PSP in the SME must coordinate to all PSPs in the LEX whether the. SME is full or partial. Hence Rule. IT.3 must be applied without relaxation. In the next section, we will apply the knitting technique to synthesize P:ME and S:ME.. vm. Application of Extended Knitting Technique to Synthesize PME and SME. of tokens to be inserted into the NP is one. The net in Fig. 2(a) can be synthesized as When more than one PSP in X" are needed, we can apply the above algorithm to each set of { I. process in SMEl, r processes in S:ME2}.. Case 2: d. >. 1. follows. First we construct the basic process IT I. =. [P6 II p] t] P6) with a token and the PP generation of IT 2 = [P6 t3 P4 t4 P6), forming a P:ME. Hence these two PSPs are mutually exclusive to each other. P6 is the home place. The temporal matrix is shown in. In this case, although the PSPs in SME I and. SME2 do not execute alternatively, Theorem 3 still holds. The argument is as follows. Let d be the synchronic distances among PSPs in S:MEI, then. the range of execution times of IT gy (or the case of r r - being an integer) is from -L - d to _J + d. a a a b. When r g O O , the range collapses to a single. Fig. 2(c). They can be sequentialized using the synchronization rule. It is done by generating a path, [/4 PI II), with three tokens in PI and a IT­ path, [I] P3 t3), forming an SME as shown in Fig. 2(d). PI. is a. C-place.. The PN after the. synchronization generation is bounded, live, and reversible. The execution order of IT 1 and. rr 2. now alternates. Now generate a new IT path (a B­ since d is finite. Similar conclusion. point of a. applies to the total nwnber of firings of the r PSPs in SME2. Theorem 4, however, may not be app1icable~ Further research is needed to modify. the Procedure Token_AddedO.. ..... path) from t3 to t] with tokens in ps which is a B­ place; it is a backward IT generation since t] executes earlier than 13. At this juncture, we recognize that this new IT path is a B-path since the two PSPs containing I] and t3 are "SX' to each other. Apply Eq. (I) with c;.g = 3, MAX[M(PD»).

參考文獻

相關文件

220V 50 Hz single phase A.C., variable stroke control, electrical components and cabling conformed to the latest B.S.S., earthing through 3 core supply cable.. and 2,300 r.p.m.,

Accordingly, we reformulate the image deblur- ring problem as a smoothing convex optimization problem, and then apply semi-proximal alternating direction method of multipliers

mathematical statistics, statistical methods, regression, survival data analysis, categorical data analysis, multivariate statistical methods, experimental design.

In fact, while we will be naturally thinking of a one-dimensional lattice, the following also holds for a lattice of arbitrary dimension on which sites have been numbered; however,

Towards a model apprenticeship framework: A comparative analysis of national apprenticeship systems. Globalization and new industrial organization: Implication for

Two cross pieces at bottom of the stand to make a firm base with stays fixed diagonally to posts. Sliding metal buckles for adjustment of height. Measures accumulated split times.

These images are the results of relighting the synthesized target object under Lambertian model (left column) and Phong model (right column) with different light directions ....

In this paper, a novel subspace projection technique, called Basis-emphasized Non-negative Matrix Factorization with Wavelet Transform (wBNMF), is proposed to represent