Download presentation
Presentation is loading. Please wait.
1
بسمهتعالي فصل چهاردهم شبکههاي پتري
2
اهداف جلسه مفاهيم شبکههاي پتري کاربردهاي شبکههاي پتري
آشنايی با عناصر شبکه پتري خصوصيات شبکههاي پتري آشنايي با انواع شبکههاي پتري كاربرد شبكههاي پتري در مهندسي نرمافزار
3
مدلسازي رفتار سيستم براي نمايش رفتار سيستم از مجموعهاي از مدلها و ابزارها استفاده ميشود روش مدلسازي تاثير مستقيمي بر ارزيابي مدل دارد هر چه مدل داراي عناصر بيشتري باشد، ارزيابي دشوارتر ميشود در صورتيکه مدل از پشتوانه رياضي برخوردار باشد، ارزيابي سادهتر خواهد شد
4
مدلسازي رفتار سيستم (ادامه)
سه روش براي مدلسازي رفتار وجود دارد نمودار حالت (Statechart) و نمودارهاي UML نمودار انتقال حالت (State Transition Diagram) شبکههاي پتري (Petri Net)
5
نمودار انتقال حالت در اين روش سيستم توسط مجموعهاي از حالات نشان داده ميشود که رويدادهاي خارجي سبب حرکت روي حالات ميشوند با توجه به اينکه اغلب سيستمها داراي حالات مختلف هستند، نمودار انتقال حالت بزرگ و پيچيده خواهد شد اين نمودار داراي دو عنصر حالت و انتقال است
6
نمودار انتقال حالت (ادامه)
مثالي از کامپايل برنامه Compiling stop run Compiled error Events Start stop success finished stop Pausing Running pause resume Events hiccup no events Events Executing
7
نمودار انتقال حالت (ادامه)
مشکلات نمودار انتقال حالت وقتي تعداد حالات و رويدادها افزايش يابد، پيچيدگي بهصورت تصاعدي افزايش مييابد ابهام در نمودار سبب افزايش پيچيدگي و تضعيف ارزيابي ميشود با توجه به عدم وجود پشتوانه رياضي توانايي ارزيابي کامل نمودار وجود ندارد
8
شبکه پتري با وجود نقاط ضعف و مشکلات روشهاي مدلسازي رفتار در ارزيابي، استفاده از شبکههاي پتري بسيار مورد توجه قرار گرفته است شبکه پتري، مبتني بر نظريه گراف بوده و با استفاده از قواعدي منطقي جريان فعاليتها در سيستم را نمايش ميدهد چارچوب رياضي شبكه پتري سبب ميشود تا توانايي تحليل، تاييد صحت و ارزيابي مدلها را داشته باشد
9
شبکه پتري (ادامه) شبكه پتري قادر به توصيف سيستمهايي است كه شامل مجموعهاي از رخدادهاي گسسته و پراكنده هستند، از جمله همزماني و تعارض ترتيبها، شاخههاي شرطي و چرخهها همگامسازي (Synchronization) اشتراک منابع محدود و انحصار متقابل الگوهاي مخابراتي، کنترلي و جريانهاي اطلاعاتي
10
تاريخچه شبکه پتري رساله دكتراي آقاي كارل آدام پتري براي نمايش ارتباط علت و معلول (Cause and Effect) در آلمان در سال 1962 بسط تئوري در دانشگاه MIT در دهه 1970 كنفرانس پترينت و روشهاي مرتبط در سال 1975 افزوده شدن زمان قطعي (deterministic time) افزوده شدن زمان تصادفي (stochastic time) شبکه پتري رنگي (Colored Petri Net)
11
عناصر شبکه پتري هر مدل شبكه پتري با استفاده از سه عنصر مدل ميشود
مكان (Place): حالت سيستم را نشان ميدهند انتقال (Transition): رويدادهايي را که سبب تغيير حالت سيستم ميشوند را نشان ميدهند كمان (Arc): ارتباط بين حالات را نشان ميدهند در هنگام نمايش اجراي شبکه پتري از نشانه (Token) براي بيان وضعيت فعلي شبکه پتري استفاده ميشود نشانهها در مکانها قرار ميگيرند
12
عناصر شبکه پتري (ادامه)
Place p1 t2 p2 t1 Token Arc Transition
13
تعريف شبکه پتري يک شبکه پتري مجموعهايست از (P,T,I,O,M) که
14
تعريف شبکه پتري (ادامه)
کمان ورودي به کماني گفته ميشود که از مکان به يک انتقال وارد ميشود و نشاندهندة شرطي است که بايد برآورده شود تا رويداد اتفاق بيفتد کمان خروجي به کماني گفته ميشود که از انتقال به مکان وارد ميشود و نشاندهندة شرايط حاصل از وقوع رويداد است
15
تعريف شبکه پتري (ادامه)
حرکت در شبکه پتري برداري است به اندازه تعداد نشانهها وقتي مکان ورودي به يک انتقال به اندازه مورد نياز نشانه داشته باشد، آن انتقال فعال است وقتي انتقالي فعال باشد، ميتواند شليک شود (رويداد اتفاق ميافتد)که در اينصورت يک نشانه از هر مکان ورودي کم شده و يک نشانه به مکان خروجي افزوده ميشود (m1 m2 … mP) ; P = # of Places
16
تعريف شبکه پتري (ادامه)
17
نكات ضمني تعريف شليك شدن بهصورت اتوماتيك انجام ميشود
پس از فعال شدن انتقال ممكن است كه چند انتقال فعال شوند، اما در هر زمان تنها يك شليك انجام ميشود شبكه ايستا است حالت شبكه با توزيع نشانهها در مكانها نمايش داده ميشود حركت نشانهها و شليك شدن سبب ايجاد حالتهاي مختلف ميشوند
18
نكات ضمني تعريف (ادامه)
انواع حالات حالت اوليه (Initial State): توزيع اوليه نشانهها حالت قابل دستيابي (Reachable State): حالت قابل دستيابي از حالت اوليه حالت نهايي (Final State): حالتي كه هيچ انتقالي فعال نباشد (حالت مرده) حالت خانه (Home State): حالتي كه همواره امكان بازگشت به آن وجود داشته باشد از هر حالتي قابل دستيابي است
19
نمونه ساختارهاي شبکه پتري
توالي رويدادها/عمليات اجراي همزمان e1 e2 e3 e1 e2 e3 e4 e5
20
نمونه ساختارهاي شبکه پتري (ادامه)
رويدادهاي غيرقطعي بسته به شرايط يکي از مسيرها انتخاب ميشود e1 e2 e3 e4
21
نمونه ساختارهاي شبکه پتري (ادامه)
هماهنگسازي e1
22
نمونه ساختارهاي شبکه پتري (ادامه)
هماهنگسازي و همروندي e1
23
نمونه مدلسازي رفتار با شبکه پتري
توليدکننده – مصرفکننده حاضر p1 t1 توليد بيکار ارسال p2 t2 ذخيره t3 t4 p4 p5 پذيرش پذيرفته شده مصرف آماده توليدکننده مصرفکننده
24
نمونه مدلسازي رفتار با شبکه پتري
ماشين فروشنده نوشابه دو نوع نوشابه 1500 و 2000 ريالي موجود است فقط سکههاي 500 و 1000 ريالي پذيرفته ميشود سکه پس داده نميشود!
25
نمونه مدلسازي رفتار با شبکه پتري (ادامه)
نمودار انتقال حالت صفر 500 ريال 1000 ريال 1500 ريال 2000 ريال پرداخت 500 ريال پرداخت 1000 ريال پرداخت 500 ريال دريافت نوشابه 2000 ريالي دريافت نوشابه 1500 ريالي
26
نمونه مدلسازي رفتار با شبکه پتري (ادامه)
500 ريال دريافت نوشابه 1500 ريالي پرداخت 500 ريال صفر پرداخت 1000 ريال دريافت نوشابه 2000 ريالي 1000 ريال 2000 ريال 1500 ريال
27
نمونه مدلسازي رفتار با شبکه پتري (ادامه)
500 ريال دريافت نوشابه 1500 ريالي پرداخت 500 ريال صفر پرداخت 1000 ريال دريافت نوشابه 2000 ريالي 1000 ريال 2000 ريال 1500 ريال سناريو 1 سناريو 3 سناريو 2 1000 ريال 500 ريال 500 ريال 500 ريال 500 ريال 1000 ريال 500 ريال 500 ريال نوشابه 1500 ريالي 500 ريال نوشابه 2000 ريالي نوشابه 2000 ريالي
28
خصوصيات رفتاري شبكههاي پتري
خصوصياتي كه به حالت اوليه بستگي دارند Reachability آيا همه حالتها اجرا ميشوند؟ حالت Mn قابلدستيابي از حالت M0 است، اگر ترتيبي از شليكهايي وجود داشته باشد كه از M0 شروع شده و به Mn برسد وجود حالتهاي غيرقابل دستيابي نشان ميدهد كه قسمتهايي از مسئله بهدرستي درك و مدلسازي نشده است
29
خصوصيات رفتاري شبكههاي پتري (ادامه)
Boundedness and Safeness در صورتيكه تعداد نشانهها در هر مكان قابل دستيابي از حالت اوليه، از تعداد خاصي كمتر باشد به آن شبكه كراندار گويند در صورتيكه تعداد نشانهها K باشد به آن شبكه k-bounded گويند شبكه 1-bounded را شبكه مطمئن (Safe) گويند در صورتيكه شبكه مطمئن ميباشد ميتوان اطمينان حاصل كرد كه با هر ترتيبي از شليكها، سر ريز در ثبّاتها و بافرها بهوجود نميآيد
30
خصوصيات رفتاري شبكههاي پتري (ادامه)
Liveness در صورتي شبكه پتري زنده (Live) است كه بتوان هر حالت را با ترتيبي از شليكهاي مناسب فعال نمود زندهبودن شبكه پتري معادل بدون بنبست بودن است شبكههاي پتري داراي سطوح مختلف زندهبودن هستند (L0 = مرده، L1، L2، L3، L4 = زنده)
31
خصوصيات رفتاري شبكههاي پتري (ادامه)
Reversibility يك شبكه پتري معكوسپذير است اگر براي هر حالت Mn كه از M0 قابل دستيابي است، M0 نيز از Mn قابل دسترسي باشد در صورتي Ḿ حالت خانه (Home State) است اگر براي هر حالت M قابل دستيابي از M0، Ḿ از M قابل دستيابي باشد Persistence يك شبكه پتري ماندگار است اگر در هر انتقال دوتايي، شليك شدن يكي سبب غيرفعال شدن ديگري نشود
32
خصوصيات رفتاري شبكههاي پتري (ادامه)
Fairness آيا چرخه بينهايت در شبكه وجود دارد؟ هر انتقال سرانجام شليك ميشود و انتقالي وجود ندارد كه شليك نشود Bounded-Fairness: اگر تعداد دفعاتي كه يك انتقال ميتواند شليك شود در حاليكه انتقال ديگر شليك نشده باشد، محدود باشد Unbounded-Fairness: اگر تعداد دفعاتي كه يك انتقال ميتواند شليك شود در حاليكه انتقال ديگر شليك نشده باشد، نامحدود باشد
33
زيرنوعهاي شبكه پتري Ordinary PNs State machine Marked graph
Free-choice Extended free-choice Asymmetric choice (or simple)
34
زيرنوعهاي شبكه پتري (ادامه)
PN AC EFC FC SM MG
35
شبکههاي پتري رنگي اين نوع شبكهها امكان مدلسازي دقيقتر و جزئيتري را از فرآيندهاي غيرهمزمانِ پيچيده ميدهند نشانهها ميتوانند با هم متفاوت باشند، بطوريكه به هر نشانه خصوصيتي بنام رنگ اضافه ميشود كمانها ميتوانند شامل عبارات رياضي باشند كه از تركيب مجموعههاي رنگ و متغيرهاي مربوط به آنها تشكيل ميشوند
36
شبکههاي پتري رنگي (ادامه)
گارد (Guard)، يک عبارت بولي است که به يک انتقال منتسب ميشود و شرايطي براي فعالشدن کمان ورودي ايجاد مينمايد در شبکه پتري رنگي هر يک از مکانها، کمانها و انتقالات ميتوانند بسته به رنگي که دارند، داراي گارد مخصوص به خود باشند
37
شبکههاي پتري رنگي (ادامه)
وقتي حاصل گارد «درست» باشد، عمليات انجام ميشود p1 tk (tk) = #P1<2 & #P2=0 p2
38
نمونه شبکه پتري رنگي p1 p2 p3 p4 p5 t2 t3 t4 t1 red blue red
39
زمان در شبکه پتري ميتوان به هر نشانه، مقداري زماني منتسب کرد، که به اين مقدار زماني زمانمهر (Timestamp) گفته ميشود زمانمهر بيانگر اولين زماني است که پس از برآورده شدن وروديها، نشانه ميتواند شليک شود وقتي انتقال در حالت آماده است که زمان نشانههاي مکانهاي ورودي انتقال کوچکتر و يا مساوي با زمان فعلي باشند و وقتي اين زمان بيشتر باشد، شليک انجام ميشود
40
زمان در شبکه پتري (ادامه)
شبکههاي پتري تصادفي (stochastic) گونه خاصي از شبکههاي پتري زماني هستند که زمان آنها يک متغير تصادفي است نسخههاي متفاوتي از شبکههاي پتري تصادفي وجود دارند که براي مدلسازي در تئوري صفها (Queue Theory) مورد استفاده قرار ميگيرند
41
كاربرد شبكه پتري در مهندسي نرمافزار
براي ارزيابي محصولات مهندسي نرمافزار مانند نمودار مورد كاربري، ترتيبي، فعاليت ميتوان از شبكههاي پتري استفاده نمود شبكه پتري ميتواند براي اغلب نمودارهاي UML بكار گرفته شود محصولات UML با اجراي الگوريتمهايي به شبكه پتري تبديل ميشوند خصوصيات كيفي كارايي و قابليت اطمينان از جمله مهمترين خصوصياتي هستند كه با تبديل نمودارها به شبكه پتري بهصورت كمي مورد ارزيابي قرار ميگيرند
42
كاربرد شبكه پتري ... (ادامه)
يافتههاي پژوهشهايي كه در زمينه تبديل نمودارهاي UML به شبكه پتري صورت گرفته است براي ارزيابي كارايي و قابليت اطمينان، اطلاعات اضافي به توصيفات معماري اضافه ميشود روشهاي كمي نتايج را به توصيفات معماري بازخورد ميدهند بيشتر روشها از سطح خودكارسازي بالايي برخوردار هستند بيشتر روشها اجتماع مدل نرمافزار با مدل شبكه پتري را در سطح متوسط انجام ميدهند
43
تبديل نمودار موارد كاربري
تبديل هر يك از موارد كاربري و عاملها هر كاربر و مورد كاربري به يك مكان نگاشت ميشوند ورودي هر مكان، انتقالي با يك گارد است گارد شرط مربوط به صدا زدن مورد كاربري توسط كاربر را نشان ميدهد يك انتقال براي برگشت نيز وجود دارد مكان مربوط به هر مورد كاربري با شبكه پتري حاصل از نمودار ترتيبي آن جايگزين ميشود اين مكانها با دايره توپر نشان داده ميشوند، تا از ساير مكانها مجزا شوند
44
تبديل نمودار موارد كاربري (ادامه)
نمونه تبديل مورد كاربري به شبكه پتري User Register User Register t1 t2
45
تبديل نمودار موارد كاربري (ادامه)
نمونه تبديل رابطه Uses Check UserID << uses >> User Register User Register Check UserID
46
تبديل نمودار ترتيبي بهازاي هر پيام موجود در نمودار ترتيبي، مولفههاي فرستنده و گيرنده آن به يك زيرسيستم شبكه پتري تبديل ميشوند تبديل پيامهاي ناهمگام تبديل پيامهاي همگام شبكههاي پتري حاصل، مطابق با ترتيب و ارتباط بين پيامها ادغام ميشوند در نهايت براي شبكه پتري حاصل، نشانهگذاري اوليه انجام شود
47
تبديل نمودار ترتيبي (ادامه)
ساختار ترتيب
48
تبديل نمودار ترتيبي (ادامه)
ساختار انتخاب
49
تبديل نمودار ترتيبي (ادامه)
ساختار توازي
50
تبديل نمودار ترتيبي (ادامه)
ساختار تكرار
51
تبديل نمودار مولفه هر يك از مولفهها بهصورت مجزا به شبكه پتري تبديل ميشوند شبكههاي پتري حاصل مطابق با نوع ارتباط بين مولفهها با هم تركيب ميشوند رفتار هر مولفه با عبارت مسير (Path expression) نشان داده ميشود ترتيب ميان عمليات يك مولفه فرض بر اين است كه كليه عمليات انجام شده بوسيله هر مولفه، ترتيب فراخواني آنها و دفعات اجرا و انتخاب اين عمليات مشخص است در نهايت براي شبكه پتري حاصل، نشانهگذاري اوليه انجام شود
52
تبديل نمودار مولفه به شبكه پتري (ادامه)
عملگرهاي عبارت مسير ؛ ترتيب اجراي عمليات عملگر ، انتخاب يك عمل از بين مجموعهاي از عمليات + تكرار يك يا بيشتر عمليات و عملگر * تكرار صفر يا بيشتر عمليات و عملگر || اجراي موازي عمليات ( ) عملگر مورد نظر بر كل عمليات داخل پرانتز اعمال ميشود
53
تبديل نمودار مولفه به شبكه پتري (ادامه)
نمونهاي از نمودار مولفه پالايش شده با عبارات مسير رفتار مولفه به نمودار مولفه اضافه شده است
54
تبديل نمودار مولفه به شبكه پتري (ادامه)
ساختار ترتيب (عملگر ؛)
55
تبديل نمودار مولفه به شبكه پتري (ادامه)
انتخاب (عملگر ،)
56
تبديل نمودار مولفه به شبكه پتري (ادامه)
ساختار موازي (عملگر ||)
57
تبديل نمودار مولفه به شبكه پتري (ادامه)
ساختار تكرار (عملگر *)
58
مثال ATM نمودار موارد كاربري
59
مثال ATM (ادامه) شبكه پتري معادل نمودار موارد كاربري
60
مثال ATM (ادامه) نمودار ترتيبي
61
مثال ATM (ادامه) شبكه پتري معادل نمودار ترتيبي
62
مثال ATM (ادامه) نمودار مولفه پالايش شده با عبارت مسير
63
مثال ATM (ادامه) شبكه پتري معادل با نمودار مولفه
64
كاربرد شبكه پتري در مدلسازي فرآيند
مزاياي استفاده از شبكههاي پتري در نمايش رفتار فرآيند بيان صريح حالات و عمليات فرآيند ارائه يك مدل اجرايي از فرآيند با استفاده از شبكه پتري نمايش دقيق پيششرطها و پسشرطهاي عمليات مدلسازي سادهتر و دقيقتر قابليت ارزيابي و رفع مشكلات
65
پرسش و پاسخ
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.