pm4py.objects.conversion.dcr.variants package#
Subpackages#
- pm4py.objects.conversion.dcr.variants.to_petri_net_submodules package
- Submodules
- pm4py.objects.conversion.dcr.variants.to_petri_net_submodules.exceptional_cases module
ExceptionalCases
ExceptionalCases.filter_exceptional_cases()
ExceptionalCases.map_exceptional_cases_between_events()
ExceptionalCases.create_exception_condition_milestone_exclude_response_pattern()
ExceptionalCases.create_exception_condition_milestone_exclude_no_response_pattern()
ExceptionalCases.create_exception_condition_milestone_include_response_pattern()
ExceptionalCases.create_exception_condition_milestone_include_no_response_pattern()
ExceptionalCases.create_exception_condition_milestone_response_pattern()
ExceptionalCases.create_exception_condition_milestone_no_response_pattern()
ExceptionalCases.create_exception_condition_milestone_include_pattern()
ExceptionalCases.create_exception_condition_milestone_exclude_pattern()
ExceptionalCases.create_exception_milestone_no_response_include_pattern()
ExceptionalCases.create_exception_milestone_no_response_exclude_pattern()
ExceptionalCases.create_exception_milestone_response_include_pattern()
ExceptionalCases.create_exception_milestone_response_exclude_pattern()
ExceptionalCases.create_exception_condition_no_response_include_pattern()
ExceptionalCases.create_exception_condition_no_response_exclude_pattern()
ExceptionalCases.create_exception_condition_response_include_pattern()
ExceptionalCases.create_exception_condition_response_exclude_pattern()
ExceptionalCases.create_exception_condition_include_pattern()
ExceptionalCases.create_exception_condition_exclude_pattern()
ExceptionalCases.create_exception_condition_response_pattern()
ExceptionalCases.create_exception_response_include_pattern()
ExceptionalCases.create_exception_response_exclude_pattern()
ExceptionalCases.create_exception_condition_no_response_pattern()
ExceptionalCases.create_exception_no_response_exclude_pattern()
ExceptionalCases.create_exception_no_response_include_pattern()
ExceptionalCases.create_exception_milestone_no_response_pattern()
ExceptionalCases.create_exception_condition_milestone_pattern()
ExceptionalCases.create_exception_milestone_exclude_pattern()
ExceptionalCases.create_exception_milestone_include_pattern()
ExceptionalCases.create_exception_milestone_response_pattern()
- pm4py.objects.conversion.dcr.variants.to_petri_net_submodules.preoptimizer module
Preoptimizer
Preoptimizer.need_included_place
Preoptimizer.need_executed_place
Preoptimizer.need_pending_place
Preoptimizer.need_pending_excluded_place
Preoptimizer.un_executable_events
Preoptimizer.pre_optimize_based_on_dcr_behaviour()
Preoptimizer.preoptimize_based_on_exceptional_cases()
Preoptimizer.remove_un_executable_events_from_dcr()
- pm4py.objects.conversion.dcr.variants.to_petri_net_submodules.single_relations module
- pm4py.objects.conversion.dcr.variants.to_petri_net_submodules.utils module
- Module contents
- pm4py.objects.conversion.dcr.variants.to_timed_arc_petri_net_submodules package
- Submodules
- pm4py.objects.conversion.dcr.variants.to_timed_arc_petri_net_submodules.timed_exceptional_cases module
TimedExceptionalCases
TimedExceptionalCases.filter_exceptional_cases()
TimedExceptionalCases.export_debug_net()
TimedExceptionalCases.map_exceptional_cases_between_events()
TimedExceptionalCases.create_exception_condition_milestone_exclude_response_pattern()
TimedExceptionalCases.create_exception_condition_milestone_exclude_no_response_pattern()
TimedExceptionalCases.create_exception_condition_milestone_include_response_pattern()
TimedExceptionalCases.create_exception_condition_milestone_include_no_response_pattern()
TimedExceptionalCases.create_exception_condition_milestone_response_pattern()
TimedExceptionalCases.create_exception_condition_milestone_no_response_pattern()
TimedExceptionalCases.create_exception_condition_milestone_include_pattern()
TimedExceptionalCases.create_exception_condition_milestone_exclude_pattern()
TimedExceptionalCases.create_exception_milestone_no_response_include_pattern()
TimedExceptionalCases.create_exception_milestone_no_response_exclude_pattern()
TimedExceptionalCases.create_exception_milestone_response_include_pattern()
TimedExceptionalCases.create_exception_milestone_response_exclude_pattern()
TimedExceptionalCases.create_exception_condition_no_response_include_pattern()
TimedExceptionalCases.create_exception_condition_no_response_exclude_pattern()
TimedExceptionalCases.create_exception_condition_response_include_pattern()
TimedExceptionalCases.create_exception_condition_response_exclude_pattern()
TimedExceptionalCases.create_exception_condition_include_pattern()
TimedExceptionalCases.create_exception_condition_exclude_pattern()
TimedExceptionalCases.create_exception_condition_response_pattern()
TimedExceptionalCases.create_exception_response_include_pattern()
TimedExceptionalCases.create_exception_response_exclude_pattern()
TimedExceptionalCases.create_exception_condition_no_response_pattern()
TimedExceptionalCases.create_exception_no_response_exclude_pattern()
TimedExceptionalCases.create_exception_no_response_include_pattern()
TimedExceptionalCases.create_exception_milestone_no_response_pattern()
TimedExceptionalCases.create_exception_condition_milestone_pattern()
TimedExceptionalCases.create_exception_milestone_exclude_pattern()
TimedExceptionalCases.create_exception_milestone_include_pattern()
TimedExceptionalCases.create_exception_milestone_response_pattern()
- pm4py.objects.conversion.dcr.variants.to_timed_arc_petri_net_submodules.timed_preoptimizer module
TimedPreoptimizer
TimedPreoptimizer.need_included_place
TimedPreoptimizer.need_executed_place
TimedPreoptimizer.need_pending_place
TimedPreoptimizer.need_pending_excluded_place
TimedPreoptimizer.un_executable_events
TimedPreoptimizer.pre_optimize_based_on_dcr_behaviour()
TimedPreoptimizer.preoptimize_based_on_exceptional_cases()
TimedPreoptimizer.remove_un_executable_events_from_dcr()
- pm4py.objects.conversion.dcr.variants.to_timed_arc_petri_net_submodules.timed_single_relations module
- pm4py.objects.conversion.dcr.variants.to_timed_arc_petri_net_submodules.timed_utils module
- Module contents
Submodules#
pm4py.objects.conversion.dcr.variants.reachability_analysis module#
- class pm4py.objects.conversion.dcr.variants.reachability_analysis.Parameters(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#
Bases:
Enum
- MAX_ELAB_TIME = 'max_elab_time'#
- PETRI_SEMANTICS = 'petri_semantics'#
- pm4py.objects.conversion.dcr.variants.reachability_analysis.staterep(name)[source]#
Creates a string representation for a state of a transition system. Necessary because graphviz does not support symbols simulation than alphanimerics and ‘_’. TODO: find a better representation.
Parameters#
name: the name of a state
Returns#
Version of the name filtered of non-alphanumerical characters (except ‘_’).
- pm4py.objects.conversion.dcr.variants.reachability_analysis.get_visible_transitions_eventually_enabled_by_marking(net, marking, semantics)[source]#
Get visible transitions eventually enabled by marking (passing possibly through hidden transitions) Parameters ———- net
Petri net
- marking
Current marking
- semantics
Petri net semantics
- pm4py.objects.conversion.dcr.variants.reachability_analysis.marking_flow_petri(net, im, return_eventually_enabled=False, parameters=None)[source]#
Construct the marking flow of a Petri net
Parameters#
- net
Petri net
- im
Initial marking
- return_eventually_enabled
Return the eventually enabled (visible) transitions
- pm4py.objects.conversion.dcr.variants.reachability_analysis.construct_reachability_graph_from_flow(incoming_transitions, outgoing_transitions, use_trans_name=False, parameters=None)[source]#
Construct the reachability graph from the marking flow
Parameters#
- incoming_transitions
Incoming transitions
- outgoing_transitions
Outgoing transitions
- use_trans_name
Use the transition name
Returns#
- re_gr
Transition system that represents the reachability graph of the input Petri net.
- pm4py.objects.conversion.dcr.variants.reachability_analysis.construct_reachability_graph(net, initial_marking, use_trans_name=False, parameters=None) TransitionSystem [source]#
Creates a reachability graph of a certain Petri net. DO NOT ATTEMPT WITH AN UNBOUNDED PETRI NET, EVER.
Parameters#
net: Petri net initial_marking: initial marking of the Petri net.
Returns#
re_gr: Transition system that represents the reachability graph of the input Petri net.
pm4py.objects.conversion.dcr.variants.to_inhibitor_net module#
- class pm4py.objects.conversion.dcr.variants.to_inhibitor_net.Dcr2PetriNet(preoptimize=True, postoptimize=True, map_unexecutable_events=False, debug=False, **kwargs)[source]#
Bases:
object
- initialize_helper_struct(graph: dict) None [source]#
Initializes a helper structure to keep track of DCR Events and their related places and transitions in the Petri Net Parameters ———- graph
the DcrGraph
Returns#
None
- create_event_pattern_places(event: str, graph: dict, net: ~pm4py.objects.petri_net.obj.PetriNet, m: ~pm4py.objects.petri_net.obj.Marking) -> (<class 'pm4py.objects.petri_net.obj.InhibitorNet'>, <class 'pm4py.objects.petri_net.obj.Marking'>)[source]#
Creates petri net places and the petri net marking for a single event
- create_event_pattern(event: str, graph: dict, net: ~pm4py.objects.petri_net.obj.PetriNet, m: ~pm4py.objects.petri_net.obj.Marking) -> (<class 'pm4py.objects.petri_net.obj.InhibitorNet'>, <class 'pm4py.objects.petri_net.obj.Marking'>)[source]#
Creates the petri net for a single event
- post_optimize_petri_net_reachability_graph(net, m, graph=None, merge_parallel_places=True) InhibitorNet [source]#
Removes dead regions in the petri net based on the reachability graph. Parameters ———- merge_parallel_places
If True it will remove duplicate places that behave the same in their marking
Returns#
Reduced petri net
pm4py.objects.conversion.dcr.variants.to_timed_arc_petri_net module#
- class pm4py.objects.conversion.dcr.variants.to_timed_arc_petri_net.Dcr2TimedArcPetri(preoptimize=True, postoptimize=True, map_unexecutable_events=False, debug=False, **kwargs)[source]#
Bases:
object
- create_event_pattern_places(event, G, tapn, m) -> (<class 'pm4py.objects.petri_net.timed_arc_net.obj.TimedArcNet'>, <class 'pm4py.objects.petri_net.timed_arc_net.obj.TimedMarking'>)[source]#
- create_event_pattern(event, G, tapn, m) -> (<class 'pm4py.objects.petri_net.timed_arc_net.obj.TimedArcNet'>, <class 'pm4py.objects.petri_net.timed_arc_net.obj.TimedMarking'>)[source]#