org.processmining.analysis.recommendation.contrib
Class RecommendationContributor

java.lang.Object
  extended by org.processmining.analysis.recommendation.contrib.RecommendationContributor
All Implemented Interfaces:
Plugin
Direct Known Subclasses:
LogBasedContributor

public abstract class RecommendationContributor
extends java.lang.Object
implements Plugin

An instance abstraction is an entity which, based on a specific subset of information available to it, can calculate a set of recommendations for a provided query.

Typically a recommendation contributor will cluster a set of somewhat comparable process instances, and return recommendations based on their common characteristics.

Author:
Christian W. Guenther (christian@deckfour.org)

Field Summary
protected  LogAbstractionFactory logAbstractionFactory
          logAbstractor that takes care of the abstraction of the entire log, as well as any offered query
protected  java.util.List<LogAbstraction> logAbstractions
          logAbstractor that takes care of the abstraction of the entire log, as well as any offered query
protected  ProcessInstanceScale scale
          The scale which is used to calculate the weight of this contributor based on the contained process instances' weights as their sum.
 
Constructor Summary
RecommendationContributor()
           
 
Method Summary
abstract  RecommendationResult generateFilteredRecommendations(RecommendationQuery query, java.lang.String process)
           
 RecommendationResult generateRecommendations(RecommendationQuery query, java.lang.String process)
          This method calculates this instance's contributions to a specified query, i.e.
abstract  java.lang.String getHtmlDescription()
          Gets a description of this plugin in HTML.
abstract  java.lang.String getName()
          Gets the name of this plugin.
 ProcessInstanceScale getScale()
           
 void initialize(LogReader log, ProcessInstanceScale scale)
           
 void setScale(ProcessInstanceScale aScale)
          Sets the scale used for weighing this contributor based on the contained process instances.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

scale

protected ProcessInstanceScale scale
The scale which is used to calculate the weight of this contributor based on the contained process instances' weights as their sum.


logAbstractions

protected java.util.List<LogAbstraction> logAbstractions
logAbstractor that takes care of the abstraction of the entire log, as well as any offered query


logAbstractionFactory

protected LogAbstractionFactory logAbstractionFactory
logAbstractor that takes care of the abstraction of the entire log, as well as any offered query

Constructor Detail

RecommendationContributor

public RecommendationContributor()
Method Detail

getScale

public ProcessInstanceScale getScale()
Returns:
The scale used for weighing the contained process instances.

setScale

public void setScale(ProcessInstanceScale aScale)
Sets the scale used for weighing this contributor based on the contained process instances.

Parameters:
aScale - a process instance scale.

initialize

public void initialize(LogReader log,
                       ProcessInstanceScale scale)
                throws NoFactoryException
Throws:
NoFactoryException

generateRecommendations

public RecommendationResult generateRecommendations(RecommendationQuery query,
                                                    java.lang.String process)
This method calculates this instance's contributions to a specified query, i.e. the recommendations provided by this contributor. Recommendations returned by this method are supposed to be internally ordered, i.e. have respective confidences assigned which reflect their relative importance as intended by this contributor.

Parameters:
query - The query to which recommendations are inquired.
process - The process name the query refers to
Returns:
A set of recommendations provided to the specified query, in a RecommendationResult container.

generateFilteredRecommendations

public abstract RecommendationResult generateFilteredRecommendations(RecommendationQuery query,
                                                                     java.lang.String process)

getName

public abstract java.lang.String getName()
Gets the name of this plugin. Implementing classes should use this method to return their own name.

Specified by:
getName in interface Plugin
Returns:
the name of this plugin

getHtmlDescription

public abstract java.lang.String getHtmlDescription()
Gets a description of this plugin in HTML. The string returned by this method should only contain the contents of the body of the html page, so the html, head and body tags should not be used. This HTML page is displayed in the help system or as context sensitive help. The HTML body can be stored in an external file in the /lib/documentation/ sub folder and in this case it can be obtained by calling PluginDocumentationLoader.load(this)

Specified by:
getHtmlDescription in interface Plugin
Returns:
a description of this plugin in HTML