Professional Documents
Culture Documents
Introduction
The Declare Miner plug-in allows the user to discover a Declare model from a log, using a number of settings. There are two versions of the plug-in. The first one, the Declare Miner, requires a Declare language as input. The second one, the Declare Miner Default, uses a predefined Declare language and does not require any language as input. The functionality of the plug-in can best be described by an example.
In this dialog, you can specify the value for the metric Percentage of Events (PoE). This metric allows the user to specify the percentage of the event classes to be used to generate the discovered constraints. For instance, if you set PoE = 40%, the discovered constraints will only involve the 40% of all the event classes available in the log (considering the most frequent ones). This is useful in the case that you are not interested in discovering constraints involving event classes that rarely occur in the log. The dialog also shows the list of all the event classes available in the log ordered by frequency (the frequency of each event class is specified in square brackets). This list allows the user to select one by one the event classes to be considered in the discovery process. The metric PoE can be also used to speed up the discovery process since the execution time of the underlying algorithm grows exponentially with the number of the considered event classes. When you have selected the event classes to be used to generate the discovered model, you can press Next. The following dialog appears:
In this dialog, you can specify which templates (among the ones included in the specified Declare language) will be used to generate the Declare constraints in the discovered model. In particular, selecting a template in the list on the top-right hand side of the dialog, at the bottom a description of the selected template and a panel to tune the mining settings for that specific template (see below for more details) are shown. On the top-left hand side of the dialog you can select or deselect all the templates of the templates list and also specify further mining options. In particular, you can choose to include all the mined constraints in a single view (combined model option) or group them by template and show each group in a different view (multiple models option).
By default the Declare Miner produces a model including constraints generated considering all the event classes existing in the log, satisfied for the 100% of the process instances and with an unspecified number of interesting witnesses. When you have selected the templates to be used to generate the discovered model and tuned the settings for each of them, you can press Finish. After that the Declare Miner will start the discovery, given the specified settings. The discovery process may take some time, especially for logs including a large number of event classes. After the discovery has finished, a Declare Model object will be visualized. If you have chosen the multiple models option different tabs will be visualized, each tab containing all the discovered constraints for a given template:
If you have chosen the single ingle model option a single model will be visualized including all the discovered d constraints for the selected templates:
Plug-in Classes
The Declare Miner plug-in contains 145 Java classes, which all reside in the org.processmining.plugins.declare package or in sub-packages of it. In the following the role of each sub-package and of the main Java classes is explained: 1. declareminer/DeclareMiner.java contains the mining method. 2. declareminer/TemplateGUI.java holds the GUI visualized to specify the miner settings. 3. declareminer/SlickerOpenCheckResults.java is used to build the GUI to show the mined model. 4. model/DeclareModel.java is the ProM object structured as a Declare model. 5. model/Template.java represents a Declare template. 6. exporting/DeclareExport.java holds the method to export a Declare model to the file system. 7. exporting/LTLExport.java holds the method to export an LTL model to the file system. 8. importing/DeclareModelImportPlugin.java holds the method to import a Declare model from the file system. 9. importing/TemplateImportPlugin.java holds the method to import the XML file defining the Declare templates. 10. graph.* contains the Java classes to draw the mined constraints in the mined Declare model. 11. declare2ltl/Declare2ltl.java and declareminer/LTLGenerator.java implement the plugin to translate a Declare model into an LTL model.
Dependencies
The Declare Miner depends on the LTL Checker. However, the Miner invokes the converter directly, and not through the framework.