شبکه های پتری Petri Nets -7شبكههاي پتري فهرست مطالب: مقدمه شبكه پتري ساختار شبكه پتري گراف شبكه پتري نشانهگذاري شبكه پتري مثالهايي از شبكههاي پتري خصوصيتهاي شبكههاي پتري خصوصيتهاي رفتاري شبكههاي پتري تحليل شبكههاي پتري گراف (درخت) دسترس ي شبيهسازي شبكههاي پتري 2 مقدمه روش های مدلسازي رفتاری سیستم ها: نمودار انتقال حالت ()State Transition Diagram شبکههاي پتري ()Petri Net 3 نمودار انتقال حالت این نمودار داراي دو عنصر حالت و انتقال است در این روش سیستم توسط مجموعههاي از حهاتت ( )Stateنشهان داده ميشههود و رویههدادها ( )Eventباعههت تیییههر حههاتت سیسههتم ميشوند بهها توجههه بههه اینکههه ام ه سیسههتمها داراي حههاتت م ت ه هسههتند، نمودار انتقال حالت بزرگ و پیچیده واهد شد 4 )(ادامه نمودار انتقال حالت stop Compiling مثالي از کامپایل برنامه run Compiled error Events Start stop success finished stop pause Running no events hiccup Executing 5 Pausing resume Events Events نمودار انتقال حالت (ادامه) نمودار انتقال حالت ماشین بستنی فروشی دريافت نوشابه 1500ريالي 1500لایر پرداخت 1000ريال 500لایر صفر لایر 2000لایر پرداخت 1000ريال 1000لایر دريافت نوشابه 2000ريالي 6 نمودار انتقال حالت (ادامه) مشکالت نمودار انتقال حالت وقتي تعداد حاتت و رویدادها افزایش یابد ،پیچیهديي بهصهورت تصهاعدي افزایش ميیابد ارزیابي ميشود ابهام در نمودار سب افزایش پیچیديي و تضعی بهها توجههه بههه عههدم وجههود پشههتوانه ریاضههي توانههایي ارزیههابي کامههل نمههودار وجود ندارد 7 شبکه پتري بهها وجههود نقههاط ضههع و مشههکالت روشهههاي مدلسههازي رفتههار در ارزیههابي ،اسههتفاده از شههبکههاي پتههري بسههیار مههورد توجههه قههرار يرفته است شبکه پتري ،مبتني بر نظریه يرا بوده و با اسهتفاده از قواعهدي منطقي جریان فعالیتها در سیستم را نمایش ميدهد چارچو ریاضي شبكه پتري سب ميشود تا توانایي تحیل ،تاییهد صحت و ارزیابي مدلها را داشته باشد 8 )Petri Nets (cont. Net models are introduced in 1962 by C. A. Petri for modeling concurrent and distributed systems. 9 شبکه های پتری ( ،)Petri Netابزاري مناس براي مدل سازي بر پایه منطق ریاضي بصورت يرافیكي مي باشند با وجود اینکه در واقع پتری نت يرافیکی است اما پایه قوی ریاضی دارد. شبکه های پتری ( ،)Petri Netمی توان برای مدل سازی توصی همزمان ،توزیع شده ،موازی و یا اتفاقی هستند استفاده کرد . و تحیل سیستم هایی که ماهیتی عناصر شبکه پتري هر مدل شبكه پتري با استفاده از چهار عنصر مدل ميشود مكان ( :)Placeحالت سیستم را نشان ميدهند انتقال ( :)Transitionرویدادهایي را که سب تیییر حالت سیسهتم ميشهوند را نشان ميدهند كمان ( :)Arcارتباط بین حاتت را نشان ميدهند نشانه( :)Tokenنشانهها در مکانها قرار مييیرند در هنگام نمایش اجراي شبکه پتري از نشانه ( )Tokenبراي بیهان وضعیت فعي شبکه پتري استفاده ميشود 10 اجزای شبکه ی Petri شبکه پتری از 4جزء زیر تشکیل می شود : 11 تعری اجزای Petri places (circles): مولفه هاواجزای سیستم مثال یک Disk Driverیا یک برنامه یا منابع دیگر transitions (rectangles): توضیح حوادث و وقایع مثال خواندن از دیسک arcs (arrows): رابطه بین pو tرا نشان می دهد (مثال تقاضای خواندن از دیسک) 12 کارکرد اجزاء Petri .1 .2 .3 .4 13 : tokenنشانه یا مهره ( : Placeمكان) براي نگهداري موقت tokenها ( : Transitionانتقال) مركز فعالیت که بر روي tokenاثر مي گذارد و شاید tokenجدید ایجاد كند . ( : Arcکمان) مسیر حركت tokenها در گراف شبكه پتری مثال شبکه پتری از كنار هم قرار دادن و اتصال این اجزاء ،يرا 14 شبكه پتري تشكیل مي شود مثال 15 تعريف شبکه پتري (ادامه) کمان ورودي (به انتقال) ،به کماني يفتهه ميشهود کهه از مکهان بهه یهههن انتقهههال وارد ميشهههود و نشهههاندهنده شهههرطي اسهههت کهههه بایهههد برآورده شود تا رویداد اتفاق بیفتد کمان روجي (از انتقال) ،به کماني يفته ميشود کهه از انتقهال بهه مکان وارد ميشهود و نشهاندهنده شهرایط حاصهل از وقهود رویهداد است 16 Petri Nets (cont.) Each modeling formalism consists at least two primitives: State => Place in Petri nets Action => Transition in Petri nets Petri nets have: An (static) structure: Can also be graphically represented by PN graphs (a graph of places and transitions) A (dynamic) behavior: PN marking and PN execution rules 17 Basic Components of PN input place transition output place token P1 input arc T1 P2 output arc 18 A Petri Net Specification consists of three types of components: places (circles), transitions (rectangles) and arcs (arrows): Places represent possible states of the system; Transitions are events or actions which cause the change of state; and Every arc simply connects a place with a transition or a transition with a place. 19 The Petri Net Formal Definition The Petri net structure is a 4-tuple C = (P, T, I, O): P is a finite set of places (P = {p1, p2, …, pn}), T is a finite set of transitions (T = {t1, t2, …, tm}), I : T Pn is the input function: P and T are disjoint (P T = ) A mapping form transitions to bags of places O : T Pn is the output function: A mapping form transitions to bags of places 20 An Example of Petri Net Structure C = (P, T, I, O) P = {p1, p2, p3, p4, p5} T = {t1, t2, t3, t4} I(t1) = {p1} O(t1) = {p2, p3, p5} I(t2) = {p2, p3, p5} O(t2) = {p5} I(t3) = {p4} O(t3) = {p3} I(t4) = {p4} O(t4) = {p2, p3} p2 p1 t1 p5 t4 t2 p4 t3 p3 21 The Petri Net Graphs The graphical representation is much more useful for illustrating the concepts of Petri net theory. The Petri net graph is a bipartite directed multigraph: Has two types of nodes: A circle represents a place: A bar represents a transition: or (in differenet references) Directed arcs (arrows) connect the places and the transitions. An example: p2 p1 t1 p5 t4 t2 p4 t3 p3 22 Another Example 23 A Change of State A transition is enabled when there are sufficient tokens in its input places. P1 P1 T1 P2 T1 is not enabled P3 T1 P3 P2 T1 is enabled 24 25 تعريف شبکه پتري (ادامه) وقتي مکان ورودي بهه یهن انتقهال ،بهه انهدازه مهورد نیهاز نشهانه داشهته باشد ،آن انتقال فعال (-enableبالقوه) است enabled وقتي انتقهالي فعهال باشهد ،ميتوانهد شهین (-fireبالفعهل) شهود (رویهداد اتفاق ميافتد)که در اینصورت ین نشانه از هر مکان ورودي کم شهده و ین نشانه به مکان روجي افزوده ميشود fired 26 Rules wait free enter before make_picture after leave gone occupied Connections are directed. No connections between two places or two transitions. Places may hold zero or more tokens. Enabled A transition is enabled if each of its input places contains at least one token. free wait enter before make_picture after leave gone occupied enabled Not enabled Not enabled Firing An enabled transition can fire (i.e., it occurs). When it fires it consumes a token from each input place and produces a token for each output place. free fired wait enter before make_picture occupied after leave gone Play “Token Game” In the new state, make_picture is enabled. It will fire, etc. free wait enter before make_picture occupied after leave gone The Petri Net Behavior The Petri net behavior: The behavior of PNs is illustrated by: PN marking and PN execution rules 31 The Petri Net Marking A marking (denoted by , M or m) is an assignment of tokens to the places of a Petri net. Marking is a primitive concept to Petri nets (like places and transitions). Tokens are assigned to, and can be thought to reside in, the places of a Petri net. Each Petri net has an initial marking (denoted by 0, M0 or m0). The number of tokens may change during the execution of a Petri net. On a Petri net graph, tokens are represented by small dots in the circles which represent the places: A place with marking or the number of tokens equial to 3: 32 The Firing Rules of a PN 'm tk m اگر Piخروجي tk است اگر Piهم مكان ورودي و هم خروجي tkاست 33 اگر tkبه Pi ارتباطي ندارند اگر Piمكان ورودي tkاست An Example of a Marked Petri Net Graph 0 = (1, 2, 0, 2, 1) An initial marking p2 p1 t1 p5 t4 t2 p4 t3 p3 34 Execution Petri Nets Execution of Petri nets is non-deterministic. This means two things: Multiple transitions can be enabled at the same time, any one of which can fire None are required to fire - they fire at will, between time 0 and infinity, or not at all(!) i.e. it is totally possible that nothing fires at all. ، Fire آمادهt ها میر قطعی است و ممکن است از بین چندینPNs اجرای . شودFire فعال کدامp هیچ کدام اجرا نشوند و معوم نیست از بین چندین Since firing is non-deterministic, Petri nets are well suited for modeling the concurrent behavior of distributed systems. 35 Non-determinism p4 t34 p4 t43 t34 p3 t23 p3 t32 t23 transition t23 fires p2 t12 t21 t01 t12 t21 p1 t10 p0 t32 p2 p1 Two transitions are enabled but only one can fire t43 t01 t10 p0 Execution Rules for Petri Nets The execution of Petri net is controlled by the number and distributions of tokens in the Petri net. Tokens reside in the places and control the execution of the transitions of the net. A Petri net is executed by completion or firing of transitions. A transition fires by removing tokens from its input places and creating new tokens which are distributed to its output places. A transition may fire if it is enabled. A transition is enabled if each of its input places has at least as many tokens in it as arcs from the place to the transition. 37 An Example of Petri Net Execution 0 = (1, 2, 0, 2, 1) p2 p1 t1 p5 t4 t2 p4 t3 p3 38 An Example of Petri Net Execution (cont.) After firing transition t1: 1 = (0, 3, 1, 2, 2) p2 p1 t1 p5 t4 t2 p4 t3 p3 39 An Example of Petri Net Execution (cont.) After firing transition t2: 2 = (0, 2, 0, 2, 2) p2 p1 t1 p5 t4 t2 p4 t3 p3 40 چند نمونه مساله مدلسازی شده با شبکه های پتری • • • • • 41 چراغ راهنما ماشین فروشنده نوشابه سیستم EFT-POS تولید کننده/مصر کننده ...... مثال های م ت 42 از شبكه های پتری حل مسئله تولید كننده و مصرف كننده : 43 44 45 ماشین فروشنده نوشابه ماشین فروشنده نوشابه دو نود نوشابه 1500و 2000ریالي موجود است فقط سکههاي 500و 1000ریالي پذیرفته ميشود سکه پس داده نميشود! 46 نمونه مدلسازي رفتار با شبکه پتري (ادامه) نمودار انتقال حالت ماشین بستنی فروشی دريافت نوشابه 1500ريالي 1500لایر پرداخت 1000ريال 500لایر صفر لایر 2000لایر پرداخت 1000ريال 1000لایر دريافت نوشابه 2000ريالي 47 نمونه مدلسازي رفتار با شبکه پتري (ادامه) شبکه پتري 1500ريال پرداخت 1000ريال دريافت نوشابه 1500ريالي 500ريال پرداخت 500ريال پرداخت 500ريال پرداخت 500ريال پرداخت 500ريال صفر پرداخت 1000ريال 2000ريال پرداخت 1000ريال 1000ريال دريافت نوشابه 2000ريالي 48 نمونه مدلسازي رفتار با شبکه پتري سناريو 132 يال 1000رر 500 500ر ياليال 1500ريال پرداخت 1000ريال (ادامه) دريافت نوشابه 1500ريالي 500ريال پرداخت 500ريال 1000رريال 500 يال 500 ياليال 500ر ر 500 نوشابه 500ريال نوشابهيالي 1500ر پرداخت 500ريال پرداخت 500ريال پرداخت 500ريال نوشابهيالي 2000ر 2000ريالي صفر پرداخت 1000ريال 2000ريال پرداخت 1000ريال 1000ريال دريافت نوشابه 2000ريالي 49 Example: Vending Machine (وراكي )ماشین ودكار فروش The machine dispenses ) (توزیعميكندtwo kinds of snack bars – 20c and 15c. Only two types of coins can be used – 10c coins and 5c coins. The machine does not return any change. 50 Example: Vending Machine (A Petri net) FSM: Take 15c snack bar 5 cents Deposit 10c 15 cents 0 cent 10 cents Deposit 10c 20 cents Take 20c snack bar 51 Example: Vending Machine (A Petri net) Take 15c bar Deposit 10c 5c 15c Deposit 5c Deposit 0c 5c Deposit 10c Deposit Deposit 5c 5c 20c 10c Deposit 10c Take 20c bar 52 Example: Vending Machine (3 Scenarios) Scenario 1: Scenario 2: Deposit 5c, deposit 5c, deposit 5c, deposit 5c, take 20c snack bar. Deposit 10c, deposit 5c, take 15c snack bar. Scenario 3: Deposit 5c, deposit 10c, deposit 5c, take 20c snack bar. 53 Example: Vending Machine (Token Games) Take 15c bar Deposit 10c 5c 15c Deposit 5c Deposit 0c 5c Deposit 10c Deposit Deposit 5c 5c 20c 10c Deposit 10c Take 20c bar 54 Example: EFTPOS System (STD of an FSM) EFTPOS: Electronic Fund Transfer Point Of Sale Initial 1 digit d1 1 digit STD: State Transition Diagram d2 1 digit d3 1 digit FSM: Finite State Machine d4 OK OK OK OK OK pressed Rejected Reject Initial state Approved Final state 55 EFTPOS System Scenario 1: Normal Enters all 4 digits and press OK. Scenario 2: Exceptional Enters only 3 digits and press OK. 56 Example: EFTPOS System (Token Games) 1 digit Initial 1 digit d1 1 digit d2 1 digit d4 d3 OK OK OK OK OK pressed Rejected! Reject approve approved 57 Example: EFTPOS System (A Petri net) 1 digit Initial 1 digit d1 1 digit d2 1 digit d4 d3 OK OK OK OK OK pressed Rejected! Reject approve approved 58 Producer/Consumer Model a process with one producer and one consumer, both are either busy or free and alternate between these two states. After every production cycle the producer puts a product in a buffer. The consumer consumes one product from this buffer per cycle. 59 نمونه مدلسازي رفتار با شبکه پتري تولیدکننده – مصر کننده پذيرفته شده حاضر o p4 مصرف t4 پذيرش ذخیره p1 t2 t3 t1 توليد ارسال p5 آماده p2 o بيکار مصرفکننده توليدکننده 60 Behavioural Properties Reachability • “Can we reach one particular state from another?” Boundedness • “Will a storage place overflow?” Liveness • “Will the system die in a particular state?” Reversibility Persistence Fairness 61 Recalling the Vending Machine (Token Game) Take 15c bar Deposit 10c 5c 15c Deposit 5c Deposit 0c 5c Deposit 10c Deposit Deposit 5c 5c 20c 10c Deposit 10c Take 20c bar 62 A marking is a state ... t8 p4 t4 p2 t1 p1 t3 t5 t7 M0 = (1,0,0,0,0) M1 = (0,1,0,0,0) M2 = (0,0,1,0,0) M3 = (0,0,0,1,0) M4 = (0,0,0,0,1) Initial marking:M0 t6 t2 p5 p3 t9 63 Reachability t8 p4 t4 M0 = (1,0,0,0,0) p2 M1 = (0,1,0,0,0) t1 M2 = (0,0,1,0,0) p1 t3 t7 t5 p3 M4 = (0,0,0,0,1) t6 t2 M3 = (0,0,0,1,0) p5 Initial marking:M0 t9 M0 t1 M1 t3 M2 t5 M3 t8 M0 t2 M2 t6 M4 64 Reachability A firing or occurrence sequence: M0 t1 M1 t3 M2 t5 M3 t8 M0 t2 M2 • “M2 is reachable from M1 and M4 is reachable from M0.” • In fact, in the vending machine example, all markings are reachable from every marking. t6 M4 65 خصوصيات رفتاري شبكههاي پتري صوصیاتي كه به نشانه يذاری اولیه بستگي دارند Reachability آیا همه حالتها اجرا ميشوند؟ حالهههت Mnقابلدسهههتیابي از حالهههت M0اسهههت ،ايهههر ترتیبهههي از شهههی هایي وجود داشته باشد كه از M0شرود شده و به Mnبرسد وجود حالتهاي میرقابل دستیابي نشان ميدهد كه قسهمتهایي از مسه ه بهدرستي در و مدلسازي نشده است 66 Boundedness • A Petri net is said to be k-bounded or simply bounded if the number of tokens in each place does not exceed a finite number k for any marking reachable from M0. • The Petri net for vending machine is 1-bounded. • A 1-bounded Petri net is safe. 67 خصوصيات رفتاري شبكههاي پتري (ادامه) Boundedness and Safeness در صورتیكه تعداد نشانهها در هر مكان قابل دستیابي از حالهت اولیهه ،از تعداد اصي كمتر باشد به آن شبكه كراندار يویند در صورتیكه تعداد نشانهها Kباشد به آن شبكه k-boundedيویند شبكه 1-boundedرا شبكه مطم ن ( )Safeيویند در صورتیكه شبكه مطم ن ميباشد ميتوان اطمینان حاصل كرد كهه بها ههر ترتیبهي از شی ها ،سر ریز در ث ّباتها و بافرها بهوجود نميآید 68 خصوصيات رفتاري شبكههاي پتري (ادامه) Liveness در صورتي که در حین اجرا ،هیچ انتقهالی فعهال نباشهد ،شهبكه پتهري میهر زنده یها مهرده ( )Deadاسهت و يرنهه ،ايهر در حهین اجهرا ،همیشهه حهداقل ین انتقال فعال وجود داشته باشد ،شبکه زنده ( )Liveاست زندهبودن شبكه پتري معادل بدون بنبست بودن است 69 Liveness • A Petri Net is live if every transition can eventually be fired. • A live Petri net guarantees deadlock-free operation, no matter what firing sequence is chosen. • The vending machine is live and the producer-consumer system is also live. • A transition is dead if it can never be fired in any firing sequence. • A deadlocked PN: 70 An Example t1 p3 p2 p1 t2 t3 t4 p4 M0 = (1,0,0,1) M1 = (0,1,0,1) M2 = (0,0,1,0) M3 = (0,0,0,1) A bounded but non-live Petri net 71 Another Example M0 = (1, 0, 0, 0, 0) p1 M1 = (0, 1, 1, 0, 0) M2 = (0, 0, 0, 1, 1) t1 M3 = (1, 1, 0, 0, 0) p2 p3 t2 t3 p4 p5 t4 M4 = (0, 2, 1, 0, 0) An unbounded but live Petri net 72 Analysis of Petri Nets Analysis of Petri nets is done based on their state spaces. The state of a Petri net is defined by its marking. The firing of a transition represents a change in the state of the Petri net by a change in the marking of the net. The state space of a Petri net with n places is the set of all markings (i.e. Nn). For the previous example, the state space is the set {0, 1, … } or {(1, 2, 0, 2, 1), (0, 3, 1, 2, 2), …}. The set of reachable states of a Petri net is called reachability set and is represented by a reachability tree (graph). The reachability tree represents the sequence of states in the state space or the sequence of firing the transitions of the Petri net. 73 Reachability Tree A tree representation of all possible markings root = M0 nodes = markings reachable from M0 arcs = transition firings Infinitely reproducible nodes: If a net is unbounded, then the reachability tree is kept finite by introducing the symbol . Other possible states will not be shown. Properties: a PN is bounded iff doesn’t appear in any node a PN is safe iff only 0’s and 1’s appear in nodes a transition is dead iff it doesn’t appear in any arc if M is reachable form M0, then exists a node M’ that reaches M 74 Reachability Tree Example M0=(100) t3 p2 t2 p1 t1 t0 p3 75 Reachability Tree Example (cont.) M0=(100) t1 t3 p2 t2 p1 t1 M1=(001) “dead end” t0 p3 76 Reachability Tree Example (cont.) M0=(100) t1 t3 p2 t2 p1 t1 M1=(001) “dead end” t3 M3=(10) t0 p3 In this state, t3 can fire for any number of times (∞). Then p2 is unbounded. 77 Reachability Tree Example (cont.) M0=(100) t1 t3 p2 p1 t1 M1=(001) “dead end” t0 t3 M3=(10) t1 M4=(01) t2 p3 78 Reachability Tree Example (cont.) M0=(100) t1 t3 p2 p1 t1 M1=(001) “dead end” t0 t3 M3=(10) t1 M4=(01) t2 t3 M3=(10) “old” p3 79 Reachability Tree Example (cont.) M0=(100) t1 t3 p2 p1 t1 t3 M1=(001) “dead end” t0 M3=(10) t1 M4=(01) t2 p3 t2 t3 M6=(10) “old” M5=(01) “old” 80 Reachability Tree Example (cont.) M0=(100) 100 t1 t1 t3 001 M1=(001) “dead end” 10 t1 t2 01 t3 t3 M3=(10) t1 M4=(01) t2 t3 M6=(10) “old” M5=(01) “old” reachability graph reachability tree 81 انواع حالت ها در گراف دسترس ی نشانه يذاری شبكه با توزیع نشانهها در مكانها نمایش داده ميشود حركت نشانهها و شی شدن سب ایجاد حالتهاي م ت ميشوند انواد حالت ها: حالت اولیه ( :)Initial Stateتوزیع اولیه نشانهها ()M0 حالت قابل دسهتیابي ( :)Reachable Stateحالهت ههای قابهل دسهتیابي از نشهانه يهذاری اولیه حالت نهایي ( :)Final Stateحالتی كه ههیچ انتقهالي فعهال نباشهد (نشهانه يهذاری مهرده) ()M1 82 Some definitions • The state is represented by the distribution of tokens over places (also referred to as marking). • current state The configuration of tokens over the places. • reachable state A state reachable form the current state by firing a sequence of enabled transitions. • dead state A state where no transition is enabled. br red black rr bb 83 Generation of the Reachability Graph 84 Generation of the Reachability Graph By properly identifying the frontier nodes ()يره هاي مرزي, the generation of the reachability graph involves a finite number of steps, even if the PN is unbounded. Three types of frontier nodes: Terminal (dead) nodes: no transition is enabled; Duplicate nodes: already generated; Infinitely reproducible nodes. 85 Generation of the Reachability Graph 86 Example #2 Coverability Graph كاربرد شبكه پتري در مهندس ي نرمافزار شبكه پتري ميتواند براي ام نمودارهاي UMLبكار يرفته شود محصوتت و نمودارهای UMLبا اجراي الگوریتمهایي به شبكه پتري تبدیل ميشوند تبههههههههدیل نمودارهههههههههای مههههههههورد-کههههههههاربرد( ،)Use-Caseنمههههههههودار تهههوالی( ،)Sequenceنمهههودار مولفهههه( )Componentبهههه شهههبکه های پتری؟(به عنوان تمرین به عهده دانشجویان محترم) 89 تبديل نمودار موارد كاربري تبدیل هر ی از موارد كاربري و عاملها هر كاربر و مورد كاربري به ی مكان نگاشت ميشوند ورودي هر مكان ،انتقالي با ی يارد است يارد ،شرط مربوط به صدا زدن مورد كاربري توسط كاربر را نشان ميدهد ی انتقال براي بريشت نیز وجود دارد مكان مربوط به هر مورد كاربري با شبكه پتري حاصل از نمودار ترتیبهي آن جایگزین ميشود این مكانها با دایره توپر نشان داده ميشوند ،تا از سایر مكانها مجزا شوند 90 تبديل نمودار موارد كاربري (ادامه) نمونه تبدیل مورد كاربري به شبكه پتري Register t2 Register User t1 User 91 )(ادامه تبديل نمودار موارد كاربري Uses نمونه تبدیل رابطه << uses >> User User 92 Register Register Check UserID Check UserID تبديل نمودار ترتيبي بهازاي هر پیهام موجهود در نمهودار ترتیبهي ،مولفهههاي فرسهتنده و يیرنده آن به ی زیرسیستم شبكه پتري تبدیل ميشوند تبدیل پیامهاي ناهمگام تبدیل پیامهاي همگام شبكههاي پتري حاصل ،مطابق با ترتی و ارتباط بین پیامها ادمام ميشوند در نهایت براي شبكه پتري حاصل ،نشانهيذاري اولیه انجام شود 93 تبديل نمودار ترتيبي (ادامه) سا تار ترتی 94 تبديل نمودار ترتيبي (ادامه) سا تار انت ا 95 تبديل نمودار ترتيبي (ادامه) سا تار توازي 96 تبديل نمودار ترتيبي (ادامه) سا تار تكرار 97 تبديل نمودار مولفه هر ی از مولفهها بهصورت مجزا به شبكه پتري تبدیل ميشوند شبكههاي پتري حاصل مطهابق بها نهود ارتبهاط بهین مولفههها بها ههم تركی ميشوند رفتار هر مولفه با عبارت مسیر ( )Path expressionنشان داده ميشود ترتی میان عمیات ی مولفه فرض بر این است كه كیه عمیات انجام شده بوسیه هر مولفهه ،ترتیه فرا هواني آنها و دفعات اجرا و انت ا این عمیات مش ص است در نهایت براي شبكه پتري حاصل ،نشانهيذاري اولیه انجام شود 98 تبديل نمودار مولفه به شبكه پتري (ادامه) عمگرهاي عبارت مسیر ؛ ترتی اجراي عمیات عمگر ، انت ا ی عمل از بین مجموعهاي از عمیات + تكرار ی یا بیشتر عمیات و عمگر * تكرار صفر یا بیشتر عمیات و عمگر || اجراي موازي عمیات )( عمگر مورد نظر بر كل عمیات دا ل پرانتز اعمال ميشود 99 تبديل نمودار مولفه به شبكه پتري (ادامه) نمونهاي از نمودار مولفه پاتیش شده با عبارات مسیر رفتار مولفه به نمودار مولفه اضافه شده است 100 تبديل نمودار مولفه به شبكه پتري (ادامه) سا تار ترتی (عمگر ؛) 101 تبديل نمودار مولفه به شبكه پتري (ادامه) انت ا (عمگر )، 102 تبديل نمودار مولفه به شبكه پتري (ادامه) سا تار موازي (عمگر ||) 103 تبديل نمودار مولفه به شبكه پتري (ادامه) سا تار تكرار (عمگر *) 104 مثال ATM نمودار موارد كاربري 105 مثال ATM (ادامه) شبكه پتري معادل نمودار موارد كاربري 106 مثال ATM (ادامه) نمودار ترتیبي 107 مثال ATM (ادامه) شبكه پتري معادل نمودار ترتیبي 108 مثال ATM (ادامه) نمودار مولفه پاتیش شده با عبارت مسیر 109 مثال ATM (ادامه) شبكه پتري معادل با نمودار مولفه 110 توسعه Petri با وجود تمام نقاط قوت petri netکالسیک دارای ضعف های بسیاری در موقعیت های عملی است ونمی توان با آن بسیاری از فعالیتهای عملی را مدلسازی نمود. به همین دلیل petri netدر جهت های مختلف بسط یافته است که سه تا از مهمترین توسعه های petri netعبارتند از: .1 .2 .3 111 petri net <---رنگیبسط رنگ petri net <---زمانیبسط زمان بسط سسه مراتبی petri net <----سسه مراتبی Petri net .1رنگی به کمک اين خصوصيت بعد جديدي به توکن ها داده مي شود و به اين ترتيب توکن ها داراي typeشده و محدوده انتخاب firingها ،اضافه مي شود. به کمک اين انواع توکن ها ،مشخص مي شود که از ميان چندين transitionآماده کدام يک از آنها مي تواند عمل کند . در اینجا منظور از رنگ یک صفت ویژه است که می توان به یک مهره اختصاص داده و آنرا از بقیه متمایز نمود. 112 نمونه شبکه پتري رنگي p2 t2 p4 t1 t3 red p1 blue red p3 113 t4 p5 Petri net .2زمانی زمان را مي توان به تمام مولفه هاي يک petri netاضافه نمود.از جمله : Transitions selection of paths waiting in places Inhibitors .... معمول ترين استفاده از زمان در transitionهاست)transition timed (. و اين به دليل معادل بودن fireشدن يک transitionواجراي يک رخداد مدلسازي مي باشد. اين نوع از transitionها با يک مستطيل يا يک tick barنمايش داده مي شوندو نامگذاري آنها با tآغاز مي شود. 114 Timed Petri net P1 t1 time T1 P2 115 cSemanti Firing -1فعال شدن transition set -2شدن timerدوره زماني به زمان.T1 -3کاهش زمان timerبه سمت صفر. Fire -4شدن transitionپس از رسيدن timerبه زمان صفرو حرکت tokenها از placeاول به placeبعدي. پيش فرض :در مدل Petri Netسرعت کاهش timerبايد براي تمام transitionها يکسان باشد. 116 Petri net .3سسه مراتبی در اواخر دهه 1980توسعه پیدا كرده است. مشخصه ها و ویژگیها در یك سیستم واقعي به پیچیده و گسترده شدن تمایل دارند. امکان جدا سازي و ساختار سلسله مراتبي در ایجاد ساختار ،بررسي و اصالح آسانتر مدل مورد استفاده قرار میگیرند. -ساختار سلسله مراتبي « ساب نت » نامیده میشوند. 117 Petri net .3سسه مراتبی 118 هر ساب نت ،بوسیله جعبه مستطیلي شكل كه در پردازنده بخشي از مدل پتري نت میباشد ،نشان داده میشود : پرسش و پاسخ 119