Canonical Process Intermediate Representation (ProcessIR). Represents processes, activities, choices, loops, partial orders, guards, policies, objects, and relationships.
Summary
Functions
Deterministic digest of the ProcessIR.
Constructs a new ProcessIR and validates referential integrity and acyclicity.
Converts ProcessIR to a serializable map.
Validates referential integrity, acyclic partial orders, and policy targets.
Types
@type t() :: %Ex4pmCore.ProcessIR{ activities: %{optional(String.t()) => Ex4pmCore.ProcessIR.Activity.t()}, choices: %{optional(String.t()) => Ex4pmCore.ProcessIR.Choice.t()}, guards: %{optional(String.t()) => Ex4pmCore.ProcessIR.Guard.t()}, id: String.t(), loops: %{optional(String.t()) => Ex4pmCore.ProcessIR.Loop.t()}, metadata: map(), name: String.t(), objects: %{optional(String.t()) => Ex4pmCore.ProcessIR.ObjectType.t()}, partial_orders: %{ optional(String.t()) => Ex4pmCore.ProcessIR.PartialOrder.t() }, policies: %{optional(String.t()) => Ex4pmCore.ProcessIR.Policy.t()}, relationships: %{optional(String.t()) => Ex4pmCore.ProcessIR.Relationship.t()}, root: String.t() | term() | nil, subject: Ex4pm.Subject.t() | nil, version: String.t() }
Functions
Deterministic digest of the ProcessIR.
Constructs a new ProcessIR and validates referential integrity and acyclicity.
Converts ProcessIR to a serializable map.
Validates referential integrity, acyclic partial orders, and policy targets.