pm4py.objects.petri_net.data_petri_nets 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.petri_net.data_petri_nets.data_marking 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/>.

class pm4py.objects.petri_net.data_petri_nets.data_marking.DataMarking(marking=None)[source]#

Bases: Marking

pm4py.objects.petri_net.data_petri_nets.semantics 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/>.

class pm4py.objects.petri_net.data_petri_nets.semantics.DataPetriNetSemantics[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

param e:

associated event (optional, as keyword argument)

Returns#

return:

true if enabled, false otherwise

execute(t, pn, m, **kwargs)[source]#

Executes a given transition in a given Petri net, the given data marking and the associated event

Parameters#

param t:

transition to execute

param pn:

Petri net

param m:

marking to use

param e:

associated event (optional, as keyword argument)

Returns#

return:

newly reached marking if :param t: is enabled, None otherwise

weak_execute(t, pn, m, **kwargs)[source]#

Executes a given transition in a given Petri net, the given data marking and the associated event, even if not fully enabled

Parameters#

param t:

transition to execute

param pn:

Petri net

param m:

marking to use

param e:

associated event (optional, as keyword argument)

Returns#

return:

newly reached marking

enabled_transitions(pn, m, **kwargs)[source]#

Returns a set of enabled transitions in a Petri net, the given data marking and the associated event

Parameters#

param pn:

Petri net

param m:

marking of the pn

param e:

associated event (optional, as keyword argument)

Returns#

return:

set of enabled transitions

pm4py.objects.petri_net.data_petri_nets.semantics.check_guard_safety(guard)[source]#

Checks the security of a guard before evaluating that

Parameters#

guard

Guard

Returns#

safety

True if the guard is safe to execute, False otherwise

pm4py.objects.petri_net.data_petri_nets.semantics.evaluate_guard(guard, read_variables, data)[source]#

Evaluates a data Petri net guard given the current data

Parameters#

guard

Guard

read_variables

Read variables

Returns#

boolean

Boolean value

pm4py.objects.petri_net.data_petri_nets.semantics.is_enabled(t, pn, m, e)[source]#
pm4py.objects.petri_net.data_petri_nets.semantics.execute(t, pn, m, e)[source]#
pm4py.objects.petri_net.data_petri_nets.semantics.weak_execute(t, m, e)[source]#
pm4py.objects.petri_net.data_petri_nets.semantics.enabled_transitions(pn, m, e)[source]#