org.processmining.analysis.decisionmining
Class DecisionMiningLogReader

java.lang.Object
  extended by org.processmining.analysis.decisionmining.DecisionMiningLogReader

public class DecisionMiningLogReader
extends java.lang.Object

Extends a given event log by information related to the decision point analysis.
Note that the current implementation keeps the whole log in memory. In order to support also the analysis of very large logs (and the availability of learning instances is crucial for machine learning schemes) one should consider writing this information back to another log file.

Author:
arozinat (a.rozinat@tm.tue.nl)

Constructor Summary
DecisionMiningLogReader(LogReader logReader, HLPetriNet highLevelPN)
          Creates a wrapped LogReader with additional functionality.
 
Method Summary
 void addSimulationModelAttributes(HLPetriNet highLevelPN)
          Adds the data attributes found in this log to the given simulation model.
 boolean classifyLog(java.util.List<DecisionPoint> decisionPoints)
          Classifies the process instances according to the alternative branches that have been taken and records the results.
 java.util.Set getAttributesForLogEvent(LogEvent le)
          Retrieves the data attributes found in the log for audit trail entries belonging to the given log event.
 java.util.Set getAttributesForWholeLog()
          Retrieves all the data attributes found in the whole log.
 java.util.ArrayList getTracesInCategory(DecisionCategory branch)
          Delivers all process instances that have taken the specified branch.
 boolean hasNext()
          Determines whether there is a log trace left to be read by the diagnostic log reader (i.e., the iterator is not yet located after the last element).
 DecisionMiningLogTrace next()
          Reads the current diagnostic log trace and move to the next one (i.e., fetch the next element and place the iterator in behind it).
 void reset()
          Resets the diagnostic log reader to its start position (i.e., the iterator is placed in front of the first element).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DecisionMiningLogReader

public DecisionMiningLogReader(LogReader logReader,
                               HLPetriNet highLevelPN)
Creates a wrapped LogReader with additional functionality.

Parameters:
logReader - the original log reader
Method Detail

classifyLog

public boolean classifyLog(java.util.List<DecisionPoint> decisionPoints)
Classifies the process instances according to the alternative branches that have been taken and records the results.

Parameters:
decisionPoints - the decision points that have been found in the model

addSimulationModelAttributes

public void addSimulationModelAttributes(HLPetriNet highLevelPN)
Adds the data attributes found in this log to the given simulation model.

Parameters:
the - high level process containing the high level activities where the data attributes should be added

getAttributesForLogEvent

public java.util.Set getAttributesForLogEvent(LogEvent le)
Retrieves the data attributes found in the log for audit trail entries belonging to the given log event.

Parameters:
le - the log event for which the data attributes are requested
Returns:
a set of DecisionAttribute objects. In case there is no data attribute associated to this log event the returned set will be empty

getAttributesForWholeLog

public java.util.Set getAttributesForWholeLog()
Retrieves all the data attributes found in the whole log.

Returns:
a set of DecisionAttribute objects. In case there is no data attribute associated the returned set will be empty

getTracesInCategory

public java.util.ArrayList getTracesInCategory(DecisionCategory branch)
Delivers all process instances that have taken the specified branch.

Parameters:
branch - the decision category, i.e., the branch in question
Returns:
a list of log traces that have taken the given branch, the list will be empty if none of them did

reset

public void reset()
Resets the diagnostic log reader to its start position (i.e., the iterator is placed in front of the first element).


hasNext

public boolean hasNext()
Determines whether there is a log trace left to be read by the diagnostic log reader (i.e., the iterator is not yet located after the last element).

Returns:
true if there is a trace to be read, false otherwise

next

public DecisionMiningLogTrace next()
Reads the current diagnostic log trace and move to the next one (i.e., fetch the next element and place the iterator in behind it). Note that the existance of an element in that position should be checked before using logicalHasNext().

Returns:
the current diagnostic log trace