چکیده

در این مقاله انواع مختلف کلاسهاي شبکههاي پتري بیان میشوند و بررسی میشود که چگونه کلاسهاي اصلی شبکههاي پتري میتوانند براي پشتیبانی سیستمها و فرآیندهاي مهندسی نیازهاي نرم افزار استفاده شوند. به طور کلی شبکههاي پتري به چهار دسته اصلی طبقه بندي میشوند که عبارتند از: شبکههاي ابتدایی، شبکههاي پتري معمولی، شبکههاي مرتبه بالاتر و شبکههاي پتري زمانی.

جداي از برخی از تفاوتهاي اساسی عمده، هر دسته داراي یک استفاده خاص براي مهندسی سیستم و مهندسی نرم افزار است که در نتیجه به وضوح میتوانند به مسائل مهندسی نیازها کمک کنند. در این مقاله تفاوت اصلی بین این دسته بنديها به طور خلاصه توضیح داده شده است. همچنین نشان داده شده که چگونه کلاسهاي شبکه پتري میتوانند در یک رویکرد نیمه ساختاریافته مناسب باشند. استفاده از این کلاسها براي تجزیه و تحلیل و طراحی طیف وسیعی از انواع سیستمها بسیار مفید است. مطالعه مورد سادهاي از یک دستگاه فروش اتوماتیک براي نشان دادن این کار استفاده میشود. در نهایت هم، به طور کامل روابط بین کلاس ها و چگونگی تبدیلشان به شبکه هاي پتري زمانی مورد بررسی قرار گرفته است.

واژههاي کلیدي: شبکه پتري، شبکههاي پتري زمانی، مهندسی نیازها، مدل سازي نرم افزار، انواع مختلف شبکههاي پتري.

-۱ مقدمه

شبکههاي پتري فرمهاي گرافیکی ویژهاي بر اساس اصول ریاضیات هستند، که بیش از سه دهه مورد استفاده قرارگرفتهاند. شبکه-

هاي پتري خواص مشترك بسیاري را با مدلسازيهاي دیگر دارند. شبکههاي پتري داراي یک هویت دوگانه هستند که میتوانند به صورت گرافیکی و غیر گرافیکی نشان داده شوند. در مقایسه با مدلسازيهاي دیگر شبکههاي پتري براي تجسم و درك ذینفعان مختلف ترجیح داده میشوند .(A. Spiteri Staines, 2010, 1)

شبکههاي پتري براي مدلسازي سخت افزار، سیستمهاي نرم افزاري، سیستمهاي ارتباطی و تولید مورد استفاده قرار میگیرد.

برخی از کاربردهاي آن شامل: تجزیه و تحلیل سیستم حمل و نقل هوشمند، تجزیه و تحلیل و طراحی انعطاف پذیر سیستمهاي تولید، مهندسی نیازهاي برنامههاي تعبیه شده، پشتیبانی از نمادهاي UML و تبدیلات آنها، تجزیه و تحلیل و برآورد عملکرد مورد نیاز شبکههاي LAN و WAN، مدلسازي معماري سخت افزار کامپیوتر، تجزیه و تحلیل سیستمهاي هیبریدي، مسیریابی شبکههاي بی سیم، برآورد عملکرد بحرانی سیستمهاي زمان واقعی، عیب شناسی، تجزیه و تحلیل گردش کار، کنترل ترافیک، مدلسازي سیستمهاي تجارت الکترونیک و غیره میشود (A. Spiteri Staines, 2008, 195) , (A. Spiteri Staines, 2009, 80) , (P. Strbac, .M. Tuba, D. Simian, 2009, 15)

شبکههاي پتري میتواند در سطوح مختلفی از انتزاع در فرآیند مهندسی نرم افزار یا سخت افزار استفاده شود. شبکههاي پتري میتواند سطوح بالایی از انتزاع را خیلی خوب مدلسازي کند چنان چه در رویکرد مفهوم مدلسازي اساسی، سطوح پایین یا سطوح بسیار پایین در منطق برنامه نویسی انجام میشود. شبکههاي پتري میتواند یک فرآیند تولید سطح بالایی را توصیف کند که از سخت افزار تا پروتکلهاي شبکه و دستورالعملهاي برنامه نویسی را تقریبا با هر زبانی مدیریت میکند (A.Spiteri .Staines,2010,1)
شبکههاي پتري را می توان براي بسیاري از مسائل مختلف در سیستم و فرآیندهاي مهندسی نرم افزار استفاده کرد. و این به این دلیل است که بسیاري از زیرکلاسهاي مختلف و یا انواع شبکههاي پتري مختلف به طور رسمی تعریف و ایجاد شده اند. با داشتن انواع مختلفی از شبکههاي پتري، مسائلی ایجاد میشود که چگونه بهترین نوع شبکه پتري را براي یک مشکل خاص انتخاب کنیم.

با وجود نقاط ضعف و مشکلات روشهاي مدلسازي رفتار در ارزیابی، استفاده از شبکههاي پتري بسیار مورد توجه قرار گرفته است. شبکه پتري، مبتنی بر نظریه گراف بوده و با استفاده از قواعدي منطقی جریان فعالیتها در سیستم را نمایش میدهد، چارچوب ریاضی شبکه پتري سبب می شود تا توانایی تحلیل، تایید، صحت و ارزیابی مدلها را داشته باشد.

-۲ مفاهیم

نظریه شبکههاي پتري توسط Carl Adam Petri در سال ۱۹۶۲ در رساله دکتري ایشان ارائه شد. او از شبکههاي پتري براي نمایش ارتباطات علت و معلول استفاده نمود. شبکههاي پتري در طول زمان کاملتر شدند و مفاهیم کاربرديتر و جدیدتري به مفاهیم مورد استفاده آن افزوده شد. از جمله این مفاهیم میتوان به افزوده شدن زمان قطعی، زمان تصادفی و رنگ اشاره نمود.

برخی از این مفاهیم منجر به تولید شبکههاي خاصی شدند که از آن جمله میتوان به شبکههاي پتري رنگی اشاده نمود(.( NAUBER, DR. WALTER, 2012, 9
هر مدل شبکه پتري با استفاده از سه عنصر مدل میشود: مکانها که حالت سیستم را نشان میدهند، انتقالها که رویدادهایی را که سبب تغییر حالت سیستم میشوند را نشان میدهند و کمانها که ارتباط بین حالات را نشان میدهند. همچنین در هنگام

١

نمایش اجراي شبکه پتري نشانه براي بیان وضعیت فعلی شبکه پتري استفاده میشود. در واقع، نشانهها در مکانها قرار میگیرند.

از کنار هم قرار دادن و اتصال این اجزا گراف شبکه پتري تشکیل میشود که قوانین خاص خود را دارد. شکل((۱ عناصر شبکه پتري و ارتباطات بین آنها را نمایش میدهد.

شکل((۱ عناصر شبکه پتري و ارتباطات بین آنها

‐۳ فرمولاسیون مسئله

پیدا کردن یک نوع درست از شبکههاي پتري براي مساله کار آسانی نیست. به این دلیل که انتخاب کلاس صحیح و نوع ایجاد یک مساله پیچیده است. و این پیچیدهتر میشود با این حقیقت که نیازهاي ابتدایی در مراحل اولیه طراحی ممکن است براي مراحل بعدي طراحی منسوخ شوند. براي توضیح این موضوع: به عنوان مثال، اگر یک سیستم خاص را در نظر بگیریم، در ابتدا یک مدل شبکه پتري ساده میتواند به طور کلی براي ذینفعان سیستم کافی باشد. اما در مرحله طراحی مهندسی سیستم، نیاز به یک مدل عملکرد پیچیده براي روشن شدن را وارد میکند. یعنی یک شبکه پتري رنگی زمانی، مورد نیاز است. این به این معنی است که اگر ما یک مدل شبکه پتري ساده داشته باشیم، این مدل براي نیازهاي با جزئیات بیشتر مفید نیست. از سوي دیگر اگر یک مشکل ساده و سر راست وجود داشته باشد، مدلسازي آن با استفاده از یک شبکه پتري پیچیده ناموجه است (A. Spiteri Staines, 2010, .2)

شبکههاي پتري چهار دسته اصلی هستند: شبکههاي ابتدایی، شبکههاي پتري معمولی، شبکههاي پتري مرتبه بالاتر و شبکه-

هاي پتري زمانی. این دستهها تقسیم بنديهاي بیشتري دارند که میتواند کاملا پیچیده باشد و در اینجا بدان پرداخته نمیشود.
به طور کلی کلاسهاي دقیقتر و یا پیچیدهتر براي مدلسازي مشکلهاي بسیار خاص مناسب هستند.