pm4py.objects.petri_net.semantics module#
- class pm4py.objects.petri_net.semantics.PetriNetSemantics[source]#
Bases:
Generic[N]- classmethod is_enabled(pn: N, transition: T, marking: Counter[P]) bool[source]#
Checks whether a given transition is enabled in a given Petri net and marking
- Parameters:
param pn: Petri net
param transition: transition to check
param marking: marking to check
- Return type:
return: true if enabled, false otherwise
- classmethod fire(pn: N, transition: T, marking: Counter[P]) Counter[P][source]#
Execute a transition For performance reasons, the algorithm method not check if the transition is enabled, i.e., this should be performed by the invoking algorithm (if needed). Hence, markings can become negative.
- Parameters:
param pn: Petri net
param transition: transition to execute
param marking: marking to use
- Return type:
return: newly reached marking
- class pm4py.objects.petri_net.semantics.ClassicSemantics[source]#
Bases:
Semantics- is_enabled(t, pn, m, **kwargs)[source]#
Verifies whether a given transition is enabled in a given Petri net and marking
- Parameters:
param t: transition to check
param pn: Petri net
param m: marking to check
- Return type:
return: true if enabled, false otherwise
- execute(t, pn, m, **kwargs)[source]#
Executes a given transition in a given Petri net and Marking
- Parameters:
param t: transition to execute
param pn: Petri net
param m: marking to use
- Return type:
return: newly reached marking if :param t: is enabled, None otherwise