RuM - A Comprehensive Desktop Application for Rule Mining
RuM is focused on providing a comprehensive set of declarative process mining algorithms in a single unified package that is easy to use for both novices and experts of process mining. RuM is based on the modelling language Declare but no prior experience with Declare is required to start using RuM.
The following main functionalities are supported:
- Process discovery
- Conformance checking
- Log generation
- Process modeling - including natural language input both by text and by voice
- Process monitoring
System Requirements
- Operating system: Windows, Linux, macOS
- AlloyLogGenerator works only on Windows at the moment
- Minimum resolution: 1280×720
- Java 11 JDK
- Natural language input requires extra configuration as described here
- Some functionality may require write access to the folder that RuM is running from
Download
RuM is currently packaged as a single runnable jar file that works on all supported operating systems
- Download RuM
- Source code is available here
Installing and Running RuM
RuM itself does not require installation, but it is required to install Java 11 JDK.
You can run RuM via the command line java -jar .\rum-0.4.10-SNAPSHOT.jar
or if JAVA_HOME is set then by double-clicking the jar file.
Supported Algorithms
- Process discovery
- Declare miner
- Minerful
- MP-Declare Miner
- MP-Minerful
- Conformance checking
- Declare Analyzer
- Declare Replayer
- Data-Aware Declare Replayer
- Log generation
- Alloy-LogGenerator
- MinerFul Log Generator
- Process modeling
- Form based model editing
- Voice recognition via Google Cloud Speech
- Natural language processing
- Process monitoring
- MP-Declare w Alloy
- MoBuConLTL
Getting Started with RuM
This chapter provides some helpful tips for getting started with RuM. It is recommended to at least read the "General Tips" as these introduce the basic layout and logic of the application.
You can find a few examples to play around with here or you can use your own event logs and process models.
General Tips
- RuM is organised into sections such that each section focuses on a specific functionality (process discovery, conformance checking etc.). Navigation between these sections is mainly handled trough a side-menu. Navigating the sections will not cause any work to be lost.
- Each section has a header row that contains the section title and buttons to get started in that section. Usually either a model or an event log has to be selected. It is possible to have multiple files open at the same time.
- After selecting a file (or a new empty model) a row of tabs and work area will appear. You can use the tabs to navigate between different files that you have opened and you can use the work area to work with a specific file.
- The work area is usually organised from left to right such that the parameters are displayed on the left and results are displayed on the right.
- It is possible to navigate the application freely even when one or more process mining tasks are running. The tasks will be carried out even while a different section or tab of the application is opened.
- If the results can be exported then there will be an "Export" button in the top left corner of the work area.
Process Discovery
- Process discovery expects an event log in XES format as an input.
- An initial model using the default parameters will be automatically discovered when opening an event log. It is possible to cancel discovering the initial model.
- Changing the parameters in the left column takes effect only after clicking "Discover".
- The filters above the visualisation are applied automatically.
- There are three different views that can be used to explore the discovered model. File format of the exported model depends on the selected model view.
Conformance Checking
- Conformance checking expects a process model in decl format as a main input and an event log in XES format as a secondary input. The event log is treated as a parameter and can be selected after selecting the model.
- The Declare Analyzer checks for constraint violations and fulfilments while the other two algorithms create log alignments (which events should be inserted or deleted to make traces conformant)
- Conformance checking results are displayed in groups (either grouped by traces or by constraints). Each group can be opened for a more detailed view by clicking on it. Clicking on a row of details shows all of the events of the corresponding trace.
- Exploring the results by traces allows to see how a specific trace is affected by each constraint in the model.
- Exploring the results by constraints allows to see how a specific constraint affects each trace in the event log.
Log Generation
- Log Generation expects a process model in decl format as an input.
- If the model contains data conditions then only Alloy-LogGenerator will be available.
- The generated log can be explored on the right side of the work area before exporting.
- Changing the parameters in the left column takes effect only after clicking "Generate".
Process modeling
- Process modeling is supported via the MP-Declare Editor.
- Process modeling expects a process model in decl format as an input. However, it is also possible to an entirely new model.
- Activities and attributes can be modified trough the corresponding list on the right side of the modeler.
- Constraints can be modified trough the constraints table on the bottom side of the editor.
- The MP-Declare Editor also supports natural language input both by text and by voice. This is implemented as a chat-bot named Declo that guides you through the entire process of creating a model.
Conformance Checking
- Conformance checking expects a process model in decl format as a main input and an event log in XES format as a secondary input. The event log is treated as a parameter and can be selected after selecting the model.
- All of the events in the event log will be processed before the results can be explored. This may be changed in the future.
- MP-Declare w Alloy can take into account the activation and correlation conditions present in the model. If these conditions are not present or are unimportant then MoBuConLTL should be used instead.
- The results can be explored both by looking at the state of the model while a specific event has occurred and by letting the events play out naturally as an animation.