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