Modules
Modules are the platform's capabilities. The Modules page manages which ones your account has.
Module library#
| Element | Detail |
|---|---|
| Row | Name, version, description, a Configure link, and the enable switch. Modules are grouped under category headings. |
| Enable switch | Turns the module on or off for your account; disabled modules disappear from grids and dashboards. |
| Configure | The settings form generated from the module's schema. |
| Import | Upload an archive — .zip, .tar, .tar.gz, or .tgz. |
Installation runs as a job: unpack, validate the manifest, uv sync, bundle the frontend, mount. A failed install rolls back, so nothing is left half-installed, and no restart is needed.
The module detail page shows an About popover (description, longer about, cited works, artifacts), the Provides/Consumes lists, the configuration forms, a live tail of that module's log lines, and the Uninstall action in its danger zone.
Availability#
A module is offered for a log only when all of these hold:
- the log model matches (
case_centricorobject_centric), - every column in
required_columnsexists, min_eventsandmin_casesare met,- every module in
requirements.modulesis installed for your account, - the module is enabled for your account.
A missing optional_modules entry does not block it; the card is marked Limited and the module is expected to degrade gracefully.
Bundled modules#
| Module | Id | Category | Needs | Produces |
|---|---|---|---|---|
| Discovery | discovery | foundation | case_id, activity, timestamp; ≥50 events, ≥2 cases | DFG, Petri nets, process tree, heuristics net, BPMN; datasets + 3 widgets |
| Performance | performance | foundation | case, activity, timestamp | Throughput, cycle and lead times, P90, bottleneck ranking; 3 widgets |
| OCEL discovery | ocel_discovery | foundation | object-centric log | OC-DFG, object-centric Petri net, per-type summaries; 4 widgets |
| Performance (JVM) | performance_java | foundation | case, activity, timestamp; a JRE | Timing metrics computed in Java; 3 datasets |
| Complexity | complexity | advanced | ≥50 events, ≥2 cases | Entropy, Lempel-Ziv, affinity, structure, Pentland metrics; 2 widgets |
| Complexity v2 | complexity_v2 | advanced | ≥50 events, ≥2 cases | A 28-metric suite plus a transition-probability matrix |
| Complexity over time | complexity_over_time | advanced | ≥50 events, ≥2 cases | Complexity metrics per time slice |
| Complexity v2 over time | complexity_v2_over_time | advanced | ≥50 events, ≥2 cases | The 28-metric suite per time slice |
| Conformance | conformance | advanced | a reference BPMN; ≥50 events | Fitness, precision, ranked deviations; 2 widgets |
| CV4CDD | cv4cdd | advanced | ≥200 events, ≥20 cases, model upload | CNN-based concept-drift detections |
| Concept drift explainer | concept_drift_explainer | advanced | cv4cdd; ≥200 events, ≥20 cases; OpenAI + Pinecone | Ranked, citation-backed explanations for each drift |
| Log evolution | log_evolution | advanced | case, activity, timestamp | Arrivals vs completions, WIP, activity mix, dotted chart; 4 widgets |
| Performance over time | performance_over_time | advanced | case, activity, timestamp | Performance KPIs per time slice |
| Actor performance | actor_performance | advanced | resource; ≥100 events, ≥5 cases; Neo4j sidecar | Waiting-time decomposition per actor behaviour |
| Agent simulator | agentsimulator | advanced | case, activity, timestamp, resource; ≥200 events, ≥20 cases | Agent-based simulation plus a fidelity score; 3 widgets |
| PComp | pcomp | comparison | two logs | Two-sample hypothesis test on Earth Mover's Distance |
| Process comparison | process_comparison | comparison | two logs | Side-by-side DFG diff, variant differences, EMD similarity |
Three modules have notable behaviour: Discovery can derive Petri nets (Alpha, Alpha+, Inductive, ILP, IMF), process trees, heuristics nets, and BPMN, and publishes its models as datasets other modules can render. Performance declares an optional dependency on Discovery so graphs arrive labelled, and runs in a killable worker because its native work can be long. Concept drift explainer is the reference for a module with an external dependency chain and an ai_models block that renders its own model pickers.
Ownership#
Module ownership is per account and reference-counted: uninstalling removes your install, and shared artifacts (virtual environment, bundle, caches) are deleted when the last owner leaves. Restore defaults re-adds the modules you removed. Uploaded modules live in data/uploaded_modules/, never in the repository's modules/ tree. Operators can withhold a module from new accounts, or change what new accounts get, on Admin → Modules; existing owners keep their install.