Inclusive Gateways ، حلقه ها، مدل سازی فرایند، نرم افزار BPMS

درگاه های غیر انحصاری


در این مقاله برای شرح درگاه های غیر انحصاری و حلقه ها قصد داریم مثال گفته شده در مقاله های قبل را توسعه دهیم. بسته به محصول سفارش شده، مواد سفارش داده شده از تامین کننده 1 یا 2 ممکن است برای تولید محصول کافی باشد. اگر چه در برخی از موارد، مواد لازم از هر دو تامین کننده برای تولید محصول نیاز است. لذا در این جا می توان این وضعیت را با استفاده از جدا کننده XOR و AND مدل سازی کرد.

 ، حلقه ها، مدل سازی فرایند، نرم افزار BPMS
درگاه های غیرانحصاری

بنابراین می توان از دو جدا کننده XOR و AND در مدل سازی فرایند استفاده کرد اما نسبت به سایر مدل های فرایندی با کمی پیچیدگی همراه می شود و همچنین تکرار برخی از وظایف وجود دارد یعنی ممکن است یک وظیفه خاص چندین بار تکرار شود. به عنوان مثال درخواست مواد از تامین کننده 1، دو بار استفاده شده است. همچنین برای دو فعالیت دیگر تامین کننده 2 نیز به همین ترتیب صورت گرفته است. برای این مدل فرایندی به صورت متمرکز می توان از درگاه های غیر انحصاری یا Inclusive Gateways استفاده کرد. به درگاه های غیر انحصاری، جدا کننده OR و یا ادغام کننده OR نیز گفته می شود.

درگاه های غیر انحصاری جدا کننده OR (OR Split) :

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

Inclusive Gateways ، حلقه ها، مدل سازی فرایند، نرم افزار BPMS
درگاه های غیر انحصاری

درگاه های غیر انحصاری جدا کننده OR :

در درگاه های غیر انحصاری جدا کننده OR، یکی از شاخه ها انتخاب می شود و ترکیب آنها با هم به غیر از زیر گروه غیر تهی می باشد. پس معناشناسی اجرایی کامل مدل قبلی را در شکل فوق به صورت مختصری ارائه شده است. ادغام کننده OR تمام فلش های ورودی جریان توالی که فعال شوند، می توان همگام سازی کرد. به طور کلی ادغام کننده OR مانند ادغام کننده XOR عمل می کند. ادغام کننده XOR دارای تعداد زیادی شاخه ورودی می باشد که لازم است آنها را همگام سازی کرد تا فعالیت بعدی فعال شود فقط به شرطی که تمام جریان های ورودی فعال شوند. حال قصد داریم به طور جزئی تر به درگاه های غیر انحصاری ادغام کننده OR (OR join) بپردازیم که در این جا از یک مثال انتزاعی استفاده می کنیم.

Inclusive Gateways ، حلقه ها، مدل سازی فرایند، نرم افزار BPMS
درگاه های غیر انحصاری

این ساختار مدل سازی شده، انعطاف پذیری زیادی را در اختیار افراد قرار می دهد. درگاه های غیر انحصاری جدا کننده یا درگاه های غیر انحصاری ادغام کننده OR هر کدام دارای ساختاری هستند. درگاه های غیر انحصاری ادغام کننده OR، معناشناسی اجرایی غیر Local دارد یعنی ادغام کننده نمی تواند به صورت Local یا تصمیم بگیرد که فلش خروجی فعال کند یا خیر. اما در ساختارهای دیگر، این واحدها می توانند به صورت محلی یا Local تصمیم بگیرند که چه کاری باید انجام داد. پس جدا کننده XOR با توجه به شرایط به صورت Local تصمیم می گیرد که کدام شاخه را باید انتخاب کرد. جدا کننده AND فقط تمام فلش های خروجی را فعال می کند و همین موضوع برای جدا کننده XOR صادق است. پس فعال سازی هر فلش ورودی باعث راه اندازی و فعال سازی هر فلش خروجی می شود. ادغام کننده AND منتظر تمام فلش های توالی جریان ورودی می ماند و سپس خروجی را فعال می کند. تمام درگاه ها و گره ها دارای یک رفتار Local هستند و می توانند به صورت Local تصمیم بگیرد. اما ممکن است برایتان سوال پیش آید که چرا ادغام کننده XOR نمی تواند به صورت Local تصمیم بگیرد؟ برای درک پاسخ به این سوال به مثال زیر توجه کنید. در شکل قبل شرط A و B انتخاب می شوند، پس درگاه های غیر انحصاری ادغام کننده OR می تواند صبر کند، شاید فعالیت D اجرا شود و یک ورودی به درگاه اضافه شود. اما درگاه های غیر انحصاری ادغام کننده OR چقدر باید صبر کند؟ برای ادغام کننده نمی توان یک مقدار حداکثر زمان در نظر گرفت زیرا ممکن است فعالیت D زمان اجرایی متفاوتی را داشته باشد و در زمان دلخواه خود راه اندازی شود. بنابراین درگاه های غیر انحصاری ادغام کننده OR نمی تواند تصمیم بگیرد که در چه زمانی فلش خروجی را راه اندازی کند. اگر انعطاف پذیری درگاه های غیر انحصاری ادغام کننده OR را بتوان محدود کرد، می توان راه حلی را برای آن پیدا کرد که آن راه حل درگاه های غیر انحصاری ادغام کننده OR با ساختار بسته یا بلوک می باشد. درگاه های غیر انحصاری ادغام کننده OR با ساختار بسته با استفاده از عبور با رمز نادرست به راحتی رسیدگی می شود. از هر یک از درگاه های غیر انحصاری جدا کننده OR تنها یک مسیر وجود دارد که به درگاه های غیر انحصاری ادغام کننده OR وارد می شود.

Inclusive Gateways ، حلقه ها، مدل سازی فرایند، نرم افزار BPMS
درگاه های غیر انحصاری

در شکل فوق جریان مسیر 1 و 2 انتخاب شده است و سایر مسیرهای جریان انتخاب نشده است. در مسیرهای 1 و 2 اطلاعات بیشتری فراخوانی می شود اما فعالیت هایی که در این مسیرها وجود دارند، اجرا نمی شوند و به همین علت به آن عبور با رمز نادرست گفته می شود و در این جا درگاه های غیر انحصاری ادغام کننده OR به ادغام کننده AND تبدیل می شود چون از هر فلش ورودی یک علامت (علامت عادی، نادرست و یا رمز نادرست) انتظار می رود و به راحتی می توان عملی کرد زیرا تمام مسیرهایی که از درگاه های غیر انحصاری جدا کننده OR خارج می شوند به درگاه های غیر انحصاری ادغام کننده OR وارد می شوند. درگاه های انحصاری و موازی (Exclusive and parallel Gateways)

درگاه های غیر انحصاری و حلقه ها :

حال به سناریوی سفارش محصول برمی گردیم. پس از ثبت سفارش در سیستم IT به منظور دسترسی و کامل بودن بررسی می شود که اگر جزئیات سفارش معتبر نباشد، یک به روز رسانی سفارش درخواست می شود و باید در سیستم IT ثبت شود. دوباره بررسی شود و این کار تکرار می گردد تا سفارش معتبر شود. بنابراین در این قسمت از مقاله آشنایی با درگاه های غیر انحصاری و حلقه ها قصد داریم در مورد رفتارهایی که در مدل فرایندی تکرار می شوند یعنی در مورد حلقه ها صحبت کنیم. حلقه ها یا Loop ها، تکرارهایی هستند که می توانند با استفاده از درگاه های غیر انحصاری به صورت مدل درآیند و شرط شاخه جدا کننده XOR به عنوان شرط حلقه در نظر گرفته می شود. تکرارهای حلقه نیازمند نمونه های جدید فعالیت هستند و نمونه های فعالیت زیادی می توان برای یک فعالیت در یک نمونه فرایند در نظر گرفت.

Inclusive Gateways ، حلقه ها، مدل سازی فرایند، نرم افزار BPMS
درگاه های غیر انحصاری

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

درگاه های غیر انحصاری و جریان کنترل نشده :

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

Inclusive Gateways ، حلقه ها، مدل سازی فرایند، نرم افزار BPMS
درگاه های غیر انحصاری

در شکل فوق ابتدا باید فعالیت A اجرا شود و پس از اجرا شدن فعالیت A تمام فلش های خروجی آن فعال می شود که همان جدا کننده AND است. از این رو فعالیت های B و C آماده هستند و می توانند اجرا شوند. پس از اجرا شدن فعالیت B، فعالیت D اجرا می شود و در همان لحظه فعالیت C به پایان می رسد و فعالیت D نیز دوباره اجرا می شود زیرا ادغام جریان های کنترل نشده در واقع همان ادغام کننده XOR می باشد. ساختار جدا کننده AND و ادغام کننده XOR بسیار شبیه به هم هستند ولی آنها رفتار اجرایی متفاوتی دارند که معمولا باعث سردرگمی می شود. پس جریان کنترل نشده ممکن است باعث سردرگمی می شود.

راهنمای مدل سازی مربوط به درگاه های غیر انحصاری و حلقه ها :

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

Inclusive Gateways ، حلقه ها، مدل سازی فرایند
درگاه های غیر انحصاری

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

Inclusive Gateways ، حلقه ها، مدل سازی فرایند، نرم افزار BPMS
درگاه های غیر انحصاری

فرض کنید که در طول مرور مدل فرایند شکل فوق متوجه شویم که فعالیت های D و E نباید همزمان اجرا شوند بلکه باید به صورت جایگزین یعنی یا D و یا E اجرا شود. پس به راحتی می توان شکل فوق را به شکل زیر تغییر داد.

Inclusive Gateways ، حلقه ها، مدل سازی فرایند، نرم افزار BPMS
درگاه های غیر انحصاری

تغییر پیدا کردن درگاه ترکیبی روی قسمت اول مدل فرایندی نیز تاثیر می گذارد. فعالیت های B و C به صورت همزمان اجرا می شوند و هر دو فعالیت درگاه را راه اندازی می کند پس قسمت دوم مدل دوباره اتفاق می افتد، اولین بار وقتی که فعالیت B تکمیل می شود و دومین بار وقتی که فعالیت C تکمیل می شود پس یا دو بار فعالیت D، یا دو بار فعالیت E اجرا می شود و یا یک اجرا از هر دو فعالیت D و E. اما این رفتار یک رفتار نامطلوبی می باشد. همچنین اگر اولین درگاه سمت چپ به درگاه XOR تغییر یابد وضعیت بن بست اتفاق می افتد و یک رفتار غیر منطقی را شاهد خواهیم بود. رفتاری که در فرایند مطلوب نیست بنابراین بهتر است که در مدل فرایندی خود از استفاده از درگاه ترکیبی خودداری کرد. همچنین لازم است که در یک مدل فرایندی برای هر عنصر ماننند درگاه های غیر انحصاری از نماد مشخصی استفاده کرد.

امید است که مطالعه این مقاله در مورد درگاه های غیر انحصاری و حلقه ها برای شما خوانندگان گرامی مفید واقع شود.

درگاه های انحصاری و موازی (Exclusive and parallel Gateways)

فهرست کلی مقالات دوره

بدون دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *