Title: Interactive Workflow Mining
1Interactive Workflow Mining
- Markus Hammori, Joachim Herbst, Niko Kleiner
21 Introduction
2 Requirements Analysis
3 Selected Concepts
3.1 MaximumRecognition Layout
3.2 Measure for completeness
4 Prototypical Implementation
5 Conclusion
31 Introduction
2 Requirements Analysis
3 Selected Concepts
3.1 MaximumRecognition Layout
3.2 Measure for completeness
4 Prototypical Implementation
5 Conclusion
4 Basic Workflow Mining Approach
Model
5 Basic Workflow Mining Approach
Model
6 Basic Workflow Mining Approach
Model
7 Basic Workflow Mining Approach
Model
8Why use Workflow Mining?
- Acquisition Problem
- Reverse Engineering of Workflow Models
- Adaptation Problem
9Why is Workflow-Mining interactive?
- Basic conditions
- Non-unique activity names ? Exponential search
space - Best model is a compromise between accuracy and
model size - Human users use soft measures as basis for a
decision - The Standard Workflow Mining Process
101 Introduction
2 Requirements Analysis
3 Selected Concepts
3.1 MaximumRecognition Layout
3.2 Measure for completeness
4 Prototypical Implementation
5 Conclusion
11 Approach for requirements analysis
- Initial situation
- InWoLvE ? non-Interactive WF Mining prototype
- ADONIS ? commercial BPMS, used for visualization
- Approaches for requirements analysis
- Systematic experiments using the combination of
InWoLvE and ADONIS - Evaluation of other Workflow-Mining Tools with
respect to support for interactive usage - Search for applicable techniques from Data-Mining
12Interactive Requirements in the Standard
Workflow Mining Process
- Choosing the initial Parameters for InWoLvE
- Extract all helpful log information
- Visualizing and evaluating the results in ADONIS
- Close integration of user interface and mining
tool - Possibility to influence an ongoing calculation
- Layout algorithm featuring change resistance and
well structured layout - Modifying parameters for a new iteration
- Visualize all useful data associated to a model
- Choosing a result model
- Provide a measure for the completeness of a model
131 Introduction
2 Requirements Analysis
3 Selected Concepts
3.1 MaximumRecognition Layout
3.2 Measure for completeness
4 Prototypical Implementation
5 Conclusion
14 Layout Algorithm - Example for bad change
resistance
15 Layout Algorithm Example for bad structuring
16 Layout Algorithm
- Task Produce Layout that is resistant to small
changes - Problem Existing Approaches are based on
incremental changes - Solution MaximumRecognition Algorithm
- Static algorithm
- Solves dynamic requirements by applying a strict
set of rules - Exploit restrictions of graph model
- Block-structured split / join blocks
- Branches of splits are not connected
- Restricted number of predecessors / successors
for some vertex types
17 Layout Algorithm - Explanation
- Sort the Vertices into Levels
- Modified breadth-first search
- Vertices must be positioned according to longest
path
18 Layout Algorithm - Explanation
- Sort the Vertices into Levels
- Sort the Vertices into Columns
- Decompose the graph
- Split / join blocks
- Decision paths
- Compute the width of subgraphs
- Set vertex positions
- Sort paths according to well defined order
19 Layout Algorithm - Explanation
- Sort the Vertices into Levels
- Sort the Vertices into Columns
- Split the graph
- Compute the width of subgraphs
- Set vertex positions
- Refinements
- Draw backward edges around intermediate vertices
- Position stop vertex
201 Introduction
2 Requirements Analysis
3 Selected Concepts
3.1 MaximumRecognition Layout
3.2 Measure for completeness
4 Prototypical Implementation
5 Conclusion
21 Measure for the completeness of models
- Problem When can we reliably believe that we
have seen enough examples? - Solution Useful approach from Data Mining
- Divide examples in training-/test-set
- Estimate pred. accuracy using holdout measure
- Result gives indication of probability that
important data was missed - Missing Algorithm to validate a trace against a
model
22 Validating a trace against a model - Basic Idea
- Sequential
- activity must match the node
- activities must be sequential
- Decision
- at least one path must be validated
- Split
- all required paths must be validated
- at least one path must be validated
- arbitrary order between different paths
- Entire model
- the stop vertex must be reached
- all activities in the trace must be used
A1, A2, A5, A4, A6
BPA1
BPA2
BPA3
BPA5
BPA4
BPA6
23 Validating a trace against a model - Basic Idea
- Sequential
- activity must match the node ?
- activities must be sequential ?
- Decision
- at least one path must be validated
- Split
- all required paths must be validated
- at least one path must be validated
- arbitrary order between different paths
- Entire model
- the stop vertex must be reached
- all activities in the trace must be used
A1, A2, A5, A4, A6
BPA1
BPA2
BPA3
BPA5
BPA4
BPA6
24 Validating a trace against a model - Basic Idea
- Sequential
- activity must match the node ?
- activities must be sequential ?
- Decision
- at least one path must be validated
- Split
- all required paths must be validated
- at least one path must be validated
- arbitrary order between different paths
- Entire model
- the stop vertex must be reached
- all activities in the trace must be used
A1, A2, A5, A4, A6
BPA1
BPA2
BPA3
BPA5
BPA4
BPA6
25 Validating a trace against a model - Basic Idea
- Sequential
- activity must match the node ?
- activities must be sequential
- Decision
- at least one path must be validated ?
- Split
- all required paths must be validated
- at least one path must be validated
- arbitrary order between different paths
- Entire model
- the stop vertex must be reached
- all activities in the trace must be used
A1, A2, A5, A4, A6
BPA1
BPA2
BPA3
BPA5
BPA4
BPA6
26 Validating a trace against a model - Basic Idea
- Sequential
- activity must match the node ?
- activities must be sequential ?
- Decision
- at least one path must be validated ?
- Split
- all required paths must be validated ?
- at least one path must be validated ?
- arbitrary order between different paths
- Entire model
- the stop vertex must be reached
- all activities in the trace must be used
A1, A2, A5, A4, A6
BPA1
BPA2
BPA3
BPA5
BPA4
BPA6
27 Validating a trace against a model - Basic Idea
- Sequential
- activity must match the node ?
- activities must be sequential
- Decision
- at least one path must be validated ?
- Split
- all required paths must be validated ?
- at least one path must be validated ?
- arbitrary order between different paths ?
- Entire model
- the stop vertex must be reached
- all activities in the trace must be used
A1, A2, A5, A4, A6
BPA1
BPA2
BPA3
BPA5
BPA4
BPA6
28 Validating a trace against a model - Basic Idea
- Sequential
- activity must match the node ?
- activities must be sequential ?
- Decision
- at least one path must be validated ?
- Split
- all required paths must be validated ?
- at least one path must be validated ?
- arbitrary order between different paths
- Entire model
- the stop vertex must be reached
- all activities in the trace must be used
A1, A2, A5, A4, A6
BPA1
BPA2
BPA3
BPA5
BPA4
BPA6
29 Validating a trace against a model - Basic Idea
- Sequential
- activity must match the node ?
- activities must be sequential ?
- Decision
- at least one path must be validated ?
- Split
- all required paths must be validated ?
- at least one path must be validated ?
- arbitrary order between different paths
- Entire model
- the stop vertex must be reached
- all activities in the trace must be used
A1, A2, A5, A4, A6
BPA1
BPA2
BPA3
BPA5
BPA4
BPA6
30 Validating a trace against a model - Basic Idea
- Sequential
- activity must match the node
- activities must be sequential
- Decision
- at least one path must be validated
- Split
- all required paths must be validated
- at least one path must be validated
- arbitrary order between different paths
- Entire model
- the stop vertex must be reached ?
- all activities in the trace must be used ?
- ? Validation successful
A1, A2, A5, A4, A6
BPA1
BPA2
BPA3
BPA5
BPA4
BPA6
31 Validating a trace against a model The Reality
- Simplified example
- Generally
- Non unique vertex names
- Nested concurrencies / loops
- Solutions
- Constructive approach that discards impossible
mappings early - Backtracking algorithm for solving concurrency
- Propagate each successful step to all branches
(full backtracking) - State based memory
- Visited vertices
- Depth of nesting
321 Introduction
2 Requirements Analysis
3 Selected Concepts
3.1 MaximumRecognition Layout
3.2 Measure for completeness
4 Prototypical Implementation
5 Conclusion
33 Prototypical Implementation
- MaximumRecognition Layout
- Measure for completeness
- Project Management Management of results and
configuration parameters - Post-pruning Hide paths with low probability
after calculation stopped - Temperature-Color-Map Colored highlighting of
graph sections according to absolute visiting
frequency
341 Introduction
2 Requirements Analysis
3 Selected Concepts
3.1 MaximumRecognition Layout
3.2 Measure for completeness
4 Prototypical Implementation
5 Conclusion
35 Conclusion
- Accomplished
- Located aspects of Workflow Mining which require
user interaction - Systematically extracted requirements for
interactive Workflow Mining system - Developed concepts to meet various requirements
- Prototypical implementation
- Future Work
- Improvement of the workflow mining algorithms
- Application in a real scenario
- Layout solution for very large models
- Diff function for locating differences between
models - Reliability measure based on cross-validation
36Thank you for your attention!
37Backup Slides
38MaximumRecognition Layout
39Layout Algorithms Related Work
- Simple Approach Use static Layout with Animation
- Incremental Graph Layout
- Modify Graph step by step
- Will only accept certain operation ( e.g. add
vertex) - ? Extract differences between two graphs, split
into valid operations - Foresighted Layout
- Produces perfect results
- Will use any static layout algorithm
- Needs Information about all graphs
- ? Can not be used for online layout
40 InWoLvE Explanantion of the SplitPar algorithm
41 The lifecycle Workflow-Modells
42 The Search Space
43ProTo System setup