Giter Site home page Giter Site logo

realminer's Introduction

RealMiner

Originally: PADS x Celonis OCPM

A powerful tool for analyzing and visualizing object-centric process data. This app has been developed during the lab PADS x Celonis, offered by the Chair of Process and Data Science (PADS) at RWTH Aachen University, in cooperation with celonis, in summer semester 2023.

Table of Contents

Installation

  1. Clone the repository:
    git clone [email protected]:rhensen/pads-x-celonis-ocpm.git
  2. Install the required dependencies:
    pip install -r requirements.txt

Usage

  1. Prepare your process data in the required .jsonocel format
  2. Change directory to the src folder:
    cd src\
  3. Run the application:
    python main.py
  4. Import your event log, and follow the instructions appearing on screen.

Features

The app solves different problems in the domain of Object-centric Process Mining, including:

  • Importing object-centric event logs (.jsonocel)
  • Filtering by object types and activity names
  • Discovering object-centric petri nets
  • Variants and trends analysis : Computing cases (process executions) and variants, including displaying them as an event-object graph 1
  • Computing object-centric KPIs such as pooling or lagging time 2, allowing for performance analysis and bottleneck identification
  • Exporting analysis results in various formats

Examples

The following examples make use of publicly available event logs from https://ocel-standard.org

Example 1: Analyzing a recruiting processs

  1. Download and extract the recruiting dataset
  2. Run the application:
    python main.py
  3. Filter the object types and activity names as needed
  4. Discover an object-centric petri net (Petri Net tab)
  5. Generate heatmaps for lagging and pooling time (Heatmap tab) and identify potential bottlenecks
  6. Export these heatmaps pressing Ctrl+S or using the Export button

Example 2: Analyzing a P2P process

  1. Download the p2p dataset
  2. Add the following lines as a new field inside the JSON root node (copy after line 1):
    "ocel:global-log": {
    	"ocel:attribute-names": [],
    	"ocel:object-types": [
    		"PURCHORD",
    		"INVOICE",
    		"PURCHREQ",
    		"MATERIAL",
    		"GDSRCPT"
    	],
    	"ocel:version": [
    		"1.0"
    	],
    	"ocel:ordering": [
    		"timestamp"
    	]
    },
  3. Run the application:
    python main.py
  4. Filter the object types and activity names as needed
  5. Discover the object-centric variants (Variant Explorer tab)
  6. Export the variant graphs using Ctrl+S or the Export button

Acknowledgements

  • Thanks to Bob Luppes, Alessandro Berti and Eduardo Goulart Rocha for supervising the course, giving us valuable feedback and a lot of help providing datasets while developing the app.
  • Thanks to the developers of ocpa for inspiration, valuable insights and providing awesome tools for object-centric process mining.

Repository Structure

This repository follows a Model-View-Controller (MVC) architecture and is primarily built using Python with a tkinter-based frontend. It is designed to provide a process mining application with various widgets specifically developed for the app. The repository structure is organized as follows:

The MVC architecture separates the application into three major components: Model, View, and Controller. The Model represents the data and business logic, the View handles the user interface and visualization, and the Controller manages the interactions between the Model and View.

The project leverages Python's flexibility and rich ecosystem of libraries to provide a powerful process mining application. The custom-developed widgets offer additional functionality and enhanced user experience within the app.

Feel free to explore the individual directories for more detailed information about each component.

References

Footnotes

  1. Jan Niklas Adams, Daniel Schuster, Seth Schmitz, Günther Schuh, Wil M.P. van der Aalst (2022). Defining Cases and Variants for Object-Centric Event Data, Defining Cases and Variants for Object-Centric Event Data (arXiv:2208.03235).

  2. Gyunam Park, Jan Niklas Adams, Wil. M. P. van der Aalst (2022). OPerA: Object-Centric Performance Analysis, (arXiv:2204.10662).

realminer's People

Contributors

raihensen avatar ilya-fradlin avatar kimamfaldern avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.