Research Article
A Workflow Criticality-Based Approach to Bypass the Workflow Satisfiability Problem
| (1) | for each user Uk in “Non_Conflict” or “Non_Conclict_CT” do | | (2) | if t′ ← Uk in ω′ and st(t′) ← (“Assigned” or “Started”) then | | (3) | if T′ is “Optional” then | | (4) | st(t′) ← “Cancelled” | | (5) | Return Uk | | (6) | else if T′ is “Interruptible” then | | (7) | if T′ is “NonDelay_Sensitive” or [T′ is “Delay_Sensitive” and (H + H′ < D × nb)] then | | (8) | if Uk ∊ “Non_Conflict” then | | (9) | if Pr(t′) < Pr(t) and Cr(ω(t′)) ≤ Theta(ω) then | | (10) | st(t′) ← “Interrupted” | | (11) | Return Uk | | (12) | else | | (13) | Return “null” | | (14) | end if | | (15) | else if Uk “Non_Conflict_CT” then | | (16) | if Cr(ω(t′)) ≤ Theta(ω′) then | | (17) | st(t′) ← “Interrupted” | | (18) | Return Uk | | (19) | else | | (20) | Return “null” | | (21) | end if | | (22) | end if | | (23) | else | | (24) | Return “null” | | (25) | end if | | (26) | else | | (27) | Return “null” | | (28) | end if | | (29) | else | | (30) | Return Uk | | (31) | end if | | (32) | end for |
|