همزمانی


در این مقاله قصد داریم به موضوع اجرای همزمان یا همزمانی (concurrency) فرایندها بپردازیم. قبل از پرداختن به این موضوع ابتدا باید اجرای فرایند به صورت دنباله دار را بررسی کرد. اگر مدل فرایند نشان دهنده این موضوع باشد که فعالیت ها به صورت دنباله دار اجرا می شوند، از این رو مجموعه ای از فعالیت ها دنباله دار هستند یعنی یک فعالیت پس از یک فعالیت دیگر اجرا می شود. پس در هر لحظه از زمان حداکثر یک فعالیت در حال اجرا می باشد و با استفاده از جریان توالی نیز می توان اجرای دنباله دار فعالیت های A، B و C را به صورت شکل زیر نمایش داد.

اجرای همزمان، نرم افزار BPMS
همزمانی

در شکل فوق فعالیت ها به صورت دنباله دار اجرا می شوند یعنی اول A اجرا می شود و وقتی که A تمام شود، فعالیت B شروع می شود. زمانی که B تمام شود، فقط فعالیت C می تواند شروع شود. همچنین با استفاده از جداکننده های XOR می توان اجرای دنباله دار داشت. ارزیابی همتا

اجرای همزمانی و نمودارهای زمانی :
اجرای دنباله دار فعالیت ها را می توان با استفاده از نمودارهای زمانی می توان نشان دارد. در نمودارهای زمانی (Time Diagram)، زمان (t) از سمت چپ به راست حرکت می کند و در این زمان قابل دسترس می توان فعالیت های A، B و Cرا ثبت کرد. پس در هر مقطعی از زمان فعالیت A شروع می شود و پس از پایان زمان اجرا A، فعالیت B می تواند شروع شود. لازم به ذکر است که به این معنا نمی باشد که بلافاصله پس از پایان اجرای فعالیت A، فعالیت B شروع شود. بلکه می تواند برای مدتی در حالت آماده باشد تا شخصی تصمیم بگیرد که فعالیت B را شروع کند.

اجرای همزمان، نرم افزار BPMS
همزمانی

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

اجرای همزمانی و ترتیب اجرا (Sequential Execution) :
با استفاده از نمودارهای زمانی می توانیم ترتیب اجرا فعالیت ها و رده پاها یا traces را مورد بررسی قرار دهیم. زمان اجرا به صفر برسانیم تا فقط از حالت اجرای فعالیت صرف نظر کنیم و فقط خود فعالیت را در نظر بگیریم.

اجرای همزمان، نرم افزار BPMS
همزمانی

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

اجرای همزمان یا همزمانی (concurrency) :
اگر مدل فرایند تجویز کند که فعالیت های فرایند می توانند به صورت مستقل و همزمانی اختیاری داشته باشند، مجموعه ای از فعالیت های فرایند همزمان هستند البته که باید با یک ترتیب اختیاری باشند. لازم به ذکر است که در هر نقطه از زمان چندین فعالیت همزمانی ممکن است در حال اجرا باشد. اگر در مدل فرایندی از جداکننده یا ادغام کننده AND استفاده شود، فعالیت همزمانی وجود دارد. به عنوان مثال در شکل زیر فعالیت B، C و D فعالیت های همزمانی هستند زیرا آنها می توانند به هر ترتیبی و به صورت اختیاری و یا به صورت همزمانی و یک جا همان طور که فرد تمایل دارد، اجرا شود.

اجرای همزمان، نرم افزار BPMS
همزمانی

برای درک بهتر موضوع، بهتر است که از نمودار زمانی استفاده کرد. از نمودارهای زمانی فرایندهای همزمانی یا فعالیت های همزمانی کمی متفاوت تر از آن چه که قبلا مشاهده کردیم، می باشد. در این جا نمودار زمانی با فعالیت A شروع می شود، پس از A فعالیت های B، C و D به طور همزمان در هر نمونه فرایند می توانند اجرا شوند. پس زمانی که از جداکننده AND استفاده می شود تمام فلش های خروجی جریان توالی فعال می شوند. بنابراین در هر صورت B، C و D می توانند اجرا شوند.

اجرای همزمان، نرم افزار BPMS
همزمانی

فعالیت های B، C و D به صورت مستقل و تقریبا در یک زمان اجرا می شوند. زمان اجرای C کمی کوتاه تر شروع شده است پس C یک همزمانی اختیاری است. البته فعالیت C می تواند قبل یا بعد از B و یا به صورت دلخواه به صورت دلخواه همزمان با D اجرا شود. اما فعالیت E زمانی می تواند اجرا شود که یکی از فعالیت های A، B، C و D اجرا شده باشند و به پایان رسیده اند. از این رو باید فاصله بین اجرای فعالیت ها را کوتاه تر کرد که برای انجام این کار به پایان اجرای فعالیت ها نگاه می شود و رده پای فعالیت های این فرایند به صورت زیر است:
A C B D E
A B C D E
A B D C E
A C D B E
A D B C E
A D C B E

اجرای همزمانی جداکننده OR :
جداکننده OR اجازه می دهد که هر تعداد شاخه خروجی فعال شود پس به منظور بررسی شاخه های جداکننده OR باید تمام اجراهای ممکن را بررسی کرد.

اجرای همزمان، نرم افزار BPMS
همزمانی

در این مدل فرایندی ابتدا شاخه اولی و بعد دومی انتخاب می شود ولی شاخه سوم انتخاب نمی شود. یعنی دو شاخه اول به صورت همزمان اتفاق افتاده است و باید اطمینان حاصل کرد که فعالیت B زمانی شروع می شود که فعالیت A به پایان رسیده است. پس نمودار زمانی آن به صورت زیر خواهد بود:

اجرای همزمان، نرم افزار BPMS
همزمانی

اگر همپوشانی زمان بین فعالیت های A، C و B وجود داشته باشد.

اجرای همزمان، نرم افزار BPMS
همزمانی

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

امید است این مقاله تحت عنوان منظور از اجرای همزمان یا همزمانی (concurrency) در مدل های فرایندی چیست؟ در مورد اجرای همزمان یا همزمانی مورد توجه شما خوانندگان گرامی قرار گیرد.

ارزیابی همتا

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

بدون دیدگاه

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

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