pm4py.analysis.maximal_decomposition#

pm4py.analysis.maximal_decomposition(net: PetriNet, im: Marking, fm: Marking) List[Tuple[PetriNet, Marking, Marking]][source]#

Calculate the maximal decomposition of an accepting Petri net.

Parameters:
Return type:

List[Tuple[PetriNet, Marking, Marking]]

import pm4py

net, im, fm = pm4py.read_pnml('model.pnml')
list_nets = pm4py.maximal_decomposition(net, im, fm)
for anet in list_nets:
    subnet, subim, subfm = anet
    pm4py.view_petri_net(subnet, subim, subfm, format='svg')