rust4pm-demo-subtitles-1080.mp4
This repository contains the following software projects, which are all based on the Rust crate process_mining
(See https://crates.io/crates/process_mining and https://github.com/aarkue/rust4pm/).
log_strip
: CLI for Stripping XES Attributesevent_hours_analyzer
: Python Script for Data Visualizationocel_graph
: Web Service for Constructing Graphs from OCEDpetri_net_wasm
: Petri Net Editor with PNML Support via WASM
See below for instructions on how to run or use each projects. For some of the projects, pre-built versions are available for convenience.
To build any of these projects yourself, you need to have Rust (see https://www.rust-lang.org/tools/install) installed.
To build the frontends of ocel_graph
and petri_net_wasm
you will additionally need to have Node.js installed.
For convenience, binary builds for Linux and Windows are available for the log_strip
CLI and the backend of ocel_graph
at https://github.com/aarkue/rust4pm_demos/releases/latest.
Simply download the corresponding file (e.g., log_strip-linux.zip
) extract it and run the contained binary.
Additionally, the frontends for petri_net_wasm
and ocel_graph
are available online (see https://aarkue.github.io/rust4pm_demos/).
While the petri_net_wasm
is self-contained, the ocel_graph
expects a backend running locally on your machine that provides the backend API at localhost:3000
.
For building any of the demo applications, first navigate to the corresponding folder.
- Download the corresponding
log_strip-XZY.zip
file from https://github.com/aarkue/rust4pm_demos/releases/latest and extract it. - The resulting file can be ran like this:
log_strip -i <input-file> -o <output-file>
(orlog_strip.exe -i <input-file> -o <output-file>
on Windows)
cargo run --release -- -i <input-file> -o <output-file>
- Create and activate a virtual Python environment (e.g.,
python -m venv venv
andsource ./venv/bin/activate
) - Install maturin
pip install maturin
maturin develop --release
- Execute the Jupyter notebook
event_hours_analyzer.ipynb
using the same Python environment
- Download the corresponding
ocel_graph_backend-XZY.zip
file from https://github.com/aarkue/rust4pm_demos/releases/latest and extract it. - Run the resulting
ocel_graph_backend[.exe]
file in a console - Head over to https://aarkue.github.io/rust4pm_demos/ocel_graph/ and select an OCEL2.0 XML/JSON file (see for example files)
- After an OCEL2.0 was loaded, choose the wanted options on the right and click Apply to view the resulting graph
- Start the backend (
cd backend
andcargo run --release
) - Start the frontend (
cd frontend
,npm i
, and runnpm run dev
) - Open the specified URL in the browser
- Head over to https://aarkue.github.io/rust4pm_demos/petri_net_wasm/ and use it :)
See https://www.processmining.org/event-data.html for some example XES files to use for discovery. Notice, that as the tool runs completely in the browser very large XES file with many activities might not work well.
- Build the WASM library (
wasm-pack build --target web --release
) - Run the frontend (
npm i
andnpm run dev
) - Open the specified URL in the browser