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 |
|