Cortado is a process mining tool dedicated for interactive/incremental process discovery
.xes
and initial process models .ptml
.ptml
or .pnml
filesStandalone builds for Windows 10/11, Linux, and macOS (Apple Silicon only) are available from the GitHub Releases Page.
src/
contains the source code of Cortado
src/backend
contains Cortado's Python-based backendsrc/frontend
contains Cortado's frontend that is based on web technologies , i.e., an Angular web application embedded in an executable with Electronbuild_scripts/
contains scripts to build the standalone executables for the three major operating systems: Windows, Linux, and macOS. (Please make sure to correctly follow the Setup instructions before executing the build scripts.)LICENSE.txt
README.md
CHANGELOG.md
contains a history of Cortado releasessrc/frontend/
npm install
(this command installs all dependencies listed in src/frontend/package.json
)devDependencies
keyword in the package.json
-file. All dependencies that are used in the Electron codebase must be included under the dependencies
keyword.)src/backend/
pip install -r requirements.txt
src/backend/
python main.py
CORTADO_DEBUG
to 1
src/frontend/
npm start
to build & run Cortado's frontendsrc/frontend/
npm start
to build & run Cortado's frontendnpm run electron-live-reload
that starts a window with CortadoTo build executables from the source code, both the backend and frontend have to be converted. We use PyInstaller (https://pyinstaller.org/) to bundle all backend related files into a single executable. We use Electron (https://www.electronjs.org/) to generate an executable of the Frontend.
In build_scripts/
there are scripts for each major OS to build Cortado.
build_scripts/build_cortado_windows.ps1
build_scripts/build_cortado_macos.sh
build_scripts/build_cortado_linux.sh
Note that the operating system must match the script, otherwise the build will fail. Thus, if you are building Cortado for Windows, you must run the corresponding script on a Windows machine.
After the successful execution of the build script, the build is located in src/frontend/
To maintain consistent code quality and formatting crucial, we have integrated Github Workflows along with npm scripts for linting and manual fixing of formatting errors.
Our Github Workflow plays a pivotal role in ensuring code quality. Whenever changes are pushed to the repository, the workflow automatically triggers linting checks using various tools. We have separate jobs within the workflow to handle TypeScript, HTML, and SASS linting, as well as Python code formatting checks. If any issues are detected, the workflow provides prompt feedback, helping contributors address the problems early in the development cycle.
In addition to the automated workflow, we have set up npm scripts that facilitate local development and manual checks for formatting errors.
To perform comprehensive linting across TypeScript, HTML, and SASS files, use: npm run lint
If linting issues are detected, you can initiate automatic fixes for TypeScript and SASS files using: npm run lint-scripts-fix
and npm run lint-styles-fix
For HTML files, you can manually review and fix the issues identified by the linter.
We also support Python code formatting checks using the command: black --check .
These tools and scripts are designed to streamline the development process, ensuring that our codebase remains clean, consistent, and of high quality. Before submitting your contributions, make sure to run these checks locally and address any issues to facilitate smoother code reviews and integration.
Publication | Authors | Year |
---|---|---|
Analyzing Healthcare Processes with Incremental Process Discovery: Practical Insights from a Real-World Application | Schuster, D., Benevento, E., Aloini, D., van der Aalst, W.M.P. | 2024 |
Defining and visualizing process execution variants from partially ordered event data | Schuster, D., Zerbato, F., van Zelst, S.J., van der Aalst, W.M.P. | 2024 |
Incremental Discovery of Process Models Using Trace Fragments | Schuster, D., Föcking, N., van Zelst, S.J., van der Aalst, W.M.P. | 2023 |
Mining Frequent Infix Patterns from Concurrency-Aware Process Execution Variant | Martini, M., Schuster, D., Wil M. P. van der Aalst | 2023 |
Cortado: A dedicated process mining tool for interactive process discovery | Schuster, D., van Zelst, S.J., van der Aalst, W.M.P. | 2023 |
Control-Flow-Based Querying of Process Executions from Partially Ordered Event Data | Schuster, D., Martini, M., van Zelst, S.J., van der Aalst, W.M.P. | 2022 |
Conformance Checking for Trace Fragments Using Infix and Postfix Alignments | Schuster, D., Föcking, N., van Zelst, S.J., van der Aalst, W.M.P. | 2022 |
Temporal Performance Analysis for Block-Structured Process Models in Cortado | Schuster, D., Schade, L., van Zelst, S.J., van der Aalst, W.M.P. | 2022 |
A Generic Trace Ordering Framework for Incremental Process Discovery | Schuster, D., Domnitsch, E., van Zelst, S.J., van der Aalst, W.M.P. | 2022 |
Freezing Sub-models During Incremental Process Discovery | Schuster, D., van Zelst, S.J., van der Aalst, W.M.P. | 2021 |
Visualizing Trace Variants from Partially Ordered Event Data | Schuster, D., Schade, L., van Zelst, S.J., van der Aalst, W.M.P. | 2021 |
Cortado—An Interactive Tool for Data-Driven Process Discovery and Modeling | Schuster, D., van Zelst, S.J., van der Aalst, W.M.P. | 2021 |
Incremental Discovery of Hierarchical Process Models | Schuster, D., van Zelst, S.J., van der Aalst, W.M.P. | 2020 |
If you are using or referencing Cortado in scientific work, please cite Cortado as follows.
Schuster, D., van Zelst, S.J., van der Aalst, W.M.P. (2023). Cortado: A dedicated process mining tool for interactive process discovery. SoftwareX Vol. 22. Elsevier. https://doi.org/10.1016/j.softx.2023.101373.
Download citation https://www.sciencedirect.com/science/article/pii/S2352711023000699
DOI 10.1016/j.softx.2023.101373
If you are interested in Cortado, get in touch if you have any questions or custom request via Mail - [email protected]