def __init__(self, net, im, fm, parameters=None): """ Initialize the token-based replay streaming conformance Parameters -------------- net Petri net im Initial marking fm Final marking """ if parameters is None: parameters = {} self.case_id_key = exec_utils.get_param_value(Parameters.CASE_ID_KEY, parameters, constants.CASE_CONCEPT_NAME) self.activity_key = exec_utils.get_param_value(Parameters.ACTIVITY_KEY, parameters, xes_constants.DEFAULT_NAME_KEY) self.maximum_iterations_invisibles = exec_utils.get_param_value(Parameters.MAXIMUM_ITERATIONS_INVISIBLES, parameters, 10) self.net = net self.im = im self.fm = fm self.places_inv_dict = {x.name: x for x in net.places} self.activities = list(set(x.label for x in self.net.transitions)) self.dictio_spaths = self.get_paths_net() self.build_dictionaries(parameters=parameters) StreamingAlgorithm.__init__(self)
def __init__(self, temporal_profile: typing.TemporalProfile, parameters: Optional[Dict[Any, Any]] = None): """ Initialize the streaming conformance checking. Implements the approach described in: Stertz, Florian, Jürgen Mangler, and Stefanie Rinderle-Ma. "Temporal Conformance Checking at Runtime based on Time-infused Process Models." arXiv preprint arXiv:2008.07262 (2020). Parameters --------------- temporal_profile Temporal profile parameters Parameters of the algorithm, including: - Parameters.ACTIVITY_KEY => the attribute to use as activity - Parameters.START_TIMESTAMP_KEY => the attribute to use as start timestamp - Parameters.TIMESTAMP_KEY => the attribute to use as timestamp - Parameters.ZETA => multiplier for the standard deviation - Parameters.CASE_ID_KEY => column to use as case identifier - Parameters.DICT_VARIANT => the variant of dictionary to use - Parameters.CASE_DICT_ID => the identifier of the case dictionary - Parameters.DEV_DICT_ID => the identifier of the deviations dictionary """ if parameters is None: parameters = {} self.temporal_profile = temporal_profile self.activity_key = exec_utils.get_param_value( Parameters.ACTIVITY_KEY, parameters, xes_constants.DEFAULT_NAME_KEY) self.timestamp_key = exec_utils.get_param_value( Parameters.TIMESTAMP_KEY, parameters, xes_constants.DEFAULT_TIMESTAMP_KEY) self.start_timestamp_key = exec_utils.get_param_value( Parameters.START_TIMESTAMP_KEY, parameters, xes_constants.DEFAULT_TIMESTAMP_KEY) self.case_id_key = exec_utils.get_param_value( Parameters.CASE_ID_KEY, parameters, constants.CASE_CONCEPT_NAME) self.zeta = exec_utils.get_param_value(Parameters.ZETA, parameters, 6.0) parameters_gen = copy(parameters) dict_variant = exec_utils.get_param_value( Parameters.DICT_VARIANT, parameters, generator.Variants.THREAD_SAFE) case_dict_id = exec_utils.get_param_value(Parameters.CASE_DICT_ID, parameters, 0) parameters_gen[Parameters.DICT_ID] = case_dict_id self.case_dictionary = generator.apply(variant=dict_variant, parameters=parameters_gen) parameters_dev = copy(parameters) dev_dict_id = exec_utils.get_param_value(Parameters.DEV_DICT_ID, parameters, 1) parameters_dev[Parameters.DICT_ID] = dev_dict_id self.deviations_dict = generator.apply(variant=dict_variant, parameters=parameters_dev) StreamingAlgorithm.__init__(self)
def __init__(self, log, parameters=None): if parameters is None: parameters = {} self.case_id_key = exec_utils.get_param_value( Parameters.CASE_ID_KEY, parameters, constants.CASE_CONCEPT_NAME) self.activity_key = exec_utils.get_param_value( Parameters.ACTIVITY_KEY, parameters, xes_constants.DEFAULT_NAME_KEY) self.log = log self.build_dictionary() StreamingAlgorithm.__init__(self)
def __init__(self, parameters=None): """ Initialize the StreamingDFGDiscovery object Parameters --------------- parameters of the algorithm, including: - Parameters.ACTIVITY_KEY: the key of the event to use as activity - Parameters.CASE_ID_KEY: the key of the event to use as case identifier """ if parameters is None: parameters = {} self.parameters = parameters self.activity_key = exec_utils.get_param_value( Parameters.ACTIVITY_KEY, parameters, xes_constants.DEFAULT_NAME_KEY) self.case_id_key = exec_utils.get_param_value( Parameters.CASE_ID_KEY, parameters, constants.CASE_CONCEPT_NAME) self.build_dictionaries(parameters) StreamingAlgorithm.__init__(self)
def __init__(self, footprints, parameters=None): """ Initialize the footprints streaming conformance object Parameters --------------- footprints Footprints parameters Parameters of the algorithm """ self.footprints = footprints self.case_id_key = exec_utils.get_param_value( Parameters.CASE_ID_KEY, parameters, constants.CASE_CONCEPT_NAME) self.activity_key = exec_utils.get_param_value( Parameters.ACTIVITY_KEY, parameters, xes_constants.DEFAULT_NAME_KEY) self.start_activities = footprints[START_ACTIVITIES] self.end_activities = footprints[END_ACTIVITIES] self.activities = footprints[ACTIVITIES] self.all_fps = set(footprints[SEQUENCE]).union( set(footprints[PARALLEL])) self.build_dictionaries(parameters=parameters) StreamingAlgorithm.__init__(self)
def __init__(self): StreamingAlgorithm.__init__(self)