This project involves the development of a web application aimed at stream-based process discovery. The application connects to a running instance of CPEE (Cloud Process Execution Engine) executing one of four predefined models: TUM-Pra-WS-23-Discovery1, TUM-Benzin-Pra-WS-23-2, TUM-Benzin-Pra-WS-23-3, and Coopis 2010. It continuously records the event stream and uses the Inductive Miner Lifecycle Extension process discovery technique to construct a Petri net representing the current behavior.
- Connects to a CPEE instance and records the event stream
- Discovers Petri Net based on the Inductive Miner Lifecycle Extension process discovery technique
- Allows configuration of stream-based process discovery technique:
- Choice of CPEE model in execution: TUM-Pra-WS-23-Discovery1, TUM-Benzin-Pra-WS-23-2, TUM-Benzin-Pra-WS-23-3, and Coopis 2010
- Update frequency options: time step-based, event-based, or batch event-based
- Visualizes discovered Petri Net using GraphViz
- Provides interactive analysis features:
- Zoom in/out
- Select and focus specific elements
- Reverse selection
- Save/download current visualization
- Enriches model elements with metrics describing their currency based on event timestamps
- Constraint: Python backend
Clone this repository and install the requirements.
git clone https://github.com/MartinMF/process_discovery.git
cd process_discovery
pip install -r requirements.txt
Running the run.py
script will start the server on localhost:8000.
python run.py
Once the server is running, visit localhost:8000 for the web interface.
-
Select one of the predefined CPEE models:
- TUM-Pra-WS-23-Discovery1
- TUM-Benzin-Pra-WS-23-2
- TUM-Benzin-Pra-WS-23-3
- Coopis 2010.
-
Select how many instances of the selected model should be executed.
-
Choose an update mode:
-
Input the interval in ms or the batch-size for the event-based updating.
-
Click the "Run" button to start the execution of the instances and updates the displayed Petri net and corresponding model information based on the selected update mode.
-
Click the "Stop" button to halt the model updating. Note: The instances will continue to run in the background.
-
Click the "Clear logs" button to delete all collected event-information from the log.
Hold right click to move the Petri Net around, click an element to see relevant information and scroll to zoom in/out
- Green: Process instance finished
- Yellow: Process instance stopped and was restarted
- Red: Process instance stopped and was not restarted (restarted too often)
- Blue: Process instance is still running