pm4py.streaming.algo.conformance.footprints.variants.classic module#

class pm4py.streaming.algo.conformance.footprints.variants.classic.Parameters[source]#

Bases: object

DICT_VARIANT = 'dict_variant'#
DICT_ID = 'dict_id'#
CASE_DICT_ID = 'case_dict_id'#
DEV_DICT_ID = 'dev_dict_id'#
CASE_ID_KEY = 'pm4py:param:case_id_key'#
ACTIVITY_KEY = 'pm4py:param:activity_key'#
class pm4py.streaming.algo.conformance.footprints.variants.classic.FootprintsStreamingConformance(footprints, parameters=None)[source]#

Bases: StreamingAlgorithm

build_dictionaries(parameters)[source]#

Builds the dictionaries needed to store the information during the replay

Parameters:

parameters

Parameters:
  • Parameters.DICT_VARIANT: type of dictionary to use

  • Parameters.CASE_DICT_ID: identifier of the dictionary hosting the last activity of a case (1)

  • Parameters.DEV_DICT_ID: identifier of the dictionary hosting the deviations (2)

encode_str(stru)[source]#

Encodes a string for storage in generic dictionaries

verify_footprints(case, activity)[source]#

Verify the event according to the footprints (assuming it has a case and an activity)

Parameters:
  • case – Case ID

  • activity – Activity

verify_intra_case(case, activity)[source]#

Verify the footprints of the current event

Parameters:
  • case – Case

  • activity – Activity

verify_start_case(case, activity)[source]#

Verify the start activity of a case

Parameters:
  • case – Case

  • activity – Activity

get_status(case)[source]#

Gets the current status of a case

Parameters:

case – Case

Returns:

Boolean value (True if there are no deviations)

Return type:

boolean

terminate(case)[source]#

Terminate a case (checking its end activity)

Parameters:

case – Case

Returns:

Boolean value (True if there are no deviations)

Return type:

boolean

terminate_all()[source]#

Terminate all cases

message_case_or_activity_not_in_event(event)[source]#

Sends a message if the case or the activity are not there in the event

message_activity_not_possible(activity, case)[source]#

Sends a message if the activity is not contained in the footprints

Parameters:
  • activity – Activity

  • case – Case

message_footprints_not_possible(df, case)[source]#

Sends a message if the directly-follows between two activities is not possible

Parameters:
  • df – Directly-follows relations

  • case – Case

message_start_activity_not_possible(activity, case)[source]#

Sends a message if the activity is not a possible start activity

Parameters:
  • activity – Activity

  • case – Case

message_end_activity_not_possible(activity, case)[source]#

Sends a message if the activity is not a possible end activity

Parameters:
  • activity – Activity

  • case – Case

message_case_not_in_dictionary(case)[source]#

Sends a message if the case is not in the current dictionary

Parameters:

case – Case

pm4py.streaming.algo.conformance.footprints.variants.classic.apply(footprints, parameters=None)[source]#

Gets a footprints conformance checking object

Parameters:
  • footprints – Footprints object

  • parameters – Parameters of the algorithm

Returns:

Footprints conformance checking object

Return type:

fp_check_obj