Simod is a Python tool for automated discovery of business process simulation models from event logs.
Project description
Simod: Automated discovery of business process simulation models
SIMOD combines process mining and machine learning techniques to automate the discovery and tuning of Business Process Simulation models from event logs extracted from enterprise information systems (ERPs, CRM, case management systems, etc.). SIMOD takes as input an event log in CSV format, a configuration file, and (optionally) a BPMN process model, and discovers a business process simulation model that can be simulated using the Prosimos simulator, which is embedded in Simod.
Dependencies
Required
| Dependency | Version | Notes |
|---|---|---|
| Python | 3.9 | For Windows, Python 3.9.13 is the last distribution with Windows installers. |
| Java | 1.8 | For example, use Amazon Corretto 8. |
| Poetry | latest | If using Docker or compiling from source, use Poetry for building, installing, and managing Python dependencies. |
Optional
Depending on your CPU architecture, some dependencies might not be pre-compiled for your platform. In that case, you will most likely also need the following dependencies:
| Dependency | Version | Notes |
|---|---|---|
| Cargo and Rust | latest | Install it with rustup.rs. |
Getting Started
PyPI
❗️Make sure java -version returns 1.8 and pip is installed.
Then, install Simod and run it with the following commands:
pip install simod
simod --configuration resources/config/configuration_example.yml
Use your own configuration file instead of resources/config/configuration_example.yml and specify the path to the
event log in the configuration file itself. Paths are relative to the configuration file, or absolute.
PyPI project is available at https://pypi.org/project/simod/.
Docker
docker pull nokal/simod
To start a container:
docker run -it -v /path/to/resources/:/usr/src/Simod/resources -v /path/to/output:/usr/src/Simod/outputs nokal/simod bash
Use the resources directory to store event logs and configuration files. The outputs directory will contain the
results of Simod.
From inside the container, you can run Simod with:
poetry run simod --configuration <path-to-config>
Docker images for different Simod versions are available at https://hub.docker.com/r/nokal/simod/tags.
Configuration file
A set of example configurations can be found in the resources folder along with a description of each element:
- Basic configuration to discover the full BPS model (here).
- Basic configuration to discover the full BPS model using fuzzy (probabilistic) resource calendars (here).
- Basic configuration to discover the full BPS model with data-aware branching rules (here).
- Basic configuration to discover the full BPS model, and evaluate it with a specified event log (here).
- Basic configuration to discover a BPS model with a provided BPMN process model as starting point (here).
- Basic configuration to discover a BPS model with no optimization process (one-shot) (here).
- Complete configuration example with all the possible parameters (here).
For developers
Testing
Use pytest to run tests on the package:
poetry run pytest
To run unit tests, execute:
poetry run pytest -m "not integration"
Coverage:
poetry run pytest -m "not integration" --cov=simod
Documentation
For more details about the installation, usage, and implementation visit the documentation here:
📖 ️ https://simod.readthedocs.io/en/latest/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file simod-5.1.6.tar.gz.
File metadata
- Download URL: simod-5.1.6.tar.gz
- Upload date:
- Size: 43.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36ee2a4b7667f91cd467d23bf72ed8877ce337cb6f176fd612a88045d1dad1c3
|
|
| MD5 |
f65dd77ac7e6d5f811444a1d4557e49c
|
|
| BLAKE2b-256 |
68b56e1814e698a5a3873587b309b8174e51749c3fdd0b029128232ea59d4b2e
|
Provenance
The following attestation bundles were made for simod-5.1.6.tar.gz:
Publisher:
simod.yml on AutomatedProcessImprovement/Simod
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
simod-5.1.6.tar.gz -
Subject digest:
36ee2a4b7667f91cd467d23bf72ed8877ce337cb6f176fd612a88045d1dad1c3 - Sigstore transparency entry: 221038615
- Sigstore integration time:
-
Permalink:
AutomatedProcessImprovement/Simod@56cd99f61f64e2b08656f88d617586eac2687416 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/AutomatedProcessImprovement
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
simod.yml@56cd99f61f64e2b08656f88d617586eac2687416 -
Trigger Event:
push
-
Statement type:
File details
Details for the file simod-5.1.6-py3-none-any.whl.
File metadata
- Download URL: simod-5.1.6-py3-none-any.whl
- Upload date:
- Size: 43.7 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
02e528edabadacde5d6c96561f1906cfd1c50d5d550de6865be2d71f29576b6c
|
|
| MD5 |
e0ccd96b393d5235d7722178ef9da1ab
|
|
| BLAKE2b-256 |
a73aca56bb64c63aa80f52c62493f56a180be72cd435b5a25a38f9242faa1475
|
Provenance
The following attestation bundles were made for simod-5.1.6-py3-none-any.whl:
Publisher:
simod.yml on AutomatedProcessImprovement/Simod
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
simod-5.1.6-py3-none-any.whl -
Subject digest:
02e528edabadacde5d6c96561f1906cfd1c50d5d550de6865be2d71f29576b6c - Sigstore transparency entry: 221038630
- Sigstore integration time:
-
Permalink:
AutomatedProcessImprovement/Simod@56cd99f61f64e2b08656f88d617586eac2687416 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/AutomatedProcessImprovement
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
simod.yml@56cd99f61f64e2b08656f88d617586eac2687416 -
Trigger Event:
push
-
Statement type: