در مقاله قبلی تحت عنوان بررسی صحت ساختار به موضوع صحت فرایند پرداختیم. حال در این مقاله قصد داریم به صورت واضح تر و پیوسته تر به توضیح بررسی صحت مدل سازی فرایند بپردازیم. در بررسی صحت ساختار فرایند به سه ویژگی اشاره شد که بسیار مهم هستند و همگی آنها باید وجود داشته باشند تا یک مدل فرایند صحیح باشد. البته با فرض این که مدل های فرایند از نظر ساختار درست طراحی شده اند. حال ویژگی های صحت مدل سازی فرآیند به شرح زیر می باشد:
1) زمانی که یک فرایند شروع می شود، بدون در نظر گرفتن این که کدام تصمیمات توسط فرایند گرفته شده است، پس از طی زمانی، فرایند به رویداد پایانی o یا End Event o می رسد.
2) زمانی که فرایند به رویداد o می رسد یعنی فرایند به صورت کامل به پایان رسیده است و هیچ فعالیت دیگری نمی تواند توسط فرایند اجرا شود.
3) هر فعالیت فرایند حداقل در یک مسیر اجرا فرایند شرکت می کند.
لازم است بدانید که صحت مدل سازی فرایند یک معیار کلی می باشد و شبیه به فرم های عادی در پایگاه داده است. فرم های عادی در پایگاه داده بسیار شبیه به صحت فرایند هستند و از این نظر که می توان صحت فرایند را در سطح مدل نشان داد و این ویژگی نیز در سطح نمونه برای تمام نمونه های فرایند برقرار است. پس کافی است فقط یک بار این ویژگی را برای مدل فرایند نشان داد و سپس دیگر لازم نیست که هر نمونه فرایند را بررسی کرد. اگر فرایند مطابق با آن ویژگی درست باشد می توان نتیجه گرفت که مدل فرایندی به صورت خودکار درست می باشد. از این رو صحت مدل سازی فرایند بسیار شبیه به فرم های عادی در پایگاه داده می باشد و اگر نشان داده شود که طرح و الگوی پایگاه داده در حالت و فرم نرمال است پس ناهنجاری هایی در پایگاه داده رخ نمی دهد.
بررسی ویژگی های صحت مدل سازی فرایند :
حال قصد داریم هر سه ویژگی صحت مدل سازی فرایند را با استفاده از مثال زیر بررسی کنیم.
ویژگی اول صحت مدل سازی فرایند بیان می کند که بدون در نظر گرفتن کدام تصمیمات گرفته شده توسط فرایند از حالت شروع i می توان به رویداد پایانی رسید که این ویژگی در مدل فرایندی فوق انجام پذیر است. ویژگی دوم صحت مدل سازی فرایند نیز بیان می کند که اگر فرایند به حالت پایانی o برسد پس مدل فرایند به صورت کامل به پایان رسیده است و خاتمه می یابد و هیچ فعالیت دیگری رخ نمی دهد. همچنین می توان این ویژگی را با توجه به راهنمای مدل سازی انجام داد. پس وقتی که پردازش اتفاق صورت گیرد رویداد رخ می دهد و می توان اطمینان حاصل نمود که سایر فعالیت ها اتفاق نمی افتند و هیچ فعالیتی در فرایند از قلم نیفتاده است. ویژگی سوم صحت مدل سازی فرایند بیان می کند که تمام فعالیت ها می توانند در این فرایند شرکت کنند که این ویژگی نیز در مدل فرایندی فوق قابل مشاهده است ولی تمام رویدادها یا فعالیت ها لازم نیستند که اتفاق بیفتند اما فعالیت ها باید در هر نمونه فرایند که با i شروع می شود و به o می رسد. اما ممکن است وقتی فرایند به رویداد پایانی o می رسد به طور رسمی در حالت بن بست قرار بگیرد. بن بست شرایطی می باشد که در آن لحظه فرایند و یا سیستم نمی توانند به راه خود ادامه دهد و از آن جا شرایط بن بست در فرایند در رویداد پایانی o کاملا عادی می باشد، صحت مدل سازی فرایند را نقض می کند. رفتار فرآیند
تشخیص صحت مدل سازی فرایند :
با شناخت رفتار درست فرایند می توان رفتار نادرست فرایند را تشخیص داد و با نقض هر یک از سه ویژگی صحت مدل سازی فرایند می توان نادرستی فرایند را تشخیص داد. حال قصد داریم در مورد نقض هر یک از سه ویژگی صحت مدل سازی فرایند صحبت کنیم که به شرح زیر می باشد:
• نقض ویژگی اول صحت مدل سازی فرایند: یعنی فرایند نمی تواند به رویداد پایانی o برسد و قبل از آن متوقف می شود یا اگر بن بست (Deadlock) قبل از رسیدن به رویداد o بیفتد.
• نقض ویژگی دوم صحت مدل سازی فرایند: یعنی پس از رسیدن به رویداد o فعالیتی باقی بماند. به عبارتی وقتی فرایند به فعالیت پایانی رسیده باشد ولی هنوز فعالیت های فرایند می توانند اتفاق بیفتند. یا حتی در مدل فرایندی که فعالیت ها به صورت مستمر اجرا شوند پس از این که به فعالیت پایانی o رسید.
• نقض ویژگی سوم صحت مدل سازی فرایند: فعالیت هایی ممکن است وجود داشته باشند که هیچ زمانی اجرا نمی شوند که به آنها، فعالیت های مرده (Dead Activities) گفته می شود که این فعالیت ها هرگز در نمونه های فرایند مشاهده نمی شوند و در این صورت می توان گفت که فرایند رفتار نادرستی دارد.
حال قصد داریم نقض تمام ویژگی های صحت مدل سازی فرایند را بررسی کنیم. لازم به ذکر است که نقض ویژگی اول صحت مدل سازی فرایند از نوع رسیدن به بن بست می باشد.
همان طور که قبلا گفته شد در مدل فرایندی فوق نشان می دهد که بررسی پرداخت می تواند دو خروجی را داشته باشد که اگر مقدار پرداختی نادرست باشد باید فعالیت ارسال صورت حساب به روز رسانی شده صورت گیرد که ادغام کننده XOR باید منتظر پرداخت وجه ماند. اما فرض کنید که پرداخت انجام می شود و وجه دریافت شده است. از این رو فرایند نمی تواند ادامه پیدا کند زیرا ادغام کننده AND منتظر فعال سازی هر دو فلش ورودی می ماند که در این مورد تنها یک فلش ورودی فعال شده است و نمی تواند اجرا شود. از این رو فرایند به بن بست می خورد و ناتمام می ماند. پس تصمیماتی در فرایند وجود دارد که رویداد پایانی o را محقق نمی کند و ویژگی اول را نقض می نماید.
نقض ویژگی دوم صحت مدل سازی فرایند در مورد باقی ماندن فعالیت ها یا موقعیت Livelock می باشد. اگر فرایند به رویداد o برسد یعنی فرایند به صورت کامل به پایان برسد و هیچ فعالیت دیگری توسط فرایند اجرا نمی شود. صحت مدل سازی فرایند در Petri net
در این مدل فرایند، سفارش دریافت می شود، سپس بلافاصله جداکننده XOR فلش خروجی را فعال می کند و بررسی پرداخت صورت می گیرد و برای بار اول رویداد o اجرا می شود. سپس ارسال صورت حساب به روز رسانی و دریافت وجه سفارش اجرا می شود. پس حلقه موجود در مدل فرایندی بالا بدون هیچ پایانی ادامه پیدا می کند که یک موقعیت Livelock می باشد. این حلقه از سه فعالیت تشکیل شده است و در این مدل فرایندی برای جلوگیری از بن بست از ادغام کننده XOR استفاده شده است که منجر به انجام مستمر و محدود بررسی پرداخت می شود. بنابراین مدل فرایندی بالا یک مثال خوب از Livelock می باشد که بهتر است از آن در مدل فرایندی استفاده نشود. با این وجود این مدل فرایندی از نظر نحوی و ساختاری بسیار صحیح می باشد اما با این وجود یک ناهنجاری رفتاری دارد که به دلیل استفاده نادرست از درگاه ها می باشد. پس فرایند در شرایط livelock قرار دارد، اگر ساختار کنترل جریان باعث شود که فرایند تعداد بیشماری از فعالیت ها را انجام دهد.
اما لازم به ذکر است که همیشه livelock باعث نقض ویژگی دوم صحت مدل سازی فرایند نمی شود بلکه در بسیاری از موارد برای رسیدن به رویداد پایانی فعالیت هایی در فرایند باقی می ماند زیرا ممکن است فعالیت های بیشتری در فرایند رخ می دهند که در این شرایط باید از جداکننده AND استفاده کرد که این جداکننده AND بهتر است با یک ادغام کننده XOR به پایان برسد.
اگر تایید ارسال محصول و یا دریافت وجه صورت بگیرد، فعالیت بررسی پرداخت اجرا می شود که پس از اجرای فعالیت بررسی پرداخت، رویداد پایانی رخ می دهد اما هنوز فعالیت بررسی پرداخت می تواند اتفاق بیفتد و بسته به سرعت شاخه های ادغام کننده XOR ممکن است فعالیت های بیشتری رخ دهد.
رویداد پایانی، بررسی پرداخت، تایید و ارسال محصول، بسته بندی کردن محصول، دریافت سفارش
رویداد پایانی، بررسی پرداخت، دریافت وجه سفارش، ارسال صورت حساب، دریافت سفارش
با توجه به مسیرهای فوق بررسی پرداخت ممکن است دوبار اتفاق بیفتد که هر مسیر با رویداد پایانی به پایان می رسد. پس رسیدن به رویداد پایانی نشان دهنده پایان فرایند نیست و هنوز فعالیت هایی باقی مانده است.
لازم به ذکر است که نقض ویژگی سوم صحت مدل سازی فرایند در دنیای واقعی به ندرت اتفاق می افتد، بنابراین ما در این مقاله تحت عنوان بررسی صحت مدل سازی فرایند به این موضوع نمی پردازیم.
پیش گیری استفاده از فرایندهای نادرست جهت بررسی صحت مدل سازی فرآیند :
همیشه از مدل های فرایند ساختار یافته استفاده کرد یعنی هر درگاه جداکننده به همراه یک درگاه ادغام کننده به کار گرفته می شود و هر مسیر خارج شده از درگاه جداکننده به درگاه ادغام کننده می رسد که به آن یک مدل ساختار یافته بسته (Block Structure) گفته می شود. با انجام این کار می توان مطمئن شد که حلقه ها از ساختار بسته پیروی می کنند. بنابراین استفاده از مدل های فرایند ساختار یافته بسته گویایی فرایند را محدود می کند و آن چه قرار است در فرایند توضیح داده شود، محدودتر می کند و فرد نمی تواند خروجی های مختلف را بیان کند یعنی نمی توان از رویدادهای پایانی مختلف استفاده کرد تا خروجی های مختلف را نشان داد. بنابراین به طور کلی همیشه مناسب نیست که از مدل فرایندی ساختار یافته بسته استفاده کرد. اما چگونه این محدودیت ها انتخاب های ممکن فرایند را محدود می کند؟ در این صورت دستیابی به مدل سازی فرایند قابل فهم ممکن نیست پس باید بهایی پرداخت که ممکن است سنگین باشد اما بهترین راه، استفاده از ابزارهای مدل سازی هوشمند در BPMN مانند تدوین گر فرایند Signavio می باشد که با این ابزارها می توان بررسی صحت مدل سازی فرایند را انجام داد و پیام های بازخوردی را به فرد ارائه می دهند که چرا فرایند درست نیست. پس استفاده از این ابزارها، روش خوبی برای استفاده از ویژگی های صحت مدل سازی فرایند و همچنین ویژگی ها در ابزار مدل سازی می باشد.
امید است که این مقاله تحت عنوان بررسی صحت مدل سازی فرایند برای شما خوانندگان گرامی مفید واقع شود.
بدون دیدگاه