pm4py.objects.conversion.bpmn.variants package#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

Submodules#

pm4py.objects.conversion.bpmn.variants.to_petri_net module#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

class pm4py.objects.conversion.bpmn.variants.to_petri_net.Parameters(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: Enum

USE_ID = 'use_id'#
ENABLE_REDUCTION = 'enable_reduction'#
RETURN_FLOW_TRANS_MAP = 'return_flow_trans_map'#
pm4py.objects.conversion.bpmn.variants.to_petri_net.build_digraph_from_petri_net(net)[source]#
Builds a directed graph from a Petri net

(for the purpose to add invisibles between inclusive gateways)

Parameters#

net

Petri net

Returns#

digraph

Digraph

pm4py.objects.conversion.bpmn.variants.to_petri_net.apply(bpmn_graph, parameters=None)[source]#

Converts a BPMN graph to an accepting Petri net

Parameters#

bpmn_graph

BPMN graph

parameters

Parameters of the algorithm: - Parameters.USE_ID => (default: False) uses the IDs of the objects instead of their labels in the conversion - Parameters.ENABLE_REDUCTION => reduces the invisible transitions - Parameters.RETURN_FLOW_TRANS_MAP => returns additional information on the conversion:

  1. the places of the obtained Petri net that are corresponding to each

BPMN flow.

  1. the transitions of the Petri net related to the nodes of the BPMN diagram.

Returns#

net

Petri net

im

Initial marking

fm

Final marking