BPMN_CONFORMS
Description
BPMN_CONFORMS
provides a way for simple binary yes/no conformance checking on a BPMN model to distinguish fitting traces from non-fitting traces.
Syntax
BPMN_CONFORMS ( flattened_events_table.column , bpmn_model )
flattened_events_table.column: Used as the input column of the operator. Should be a column of a (flattened) event table. Its values are mapped to the referred events and returned as the result column.
BPMN model description syntax
[<vertices>], [<edges>]
vertices: A whitespace separated list of all vertices in the BPMN model. The vertices are encoded in the following way:
[<vertex_id> <vertex_type>]
[<vertex_id> BPMN_TASK '<task_name>']
vertex_id: Denotes a unique integer number used as the vertex identifier.
vertex_type: BPMN_START | BPMN_END | BPMN_EXCLUSIVE_CHOICE | BPMN_PARALLEL
BPMN_START: The start vertex of the BPMN model. Each model description should contain exactly one start vertex.
BPMN_END: The end vertex of the BPMN model. Each model description should contain exactly one end vertex.
BPMN_EXCLUSIVE_CHOICE: An exclusive choice gateway.
BPMN_PARALLEL: A parallel gateway.
task_name: Only used in combination with a vertex of type BPMN_TASK. Denotes the name of the task vertex, which should correspond to the activity name in the (flattened) event table. Must be a non-null STRING.
edges: A whitespace separated list of all edges in the BPMN model. An edge is encoded in the following way:
[<start_vertex> <end_vertex>]
start_vertex: the vertex ID corresponding to the start vertex of this edge.
end_vertex: the vertex ID corresponding to the end vertex of this edge.
Examples
[1] An example with a simple BPMN model: SEQUENCE("Create Order", EXCLUSIVE_CHOICE( "Process Order", "Cancel Order")). The event table contains four events, one fitting trace and one non-fitting trace. | |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
|
[2] This example computes the BPMN_CONFORMS operator on a more complex BPMN model containing both an exclusive and a parallel path: SEQUENCE ("A", EXCLUSIVE_CHOICE("B", PARALLEL("C", "D")), "E"). The event table contains three traces that all conform to the model. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
|
[3] This example computes the BPMN_CONFORMS operator for a BPMN model with a redo loop on a flattened MO table: SEQUENCE (TASK(C),TASK(B),TASK(E) ). The flattened event table over O_Obj2 contains two traces, with object 'X' conforming to the model and 'Y' not conforming. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
[4] This example computes the BPMN_CONFORMS operator on a more complex BPMN model containing both an exclusive and a parallel path: SEQUENCE ("A", EXCLUSIVE_CHOICE("B", PARALLEL("C", "D")), "E"). The event table contains three traces that all conform to the model. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
|