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

Subpackages#

Submodules#

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(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: Enum

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

Bases: object

class OperatorState(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: Enum

ENABLED = 'enabled'#
OPEN = 'open'#
CLOSED = 'closed'#
FUTURE = 'future'#
to_string(level=0, indent=False, max_indent=9223372036854775807)[source]#

Represents a process tree model as a string.

Parameters#

indent

Enable the indentation of the resulting string

max_indent

Maximum level of indentation

static model_description() str[source]#
property parent#
property children#
property operator#
property label#

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: ProcessTree

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#

log

Trace log object

pm4py.objects.process_tree.semantics.execute(pt)[source]#

Execute the process tree, returning an execution sequence

Parameters#

pt

Process tree

Returns#

exec_sequence

Execution sequence on the process tree

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

Execution sequence

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

Boolean value (the vertex shall be closed)

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(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: Enum

CLOSED = 1#
ENABLED = 2#
OPEN = 3#