Ex4pmEngine.DAPN (ex4pm v26.9.9)

Copy Markdown View Source

Data-Aware Petri Nets (DAPN) with First-Order Guard Evaluation & Cross-Step Binding Accumulation. Faithful BEAM realization of Montali, Calvanese, and De Giacomo (2014, 2017).

Transitions require both valid token markings AND satisfaction of data attribute guards:

  • Transition t = (Inputs, Outputs, Label, Guard)
  • Guard φ(vmap): evaluated over the cumulative event/case attribute environment.
  • Supports cross-step variable references, diffs, sums, and relative comparisons.

Summary

Functions

Checks if a DAPN transition can fire given current marking and attribute dictionary.

Evaluates a first-order guard against an accumulated attribute environment map.

Simulates execution of a data-aware trace over a DAPN specification with cumulative variable propagation. trace is a list of %{activity: String.t(), attributes: map()} events.

Functions

can_fire?(marking, inputs, guard, vmap)

Checks if a DAPN transition can fire given current marking and attribute dictionary.

evaluate_guard(arg1, vmap)

Evaluates a first-order guard against an accumulated attribute environment map.

execute_dapn_trace(trace, dapn_spec, initial_env \\ %{})

Simulates execution of a data-aware trace over a DAPN specification with cumulative variable propagation. trace is a list of %{activity: String.t(), attributes: map()} events.