Skip to Content
v0.13.2: New interface + queries as text Download
DocumentationOC-DECLARE Guide

OC-DECLARE Guide

In this guide, we show how declarative process constraints in the OC-DECLARE language can be discovered, modeled, and checked in OCPQ. For more details on the OC-DECLARE approach itself, see the OC-DECLARE paper here (Springer) or here (Personal Website).

Start

The OC-DECLARE view can be opened using Declare in the sidebar 1. It lists all your OC-DECLARE models, and New constraint 2 creates a new one.

OC-DECLARE overview

Overview

Each model has a name 1 and an optional description. Using the toolbar, you can add activities 2, discover constraints from the loaded OCEL 3, and evaluate the model on it 4. Additionally, Layout arranges the model, and Export saves it as a file.

The panel on the left 5 allows filtering which object types and activities are shown, switching the layout direction, and also explains the arc notation.

OC-DECLARE editor

Modeling Constraints

Add opens a list of all activities in the log 2, and clicking on one adds it as a node to the model. Using the tabs on top 1, you can instead add the special nodes for the creation (Object init) or the end (Object exit) of an object type. The dots below each activity name indicate the object types involved in its events.

Adding activities

To add a constraint (i.e., an arc), drag from the edge of one node 1 onto another node 2. In our example, the arc goes from place order to pay order.

Drawing an arc

By default, a new arc is an eventually-follows (EF) arc over all object types the two activities share. When hovering over an arc, an edit button 1 appears, which opens the settings of the arc:

  1. The arc type 2 (e.g., eventually-follows, eventually-precedes, directly-follows, or their negations). The icons on the top right show statistics for the arc, flip its direction, or delete it.
  2. The minimum and maximum count of target events 3.
  3. The object involvement 4, i.e., for which object types the constraint has to hold for each, all, or any of the related objects, also through object-to-object (O2O) relations.

Editing an arc

Evaluate checks every arc on the loaded OCEL and labels it with its violation percentage. In the Order Management log, every placed order is paid afterwards, and thus the arc shows 0%.

Evaluated arc

Discovering Constraints

Discover 1 opens the discovery settings, where you can select the object types and activities to consider, the noise threshold, how much redundant arcs should be reduced, and which arc types should be discovered. Discover in the settings 2 then runs the discovery. In particular, the Lossless reduction removes arcs that are implied by other arcs, as described in the paper Lossless Simplification of Object-Centric Declarative Process Models (OBJECTS Workshop at BPM 2026).

Discovery settings

The discovered arcs are then added to the model and laid out automatically. After Evaluate, each arc shows its share of violations.

Discovered OC-DECLARE model

Last updated on