-
- گذارها
-
- مکانها
-
- مسیر انتخابی مورد نظر
-
- مهارکنندهها[۵۷] (ابزاری در شبکههای پتری هستند.)
لازم به ذکر است که معمولترین استفاده از زمان در گذارهاست[۵۸]. این به دلیل فایر شدن یک گذار، معادل با اجرای یک رخداد مدلسازی میباشد. این نوع از گذارها نیز با یک مستطیل ساده یا با یک خط ضخیم[۵۹] نمایش داده میشوند و نامگذاری آن ها با t آغاز میشود.
قوانین فایر شدن شبکه پتری زمانی به صورت زیر است.
-
- فعال شدن گذار
-
- تنظیم شدن تایمر[۶۰] به اندازه دوره زمانی، مثلاً به میزان زمان T1
-
- کاهش زمان تایمر به سمت صفر
-
- فایر شدن گذار پس از رسیدن تایمر به زمان صفر و حرکت توکنها از مکان اول به مکان بعدی
لازم به ذکر است که در مدل شبکه پتری به طور پیشفرض سرعت کاهش تایمر برای تمام گذارها یکسان است.
شبکه پتری سلسله مراتبی
شبکه پتری سلسله مراتبی در اواخر دهه ۱۹۸۰ توسعه پیدا کرد. مشخصه ها و ویژگیها در یک سیستم واقعی به پیچیده و گسترده شدن تمایل دارند. شبکه پتری سلسله مراتبی امکان جداسازی و ساختار سلسله مراتبی در ایجاد ساختار را فراهم میآورد و موجب بررسی و اصلاح آسانتر مدل میشود. زیر ساختارهای یک شبکه سلسله مراتبی، زیر شبکه[۶۱] نامیده میشوند. هر زیر شبکه، به وسیلهی یک جعبه مستطیل شکل که در پردازنده به عنوان بخشی از مدل شبکه محسوب میگردد، نشان داده میشود.
در شکل ۴-۱۸، مثالی از یک شبکه پتری سلسله مراتبی را مشاهده مینمایید.
۲
۴
۲
شکل ۴-۱۸- شبکه پتری سلسله مراتبی
در شکل ۴-۱۹، مثالی از مدلسازی مسئله ممانعت دو جانبه یا همان انحصار متقابل در نرمافزارهای کامپیوتری، با بهره گرفتن از شبکه پتری سلسله مراتبی دیده میشود.
t1
P1
section
t2
Critical
Process 1
Process 2
section
P2
Critical
شکل ۴-۱۹- مدلسازی مسئله ممانعت دو جانبه با شبکه پتری
فصل پنجم
نحوهی مدلسازی مکانیزمهای ۲PL، WW و WD با پتری رنگی
مقدمه
در این فصل نحوهی مدلسازی الگوریتمهای مورد نظر بیان شده است. تعریف مجموعههای رنگ، نشانه گذاریهای اولیه، متغیرهای موجود در مدل، شرح عملکرد توابع مدل، تعیین اولویت برای فایر شدن گذار مورد نظر از بین گذارهای فعال و سایر موارد مورد نیاز در این فصل آورده شده است.
مختصری در مورد مدلسازی مکانیزمهای ۲PL، WW و WD
در این فصل سه مورد از مکانیزمهای کنترل همروندی به نامهای، ۲PL، WW و WD با بهره گرفتن از شبکه پتری رنگی و با نرمافزار CPN Tools مدل شدهاند. مدلهای WW و WD نیز بسیار شبیه به هم هستند؛ به جز در یک تابع مربوط به بررسی قفلها. در مورد آن ها به طور مفصل توضیح داده خواهد شد.
در این فصل نحوه مدلسازیها را برای سه تراکنش توضیح دادهایم. در این فصل این مدلها برای دو تراکنش نیز مدلسازی گردیدهاند اما توضیحات کلی در مورد مدلی است که دارای سه تراکنش میباشد؛ زیرا مدلهایی که دارای سه تراکنش هستند، حالتی کلیتر دارند و به راحتی قابلیت گسترش و افزایش تعداد تراکنشها را دارا میباشند. به عبارت دیگر مدلهای طراحی شده با دو تراکنش زیر مجموعهای از مدلهای دارای سه تراکنش هستند. سپس یک مطالعه موردی ساده برای درک بهتر عملیات مثال زده و ارائه شده است. نمونهی مثال زده شده شامل سه تراکنش و دو نوع منبع است.
مدلها به صورت سلسله مراتبی در این فصل آورده شدهاند. اما به گونهای طراحی گردیدهاند که به راحتی میتوان آن ها را به صورت غیر سلسله مراتبی نوشت. به دلیل واضحتر بودن مدل سلسله مراتبی و آسانتر بودن توضیحات و بیان نحوه عملکرد، بررسیها را بر روی مدل سلسله مراتبی انجام دادهایم.
مدل ۲PL
قفل کردن یکی از مکانیزمهای کنترل همروندی است. دسترسیِ تراکنشهای همروند به دادههای مشترک، نیاز به قفل کردن دارد (Jenq, Twichell, and Keller, 1989). اما ساده قفل کردن و باز کردن قفل از اطلاعات به اشتراک گذاشته شده، توالیپذیری تراکنشها را تضمین نمیکند (a-Pashazadeh, 2012) و (b-Pashazadeh, 2012). پروتکل ۲PL یکی از پروتکلهای قفلگذاری شناخته شدهای است که اجرای توالیپذیری به صورت متعارض را برقرار میکند. اما ۲PL به تنهایی ممکن است باعث بروز بنبست شود. ۲PL محافظهکارانه یکی از انواع ۲PL است که از بروز بنبست جلوگیری میکند، اما تا حد زیادی، در ازای هزینه، سطح همروندی را کاهش میدهد (a-Pashazadeh, 2012) و (b-Pashazadeh, 2012). توضیحات کامل مربوط به مدل ۲PL در بخش ۳-۲-۸، آورده شده است.
مدلهای WW و WD
قفل کردن به همراه گاهی طرد کردن بعضی از تراکنشها، گاهی منتظر گذاشتن بعضی از آن ها و یا انجام دستوراتشان، دو نوع از مکانیزمهای کنترل همروندی به نامهای WW و WD را به همراه خواهند داشت. توضیحات کامل مدل WD در بخش ۳-۳-۲-۱، همچنین شرح جزییات مدل WW نیز در بخش ۳-۳-۲-۲، بیان شده است.
مجموعههای رنگ