Discovering Hierarchical Process Models Using ProM R.P. Jagadeesh Chandra Bose1,2 , Eric H.M.W. Verbeek1 and Wil M.P. van der Aalst1 1 Department of Mathematics and Computer Science, University of Technology, Eindhoven, The Netherlands 2 Philips Healthcare, Veenpluis 5–6, Best, The Netherlands {j.c.b.rantham.prabhakara,h.m.w.verbeek,w.m.p.v.d.aalst}@tue.nl Abstract. Process models can be seen as “maps” describing the op- erational processes of organizations. Traditional process discovery al- gorithms have problems dealing with fine-grained event logs and less- structured processes. The discovered models (i.e., “maps”) are spaghetti- like and are difficult to comprehend or even misleading. One of the rea- sons for this can be attributed to the fact that the discovered models are flat (without any hierarchy). In this paper, we demonstrate the dis- covery of hierarchical process models using a set of interrelated plugins implemented in ProM.3 The hierarchy is enabled through the automated discovery of abstractions (of activities) with domain significance. Keywords: process discovery, process maps, hierarchical models, ab- stractions, common execution patterns 1 Introduction We have applied process mining techniques in over 100 organizations. These practical experiences revealed two problems: (a) processes tend to be less struc- tured than what stakeholders expect, and (b) events logs contain fine-grained events whereas stakeholders would like to view processes at a more coarse-grained level. In [1], we showed that common execution patterns (e.g., tandem arrays, maximal repeats etc.) manifested in an event log can be used to create powerful abstractions. These abstractions are used in our two-phase approach to process discovery [2]. The first phase comprises of pre-processing the event log based on abstractions (bringing the log to the desired level of granularity) and the sec- ond phase deals with discovering the process maps while providing a seamless zoom-in/out facility. Figure 1 highlights the difference between the traditional approach to process discovery and our two-phase approach. Note that the process model (map) discovered using the two-phase approach is much simpler. The two-phase approach to process discovery [2] enables the discovery of hi- erarchical process models. In this paper, we demonstrate the discovery of hierar- chical process models using a chain of plugins implemented in ProM. The chain of plugins and their order of application is illustrated in Figure 2. 3 ProM is an extensible framework that provides a comprehensive set of tools/plugins for the discovery and analysis of process models from event logs. See http://www.processmining.org for more information and to download ProM. 34 Pre-proceedings of CAISE’11 Forum Filter Plugins Filtering Event Log sambcudnje samqfhllhgike samfghlhikqe sambcdnuje Traditional samfhlgihlhkqe samqfgihlhke Approach samqfghlhike sampcudnre sambdncuje sampdncure Two-phase Approach Transformed Log XbZje XqYYe XYYqe XbZZje XYYYqe XqYYYe XqYYYe XpZre XbZje Abstractions defined over XpZre common execution patterns Pattern Fuzzy Miner Abstractions Fig. 1: Traditional approach versus our two-phase approach to process discovery. ProM plugins are used to filter the event log. ProM’s Pattern Abstractions plugin and the Fuzzy Miner plugin are used to realize simple and intuitive models. Simple Pattern Fuzzy Miner Filter(s) Abstractions Fig. 2: The chaining of plugins that enables the discovery of hierarchical process models. The event log may first be cleansed using some simple filters (e.g., adding artificial start/end events, filtering events of a particular transaction type such as considering only ‘complete’ events etc.). The Pattern Abstractions plugin is then applied on this filtered log one or several times. The Pattern Abstractions plugin has been implemented as a log visualizer in ProM and caters to the discovery of common execution patterns, the definition of abstractions over them, and the pre-processing of the event log with these abstractions. The transformed log (pre- processed log with abstractions) obtained in iteration i is used as the input for the Pattern Abstractions plugin in iteration i + 1. It is this repetitive application Discovering Hierarchical Process Models Using ProM 35 of the Pattern Abstractions plugin that enables the definition of multiple levels of hierarchy (new abstractions can be defined over existing abstractions). During the pre-processing phase, for each defined abstraction, the Pattern Abstractions plugin generates a sub-log that captures the manifestation of execution patterns defined by that abstraction as its process instances. The Fuzzy Miner plugin [3] is then applied on the transformed log obtained after the last iteration. The Fuzzy Miner plugin in ProM has been enhanced to utilize the availability of sub-logs for the defined abstractions. Process models are discovered for each of the sub-logs and are displayed upon zooming in on its corresponding abstract activity. Running Example. We use the workflow of a simple digital photo copier as our running example. The copier supports photocopying, scanning and printing of documents in both color and gray modes. The scanned documents can be sent to the user via email or FTP. Upon receipt of a job, the copier first generates an image of the document and subsequently processes the image to enhance its quality. Depending on whether the job request is for a copy/scan or print, separate procedures are followed to generate an image. For print requests, the document is first interpreted and then a rasterization procedure is followed to form an image. The image is then written on the drum, developed, and fused on to the paper. We have modeled this workflow of the copier in CPN tools [4] and generated event logs by simulation. We use one such event log in this paper. The event log consists of 100 process instances, 76 event classes and 40, 995 events. The event log contains fine-grained events pertaining to different procedures (e.g., image processing, image generation etc.) mentioned above. An analyst may not be interested in such low level details. We demonstrate the discovery of the workflow at various levels of abstractions for this event log. 2 Pattern Abstractions Plugin The basic building blocks of the Pattern Abstractions plugin are shown in Fig- ure 3. Figures 4 and 5 illustrate these building blocks. Discover Compute Form & Transform Common Filter Pattern Select Log Execution Patterns Metrics Abstractions Patterns Fig. 3: Building blocks of the Pattern Abstractions plugin – Discover Common Execution Patterns: The Pattern Abstractions plugin sup- ports the discovery of tandem arrays (loop patterns) and maximal repeats (common subsequence of activities within a process instance or across pro- cess instances) [1]. These can be uncovered in linear time and space with respect to the length of the traces. 36 Pre-proceedings of CAISE’11 Forum Compute Discover Common Filter Patterns Pattern Metrics Execution Patterns Pattern Uncovered Patterns Metric Values Fig. 4: The discovery of common execution patterns, computation of pattern metrics, filtering and inspection of patterns in the Pattern Abstractions plugin. – Compute Pattern Metrics: Various metrics (e.g, overlapping and non-over- lapping frequency counts, instance count etc.) to assess the significance of the uncovered patterns are supported. – Filter Patterns: It could be the case that too many patterns are uncovered from the event log. To manage this, features to filter patterns that are less significant are supported. – Form and Select Abstractions: Abstractions are defined over the filtered pat- terns. Patterns that are closely related are grouped together to form ab- stractions. The approach for forming abstractions is presented in [1]. Fur- thermore, various features to edit/select abstractions such as merging two or more abstractions and deleting activities related to a particular abstraction are supported. Figure 5 depicts a few abstractions defined over loop patterns for the copier event log e.g., half-toning, a procedure for enhancing the image quality, is uncovered as an abstraction. – Transform Log: The event log is pre-processed by replacing activity subse- quences corresponding to abstractions. A replaced activity subsequence is captured as a process instance in the sub-log for the corresponding abstract activity. At any iteration, if n abstractions are selected, the Pattern Abstractions plugin generates a transformed log, and n sub-logs (one for each of the n chosen ab- stractions). We recommend to process for loop patterns in the initial iterations and maximal repeats in the subsequent iterations. For the example event log, we have performed three iterations. The transformed log after the third iteration Discovering Hierarchical Process Models Using ProM 37 has 19 event classes and 1601 events. In the process, we have defined various abstractions such as half-toning, image processing, capture image, etc. Select Abstractions Form Abstractions Transform Log Fig. 5: The generation and selection of abstractions in the Pattern Abstractions plugin. The Pattern Abstractions plugin supports additional features such as visu- alizing patterns and exporting the traces that contain the patterns. 3 (Enhanced) Fuzzy Miner Plugin The Fuzzy Miner [3, 5] is a process miner that mines an event log for a family of process models using a “map” metaphor. As many maps exist that show the city of Amsterdam at different levels of abstraction, also different maps exist for a process model mined from an event log. In this map metaphor, an object of interest in Amsterdam (like the Rijksmuseum or the Anne Frank House) corresponds to a node in the process model, where streets (like the Kalverstraat or the PC Hooftstraat) correspond to edges in the model. For sake of convenience, we call a single map a fuzzy instance whereas we call a family of maps (like all Amsterdam maps) a fuzzy model. Like high-level maps only show major objects of interest and major streets, high-level fuzzy instances also show only major elements (nodes and edges). For this purpose, the Fuzzy Miner computes from the log a significance weight for every element and an additional correlation weight for every edge. The higher these weights are, the more major the element is considered to be. Furthermore, the Fuzzy Miner uses a number of thresholds: Only elements that meet these thresholds are shown. As such, these thresholds correspond to the required level 38 Pre-proceedings of CAISE’11 Forum of abstraction: The higher these thresholds are, the higher the level of abstraction is. For sake of completeness we mention here that a fuzzy instance may contain clusters of minor nodes: If some objects of interest on the Amsterdam map are too minor to be shown by themselves on some map, they may be shown as a single (and major) object provided that they are close enough. For this reason, the Fuzzy Miner first attempts to cluster minor nodes into major cluster nodes, and only if that does not work it will remove the minor node from the map. Fig. 6: Fuzzy model and instance Figure 6 shows an example fuzzy model (left-hand side) and fuzzy instance (right-hand side). Note that both views show a fuzzy instance, but the fuzzy model view allows the user to change the thresholds (by changing the sliders) whereas the fuzzy instance view does not. The significance of a node is displayed as part of its label (for example, the node “Transfer Image” has a significance of 0.253), the significance of an edge is visualized using its wideness (the wider the edge, the more significant it is), and the correlation of an edge is visualized using its color contrast (the darker the edge is, the more correlated its input node and its output node are). The octagonal shaped nodes in the right-hand side view correspond to the cluster nodes (one of the cluster nodes contain 4 activities and the other contains 11 activities). All activities on the left hand side except “Job Complete” are contained in a cluster node on the right. Apparently, the significance weights for these nodes (0.262, 0.253, 0.250, 0.296 and 0.403) were too low to be shown, which indicates that the corresponding threshold was set to at least 0.403. Furthermore, the node “Interpret” (on the right) is highly self- correlated, whereas the nodes “Transfer Image” and “Send SMTP” (on the left) are moderately correlated. The Fuzzy Miner has been enhanced to utilize the availability of sub-logs ob- tained from the Pattern Abstractions plugin for the chosen abstractions. Fuzzy models are discovered for each of the sub-logs and are displayed upon zooming in on its corresponding abstract activity. Abstract activities are differentiated from Discovering Hierarchical Process Models Using ProM 39 other activities by means of a distinct color (a darker shade of blue, see also Figure 6). Figure 7 depicts the top-level process model of the copier example. This model is generated from the transformed log obtained after the third iteration of Pattern Abstractions plugin. The upper branch of the process model corresponds to the creation of the document image for print requests while the lower branch corresponds to image creation for copy/scan requests. The two branches meet after the image is formed and the image is subjected to some image processing functionality. The document is then printed or sent to the user via email or FTP. The lower level details of image creation, image processing, print image have been abstracted in this model. The Pattern Abstractions plugin enables the discovery of such abstractions with strong domain (functional) significance. Upon zooming in on the Image Processing abstraction, the process model depicted in Figure 8 is shown. This sub-process in turn contains another abstract activity viz., Half Toning (the level of hierarchy is two). Zooming in on this abstract activity displays the sub-process defining it as depicted in Figure 8. Figure 9 depicts two other abstractions. Interpretation of Rendering and pages in a document Screening of the Printing the Image to print document Capturing the Image of the Document to Image Processing Copy/Scan Fig. 7: The top level process model of the copier event log. Blue (dark colored) nodes are abstract activities that can be zoomed in. Upon zooming in, the sub-process defining the abstraction is shown. In this fashion, using the chain of plugins presented in this paper, one can discover hierarchical process models. 4 Conclusions We demonstrated the discovery of hierarchical process models using a chain of plugins implemented in ProM. The repetitive application of Pattern Abstractions plugin enables the discovery of multiple levels of hierarchy. We can use this approach to create maps that (i) depict desired traits, (ii) eliminate irrelevant details, (iii) reduce complexity, and (iv) improve comprehensibility. Acknowledgments R.P.J.C. Bose and W.M.P. van der Aalst are grateful to Philips Healthcare for funding the research in process mining. 40 Pre-proceedings of CAISE’11 Forum Image Processing Half Toning Fig. 8: The sub-process captured for the abstraction ‘Image Processing’ (in the top- level model). This sub-process in turn contains another abstraction viz., ‘Half Toning’. Upon zooming in on ‘Half Toning’, the sub-process defining that is shown. Interpret Fusing Fig. 9: The sub-processes for the abstractions ‘Interpret’ and ‘Fusing’. ‘Interpret’ is an abstract activity at the top-level of the process model while ‘Fusing’ is an abstract activity underneath the ‘Print Image’ abstraction. References 1. Bose, R.P.J.C., van der Aalst, W.M.P.: Abstractions in Process Mining: A Tax- onomy of Patterns. In Dayal, U., Eder, J., Koehler, J., Reijers, H., eds.: Business Process Management. Volume 5701 of LNCS., Springer-Verlag (2009) 159–175 2. Li, J., Bose, R.P.J.C., van der Aalst, W.M.P.: Mining Context-Dependent and Interactive Business Process Maps using Execution Patterns. In zur Muehlen, M., Su, J., eds.: BPM 2010 Workshops. Volume 66 of LNBIP., Springer-Verlag (2011) 109–121 3. Günther, C., van der Aalst, W.M.P.: Fuzzy Mining: Adaptive Process Simplifica- tion Based on Multi-perspective Metrics. In: International Conference on Business Process Management (BPM 2007). Volume 4714 of LNCS., Springer-Verlag (2007) 328–343 4. Vinter Ratzer, A., Wells, L., Lassen, H.M., Laursen, M., Qvortrup, J.F., Stissing, M.S., Westergaard, M., Christensen, S., Jensen, K.: CPN Tools for Editing, Sim- ulating, and Analysing Coloured Petri Nets. In: 24th International Conference on Applications and Theory of Petri Nets (ICATPN). Volume 2679 of LNCS., Springer (2003) 450–462 5. Xia, J.: Automatic Determination of Graph Simplification Parameter Values for Fuzzy Miner. Master’s thesis, Eindhoven University of Technology (2010)