pm4py.objects.process_tree package

Submodules

pm4py.objects.process_tree.bottomup 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/>.

pm4py.objects.process_tree.obj 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.process_tree.obj.Operator[source]

Bases: enum.Enum

An enumeration.

INTERLEAVING = '<>'
LOOP = '*'
OR = 'O'
PARALLEL = '+'
SEQUENCE = '->'
XOR = 'X'
class pm4py.objects.process_tree.obj.ProcessTree(operator=None, parent=None, children=None, label=None)[source]

Bases: object

class OperatorState[source]

Bases: enum.Enum

An enumeration.

CLOSED = 'closed'
ENABLED = 'enabled'
FUTURE = 'future'
OPEN = 'open'
children
label
operator
parent

pm4py.objects.process_tree.process_tree 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/>.

pm4py.objects.process_tree.pt_operator 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/>.

pm4py.objects.process_tree.regex 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/>.

pm4py.objects.process_tree.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.process_tree.semantics.GenerationTree(tree)[source]

Bases: pm4py.objects.process_tree.obj.ProcessTree

pm4py.objects.process_tree.semantics.close(vertex, enabled, open, closed, execution_sequence)[source]

Close a given vertex of the process tree

Parameters:
  • vertex – Vertex to be closed
  • enabled – Set of enabled nodes
  • open – Set of open nodes
  • closed – Set of closed nodes
  • execution_sequence – Execution sequence on the process tree
pm4py.objects.process_tree.semantics.execute(pt)[source]

Execute the process tree, returning an execution sequence

Parameters:pt – Process tree
Returns:Execution sequence on the process tree
Return type:exec_sequence
pm4py.objects.process_tree.semantics.execute_enabled(enabled, open, closed, execution_sequence=None)[source]

Execute an enabled node of the process tree

Parameters:
  • enabled – Enabled nodes
  • open – Open nodes
  • closed – Closed nodes
  • execution_sequence – Execution sequence
Returns:

Execution sequence

Return type:

execution_sequence

pm4py.objects.process_tree.semantics.generate_log(pt0, no_traces=100)[source]

Generate a log out of a process tree

Parameters:
  • pt – Process tree
  • no_traces – Number of traces contained in the process tree
Returns:

Trace log object

Return type:

log

pm4py.objects.process_tree.semantics.populate_closed(nodes, closed)[source]

Populate all closed nodes of a process tree

Parameters:
  • nodes – Considered nodes of the process tree
  • closed – Closed nodes
pm4py.objects.process_tree.semantics.process_closed(closed_node, enabled, open, closed, execution_sequence)[source]

Process a closed node, deciding further operations

Parameters:
  • closed_node – Node that shall be closed
  • enabled – Set of enabled nodes
  • open – Set of open nodes
  • closed – Set of closed nodes
  • execution_sequence – Execution sequence on the process tree
pm4py.objects.process_tree.semantics.should_close(vertex, closed, child)[source]

Decides if a parent vertex shall be closed based on the processed child

Parameters:
  • vertex – Vertex of the process tree
  • closed – Set of closed nodes
  • child – Processed child
Returns:

Boolean value (the vertex shall be closed)

Return type:

boolean

pm4py.objects.process_tree.state 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.process_tree.state.State[source]

Bases: enum.Enum

An enumeration.

CLOSED = 1
ENABLED = 2
OPEN = 3

pm4py.objects.process_tree.util 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/>.

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