Class RecursiveProjectionMiner
- java.lang.Object
-
- org.processmining.projectionminer.mining.RecursiveProjectionMiner
-
public class RecursiveProjectionMiner extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description RecursiveProjectionMiner(ProjectionMinerParameters parameters)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.processmining.acceptingpetrinet.models.AcceptingPetriNetdiscover(org.processmining.contexts.uitopia.UIPluginContext context, org.deckfour.xes.model.XLog log, AcceptingPetriNetWrapper acceptingPetriNetWrapper)protected java.util.HashMap<org.processmining.models.graphbased.directed.petrinet.elements.Place,java.util.ArrayList<org.processmining.models.graphbased.directed.petrinet.elements.Transition>>findOneLoopingPlaces(org.processmining.models.graphbased.directed.petrinet.Petrinet net)voidinsertSubnet(boolean optionalSubnet, org.processmining.acceptingpetrinet.models.AcceptingPetriNet toBeInserted, org.processmining.acceptingpetrinet.models.AcceptingPetriNet origNet, org.processmining.models.graphbased.directed.petrinet.elements.Place projectionPlace, java.util.Collection<org.processmining.models.graphbased.directed.petrinet.elements.Transition> oneLoopingTransitions)protected booleanisSubnetContainingNewInformation(java.util.ArrayList<org.processmining.models.graphbased.directed.petrinet.elements.Transition> loopingTransitions, org.processmining.acceptingpetrinet.models.AcceptingPetriNet minedSubnet)protected booleanisSubnetContainingNewInformation(java.util.ArrayList<org.processmining.models.graphbased.directed.petrinet.elements.Transition> loopingTransitions, AcceptingPetriNetWrapper minedSubnet)Checks whether the new Petri net contains some new transitions considering the labels.protected booleanplaceContainsSameActivities(java.util.HashSet<java.lang.String> activitiesToBeChecked, org.processmining.models.graphbased.directed.petrinet.elements.Place place, org.processmining.models.graphbased.directed.petrinet.Petrinet net)Checks for a set of activities and a place in a given net, whether that place has one-looping transitions that have the activities as labels.protected voidremoveNodeFromNet(org.processmining.models.graphbased.directed.petrinet.Petrinet net, org.processmining.models.graphbased.directed.petrinet.PetrinetNode node)Removes a node from the net by removing the ingoing and outgoing edges of the transition.org.deckfour.xes.model.XLogrestrictOneTracePerVariant(org.deckfour.xes.model.XLog log)
-
-
-
Constructor Detail
-
RecursiveProjectionMiner
public RecursiveProjectionMiner(ProjectionMinerParameters parameters)
-
-
Method Detail
-
discover
public org.processmining.acceptingpetrinet.models.AcceptingPetriNet discover(org.processmining.contexts.uitopia.UIPluginContext context, org.deckfour.xes.model.XLog log, AcceptingPetriNetWrapper acceptingPetriNetWrapper) throws java.lang.InterruptedException- Throws:
java.lang.InterruptedException
-
isSubnetContainingNewInformation
protected boolean isSubnetContainingNewInformation(java.util.ArrayList<org.processmining.models.graphbased.directed.petrinet.elements.Transition> loopingTransitions, AcceptingPetriNetWrapper minedSubnet)Checks whether the new Petri net contains some new transitions considering the labels.- Parameters:
loopingTransitions- The looping transitions of a place.minedSubnet- A discovered net for the projected log.- Returns:
- True, if the discovered subnet contains further information.
-
isSubnetContainingNewInformation
protected boolean isSubnetContainingNewInformation(java.util.ArrayList<org.processmining.models.graphbased.directed.petrinet.elements.Transition> loopingTransitions, org.processmining.acceptingpetrinet.models.AcceptingPetriNet minedSubnet)
-
placeContainsSameActivities
protected boolean placeContainsSameActivities(java.util.HashSet<java.lang.String> activitiesToBeChecked, org.processmining.models.graphbased.directed.petrinet.elements.Place place, org.processmining.models.graphbased.directed.petrinet.Petrinet net)Checks for a set of activities and a place in a given net, whether that place has one-looping transitions that have the activities as labels.- Parameters:
activitiesToBeChecked- The activities to be found.place- The place to be checked in the net.net- The net that contains the place to be checked.- Returns:
- True, if the activities are a subset of the set of labels of the one-looping transitions of the place.
-
removeNodeFromNet
protected void removeNodeFromNet(org.processmining.models.graphbased.directed.petrinet.Petrinet net, org.processmining.models.graphbased.directed.petrinet.PetrinetNode node)Removes a node from the net by removing the ingoing and outgoing edges of the transition.- Parameters:
net- The Petri net to be modified.node- The node object to be removed from the Petri net.
-
findOneLoopingPlaces
protected java.util.HashMap<org.processmining.models.graphbased.directed.petrinet.elements.Place,java.util.ArrayList<org.processmining.models.graphbased.directed.petrinet.elements.Transition>> findOneLoopingPlaces(org.processmining.models.graphbased.directed.petrinet.Petrinet net)
-
restrictOneTracePerVariant
public org.deckfour.xes.model.XLog restrictOneTracePerVariant(org.deckfour.xes.model.XLog log)
-
insertSubnet
public void insertSubnet(boolean optionalSubnet, org.processmining.acceptingpetrinet.models.AcceptingPetriNet toBeInserted, org.processmining.acceptingpetrinet.models.AcceptingPetriNet origNet, org.processmining.models.graphbased.directed.petrinet.elements.Place projectionPlace, java.util.Collection<org.processmining.models.graphbased.directed.petrinet.elements.Transition> oneLoopingTransitions)
-
-