80 likes | 165 Views
Making Sense of Declarative Process Models. CORNELIA HAISJACKL Experiment Handout. Trace. A trace is defined as a completed process instance . A trace can have two different states : Valid / satisfied: the trace satisfies all constraints of the process model.
E N D
Making Sense ofDeclarativeProcess Models CORNELIA HAISJACKL Experiment Handout
Trace A trace is defined as a completed process instance. A trace can have two different states: • Valid / satisfied: the trace satisfies all constraints of the process model. • Invalid / Violated: the trace violates constraints in the process model.
Minimal Trace • A minimal trace is defined as a valid trace with a minimum number of activities. • Put differently, a trace is minimal if there exists no other valid trace that contains less activities.
Sub Trace A sub trace can be in three different states: • Valid : The sub trace satisfies all constraints of the process model. • Temporarily violated: The sub trace does not satisfy all constraints of the process model, but there is an affix or suffix that could be added to the sub trace such that all constraints are satisfied. • Invalid: The sub trace violates constraints in the process model and no affix or suffix can be added to the sub trace to satisfy all constraints.
Hidden Dependencies • Are interactions that are not easily recognizable (any interaction that is not explicitly visible is a hidden dependency).
Example Legend Declarative Process Model S neg_coexistence(x,y) x and y cannot co-occur in any trace X Y Activities A response(x,y) If x is executed, y needs to be executed afterwards (but not necessarily directly after) A B C X Y E D F 1 X exactly(x,n) x must occur exactly one time in any trace Constraints C A B C1 Examples of supported execution traces σ1 = < A,A,D,E,A,F> σ2 = < B,C,F,E,B> σ3 = < B,E,F> Examples of unsupported execution traces σ4 = < A,F,C,E,A> σ5 = < B,D,F,C,F> σ6 = < A,D,B,F,E> C F C2 1 F C2 violated C3 C3 violated C1 violated
Example Legend Declarative Process Model S neg_coexistence(x,y) x and y cannot co-occur in any trace X Y Activities A response(x,y) If x is executed, y needs to be executed afterwards (but not necessarily directly after) A B C X Y E D F 1 X exactly(x,n) x must occur exactly one time in any trace Constraints C A B C1 Minimal trace σMIN = < F> Examples of sub traces Valid: σ1 = < A,A,D,E,A,F> -> σ1sub = < D,E> Invalid: σ5 = < B,D,F,C,F> -> σ5sub = < F,C,F> Example of hidden dependency Combination of C2 and C3: After executing F, we can‘t execute C anymore (neg_response(F,C)). C F C2 1 F C3