pm4py.objects.conversion.wf_net.variants.to_powl module#

PM4Py – A Process Mining Library for Python Copyright (C) 2026 Process Intelligence Solutions GmbH

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

pm4py.objects.conversion.wf_net.variants.to_powl.id_generator()[source]#
pm4py.objects.conversion.wf_net.variants.to_powl.is_silent(transition) → bool[source]#
pm4py.objects.conversion.wf_net.variants.to_powl.add_arc_from_to(source: Place | Transition, target: Transition | Place, net: PetriNet)[source]#
pm4py.objects.conversion.wf_net.variants.to_powl.clone_place(net: PetriNet, place, node_map: dict)[source]#
pm4py.objects.conversion.wf_net.variants.to_powl.clone_transition(net: PetriNet, transition, node_map: dict)[source]#
pm4py.objects.conversion.wf_net.variants.to_powl.pn_transition_to_powl(transition: Transition) → Transition[source]#
pm4py.objects.conversion.wf_net.variants.to_powl.locally_identical(p1, p2, transitions)[source]#
pm4py.objects.conversion.wf_net.variants.to_powl.get_simplified_reachability_graph(net: PetriNet)[source]#
pm4py.objects.conversion.wf_net.variants.to_powl.get_reachable_transitions_from_place_to_another(start_place: Place, end_place: Place)[source]#
pm4py.objects.conversion.wf_net.variants.to_powl.clone_subnet(net: PetriNet, subnet_transitions: Set[Transition], start_place: Place, end_place: Place)[source]#
pm4py.objects.conversion.wf_net.variants.to_powl.apply_partial_order_projection(net: PetriNet, subnet_transitions: Set[Transition], start_places: Set[Place], end_places: Set[Place])[source]#
pm4py.objects.conversion.wf_net.variants.to_powl.mine_base_case(net: PetriNet)[source]#
pm4py.objects.conversion.wf_net.variants.to_powl.mine_self_loop(net: PetriNet, start_place: Place, end_place: Place)[source]#
pm4py.objects.conversion.wf_net.variants.to_powl.mine_loop(net: PetriNet, start_place: Place, end_place: Place)[source]#
pm4py.objects.conversion.wf_net.variants.to_powl.mine_xor(net: PetriNet, reachability_map)[source]#
pm4py.objects.conversion.wf_net.variants.to_powl.mine_partial_order(net, end_place, reachability_map)[source]#
pm4py.objects.conversion.wf_net.variants.to_powl.validate_workflow_net(net: PetriNet)[source]#
pm4py.objects.conversion.wf_net.variants.to_powl.remove_initial_and_end_silent_activities(net: PetriNet, start_places: Set[Place], end_places: Set[Place])[source]#
pm4py.objects.conversion.wf_net.variants.to_powl.remove_duplicated_places(net: PetriNet, start_places: Set[Place], end_places: Set[Place])[source]#
pm4py.objects.conversion.wf_net.variants.to_powl.remove_unconnected_places(net: PetriNet, start_places: Set[Place], end_places: Set[Place])[source]#
pm4py.objects.conversion.wf_net.variants.to_powl.preprocess(net: PetriNet)[source]#
pm4py.objects.conversion.wf_net.variants.to_powl.add_new_start_and_end_if_needed(net, start_places: Set[Place], end_places: Set[Place])[source]#
pm4py.objects.conversion.wf_net.variants.to_powl.apply(net: PetriNet) → POWL[source]#

Convert a Petri net to a POWL model, implementing the approach proposed in:

Kourani, Humam, Gyunam Park, and Wil van der Aalst. “Translating Workflow Nets into the Partially Ordered Workflow Language.” arXiv preprint arXiv:2503.20363 (2025).

Parameters:
  • net: PetriNet

Returns:
  • POWL model