در این مقاله قصد داریم به موضوع نگاشت BPMN به Petri net بپردازیم. برای نگاشت BPMN به Petri net ابتدا باید در مورد رابطه Petri net و درست بودن مدل فرایندی صحبت کرد. همان طور که در مقاله قبلی اشاره شد Petri net، ابزار رسمی برای تعیین دقیق ویژگی های درست بودن مدل های فرایند می باشد و هدف این است که با استفاده از نمودار در دسترس پذیری، درست بودن Petri net تشخیص داده شود. اما تاکنون Petri net با استفاده از BPMN مدل سازی شد و بین نمادهای استفاده شده در Petri net و BPMN تفاوت هایی وجود دارد که در یک سمت مدل های فرایند BPMN وجود دارد که قصد داریم آن را تحلیل کنیم و در سمت دیگر تکنیک ها و نمادهایی وجود دارد که در Petri net استفاده می شوند. پس فاصله ای بین Petri net و BPMN وجود دارد که در این مقاله قصد داریم فاصله بین آنها را از بین ببریم که همان نگاشت BPMN به Petri net می باشد. در واقع نگاشتی از زیر مجموعه BPMN که از آن استفاده نمی شود. سپس با استفاده از نمودار در دسترس پذیری Petri net، ویژگی های 1، 2 و 3 صحت مدل سازی فرایند بررسی می شود و می توان درست بودن فرایند را تحلیل کرد. همچنین باید درست بودن ساختار Petri net نیز بررسی شود. شرایط درست بودن Petri net از نظر ساختار به شرح زیر می باشد:
• اگر یک مکان ورودی اولیه i داشته باشد که برای آن هیچ فلش ورودی وجود ندارد.
• اگر یک مکان ورودی پایانی o داشته باشد که برای آن هیچ فلش خروجی وجود ندارد.
• هر گره در شبکه در مسیر مستقیم i تا o قرار گرفته باشد.
• Petri net دارای یک شبکه جریان کار می باشد.
که شرایط 1 تا 3 همان ویژگی هایی هستند که در درست بودن ساختار مدل فرایندی استفاده شدند.
نحوه نگاشت BPMN به Petri net به چه صورت انجام می شود؟
برای نگاشت BPMN به Petri net بهتر است فعالیت ها، رویدادها و درگاه های مدل فرایندی به زیر شبکه ها نگاشت شوند تا از این ساختارها، از مکان ها و انتقال های موجود در Petri net استفاده کرد. مانند استفاده فعالیت ها و انتقال ها برای بررسی سفارش، این زیر شبکه های به گونه ای به هم متصل هستند که نشان دهنده رفتار مدل های فرایند کسب و کار می باشند. رویدادهای میانی و وظایف نیز به صورت انتقال نگاشت می شوند. لازم به ذکر است که ساختارهای دو بخشی Petri net به انتقال های بیشتری نیاز است مانند انتقال فعالیت ها و یا رویدادهای میانی مرتبط با مدل فرایند که به این انتقال ها، انتقال بی صدا (silent) نامیده می شوند زیرا در مدل فرایندی نمایش داده نمی شوند، در صورتی که باید در مدل فرایندی نمایش داده شوند. همچنین در نگاشت BPMN به Petri net نه تنها رویدادهای میانی بلکه رویدادهای آغازین و پایانی نیز مانند انتقال ها و وظایف نشان داده می شوند.
چندین قوانین در مورد نگاشت BPMN به Petri net:
در این قسمت قصد داریم به چندین قوانین در مورد نگاشت BPMN به Petri net اشاره کنیم که به شرح زیر می باشد:
1. جهت نگاشت BPMN به Petri net اجرای یک فعالیت با شروع یک انتقال نمایش داده می شود.
در شکل فوق، T فعالیت یا وظایف فرایند و x و y نتیجه BPMN یا بخشی از Petri net که به بقیه فرایند وصل می شود. در سمت راست شکل بالا جهت نگاشت BPMN به Petri net وظیفه T به صورت انتقال نشان داده شده است. اما عملکرد فعالیت و انتقال در petri net با یکدیگر متفاوت است بدین صورت که فعالیت ها اتفاق افتادنی هستند یعنی فعالیت هایی که اجرا، فعال یا شروع می شوند و در یک از نقطه از زمان به پایان می رسند اما انتقال ها در لحظه اتفاق می افتند پس تمام اتفاقات شامل فعالیت هایی هستند که حالت یک سیستم را تغییر می دهد و درست مانند یک وظیفه عمل می کند اما با این تفاوت که نیاز به زمان ندارند ولی انتقال در Petri net یک دفعه ظاهر می شود و حالت انتقال از آماده به پایان رفته می رود.
2. برای رویدادها جهت نگاشت BPMN به Petri net بهتر است به موارد زیر توجه کنید:
رویدادهای آغازین (Start Events): رویدادهای آغازین توسط یک قطعه نمایش داده می شوند و سمت چپ شکل زیر رویداد آغازین در BPMN را نشان می دهد که به سمت در حال آماده می باشد. در سمت راست شکل مکان ورودی i وجود دارد که وقوع رویداد آغازین با انتقال S نشان داده می شود. پس وقتی فرایند شروع شود،به صورت یک انتقال در Petri net انجام می شود و Petri net شروع یک نمونه فرایند را بازتاب می کند.
رویداد میانی (Intermediate Event):
آن چه که قرار است در رویداد میانی رخ دهد توسط انتقال نشان داده می شوند که شروع انتقال e می باشد. اگر فعالیت های قبلی کامل شده باشد، رویداد میانی اتفاق می افتد. معمولا از رویداد میانی صرف نظر می شود تا پیام دریافت شود و تا زمانی که پیام دریافت نشده است نمی توان در سطح رسمی به آن رسیدگی کرد و فرض می شود که رویدادهای میانی همیشه اتفاق می افتند زیرا فقط می توان رفتار مدل فرایند خاصی را تحلیل کرد نه تمام محیط مدل فرایندی. پس فرض می شود محیط همان طور که مشخص شده است، رفتار می کند تا بتوان رویداد میانی را به صورت انتقال نگاشت کرد.
رویداد پایانی (End Event):
رویداد پایانی به صورت مکان خروجی o یا آخرین مکان در Petri net نمایش داده می شود.
3.همچنین Petri net به خوبی رفتار ادغام کننده و جداکننده ها را نشان می دهد. جهت نگاشت BPMN به Petri net برای درگاه ها به موارد زیر توجه کنید.
جهت نگاشت BPMN به Petri net جداکننده AND به صورت رفتار عادی یک انتقال نمایش داده می شود و وقتی یک انتقال فعال شود، یک علامت در مکان خروجی آن قرار می گیرد.
نگاشت BPMN به Petri net ادغام کننده AND نیز به صورت یک انتقال نمایش داده می شود. اگر کلیه جریان های توالی ورودی فعال باشند ادغام کننده AND شروع می شود. در Petri net نیز چنین رفتاری را عمل می کند و اگر هر مکان ورودی A’ یک علامت داشته باشد در آن لحظه انتقال فعال می شود و علامت در مکان خروجی قرار می گیرد.
جهت نگاشت BPMN به Petri net می توان درگاه انحصاری جداکننده XOR را با دو انتقال نشان داد. اگر فرض کنید یک علامت در مکان ورودی x وجود دارد و D1 شروع می شود که یک علامت در مکان خروجی آن قرار می گیرد اما علامت موجود در مکان ورودی پاک می شود پس D2 نمی تواند شروع شود.
لازم به ذکر است که رفتار ادغام کننده XOR را جهت نگاشت BPMN به Petri net می توان با دو انتقال نشان داد. اگر فرض کنید که یک x1 در سطح BPMN فعال شود به این معناست که در مکان ورودی x1 یک علامت وجود دارد که D1 می تواند شروع شود و سپس یک علامت در مکان خروجی ظاهر می شود که فرایند ادامه پیدا می کند.
حال قصد داریم قوانین گفته شده نگاشت BPMN به Petri net را در یک مثال نشان دهیم. بنابراین جهت درک عمیق مفاهیم نگاشت BPMN به Petri net به مثال زیر توجه کنید.
امید است که مطالعه این مقاله در مورد نگاشت BPMN به Petri net برای شما خوانندگان گرامی مفید واقع شود.
آغازگر غیر رسمی Petri net
بدون دیدگاه