org.processmining.mining.change
Class CommutativityLogRelationBuilder

java.lang.Object
  extended by org.processmining.mining.change.CommutativityLogRelationBuilder
All Implemented Interfaces:
LogRelationBuilder

public class CommutativityLogRelationBuilder
extends java.lang.Object
implements LogRelationBuilder

This class builds log relations based on the notion of commutativity defined between change operations. It is expected that audit trail entries in the log under consideration adhere to the change log format, as defined. In particular, the presence of the following data attributes is expected (Missing attributes will cause null pointer exceptions and failure):

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

Field Summary
protected  boolean allowConflictingCausality
           
protected  LogReader log
           
protected  Progress progress
           
 
Constructor Summary
CommutativityLogRelationBuilder(LogReader logReader)
          Creates a new instance based on a specific log(reader).
 
Method Summary
protected  java.util.ArrayList extractParameterList(AuditTrailEntry ate)
          This method returns the parameter list of a change operation.
protected  cern.colt.matrix.DoubleMatrix2D generateCausalMatrix(cern.colt.matrix.DoubleMatrix2D parallel, cern.colt.matrix.DoubleMatrix2D directSuccession)
          Generates the causal matrix with the option to include conflicting causalities in the final matrix.
protected  cern.colt.matrix.DoubleMatrix2D generateParallelMatrix()
          Generates the parallelity matrix based on change operation ATE commutativity.
 LogRelations getLogRelations()
           
protected  boolean isCommutative(AuditTrailEntry a, AuditTrailEntry b)
          Checks for two given audit trail entries, whether their represented change operations are considered commutative.
 void setAllowConflictingCausality(boolean allowed)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected LogReader log

progress

protected Progress progress

allowConflictingCausality

protected boolean allowConflictingCausality
Constructor Detail

CommutativityLogRelationBuilder

public CommutativityLogRelationBuilder(LogReader logReader)
Creates a new instance based on a specific log(reader).

Method Detail

setAllowConflictingCausality

public void setAllowConflictingCausality(boolean allowed)

getLogRelations

public LogRelations getLogRelations()
Specified by:
getLogRelations in interface LogRelationBuilder

generateParallelMatrix

protected cern.colt.matrix.DoubleMatrix2D generateParallelMatrix()
Generates the parallelity matrix based on change operation ATE commutativity.

Returns:
The generated parallellity matrix.

generateCausalMatrix

protected cern.colt.matrix.DoubleMatrix2D generateCausalMatrix(cern.colt.matrix.DoubleMatrix2D parallel,
                                                               cern.colt.matrix.DoubleMatrix2D directSuccession)
Generates the causal matrix with the option to include conflicting causalities in the final matrix.

Parameters:
parallel -
directSuccession -
Returns:

isCommutative

protected boolean isCommutative(AuditTrailEntry a,
                                AuditTrailEntry b)
Checks for two given audit trail entries, whether their represented change operations are considered commutative. Commutativity between two change operations A and B is assumed, when: This method will return whether all three conditions hold on the specified audit trail entries.

Parameters:
a -
b -
Returns:

extractParameterList

protected java.util.ArrayList extractParameterList(AuditTrailEntry ate)
This method returns the parameter list of a change operation. This parameter list is defined to contain all objects in the pre- and postset of a change operation. (What is actually done is, exploding two comma-separated list strings and insert the extracted elements into an ArrayList, which is returned.)

Parameters:
ate -
Returns: