بهترین راه استفاده از signal event است.
در مثال زیر Task 3 و Task 5 به reza تخصیص پیدا میکند. میخواهیم با رسیدن کار به Task 5، کار Task 3 لغو شود (از کارتابل reza خارج شود):
قبل از Task 5 یک intermediate signal throwing event میگذاریم و روی Task 3 نیز یک boundary signal event قرار دهیم. این دو signal event را به هم متصل میکنیم؛ بنابراین قبل از رسیدن به Task 5، سیگنالی پرتاب میشود و Task 3 را لغو میکند.
تعریف و استفاده از signal event:
1- در صفحه خالی فرآیند کلیک کنید. از ویژگیهای پایین signal definitions را انتخاب کنید.
2- یک سیگنال اضافه کنید که مقدار scope آن process instance باشد (چون در داخل یک فرآیند قرار است پرتاب و گرفته شود).
3- برای نگاشت دو signal event به هم (intermediate throwing و boundary) هر کدام را انتخاب کرده و از ویژگیهایشان، برای فیلد signal reference مقداری یکسان انتخاب کنید (همان مقداری که در مرحله 2 تعریف کردید).
نکته: signal event ماهیت broad cast دارد و میتواند چند دریافتکننده (catching) داشته باشد