org.processmining.models.graphbased.directed.petrinet.analysis
Class WorkflowNetUtils

java.lang.Object
  extended by org.processmining.models.graphbased.directed.petrinet.analysis.WorkflowNetUtils

public class WorkflowNetUtils
extends java.lang.Object


Method Summary
static Place getInputPlace(Petrinet net)
          Returns the input place of this net.
static Place getOutputPlace(Petrinet net)
          Returns the output place of this net.
static java.util.SortedSet<Place> getSinkPlaces(Petrinet net)
          Returns the set of sink places of this net.
static java.util.SortedSet<Place> getSourcePlaces(Petrinet net)
          Returns the set of source places of this net.
static java.util.SortedSet<PetrinetNode> getUnconnectedNodes(Petrinet net)
          Returns the set of unconnected nodes of this net.
static boolean isValidWFNet(Petrinet net)
          This method checks whether: 1) There is exactly one input place, 2) there is exactly one output place, 3) all nodes are on a path from the input place to the output place.
static java.lang.Object[] shortCircuit(org.processmining.framework.plugin.PluginContext context, Petrinet net)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

isValidWFNet

public static boolean isValidWFNet(Petrinet net)
This method checks whether: 1) There is exactly one input place, 2) there is exactly one output place, 3) all nodes are on a path from the input place to the output place.

Parameters:
net - the net to be checked for being a valid WF net
Returns:
true if the net is a valid WF net (Has nothing to do with soundness)

getInputPlace

public static Place getInputPlace(Petrinet net)
Returns the input place of this net. Note that it is assumed that isValidWFNet(net)==true. If not, the result is unpredictable.

Parameters:
net - the net of which the input place is requested
Returns:
the input place if isValidWFNet(net)==true. Garbage otherwise (potentially null)

getOutputPlace

public static Place getOutputPlace(Petrinet net)
Returns the output place of this net. Note that it is assumed that isValidWFNet(net)==true. If not, the result is unpredictable.

Parameters:
net - the net of which the output place is requested
Returns:
the output place if isValidWFNet(net)==true. Garbage otherwise (potentially null)

getSourcePlaces

public static java.util.SortedSet<Place> getSourcePlaces(Petrinet net)
Returns the set of source places of this net.

Parameters:
net - the net of which the set of source places is requested
Returns:
the set of source places.

getSinkPlaces

public static java.util.SortedSet<Place> getSinkPlaces(Petrinet net)
Returns the set of sink places of this net.

Parameters:
net - the net of which the set of sink places is requested
Returns:
the set of sink places.

getUnconnectedNodes

public static java.util.SortedSet<PetrinetNode> getUnconnectedNodes(Petrinet net)
Returns the set of unconnected nodes of this net.

Parameters:
net - the net of which the set of unconnected nodes is requested
Returns:
the set of unconnected nodes.

shortCircuit

public static java.lang.Object[] shortCircuit(org.processmining.framework.plugin.PluginContext context,
                                              Petrinet net)