Replay a Case on Causal Net for Conformance Analysis Plug-in

hundredcarriageSoftware and s/w Development

Nov 3, 2013 (3 years and 7 months ago)

67 views



1



Replay a
Case

on
Causal

Net for
Conformance Analysis
Plug
-
in

Arya Adriansyah

Last updated on
2

August
2011

Introduction

This plug
-
in accept a
Causal Net
and an event log to measure the conformance (fitness)
between
a trace in the log and the net
.
Measurement is conducted based on on
e of the
best matching instances

between
the selected
trace in the log and the model, allowing
selection of algorithms and possible steps (e.g. skipping events/move on log, skipping
activities/move on model).

Other than

a matching instance, s
ome algorithms also
provide
the
generated
state
space
, such that
state space generation

can be shown and
further
investigated
.

Requirements

(!)

The following requirements need to be hold for a given pair of
causal
net and log:

1.

If the

net does not have a non
-
empty start task node (
StartTaskNodesSet

object), at least a node
in the causal net
has no predecessors (empty input set)

2.

The number of traces in the log must be more than 0 (zero)

3.

All event class (combination of <activity name>+<a
ctivity lifecycle>) in the log
should be mapped to at least a
task node
in the
causal
net.

Example use of the p
lug
-
in

The plug
-
in requires a
Causal
net
and
an event log.
Therefore, we first need to load
both of them
.



2





Then, click “Start” to start the plug
-
in.
An introduction panel will be shown. Click “Next”
to continue.


If (<activity name>+<activity lifecycle>) of events in the log is previously not mapped to
any
task nodes
in the net before, a mapping panel will be
shown. Remind that each
(<activity name>+<activity lifecycle>) in the log must be mapped to at least one
task
node
in the net.



3



Important:

The mapping panel does not check whether the mapping requirements
are satisfied.

If there is an (<activity name>+<act
ivity lifecycle>) that is not mapped to
any
task node
in the net, exceptions may occur in the later stage of the replay.


If mapping exists between events in the log and
nodes in
the model, selection of replay
algorithm will be shown. Choose either “Cost
-
based
A* heuristic log replay
” algorithm
or “
Cancellation
-
region
-
aware cost
-
based A* heuristic log replay
” algorithm.




4



Cost
-
based
A* heuristic log
replay

This replay algorithm is based on the A* algorithm, introduced in [1]

and later
extended in [2]
.
T
he explanation of the available options in this algorithm is ba
sed on
the term introduced in [2
]

and [3]
.


There are two options to progress. The first option is to use the pre
-
configured cost
and choose additional goals of the replay
, and the second prov
ides manual control of
all costs
. Given an event log and a model, the following options are provided.

Basic wizard tab

1.

Identify unobservable activities:

identify which unobservable activities occur in
each trace of the log. Unchecking it means that no invi
sible
task nodes occur
during replay.

2.

Identify skipped activities:

identify which activities that should be performed
according to the model, but do not occur in the log.

3.

Use max instance limitation:

Set the number of states explored before the
replay algo
rithm stop and choose the best candidate





5




Advanced tab

1.

Max # instances:

Set the number of states explored before the replay algorithm
stop and choose the best candidate.

2.

Cost of an Inserted Activity:

Set the cost of having an activity that occur in the
log, but should not happen according to process model. Not identifying this
implies that activity may occur without proper precondition (i.e.
task node
may
occur
with missing tokens)

3.

Cost
of an U
nobservable
Activity
:

Set the cost of having an unlogged acti
vity
that occur during replay (i.e. activities that are represented by invisible
task
nodes
)

4.

Cost of a Skipped Activity:

Set the cost of having an activity that should occur
according to process model, but not occur in the log.

5.

Cost of a Violating
Log+Model Synchronous Activity:

Set the cost of having an
activity
without necessary obligations
.


Cancellation
-
r
egion
-
a
ware
c
ost
-
b
ased A*
h
euristic
l
og
r
eplay

This replay algorithm
extends the “Cost
-
based A* heuristic log replay” and work with
Causal net
,
extended
with the notion of
cancelation region

from YAWL

[4]
. Note
that without any extension of cancelation region, the algorithm would be exactly the
same as the “Cost
-
based A* heuristic log replay”.



6



Similar to the parameters of “Cost
-
based A* heurist
ic log replay”, there are two options
to progress. The first option is to use the pre
-
configured cost and choose additional
goals of the replay, and the second provides manual control of all costs.

The
explanation about all parameters can be found on the e
xplanation about parameters of
“Cost
-
based A* heuristic log replay” algorithm.


After configuring the parameter values for the s
elect
ed replay algorithm,

select
a case
to be replayed

by clicking one of the case name in the “Instance
s
” column
. If no case is

selected, the first case is selected by default.


Result

Result of the plug
-
in is a
Case
Rep
lay
Result

object, visualized
by “Partial Visualize
Case Replay Result”
as follows:



7





To get the overview on how
state spaces are generated to get the best matching
instance, use the “Visualize Case ReplayResult (with instance)” visualizer.


“Visualize Case ReplayResult (with instance)”
visualizer provide
s

a tree, where each
node represents a state.

The rest of the tree is described by
the
following
example
:

Change visualizer

to change
visualization

Selected case/trace

Augmented selected case/trace

Statistics



8







Plug
-
in

Details

Classes

The “Replay a
Case
on
Causal
Net for Conformance Analysis” plug
-
in consists of several
classes, in which the main class is the
Flex
Case
Replayer
.java

on the package
org.processmining.plugins.
flex
.replayer

Dependencies

The

Replay a Case on
Causal
Net for Conformance Analysis


plug
-
in
does not have any
dependencies with any other plugins.

Class Design

The following diagram shows some of the most important classes and their relation.

Number:

the sequence in
which it is generated

Orange
-
colored state
: states
that are used to derive solution

Arcs (Green/Purple/Yellow)
: Moves that are
taken (
Synchronous
,

s
kipping
a
ctivities
,
i
nserting
a
ctivities
)

State info. #L
: Number of inserted
activities.
#M
: Number of skipped
activities
.
#L/M:

Number of synchronous
activities.
Heur:

Approximate distance to
solution state.
Cost:

Total cost so far



9




1.

Flex
Case
Replayer

The main class of this plug
-
in.

2.

Flex
ReplayerUI

The main swing GUI class that is used to set log replay parameters.

3.

ParamSettingStep

An extendable GUI class to set parameter values for replay

on Causal nets
. GUI
to set parameters for specific algo
rithms are implemented by also extending
this class. Some examples are
ParamSetting
ExtendedCostBasedReplay


that
is a GUI to set parameters for replay based on
the A* algorithm

[
1,
2]
, and
ParamSetting
CancellationAwareAStarAlgorithm

that is a GUI to set
par
ameters for replay
on Causal net (extended with cancellation region)
based
on
the
A* algorithm

[1
,2
]
.

4.

CaseSelectorUI

An extension of
ParamSettingStep

to select a case in a log

to be replayed
.

5.

IFlex
LogReplayAlgorithm

An interface of all replay algorithms

on Causal nets
. If new algorithms are about
to be added, implement this interface and
add
a class that extends
PNParamSettingStep
.

6.

Case
Rep
lay
Result

Result of the replay.
It m
ay also
contain the
state space exploration log

in form
of an
ITGraph

object
.

7.

Ca
se
ReplayResultVis

Responsibility of this class is to visualize
CaseReplay
Result

object, together
with its state space exploration (if exists).

8.

PartialCase
ReplayResultVis



10



Responsibility of this class is to visualize
CaseReplay
Result

object without its
state

space exploration.

References

[1]
Adriansyah, A., Dongen, B.F. van & Aalst, W.M.P. van der (2011).

Towards robust
conformance checking

. In zur Muehlen, Michael, S. Jianwen (Eds.),
Business Process
Management Workshops

(BPM 2010 International Workshops,
Hoboken NJ, USA,
September 13, 2010). (Lecture Notes in Business Information Processing, Vol. 66, pp.
122
-
133)
. Berlin: Springer.

[2]
Adriansyah, A., Dongen, B.F. van & Aalst, W.M.P. van der (2011).

Conformance

Checking using Cost
-
Based Fitness Analysis

.

In
15th IEEE International Enterprise
Distributed Object Computing Conference (EDOC)
, 2011 (accepted)

[3]
Aalst, W.M.P. van der, Adriansyah, A., Dongen, B.F. van(2011).

Causal Nets: A
Modeling Language Tailored Towards Process Discovery

. In J.P. Katoen and B. Koenig
(Eds.)
22nd International Conference on Concurrency Theory (CONCUR 2011)
. (Lecture
Notes in Computer Science, pp. 28
-
42). Springer

[4]
Aalst, W.M.P. van der, and ter Hofstede, A.H.M. 2005. “YAWL: Yet Another Workflow
Language
.”
Information Systems
, 30(4):245
-
275.