pm4py.objects.process_tree.semantics module#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program 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 Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

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:

Trace log object

Return type:

log

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

Return type:

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 value (the vertex shall be closed)

Return type:

boolean