معرفی الگوهای Parallel Split (انشعاب موازی) و Synchronization (همگام‌سازی)

معرفی الگوهای Parallel Split (انشعاب موازی) و Synchronization (همگام‌سازی)

الگوی Synchronization را در شکل شماره ۱ ملاحظه می‌فرمایید:

الگوی Synchronization

زمانی از این الگو استفاده می‌نماییم که نیاز داریم چند کار موازی بصورت همزمان با هم شروع شوند (شاخه‌های خروجی از اولین Parallel Gateway) و تا زمانی که این شا‌خه‌های (کارهای) موازی به اتمام نرسیده باشند فعالیت بعدی (Employee first week activities) شروع نشود.

اولین Parallel Gateway به این منظور استفاده می‌شود که فعالیت‌ها بصورت موازی و همزمان با هم آغاز شوند. تا این نقطه فقط شروع فعالیت‌های موازی را مد نظر قرار داده‌ایم که یک الگوی دیگر به نام Parallel Split می‌باشد که در شکل شماره ۲ قابل مشاهده است. به این شکل توجه فرمایید:

Parallel Split

در این الگو شاخه‌های خارج شده از Gateway اول همزمان شروع شده، اما ادامه هریک از شاخه‌ها به شاخه دیگر وابستگی ندارد. پس چنانچه بخواهیم کار دیگری را وابسته به انجام کارهای موازی کنیم نیاز داریم این مدل را به مدل Synchronization تغییر دهیم. یعنی پس از اتمام شاخه‌های موازی یک Parallel Gateway  دیگر قرار داده تا این شاخه‌ها را همگام (Synchronize) نماید، سپس سایر فعالیت‌ها در ادامه این Gateway می‌آیند. نقطه Synchronization  در شکل شماره ۱ مشاهده می‌شود. در الگوی Synchronization هر شاخه خروجی از Gateway اول که به پایان می‌رسد منتظر پایان یافتن سایر شاخه‌ها می‌شود. زمانی که همه شاخه‌های موازی به نقطه Synchronization می‌رسند فرآیند اجازه ادامه یافتن را پیدا می‌کند.

بنابراین چنانچه نیاز به مدل‌سازی کارهای موازی داشته باشیم که همیشه این کارها باید انجام شوند با رعایت موارد فوق‌الذکر از یکی از الگوهای معرفی شده در این مقاله استفاده می‌نماییم.

در خصوص الگوهای BPMN توجه به ۲ نکته ذیل ضروری می‌باشد:

  • الگوهای معرفی شده بصورت ساده و ابتدایی بیان می‌شوند، اما کارایی این الگوها در شرایط پیچیده و تعداد فعالیت‌های زیاد بیشتر از قبل به چشم می‌خورد.
  • الگوهای BPMN فقط محدود به مثال‌هایی که در آن نمایش داده شده است نمی‌شوند و در شرایط مشابه (از لحاظ نحوه و ترتیب اجرا) نیز می‌توان از آن‌ها استفاده نمود.

0 پاسخ

دیدگاه خود را ثبت کنید

Want to join the discussion?
Feel free to contribute!

Got Something To Say: