pm4py.objects.dcr.timed package#

Submodules#

pm4py.objects.dcr.timed.obj module#

This module extends the Dynamic Condition Response (DCR) Graph framework to include timed constraints and behaviors. It builds upon the NestingSubprocessDcrGraph class to incorporate time-based elements into the DCR Graph model.

The module introduces timing aspects to both the marking of events and the relations between events, allowing for more sophisticated process models that can represent time-dependent behaviors and constraints.

Classes:

TimedMarking: Extends the basic Marking class to include timing information. TimedDcrGraph: Extends NestingSubprocessDcrGraph to incorporate timed conditions and responses.

This module enhances the DCR Graph model with the ability to represent and manage time-based constraints, enabling more accurate modelling of real-world processes where timing plays a crucial role.

References#

class pm4py.objects.dcr.timed.obj.TimedMarking(executed, included, pending, executed_time=None, pending_deadline=None)[source]#

Bases: Marking

This class extends the basic Marking class to include timing information for executed events and pending deadlines.

Attributes#

self.__executed_time: Dict[str, datetime]

A dictionary mapping events to their execution times.

self.__pending_deadline: Dict[str, datetime]

A dictionary mapping events to their pending deadlines.

Methods#

No additional methods are explicitly defined in this class.

property executed_time#
property pending_deadline#
class pm4py.objects.dcr.timed.obj.TimedDcrGraph(template=None, timing_dict=None)[source]#

Bases: HierarchicalDcrGraph

This class extends the NestingSubprocessDcrGraph to incorporate timed conditions and responses, allowing for time-based constraints in DCR Graphs.

Attributes#

self.__marking: TimedMarking

The marking of the DCR graph, including timing information.

self.__timedconditions: Dict[str, Dict[str, timedelta]]

A nested dictionary mapping events to their timed conditions.

self.__timedresponses: Dict[str, Dict[str, timedelta]]

A nested dictionary mapping events to their timed responses.

Methods#

timed_dict_to_graph(self, timing_dict: Dict) -> None:

Converts a timing dictionary to graph format, populating timed conditions and responses.

obj_to_template(self) -> dict:

Converts the object to a template dictionary, including timed conditions and responses.

timed_dict_to_graph(timing_dict)[source]#
obj_to_template()[source]#
property timedconditions: Dict[str, Dict[str, timedelta]]#
property timedresponses: Dict[str, Dict[str, timedelta]]#

pm4py.objects.dcr.timed.semantics module#

class pm4py.objects.dcr.timed.semantics.TimedSemantics(graph)[source]#

Bases: ExtendedSemantics

classmethod execute(graph, event_or_tics)[source]#

Function based on semantics of execution a DCR graph will update the graph according to relations of the executed activity

can extend to allow of execution of milestone activity

Parameters#

param graph:

DCR graph

param event:

the event being executed

Returns#

return:

DCR graph with updated marking

classmethod enabled(graph) Set[str][source]#

Creates a list of enabled events, based on included events and conditions constraints met

Parameters#

param graph:

takes the current state of the DCR

Returns#

param res:

set of enabled activities

classmethod weak_execute(event, graph)[source]#
classmethod time_step(graph, tics)[source]#
static next_deadline(graph)[source]#
static next_delay(graph)[source]#
static create_can_execute_time_dict(graph)[source]#

Module contents#