DPIL Miner

Extracting DPIL Models from Event Logs

The DPIL Miner

As well as manually creating a DPIL model using the DPIL modeler, users can also discover models from event logs using the DPIL Miner. Here, the analyst selects the DPIL macros that should be discovered w.r.t. the provided event log. Both the execution engine and the mining module are based on the JBoss Drools platform that provides a current implementation of the rete rules solver. Therefore, in both components DPIL rules are transformed to the Drools Rule Language (DRL).

DPIL Miner Functionality


For purposes of compliance and process improvement, organisations are interested in the way their processes are actually executed. Process mining aims at discovering processes by extracting knowledge from event logs, e.g., by generating a process model reflecting the behaviour recorded in the logs. Declarative languages like Declare or DPIL can be used to represent these models, and tools like DeclareMiner or MINERful to generate them, often with a focus on control flow and data. Agile processes, however, need to explicitly integrate the organisational perspective due to the importance of human decision-making and expert knowledge. Recent research has identified the potential of role mining and process mining of the organisational perspective. However, these results have not yet been integrated with declarative process models.


The DPIL Miner fills this research gap by proposing a process mining approach to discover resource-aware, declarative process models. In particular, we are able to extract complex allocation rules, such as binding of duties between activities, as well as cross-perspective rules involving the control-flow and the organisational perspectives together. The latter consider the influence of resource allocation on the control flow of the process, e.g., an activity can only be executed by a specific role if a specific activity was performed previously. The expressiveness of the extracted rules has been evaluated using the Workflow Resource Patterns. The applicability of the approach has been validated with a real-world event log from the university domain.

Expressiveness of DPIL Miner.

Discovering Creation Workflow Resource Patterns

We use the group of so-called creation patterns of the well-known Workflow Resource Patterns to evaluate which of the resource allocation patterns can be discovered by our mining approach. The Workflow Resource Patterns have been used in several modelling approaches as a reference model to specify how resources take part in process activities. Our approach is able to discover a particular resource pattern if it is possible to define a parametrized DPIL rule template that represents the pattern.
As seen, the patterns Direct Allocation, Role-Based Allocation, Separation of Duties, Retain Familiar and Organisational Allocation are extractable with the rule templates direct, role, separate, binding and orgDist, respectively. Since event logs do not usually contain information about the resource assignment mechanism used, it is not possible to extract if the resource assignment has been deferred to run time, i.e., the Deferred Allocation pattern cannot be discovered. Since in DPIL it is not possible to specify relations that relate to other process instances, the History-Based Allocation pattern cannot be discovered. The Automatic Execution pattern can only be discovered if the event log makes use of certain event types which indicate an automatic task processing. DPIL, e.g., defines invoke(T) events to call an automatic non-human service T. Even without considering invoke events our approach is able to discover 7 out of 11 resource creation patterns.

Supported Resource Pattern DPIL Rule Template
Direct Allocation start(of T) implies start(of T by :p)
Role-Based Allocation start(of T by :p) implies relation(subject p predicate hasRole object G)
Deferred Allocation
Separation of Duties start(of T1 by :p) and start(of T2) implies start(of T2 by not p)
Case Handling forall(task A start(of T) implies start(of T by :p)
Retain Familiar start(of T1 by :p) and start(of T2) implies start(of T2 by p)
Capability-Based Allocation start(of T by :p) implies relation(subject p predicate RT object G)
History-Based Allocation
Organisational Allocation start(of T1 by :p1) and start(of T2 by :p2) implies relation(subject p1 predicate RT object p2)
Automatic Execution invoke(T)