تا کنون شما با فعالیت ها و جریان توالی بین آنها آشنا شدید اما در این مقاله قصد داریم اطلاعات مفیدی را در مورد درگاه های انحصاری و موازی در اختیار شما عزیزان قرار دهیم. با توجه به شکل زیر ممکن است برایتان سوال پیش آید که آیا محصول سفارش شده در انبار موجود است یا خیر؟ همان طور که مشاهده می کنید این فعالیت پس از وارد کردن جزئیات سفارش در سیستم IT انجام می شود. اگر محصول موجود باشد، از انبار تامین می شود و در غیر این صورت مواد مورد نیاز برای محصول بایستی تامین گردد تا محصول تولید شود. اکنون می خواهیم به موقعیتی بپردازیم که محصول در انبار موجود نیست و باید کار دیگری انجام شود.
حال قصد داریم به مقدمه ای از درگاه ها یا Gateways بپردازیم. همان طور که می دانید جریان توالی یا Sequence Flow فقط می تواند ترتیب فعالیت ها را به صورت دنباله نشان دهد که اغلب کافی نیست از این رو می تواند برای بهبود بخشیدن به مدل سازی فرایند خود از درگاه ها استفاده کرد. درگاه ها به صورت کلی با نماد شکل لوزی نشان می دهند. از درگاه ها می توان برای جدا و یا ادغام کردن جریان توالی استفاده کرد.
درگاه انحصاری (exclusive gateways ) :
در این قسمت قصد داریم درگاه انحصاری مبتنی بر داده (Data based exclusive gateway ) بپردازیم که به آن درگاه انحصاری یا XOR گفته می شود. درگاه انحصاری می تواند به عنوان گره جدا کننده و یا ادغام کننده مورد استفاده قرار بگیرد.
• گره جدا کننده XOR (XOR Split (Exclusive or split )): در این گره از بین چندین جایگزین تنها یکی انتخاب می شود. بنابراین گره XOR یک ورودی و چندین خروجی کرد. که تنها یکی از خروجی های XOR انتخاب می شود یعنی شرایط مربوط به هر یک از خروجی ها ارزیابی می شود و با استفاده از تصمیم گیری یکی از آنها انتخاب می شود.
• گره ادغام کننده XOR (XOR join (exclusive or join)): از این گره برای یکی کردن مسیر استفاده می شود. در گره ادغام کننده XOR، مسیرها از یکدیگر جدا می شوند که جایگزین های مختلفی برای مسیر وجود دارد و آنها توسط ادغام کننده XOR یکی می شوند. این واحد دارای چندین ورودی و یک خروجی می باشد.
درگاه XOR سمت چپ موجود در شکل فوق یک درگاه جدا کننده می باشد زیرا تنها یک ورودی و چندین خروجی دارد و شرط هر یک جریان توالی ورودی باید ذکر شود و بیانگر این است که آیا کالا در انبار است یا خیر.
معناشناسی درگاه انحصاری (Exclusive Gateway Semantics) :
معناشناسی درگاه انحصاری، همان معناشناسی درگاه XOR به صورت جزئی تر می باشد. شکل زیر یک مثال انتزاعی از درگاه انحصاری است که توضیح خوبی برای مفاهیم جدا کننده XOR است.
D و C، B، A فعالیت های فرایند و cond3، cond2 و cond1 شرط های گره جدا کننده XOR هستند و طبق استاندارد زمانی انجام می شوند که فعالیت A اجرا شده باشد و سپس باید تصمیم گرفت که کدام یک از مسیرها را انتخاب کرد که این کار باید ارزیابی شرط های خروجی گره جدا کننده XOR صورت می گیرد که به ترتیب خاصی انجام می شود. اما با استفاده از مدل فرایندی نمی توان دریافت که شرط ها به چه صورتی ارزیابی می شوند یعنی به عبارتی به این ترتیب اجرا نمی شود که اول cond1 و بعد cond2 و cond3 بلکه ترتیب آنها می تواند به هر صورتی باشد. جریان پیش فرض، جریانی است که آخر از تمام شرط ها ارزیابی می شود و فرد به غیر از جریان پیش فرض هیچ اطلاعاتی از شرط ندارد که به چه ترتیبی ارزیابی شوند. لازم به ذکر است که جریان پیش فرض در درگاه ها برای طراحی مدل فرایندی بسیار مهم می باشد زیرا در صورت عدم وجود آن ممکن است فرایند متوقف شود و هیچ یک از شرط ها پذیرفته نشوند و فرایند نتواند ادامه پیدا کند. بنابراین جریان پیش فرض این مشکل را حل می کند و فرایند ادامه می یابد. زمانی که شرط cond1 ارزیابی و انتخاب شد سپس آن مسیر فعال می شود. پس با استفاده از ترتیب خاصی اولین شرط پذیرفته و انتخاب شد و سپس جریان cond1 فعال می شود و سایر جریان ها غیر فعال می شوند.
در مثال فوق ترتیب ارزیابی شرط های درگاه به این صورت در نظر می گیریم: cond1، cond2، cond3 و جریان پیش فرض. ارزیابی کردن این گونه شرط امکان پذیر است زیرا جریان پیش فرض آخر از تمام شرط ها قرار گرفته است و همان طور که قبلا گفته شد با استفاده از مدل فرایندی نمی توان گفت که کدام یک از شرط ها باید ارزیابی شود. پس فرض کنید که شرط اول پذیرفته نشده است پس باید شرط بعدی بررسی شود که شرط سوم پذیرفته می شود، از این رو پس از فعالیت A، فعالیت D شروع می شود و سایر فعالیت ها مانند B، C و E انجام نمی شوند. با استفاده از نمودار انتقال حالت نمونه های فعالیت می توان گفت که تمام فعالیت های شکل فوق در حالت شروع هستند و وقتی که فعالیت D انتخاب شد فعالیت های B، C و E غیر فعال می شوند و به حالت از قلم افتادگی یا Skipped می روند ولی فعالیت D از حالت شروع به حالت آماده می رود و سپس آماده اجرا می شود.
لازم است بدانید که در معناشناسی درگاه های انحصاری فقط یک جریان انتخاب می شود و حتی اگر شرایط همپوشانی نیز داشته باشند، باز هم این مسئله نیز رعایت می شود یعنی در موقعیتی که چندین شرط پذیرفته شده باشند، توسط BPMN منع نشده است. حال با استفاده از مثال زیر می خواهیم بررسی کنیم که چگونه BPMN با این موضوع برخورد می کند.
شرط اول: هزینه کمتر از 200 می باشد.
شرط دوم: هزینه کمتر از 1000 است.
شرط سوم: هزینه کمتر از 10000 می باشد.
ترتیب ارزیابی شرط ها: شرط اول، سوم و دوم و جریان پیش فرض.
فرض کنید که Data object برای یک فرایند خاصی 500 هزینه دارد. بنابراین ابتدا شرط اول ارزیابی می شود و چون 500 کمتر از 200 نیست پس شرط اول پذیرفته و انتخاب نمی شود و باید شرط سوم برای ارزیابی انتخاب شود. 500 کمتر از 10000 می باشد، پس شرط سوم پذیرفته می شود و فعالیت D شروع می شود که در این مثال فعالیت های B، C وE شروع نمی شوند و نشان می دهد که معناشناسی XOR کاملا صحیح می باشد زیرا فقط یکی از شاخه های خروجی انتخاب می شوند. اما اگر ترتیب ارزیابی شرط ها به صورت دیگری بود یعنی شرط دوم قبل از شرط سوم ارزیابی می شد، در این صورت شرط دوم ارزیابی و انتخاب می شد. پس ترتیب ارزیابی مرتبط با چیدمان فعالیت ها و جریان ها در مدل نیست. لذا با استفاده از مدل فرایندی نمی توان گفت که در شرط های درگاه همپوشانی وجود دارد و در برخی از شرایط کدام یک از شرط های خروجی انتخاب می شوند بنابراین به طور کلی شرط های درگاه انحصاری نباید با هم همپوشانی داشته باشند.
شکل زیر یک مثال خوب برای عدم همپوشانی شرط های درگاه انحصاری است. وقتی که موجودی انبار بررسی می شود، دو شرط وجود دارد یا کالا در انبار موجود است یا نیست و بایستی یکی از شرط ها را انتخاب کرد. اغلب این شرایط در مدل های فرایندی مشاهده می شود و همیشه ایمن است زیرا تنها یک مسیر را باید انتخاب کرد.
درگاه موازی (parallel Gateway) :
در شکل فوق وقتی که محصول تولید شد، متقابلا محصول بسته بندی می گردد و به مشتری ارسال می شود. به صورت همزمان پس از دریافت هزینه از مشتری، صورت حساب به وی ارسال می شود که در این جا مشخص نشده است که فعالیت ها به چه صورتی انجام شده است و فقط بیان شده است که فعالیت ها به صورت همزمان انجام می شوند. لازم به ذکر است که برای توضیح همزمانی و مستقل بودن اجرا از یکدیگر از جدا کننده AND یا درگاه موازی استفاده می شود. در نهایت سپس پس از ارسال محصول با موفقیت و همچنین دریافت هزینه، سفارش بایگانی می شود.
در جدا کننده های AND یا همان درگاه موازی، تمام فلش های جریان توالی خروجی فعال هستند و تنها یکی از آنها انتخاب نمی شود که باعث مدل سازی مستقل و اجرای همزمان مسیرها می شود. بنابراین در مثال گفته شد که پس از تولید محصول، دو کار باید به صورت همزمان انجام شود. تایید، بسته بندی و ارسال محصول انجام می شود و همزمان با این کار می توان صورت حساب را ارسال و وجه را دریافت نمود و زمانی که هر دو کار انجام شد، می توان سفارش را بایگانی کرد.
راهنمای مدل سازی برای درگاه موازی :
لازم است که در مورد درگاه موازی به برخی از نکات توجه کرد. لازم نیست که هر دو شاخه به صورت همزمان انجام شوند و کاملا در راستای یکدیگر باشند. این عبارت بیانگر این است که در ادغام کننده AND، فعالیت ها مستقل از یکدیگر هستند و مطابق میل خود اجرا می شوند. بنابراین در درگاه موازی همپوشانی در زمان اجرا وجود دارد. به عنوان مثال بسته بندی کردن محصول می تواند همزمان با ارسال صورت حساب انجام شود اما می تواند قبل و یا بعد از ارسال صورت حساب نیز انجام شود. ولی باید اطمینان حاصل کرد که تایید ارسال پس از بسته بندی محصول و دریافت وجه پس از ارسال صورت حساب انجام شده باشد و در غیر این صورت هر یک از شرط های درگاه موازی می توانند به صورت مستقل از یکدیگر اجرا شوند.
شایان به ذکر است که به درگاه ادغام کننده AND، ادغام کننده همگام ساز نیز گفته می شود زیرا شاخه های موازی می توانند دوباره همگام شوند یعنی ادغام کننده AND زمانی خروجی تولید می کند که تمام ورودی های جریان توالی فعال شده باشند. در مثال قبل اگر بسته بندی محصول، تایید ارسال، ارسال صورت حساب و دریافت وجه انجام شده باشد، جریان های توالی فعال می شوند و در این صورت ادغام کننده AND عمل می کند و تمام فلش های جریان توالی ورودی را همگام می کند و در صورتی که تمام فلش های جریان توالی ورودی فعال شده باشند، جریان توالی خروجی نیز فعال می شود.
امید است که این مقاله در خصوص درگاه های انحصاری و موازی مورد توجه شما خوانندگان گرامی مفید واقع شود.
بدون دیدگاه