Package org.processmining.OCLPMDiscovery
Class Main
- java.lang.Object
-
- org.processmining.OCLPMDiscovery.Main
-
public class Main extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description static org.processmining.framework.plugin.PluginContextContextstatic org.jgrapht.Graph<java.lang.String,org.jgrapht.graph.DefaultEdge>graphstatic booleangraphProvidedstatic longstartTimestatic org.processmining.contexts.uitopia.UIPluginContextUIContextstatic booleanUsingContextstatic booleanUsingUI
-
Constructor Summary
Constructors Constructor Description Main()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static org.jgrapht.Graph<java.lang.String,org.jgrapht.graph.DefaultEdge>buildObjectGraph(org.processmining.ocel.ocelobjects.OcelEventLog ocel, OCLPMDiscoveryParameters parameters)static java.util.HashMap<java.lang.String,java.util.HashSet<java.lang.String>>computeVariableArcsWholeLog(OCLPMDiscoveryParameters parameters)Computes a map which assigns each object type to all the activities with which the type has variable arcsstatic OCLPMResultconvertLPMstoOCLPMs(OCLPMDiscoveryParameters parameters, LPMResultsTagged tlpms)static OCLPMResultconvertLPMstoOCLPMs(OCLPMDiscoveryParameters parameters, LPMResultsTagged tlpms, TaggedPlaceSet placeSet)Ensures that the places in the OCLPMs have the same ids as the places in the placeSet by replacing them with equal (isomorphic + same type) places from the placeSet.static LPMResultsTaggeddiscoverLPMs(org.processmining.ocel.ocelobjects.OcelEventLog ocel, OCLPMDiscoveryParameters parameters, TaggedPlaceSet placeSet)LPM discovery which first creates case notions to perform the LPM discovery on.static LPMResultsTaggeddiscoverLPMs(org.processmining.ocel.ocelobjects.OcelEventLog ocel, OCLPMDiscoveryParameters parameters, TaggedPlaceSet placeSet, java.util.ArrayList<java.lang.String> labels)LPM discovery with given case notions in the OCELstatic TaggedPlaceSetdiscoverPlaceSet(org.processmining.ocel.ocelobjects.OcelEventLog ocel, OCLPMDiscoveryParameters parameters)Returns a PlaceSet and a map which maps each Place.id to the ObjectType of the flat log on which it has been discoveredstatic voidendTimer(OCLPMResult oclpmResult, java.lang.String startingFrom)static OCLPMResultevaluateOCLPMs(OCLPMDiscoveryParameters parameters, OCLPMResult oclpmResult)static org.deckfour.xes.model.XLogflattenOCEL(org.processmining.ocel.ocelobjects.OcelEventLog ocel, java.lang.String newTypeLabel, java.lang.Boolean flattenCounting)static org.processmining.framework.plugin.PluginContextgetContext()static org.jgrapht.Graph<java.lang.String,org.jgrapht.graph.DefaultEdge>getGraph()static TaggedPlaceSetidentifyVariableArcs(OCLPMDiscoveryParameters parameters, OCLPMResult oclpmResult, TaggedPlaceSet placeSet)Variable arc identification when place set is given.static voidmessageNormal(java.lang.String message)static OCLPMResultpostProcessing(OCLPMDiscoveryParameters parameters, OCLPMResult oclpmResult)static TaggedPlaceSetpostProcessPlaceSet(TaggedPlaceSet placeSet)static voidprintExecutionTime()static java.lang.Object[]run(org.processmining.ocel.ocelobjects.OcelEventLog ocel, OCLPMDiscoveryParameters parameters)Full OCLPM discovery starting from ocelstatic java.lang.Object[]run(org.processmining.ocel.ocelobjects.OcelEventLog ocel, OCLPMDiscoveryParameters parameters, LPMResultsTagged tlpms, TaggedPlaceSet placeSet)OCLPM discovery starting from Tagged LPMsstatic java.lang.Object[]run(org.processmining.ocel.ocelobjects.OcelEventLog ocel, OCLPMDiscoveryParameters parameters, TaggedPlaceSet placeSet)Full OCLPM discovery starting from place netsstatic java.lang.Object[]run(org.processmining.ocel.ocelobjects.OcelEventLog ocel, OCLPMDiscoveryParameters parameters, TaggedPlaceSet placeSet, java.util.ArrayList<java.lang.String> labels)Full OCLPM discovery starting from place nets with enhanced OCEL inputstatic java.lang.Object[]runLPMPlugin(org.deckfour.xes.model.XLog log, TaggedPlaceSet placeSetTrimmed, OCLPMDiscoveryParameters parameters)static voidsetGraph(org.jgrapht.Graph<java.lang.String,org.jgrapht.graph.DefaultEdge> graph)static voidsetUp(org.processmining.framework.plugin.PluginContext context)static voidsetUp(org.processmining.framework.plugin.PluginContext context, int min, int max)static voidsetUp(org.processmining.framework.plugin.PluginContext context, OCLPMDiscoveryParameters parameters, boolean placeDiscovery, boolean lpmDiscovery)Calculates the steps shown in the UI progress indicator.static voidstartTimer()static voidupdateProgress()static voidupdateProgress(java.lang.String message)
-
-
-
Field Detail
-
Context
public static org.processmining.framework.plugin.PluginContext Context
-
UIContext
public static org.processmining.contexts.uitopia.UIPluginContext UIContext
-
UsingUI
public static boolean UsingUI
-
UsingContext
public static boolean UsingContext
-
graph
public static org.jgrapht.Graph<java.lang.String,org.jgrapht.graph.DefaultEdge> graph
-
graphProvided
public static boolean graphProvided
-
startTime
public static long startTime
-
-
Method Detail
-
run
public static java.lang.Object[] run(org.processmining.ocel.ocelobjects.OcelEventLog ocel, OCLPMDiscoveryParameters parameters)Full OCLPM discovery starting from ocel- Parameters:
ocel-parameters-- Returns:
- {oclpmResult, tlpms, placeSet}
-
run
public static java.lang.Object[] run(org.processmining.ocel.ocelobjects.OcelEventLog ocel, OCLPMDiscoveryParameters parameters, TaggedPlaceSet placeSet)Full OCLPM discovery starting from place nets- Parameters:
ocel-parameters-- Returns:
- {oclpmResult, tlpms}
-
run
public static java.lang.Object[] run(org.processmining.ocel.ocelobjects.OcelEventLog ocel, OCLPMDiscoveryParameters parameters, TaggedPlaceSet placeSet, java.util.ArrayList<java.lang.String> labels)Full OCLPM discovery starting from place nets with enhanced OCEL input- Parameters:
ocel-parameters-- Returns:
- {oclpmResult, tlpms}
-
run
public static java.lang.Object[] run(org.processmining.ocel.ocelobjects.OcelEventLog ocel, OCLPMDiscoveryParameters parameters, LPMResultsTagged tlpms, TaggedPlaceSet placeSet)OCLPM discovery starting from Tagged LPMs- Parameters:
ocel-parameters-- Returns:
- {oclpmResult}
-
discoverPlaceSet
public static TaggedPlaceSet discoverPlaceSet(org.processmining.ocel.ocelobjects.OcelEventLog ocel, OCLPMDiscoveryParameters parameters)
Returns a PlaceSet and a map which maps each Place.id to the ObjectType of the flat log on which it has been discovered- Parameters:
ocel-parameters-- Returns:
- PlaceSet
-
postProcessPlaceSet
public static TaggedPlaceSet postProcessPlaceSet(TaggedPlaceSet placeSet)
-
discoverLPMs
public static LPMResultsTagged discoverLPMs(org.processmining.ocel.ocelobjects.OcelEventLog ocel, OCLPMDiscoveryParameters parameters, TaggedPlaceSet placeSet, java.util.ArrayList<java.lang.String> labels)
LPM discovery with given case notions in the OCEL- Parameters:
ocel-parameters-placeSet-labels-- Returns:
-
discoverLPMs
public static LPMResultsTagged discoverLPMs(org.processmining.ocel.ocelobjects.OcelEventLog ocel, OCLPMDiscoveryParameters parameters, TaggedPlaceSet placeSet)
LPM discovery which first creates case notions to perform the LPM discovery on.- Parameters:
ocel-parameters-placeSet-- Returns:
-
convertLPMstoOCLPMs
public static OCLPMResult convertLPMstoOCLPMs(OCLPMDiscoveryParameters parameters, LPMResultsTagged tlpms)
-
convertLPMstoOCLPMs
public static OCLPMResult convertLPMstoOCLPMs(OCLPMDiscoveryParameters parameters, LPMResultsTagged tlpms, TaggedPlaceSet placeSet)
Ensures that the places in the OCLPMs have the same ids as the places in the placeSet by replacing them with equal (isomorphic + same type) places from the placeSet. (done in the grabIsomorphicPlaces function during OCLPMResult creation)- Parameters:
parameters-tlpms-placeSet-- Returns:
-
identifyVariableArcs
public static TaggedPlaceSet identifyVariableArcs(OCLPMDiscoveryParameters parameters, OCLPMResult oclpmResult, TaggedPlaceSet placeSet)
Variable arc identification when place set is given.- Parameters:
parameters-oclpmResult-- Returns:
-
computeVariableArcsWholeLog
public static java.util.HashMap<java.lang.String,java.util.HashSet<java.lang.String>> computeVariableArcsWholeLog(OCLPMDiscoveryParameters parameters)
Computes a map which assigns each object type to all the activities with which the type has variable arcs- Parameters:
parameters-- Returns:
-
evaluateOCLPMs
public static OCLPMResult evaluateOCLPMs(OCLPMDiscoveryParameters parameters, OCLPMResult oclpmResult)
-
postProcessing
public static OCLPMResult postProcessing(OCLPMDiscoveryParameters parameters, OCLPMResult oclpmResult)
-
setUp
public static void setUp(org.processmining.framework.plugin.PluginContext context)
-
setUp
public static void setUp(org.processmining.framework.plugin.PluginContext context, int min, int max)
-
setUp
public static void setUp(org.processmining.framework.plugin.PluginContext context, OCLPMDiscoveryParameters parameters, boolean placeDiscovery, boolean lpmDiscovery)Calculates the steps shown in the UI progress indicator.- Parameters:
context-parameters-placeDiscovery- set true if discovery of place nets is performedlpmDiscovery- set true if LPM discovery is performed
-
getContext
public static org.processmining.framework.plugin.PluginContext getContext()
-
messageNormal
public static void messageNormal(java.lang.String message)
-
updateProgress
public static void updateProgress()
-
updateProgress
public static void updateProgress(java.lang.String message)
-
runLPMPlugin
public static java.lang.Object[] runLPMPlugin(org.deckfour.xes.model.XLog log, TaggedPlaceSet placeSetTrimmed, OCLPMDiscoveryParameters parameters)
-
buildObjectGraph
public static org.jgrapht.Graph<java.lang.String,org.jgrapht.graph.DefaultEdge> buildObjectGraph(org.processmining.ocel.ocelobjects.OcelEventLog ocel, OCLPMDiscoveryParameters parameters)
-
getGraph
public static org.jgrapht.Graph<java.lang.String,org.jgrapht.graph.DefaultEdge> getGraph()
-
setGraph
public static void setGraph(org.jgrapht.Graph<java.lang.String,org.jgrapht.graph.DefaultEdge> graph)
-
flattenOCEL
public static org.deckfour.xes.model.XLog flattenOCEL(org.processmining.ocel.ocelobjects.OcelEventLog ocel, java.lang.String newTypeLabel, java.lang.Boolean flattenCounting)
-
startTimer
public static void startTimer()
-
printExecutionTime
public static void printExecutionTime()
-
endTimer
public static void endTimer(OCLPMResult oclpmResult, java.lang.String startingFrom)
-
-