pm4py.objects.petri_net.data_petri_nets package

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: pm4py.objects.petri_net.obj.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: pm4py.objects.petri_net.sem_interface.Semantics

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 type

return: set of enabled transitions

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 type

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

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 type

return: true if enabled, false 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 type

return: newly reached marking

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

True if the guard is safe to execute, False otherwise

Return type

safety

pm4py.objects.petri_net.data_petri_nets.semantics.enabled_transitions(pn, m, e)[source]
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 value

Return type

boolean

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

Module contents

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/>.