org.processmining.mining.dmcscanning.aggregation
Interface AggregationMethod

All Known Implementing Classes:
GreedyAggregation, SimpleAggregation, TolerantAggregation

public interface AggregationMethod

This interface is used by the DMC Scanner to aggregate initially scanned DMCs into more high-level clusters, i.e. ADMCs. Deriving methods to achieve this from this common interface makes the whole procedure

Author:
Christian W. Guenther (christian at deckfour dot org)

Method Summary
 double compliance(Admc anAdmc, Dmc aDmc)
          In case 'isCompliant()' returns false, this method can be used to check for to which degree the two parameters are compliant.
 double consolidate(AdmcSet anAdmcSet)
          Consolidates a set of ADMCs.
 java.lang.String getDescription()
           
 boolean isCompliant(Admc anAdmc, Dmc aDmc)
          Checks for compliance of a DMC with an ADMC.
 Admc merge(Admc anAdmc, Dmc aDmc)
          Merges the provided DMC with the provided ADMC.
 java.lang.String toString()
           
 

Method Detail

isCompliant

boolean isCompliant(Admc anAdmc,
                    Dmc aDmc)
Checks for compliance of a DMC with an ADMC. Compliance in this context means, that the DMC can positively be merged with the ADMC.

Parameters:
anAdmc - the ADMC to test compliance with
aDmc - the DMC to check compliance
Returns:
whether the parameters are compliant

compliance

double compliance(Admc anAdmc,
                  Dmc aDmc)
In case 'isCompliant()' returns false, this method can be used to check for to which degree the two parameters are compliant. More fuzzy merging algorithms could use this to merge not completely compliant ADMCs/DMCs anyway.

Parameters:
anAdmc - the ADMC to test compliance with
aDmc - the DMC to check compliance
Returns:
to which degree parameters are compliant (within [0,1], 1=fully compliant)

merge

Admc merge(Admc anAdmc,
           Dmc aDmc)
Merges the provided DMC with the provided ADMC. Notice: This method is intended to modify the original ADMC, i.e. the returned reference is to equal the supplied ADMC parameter!

Parameters:
anAdmc - the ADMC to merge with
aDmc - the DMC to merge into
Returns:
the result of merging, i.e. a new ADMC.

consolidate

double consolidate(AdmcSet anAdmcSet)
Consolidates a set of ADMCs. The implementation of this method is up to the specific aggregation method, the rationale behind it is to strip down a set of ADMCs to the most fundamental elements. As such, the method is expected to merge similar ADMCs together or to delete less significant elements, according to its intent and implementation.

Parameters:
anAdmcSet - the set of ADMCs to be consolidated
Returns:
value within [0,1]; 0=all elements removed; 1=nothing removed

toString

java.lang.String toString()
Overrides:
toString in class java.lang.Object
Returns:
the name of this aggregation method

getDescription

java.lang.String getDescription()
Returns:
a short description of how merging and checking compliance is performed (1-3 sentences)