Information Technology Reference
In-Depth Information
5.3 Message State Adjustment
After successful process termination, the message state model of each message in
the scope of that process is adjusted. During the process execution, each model
stores the sequence of message state transition (
Seq
ST
). All transition leaving
any state listed in the sequence set are processed so their transition weights
reflect the latest process instance. We apply an exponentially weighted moving
average (EWMA) to update the transition probabilities.
w
t
+1
(
v
i
,v
j
)=
1
∗
α
+(1
−
α
)
∗
w
t
(
v
i
,v
j
) f
v
i
,v
j
∈
Seq
ST
,
∗
α
+(1
−
α
)
∗
w
t
(
v
i
,v
j
) f
v
i
,v
j
∈
Seq
ST
.
0
With EWMA, old process sequences have exponentially lower impact on the
new probability value than more recent sequences. The coecient
α
determines
the significance of older values. With
α
close to 0, new values have next to no
impact on the new probability and vice versa for
α
close to 1. As the updated
probability depends only on the previous probability and the current state se-
quences, little memory is required to store the transition labels. Figure 5 (c)
display the transition update result for the underlying message state after the
state sequences in subfigure (b) are evaluated.
5.4 Self-learning Message Flows
After each process, we analyze the order in which activities and messages have
occurred and compare it to the underlying process model (
PM
). Any message de-
viation needs to become reflected in the process model, e.g., a new message type
emerged, an activity did not produce the expected message, a message did not
serve as input as expected. During process execution, we captured the sequence
of all message-activity dependency tuples (
tup
(
msg, act
)
∈ Seq
MA
)byextract-
ing message references from user actions, and activity references from messages.
Algorithm 1 describes the technique for updating a process model's
FlowData
.
For each tuple, we step through the process model in breadth-first style (lines
4-7, 20-21) and locate the corresponding
FlowDirection
arc and
FlowData
anno-
tation (lines 8-11, 19). Once found, we increase the
FlowData
occurrence value
(
occ
(
fd,mt
)) using exponentially weighted moving average (EWMA) (lines 12-
15). At the end,
FlowData
annotations that are not covered by sequence tuples
(
tup
(
msg, act
)) receive a lower occurrence value (lines 22-23):
⎨
⎩
1
∗ β
+(1
− β
)
∗ occ
t
(
fd,mt
) f
∃tup
(
msg, act
)
≡ tup
(
fd,mt
)
:
tup
(
msg, act
)
∈ Seq
MA
,
0
∗ β
+(1
− β
)
∗ occ
t
(
fd,mt
) th rw e
occ
t
+1
(
fd,mt
)=
where the tuple
tup
(
fd,mt
) describes a
FlowDirection
fd
with a
FlowData
annotation referencing message type
mt
.Coecient
β
determines again how
quickly a new message emerges or disappears on an arc.
Message types that show up for the first time, or messages types that ar-
rive early result in a new
FlowData
annotation (lines 16-18). In the latter case,
we reduce the original annotation occurrence value in addition. Message types