public abstract class AbstractPetrinetReplayer<T extends nl.tue.astar.Tail,D extends AbstractPDelegate<T>> extends java.lang.Object implements IPNPartialOrderAwareReplayAlgorithm
Modifier and Type | Class and Description |
---|---|
static class |
AbstractPetrinetReplayer.Representative |
static class |
AbstractPetrinetReplayer.Result |
Modifier and Type | Field and Description |
---|---|
protected org.deckfour.xes.classification.XEventClassifier |
classifier |
protected org.processmining.models.semantics.petrinet.Marking[] |
finalMarkings |
protected org.processmining.models.semantics.petrinet.Marking |
initMarking |
protected java.util.Map<org.deckfour.xes.classification.XEventClass,java.lang.Integer> |
mapEvClass2Cost |
protected java.util.Map<org.processmining.models.graphbased.directed.petrinet.elements.Transition,java.lang.Integer> |
mapSync2Cost |
protected java.util.Map<org.processmining.models.graphbased.directed.petrinet.elements.Transition,java.lang.Integer> |
mapTrans2Cost
Imported parameters
|
protected int |
maxNumOfStates |
protected int |
queuedStates |
protected int |
traversedArcs |
protected boolean |
usePartialOrderEvents |
protected int |
visitedStates |
Constructor and Description |
---|
AbstractPetrinetReplayer() |
Modifier and Type | Method and Description |
---|---|
protected int |
addReplayResults(org.processmining.framework.plugin.Progress progress,
D delegate,
org.deckfour.xes.model.XTrace trace,
AbstractPetrinetReplayer.Result r,
gnu.trove.list.TIntList unUsedIndices,
gnu.trove.map.TIntIntMap trace2orgTrace,
gnu.trove.map.TIntObjectMap<AbstractPetrinetReplayer.Representative> doneMap,
org.deckfour.xes.model.XLog log,
java.util.List<SyncReplayResult> col,
int traceIndex,
int minCostMoveModel) |
protected boolean |
compareEventClassList(D d,
org.deckfour.xes.model.XTrace t1,
org.deckfour.xes.model.XTrace t2) |
protected PHead |
constructHead(D delegate,
org.processmining.models.semantics.petrinet.Marking m,
org.deckfour.xes.model.XTrace xtrace) |
IPNReplayParamProvider |
constructParamProvider(org.processmining.framework.plugin.PluginContext context,
org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net,
org.deckfour.xes.model.XLog log,
TransEvClassMapping mapping)
construct GUI in which the parameter for this algorithm can be obtained
|
protected abstract D |
getDelegate(org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net,
org.deckfour.xes.model.XLog log,
org.deckfour.xes.classification.XEventClasses classes,
TransEvClassMapping mapping,
int delta,
int threads) |
java.lang.String |
getHTMLInfo()
HTML explanation of the algorithm
|
protected nl.tue.astar.util.LinearTrace |
getLinearTrace(org.deckfour.xes.model.XLog log,
int trace,
AbstractPDelegate<?> delegate,
gnu.trove.list.TIntList unUsedIndices,
gnu.trove.map.TIntIntMap trace2orgTrace)
get list of event class.
|
protected int |
getMinBoundMoveModel(IPNReplayParameter parameters,
int delta,
nl.tue.astar.impl.memefficient.MemoryEfficientAStarAlgorithm<PHead,T> aStar,
D delegateD)
get cost if an empty trace is replayed on a model
|
PartialOrderBuilder |
getPartialOrderBuilder()
Returns the current partial order builder
|
protected void |
importParameters(CostBasedCompleteParam parameters)
Assign values of private attributes as given in parameters
|
boolean |
isAllReqSatisfied(org.processmining.framework.plugin.PluginContext context,
org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net,
org.deckfour.xes.model.XLog log,
TransEvClassMapping mapping,
IPNReplayParameter parameter)
Return true if all replay inputs are correct
|
boolean |
isParameterReqCorrect(org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net,
org.deckfour.xes.model.XLog log,
TransEvClassMapping mapping,
IPNReplayParameter parameter)
Return true if all replay inputs are correct: parameter type is correct
and non empty (no null); all transitions are mapped to cost; all event
classes (including dummy event class, i.e.
|
boolean |
isReqWOParameterSatisfied(org.processmining.framework.plugin.PluginContext context,
org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net,
org.deckfour.xes.model.XLog log,
TransEvClassMapping mapping)
Return true if input of replay without parameters are correct
|
protected SyncReplayResult |
recordToResult(AbstractPDelegate<?> d,
org.deckfour.xes.model.XTrace trace,
nl.tue.astar.Trace filteredTrace,
PRecord r,
int traceIndex,
int stateCount,
boolean isReliable,
long milliseconds,
int queuedStates,
int traversedArcs,
int minCostMoveModel,
gnu.trove.list.TIntList unUsedIndices,
gnu.trove.map.TIntIntMap trace2orgTrace) |
PNRepResult |
replayLog(org.processmining.framework.plugin.PluginContext context,
org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net,
org.deckfour.xes.model.XLog log,
TransEvClassMapping mapping,
IPNReplayParameter parameters)
Replay log assuming GUI exist (progress bars, etc)
|
void |
setPartialOrderBuilder(PartialOrderBuilder poBuilder)
Set the partial order builder for any implementation of the IPN
algorithm.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
toString
protected int visitedStates
protected int queuedStates
protected int traversedArcs
protected java.util.Map<org.processmining.models.graphbased.directed.petrinet.elements.Transition,java.lang.Integer> mapTrans2Cost
protected java.util.Map<org.deckfour.xes.classification.XEventClass,java.lang.Integer> mapEvClass2Cost
protected java.util.Map<org.processmining.models.graphbased.directed.petrinet.elements.Transition,java.lang.Integer> mapSync2Cost
protected org.deckfour.xes.classification.XEventClassifier classifier
protected int maxNumOfStates
protected org.processmining.models.semantics.petrinet.Marking initMarking
protected org.processmining.models.semantics.petrinet.Marking[] finalMarkings
protected boolean usePartialOrderEvents
public boolean isAllReqSatisfied(org.processmining.framework.plugin.PluginContext context, org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net, org.deckfour.xes.model.XLog log, TransEvClassMapping mapping, IPNReplayParameter parameter)
isAllReqSatisfied
in interface IPNReplayAlgorithm
public boolean isReqWOParameterSatisfied(org.processmining.framework.plugin.PluginContext context, org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net, org.deckfour.xes.model.XLog log, TransEvClassMapping mapping)
isReqWOParameterSatisfied
in interface IPNReplayAlgorithm
public boolean isParameterReqCorrect(org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net, org.deckfour.xes.model.XLog log, TransEvClassMapping mapping, IPNReplayParameter parameter)
protected void importParameters(CostBasedCompleteParam parameters)
parameters
- public IPNReplayParamProvider constructParamProvider(org.processmining.framework.plugin.PluginContext context, org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net, org.deckfour.xes.model.XLog log, TransEvClassMapping mapping)
constructParamProvider
in interface IPNReplayAlgorithm
protected SyncReplayResult recordToResult(AbstractPDelegate<?> d, org.deckfour.xes.model.XTrace trace, nl.tue.astar.Trace filteredTrace, PRecord r, int traceIndex, int stateCount, boolean isReliable, long milliseconds, int queuedStates, int traversedArcs, int minCostMoveModel, gnu.trove.list.TIntList unUsedIndices, gnu.trove.map.TIntIntMap trace2orgTrace)
protected nl.tue.astar.util.LinearTrace getLinearTrace(org.deckfour.xes.model.XLog log, int trace, AbstractPDelegate<?> delegate, gnu.trove.list.TIntList unUsedIndices, gnu.trove.map.TIntIntMap trace2orgTrace)
trace
- unUsedIndices
- trace2orgTrace
- classes
- mapEvClass2Trans
- listMoveOnLog
- public java.lang.String getHTMLInfo()
IPNReplayAlgorithm
getHTMLInfo
in interface IPNReplayAlgorithm
public PNRepResult replayLog(org.processmining.framework.plugin.PluginContext context, org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net, org.deckfour.xes.model.XLog log, TransEvClassMapping mapping, IPNReplayParameter parameters) throws nl.tue.astar.AStarException
IPNReplayAlgorithm
replayLog
in interface IPNReplayAlgorithm
nl.tue.astar.AStarException
protected PHead constructHead(D delegate, org.processmining.models.semantics.petrinet.Marking m, org.deckfour.xes.model.XTrace xtrace)
protected int getMinBoundMoveModel(IPNReplayParameter parameters, int delta, nl.tue.astar.impl.memefficient.MemoryEfficientAStarAlgorithm<PHead,T> aStar, D delegateD) throws nl.tue.astar.AStarException
context
- net
- mapping
- classes
- delta
- threads
- aStar
- delegateD
- nl.tue.astar.AStarException
protected abstract D getDelegate(org.processmining.models.graphbased.directed.petrinet.PetrinetGraph net, org.deckfour.xes.model.XLog log, org.deckfour.xes.classification.XEventClasses classes, TransEvClassMapping mapping, int delta, int threads)
protected int addReplayResults(org.processmining.framework.plugin.Progress progress, D delegate, org.deckfour.xes.model.XTrace trace, AbstractPetrinetReplayer.Result r, gnu.trove.list.TIntList unUsedIndices, gnu.trove.map.TIntIntMap trace2orgTrace, gnu.trove.map.TIntObjectMap<AbstractPetrinetReplayer.Representative> doneMap, org.deckfour.xes.model.XLog log, java.util.List<SyncReplayResult> col, int traceIndex, int minCostMoveModel)
protected boolean compareEventClassList(D d, org.deckfour.xes.model.XTrace t1, org.deckfour.xes.model.XTrace t2)
public void setPartialOrderBuilder(PartialOrderBuilder poBuilder)
IPNPartialOrderAwareReplayAlgorithm
setPartialOrderBuilder
in interface IPNPartialOrderAwareReplayAlgorithm
public PartialOrderBuilder getPartialOrderBuilder()
IPNPartialOrderAwareReplayAlgorithm
getPartialOrderBuilder
in interface IPNPartialOrderAwareReplayAlgorithm