pm4py.evaluation.soundness.woflan.place_invariants package


pm4py.evaluation.soundness.woflan.place_invariants.place_invariants module


We compute the NUllspace of the incidence matrix and obtain the place-invariants. :param net: Petri Net of which we want to know the place invariants. :return: Set of place invariants of the given Petri Net.

pm4py.evaluation.soundness.woflan.place_invariants.s_component module


General method to obtain a list of S-components :param net: Petri Net for which S-components should be computed :return: A list of S-components

pm4py.evaluation.soundness.woflan.place_invariants.s_component.compute_s_components(net, p_invariants)[source]

We perform the hint in 5.4.4 of :param p_invariants: Semi-positive basis we calculate previously :return: A list of S-Components. A s-component consists of a set which includes all related transitions a places

pm4py.evaluation.soundness.woflan.place_invariants.s_component.compute_uncovered_places_in_component(s_components, net)[source]

We check for uncovered places :param s_components: List of s_components :param net: Petri Net representation of PM4Py :return: List of uncovered places

pm4py.evaluation.soundness.woflan.place_invariants.uniform_invariant module


pm4py.evaluation.soundness.woflan.place_invariants.utility module

pm4py.evaluation.soundness.woflan.place_invariants.utility.compute_uncovered_places(invariants, net)[source]

Compute a list of uncovered places for invariants of a given Petri Net. Note that there exists a separate algorithm for s-components :param invariants: list of invariants. Each invariants is a numpy-Array representation :param net: Petri Net object of PM4Py :return: List of uncovered place over all invariants

pm4py.evaluation.soundness.woflan.place_invariants.utility.removearray(L, arr)[source]

Remove an array from a given list and return the list with the removed element. :param L: list object :param arr: array that has to be removed :return: list object without array

pm4py.evaluation.soundness.woflan.place_invariants.utility.transform_basis(basis, style=None)[source]

We construct a (I)LP to transform our basis into a set of vectors by using linear combination to fit certain styles/ properties :param basis: list of p-invariants. Commonly computed by the method ‘compute_place_invariants’ in :param style: String that is used to construct certain constraints At the moment, ‘uniform’ (all weights have value 0 or 1), and ‘weighted’ (all weights are >=0) are supported :return: List of p-invariants that fits the style

Module contents