Skip to main content

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 version Documentation Status

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simod-5.1.6.tar.gz (43.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

simod-5.1.6-py3-none-any.whl (43.7 MB view details)

Uploaded Python 3

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

Hashes for simod-5.1.6.tar.gz
Algorithm Hash digest
SHA256 36ee2a4b7667f91cd467d23bf72ed8877ce337cb6f176fd612a88045d1dad1c3
MD5 f65dd77ac7e6d5f811444a1d4557e49c
BLAKE2b-256 68b56e1814e698a5a3873587b309b8174e51749c3fdd0b029128232ea59d4b2e

See more details on using hashes here.

Provenance

The following attestation bundles were made for simod-5.1.6.tar.gz:

Publisher: simod.yml on AutomatedProcessImprovement/Simod

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for simod-5.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 02e528edabadacde5d6c96561f1906cfd1c50d5d550de6865be2d71f29576b6c
MD5 e0ccd96b393d5235d7722178ef9da1ab
BLAKE2b-256 a73aca56bb64c63aa80f52c62493f56a180be72cd435b5a25a38f9242faa1475

See more details on using hashes here.

Provenance

The following attestation bundles were made for simod-5.1.6-py3-none-any.whl:

Publisher: simod.yml on AutomatedProcessImprovement/Simod

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page