public class ModelRepair_SubProcess
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
ModelRepair_SubProcess.MoveOnLog |
static class |
ModelRepair_SubProcess.PetriNetWithMarkings |
static class |
ModelRepair_SubProcess.SubLog |
Modifier and Type | Field and Description |
---|---|
java.util.Comparator<hub.top.uma.DNode> |
dnode_id_comparator |
Constructor and Description |
---|
ModelRepair_SubProcess(hub.top.petrinet.PetriNet net,
hub.top.uma.DNodeRefold build)
Standard constructor for view generation.
|
Modifier and Type | Method and Description |
---|---|
java.util.List<ModelRepair_SubProcess.SubLog> |
alignExtensions(java.util.List<ModelRepair_SubProcess.SubLog> extension) |
void |
extendModelWithMoveOnLog(hub.top.petrinet.PetriNet subNet,
hub.top.petrinet.Transition start,
hub.top.petrinet.Transition end,
java.util.Collection<java.util.List<java.lang.String>> subLog,
java.util.Collection<hub.top.petrinet.Place> location,
java.lang.String subName,
int weight,
boolean isIsolatedExtension)
Extend Petri net with a subNet that can replay the given subLog add the given
location.
|
void |
extendModelWithMoveOnModel() |
java.util.List<ModelRepair_SubProcess.SubLog> |
getExtensions() |
java.util.Set<hub.top.petrinet.Node> |
getInfrequentNodes(int minOccurrences) |
static hub.top.uma.DNodeRefold |
getInitialUnfolding(hub.top.petrinet.ISystemModel sysModel) |
ModelRepair_SubProcess.PetriNetWithMarkings |
getLoop(java.util.Set<hub.top.petrinet.Node> loopBody,
java.util.List<hub.top.petrinet.Place> loopEntry,
java.util.List<hub.top.petrinet.Place> loopExit) |
java.util.Set<hub.top.petrinet.Node> |
getLoopBody(java.util.List<java.util.List<ModelRepair_SubProcess.MoveOnLog>> loopHypothesis)
Find the body of a loop that contains all transitions related to log moves
in the given loop hypotheses.
|
java.util.List<hub.top.petrinet.Place> |
getLoopEntry(java.util.Set<hub.top.petrinet.Node> loopBody) |
java.util.List<hub.top.petrinet.Place> |
getLoopExit(java.util.Set<hub.top.petrinet.Node> loopBody) |
java.util.List<java.util.List<ModelRepair_SubProcess.MoveOnLog>> |
getLoopHypotheses(ModelRepair_SubProcess.SubLog sublog) |
static void |
main(java.lang.String[] args) |
java.util.Set<hub.top.petrinet.Node> |
removeInfrequentNodes(int minOccurrences)
Remove all nodes occurring less than threshold times
|
void |
repair(java.lang.String systemFile,
java.util.List<SimpleAlignment> traces,
java.util.Map<java.lang.String,java.lang.String> e2t) |
java.util.List<hub.top.petrinet.Place> |
repairFinalMarking(java.util.Collection<hub.top.petrinet.Place> finalMarking,
boolean updateFinalMarking) |
java.util.List<java.lang.Integer> |
replayAlignment(java.lang.String systemFile,
java.util.List<SimpleAlignment> traces,
java.util.Map<java.lang.String,java.lang.String> e2t) |
public ModelRepair_SubProcess(hub.top.petrinet.PetriNet net, hub.top.uma.DNodeRefold build)
PetriNet
and a branching process construction object DNodeBP
of this net.net
- build
- public java.util.List<ModelRepair_SubProcess.SubLog> getExtensions()
public java.util.List<ModelRepair_SubProcess.SubLog> alignExtensions(java.util.List<ModelRepair_SubProcess.SubLog> extension)
public java.util.List<java.util.List<ModelRepair_SubProcess.MoveOnLog>> getLoopHypotheses(ModelRepair_SubProcess.SubLog sublog)
public java.util.Set<hub.top.petrinet.Node> getLoopBody(java.util.List<java.util.List<ModelRepair_SubProcess.MoveOnLog>> loopHypothesis)
loopHypothesis
- public java.util.List<hub.top.petrinet.Place> getLoopEntry(java.util.Set<hub.top.petrinet.Node> loopBody)
loopBody
- public java.util.List<hub.top.petrinet.Place> getLoopExit(java.util.Set<hub.top.petrinet.Node> loopBody)
loopBody
- public ModelRepair_SubProcess.PetriNetWithMarkings getLoop(java.util.Set<hub.top.petrinet.Node> loopBody, java.util.List<hub.top.petrinet.Place> loopEntry, java.util.List<hub.top.petrinet.Place> loopExit)
public java.util.Set<hub.top.petrinet.Node> getInfrequentNodes(int minOccurrences)
net
- minOccurrences
- net
that did not more than minOccurrences
timepublic void extendModelWithMoveOnModel()
public void extendModelWithMoveOnLog(hub.top.petrinet.PetriNet subNet, hub.top.petrinet.Transition start, hub.top.petrinet.Transition end, java.util.Collection<java.util.List<java.lang.String>> subLog, java.util.Collection<hub.top.petrinet.Place> location, java.lang.String subName, int weight, boolean isIsolatedExtension)
pn_nodeOccurrences
for all new transitions and places.subNet
- start
- end
- subLog
- location
- subName
- weight
- public java.util.Set<hub.top.petrinet.Node> removeInfrequentNodes(int minOccurrences)
minOccurrences
- public java.util.List<hub.top.petrinet.Place> repairFinalMarking(java.util.Collection<hub.top.petrinet.Place> finalMarking, boolean updateFinalMarking)
finalMarking
- updateFinalMarking
- if set to 'true', final marking will include all structural
final place and all original final places not touched by the
repair (thus originally final places touched by repair are no
longer in the final marking)net
public static hub.top.uma.DNodeRefold getInitialUnfolding(hub.top.petrinet.ISystemModel sysModel) throws hub.top.uma.InvalidModelException
hub.top.uma.InvalidModelException
public java.util.List<java.lang.Integer> replayAlignment(java.lang.String systemFile, java.util.List<SimpleAlignment> traces, java.util.Map<java.lang.String,java.lang.String> e2t) throws hub.top.uma.InvalidModelException, java.io.IOException
hub.top.uma.InvalidModelException
java.io.IOException
public void repair(java.lang.String systemFile, java.util.List<SimpleAlignment> traces, java.util.Map<java.lang.String,java.lang.String> e2t) throws hub.top.uma.InvalidModelException, java.io.IOException
hub.top.uma.InvalidModelException
java.io.IOException
public static void main(java.lang.String[] args)