در این مقاله قصد داریم به موضوع اجرای همزمان یا همزمانی (concurrency) فرایندها بپردازیم. قبل از پرداختن به این موضوع ابتدا باید اجرای فرایند به صورت دنباله دار را بررسی کرد. اگر مدل فرایند نشان دهنده این موضوع باشد که فعالیت ها به صورت دنباله دار اجرا می شوند، از این رو مجموعه ای از فعالیت ها دنباله دار هستند یعنی یک فعالیت پس از یک فعالیت دیگر اجرا می شود. پس در هر لحظه از زمان حداکثر یک فعالیت در حال اجرا می باشد و با استفاده از جریان توالی نیز می توان اجرای دنباله دار فعالیت های A، B و C را به صورت شکل زیر نمایش داد.
در شکل فوق فعالیت ها به صورت دنباله دار اجرا می شوند یعنی اول A اجرا می شود و وقتی که A تمام شود، فعالیت B شروع می شود. زمانی که B تمام شود، فقط فعالیت C می تواند شروع شود. همچنین با استفاده از جداکننده های XOR می توان اجرای دنباله دار داشت. ارزیابی همتا
اجرای همزمانی و نمودارهای زمانی :
اجرای دنباله دار فعالیت ها را می توان با استفاده از نمودارهای زمانی می توان نشان دارد. در نمودارهای زمانی (Time Diagram)، زمان (t) از سمت چپ به راست حرکت می کند و در این زمان قابل دسترس می توان فعالیت های A، B و Cرا ثبت کرد. پس در هر مقطعی از زمان فعالیت A شروع می شود و پس از پایان زمان اجرا A، فعالیت B می تواند شروع شود. لازم به ذکر است که به این معنا نمی باشد که بلافاصله پس از پایان اجرای فعالیت A، فعالیت B شروع شود. بلکه می تواند برای مدتی در حالت آماده باشد تا شخصی تصمیم بگیرد که فعالیت B را شروع کند.
نمودار زمانی فوق درک خوبی از ترتیب اجرای فعالیت ها را ارائه می دهد اما بسیار مهم است که توجه شود در چه زمانی فعالیت ها اجرا می شوند. بنابراین از نمودارهای زمانی می توان جهت نشان دادن ابعاد مختلفی اجرای فعالیت ها در مدل های فرایندی استفاده کرد.
اجرای همزمانی و ترتیب اجرا (Sequential Execution) :
با استفاده از نمودارهای زمانی می توانیم ترتیب اجرا فعالیت ها و رده پاها یا traces را مورد بررسی قرار دهیم. زمان اجرا به صفر برسانیم تا فقط از حالت اجرای فعالیت صرف نظر کنیم و فقط خود فعالیت را در نظر بگیریم.
ترتیب اجرا فعالیت ها به این صورت است که اول A، بعد B و سپس C اجرا ی شود و تنها ردپایی است که توسط این مدل کسب و کار تولید شده است. معمولا به زمان پایان اجرای فعالیت ها نگاه می شود، پس زمانی که A تمام می شود، آن نقطه فعالی است که A انجام شده است و برای فعالیت های B و C نیز به همین ترتیب است. اجرای همزمان فقط مخصوص یک دنباله از فعالیت ها نیست بلکه وقتی که از جداکننده XOR در مدل فرایندی استفاده می شود، اجرای همزمان نیز می تواند اتفاق بیفتد، حتی وقتی که فقط جداکننده XOR وجود داشته باشد.
اجرای همزمان یا همزمانی (concurrency) :
اگر مدل فرایند تجویز کند که فعالیت های فرایند می توانند به صورت مستقل و همزمانی اختیاری داشته باشند، مجموعه ای از فعالیت های فرایند همزمان هستند البته که باید با یک ترتیب اختیاری باشند. لازم به ذکر است که در هر نقطه از زمان چندین فعالیت همزمانی ممکن است در حال اجرا باشد. اگر در مدل فرایندی از جداکننده یا ادغام کننده AND استفاده شود، فعالیت همزمانی وجود دارد. به عنوان مثال در شکل زیر فعالیت B، C و D فعالیت های همزمانی هستند زیرا آنها می توانند به هر ترتیبی و به صورت اختیاری و یا به صورت همزمانی و یک جا همان طور که فرد تمایل دارد، اجرا شود.
برای درک بهتر موضوع، بهتر است که از نمودار زمانی استفاده کرد. از نمودارهای زمانی فرایندهای همزمانی یا فعالیت های همزمانی کمی متفاوت تر از آن چه که قبلا مشاهده کردیم، می باشد. در این جا نمودار زمانی با فعالیت A شروع می شود، پس از A فعالیت های B، C و D به طور همزمان در هر نمونه فرایند می توانند اجرا شوند. پس زمانی که از جداکننده AND استفاده می شود تمام فلش های خروجی جریان توالی فعال می شوند. بنابراین در هر صورت B، C و D می توانند اجرا شوند.
فعالیت های 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 باید تمام اجراهای ممکن را بررسی کرد.
در این مدل فرایندی ابتدا شاخه اولی و بعد دومی انتخاب می شود ولی شاخه سوم انتخاب نمی شود. یعنی دو شاخه اول به صورت همزمان اتفاق افتاده است و باید اطمینان حاصل کرد که فعالیت B زمانی شروع می شود که فعالیت A به پایان رسیده است. پس نمودار زمانی آن به صورت زیر خواهد بود:
اگر همپوشانی زمان بین فعالیت های A، C و B وجود داشته باشد.
در پایان می توان نتیجه گرفت که ردپاهای اجرای فعالیت در تحلیل فرایندهای کسب و کار سودمند هستند. اگر در مدل فرایندی از جداکننده AND یا Parallel Gateway وجود داشته باشد اجرای همزمان و همزمانی نیز در مدل فرایندی وجود خواهد داشت زیرا تمام شاخه های جداکننده AND فعال می شوند. بنابراین شماری از فعالیت ها می توانند به صورت دلخواه یا همزمانی اجرا شوند. همچنین این موضوع در جداکننده های OR صادق است و هر کدام از فلش های خروجی جداکننده OR می توانند فعال شوند و شاخه های بعدی به صورت همزمانی با هم اجرا می شوند.
امید است این مقاله تحت عنوان منظور از اجرای همزمان یا همزمانی (concurrency) در مدل های فرایندی چیست؟ در مورد اجرای همزمان یا همزمانی مورد توجه شما خوانندگان گرامی قرار گیرد.
بدون دیدگاه