pm4py.objects.bpmn.util package#

This file is part of PM4Py (More Info: https://pm4py.fit.fraunhofer.de).

PM4Py is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PM4Py 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 General Public License for more details.

You should have received a copy of the GNU General Public License along with PM4Py. If not, see <https://www.gnu.org/licenses/>.

Submodules#

pm4py.objects.bpmn.util.bpmn_utils module#

This file is part of PM4Py (More Info: https://pm4py.fit.fraunhofer.de).

PM4Py is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PM4Py 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 General Public License for more details.

You should have received a copy of the GNU General Public License along with PM4Py. If not, see <https://www.gnu.org/licenses/>.

pm4py.objects.bpmn.util.bpmn_utils.get_node_by_id(id, bpmn_graph)[source]#

Returns the node with specified id

Parameters#

id

id string

bpmn_graph

BPMN graph

Returns#

node that matches the id

pm4py.objects.bpmn.util.bpmn_utils.get_global_start_events(bpmn_graph)[source]#
pm4py.objects.bpmn.util.bpmn_utils.get_initial_marking(bpmn_graph)[source]#
pm4py.objects.bpmn.util.bpmn_utils.get_boundary_events_of_activity(activity_id, bpmn_graph)[source]#
pm4py.objects.bpmn.util.bpmn_utils.get_external_boundary_events_of_activity(activity_id, bpmn_graph)[source]#
pm4py.objects.bpmn.util.bpmn_utils.get_all_nodes_inside_process(process_id, bpmn_graph, deep=True)[source]#
pm4py.objects.bpmn.util.bpmn_utils.get_all_direct_child_subprocesses(process_id, bpmn_graph, include_normal=False)[source]#
pm4py.objects.bpmn.util.bpmn_utils.get_all_child_subprocesses(process_id, bpmn_graph, include_normal=False)[source]#
pm4py.objects.bpmn.util.bpmn_utils.get_processes_deep(node, bpmn_graph)[source]#
pm4py.objects.bpmn.util.bpmn_utils.get_subprocesses_sorted_by_depth(bpmn_graph)[source]#
pm4py.objects.bpmn.util.bpmn_utils.get_termination_events_of_subprocess(activity_id, bpmn_graph)[source]#
pm4py.objects.bpmn.util.bpmn_utils.get_termination_events_of_subprocess_for_pnet(activity_id, bpmn_graph)[source]#
pm4py.objects.bpmn.util.bpmn_utils.get_start_events_of_subprocess(activity_id, bpmn_graph)[source]#
pm4py.objects.bpmn.util.bpmn_utils.get_end_events_of_subprocess(activity_id, bpmn_graph)[source]#
pm4py.objects.bpmn.util.bpmn_utils.bpmn_graph_end_events_as_throw_events(bpmn_graph)[source]#

pm4py.objects.bpmn.util.reduction module#

This file is part of PM4Py (More Info: https://pm4py.fit.fraunhofer.de).

PM4Py is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PM4Py 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 General Public License for more details.

You should have received a copy of the GNU General Public License along with PM4Py. If not, see <https://www.gnu.org/licenses/>.

pm4py.objects.bpmn.util.reduction.reduce_xor_gateways(bpmn_graph, parameters=None)[source]#

Reduces the number of XOR gateways in the diagram

Parameters#

bpmn_graph

BPMN graph

parameters

Parameters

Returns#

bpmn_graph

(possibly reduced) BPMN graph

pm4py.objects.bpmn.util.reduction.apply(bpmn_graph, parameters=None)[source]#

Reduce the complexity of a BPMN graph by removing useless elements

Parameters#

bpmn_graph

BPMN graph

parameters

Parameters

Returns#

bpmn_graph

(possibly reduced) BPMN graph

pm4py.objects.bpmn.util.sorting module#

This file is part of PM4Py (More Info: https://pm4py.fit.fraunhofer.de).

PM4Py is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PM4Py 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 General Public License for more details.

You should have received a copy of the GNU General Public License along with PM4Py. If not, see <https://www.gnu.org/licenses/>.

pm4py.objects.bpmn.util.sorting.bfs_bpmn(nodes, edges)[source]#
pm4py.objects.bpmn.util.sorting.sort_nodes_given_bfs(nodes, bfs)[source]#
pm4py.objects.bpmn.util.sorting.sort_edges_given_bfs(edges, bfs)[source]#
pm4py.objects.bpmn.util.sorting.get_sorted_nodes_edges(bpmn_graph)[source]#

Assure an ordering as-constant-as-possible

Parameters#

bpmn_graph

BPMN graph

Returns#

nodes

List of nodes of the BPMN graph

edges

List of edges of the BPMN graph