Package au.edu.qut.prom.helpers
Class PetriNetFragmentParser
- java.lang.Object
-
- au.edu.qut.prom.helpers.PetriNetFragmentParser
-
public class PetriNetFragmentParser extends java.lang.ObjectAllows the creation of Petri nets with short one line ascii sketches, for exampleinitialPlace -> [transition1] -> mp -> [transition2] -> finalPlaceLarger nets can be created with multiple invocations. Existing nodes will be looked up by label. Weighted transitions without weights, as in{b}, are defaulted to weight 1.0. Current limitations: no support for SPNs beyond weighted transitions. No support for separate nodes with duplicate labels. Methods for creatingAcceptingPetriNetsare also provided. These use naming conventions to identify initial and final markings percreateAcceptingNet(String, String). GrammarPETRI_ONELINE_NET :: PLACE EDGE TRANSITION EDGE PLACE_LED_SUBNET PLACE_LED_SUBNET :: PLACE EDGE TRANSITION EDGE PLACE_LED_SUBNET PLACE_LED_SUBNET :: PLACE TRANSITION_SUBNET :: TRANSITION EDGE PLACE EDGE TRANSITION_SUBNET TRANSITION_SUBNET :: TRANSITION TRANSITION :: SIMPLE_TRANSITION || WEIGHTED_TRANSITION SIMPLE_TRANSITION :: '[' LABEL ']' WEIGHTED_TRANSITION :: WEIGHTED_TRAN_VALUE | WEIGHTED_TRAN_DEFAULT WEIGHTED_TRAN_VALUE :: '{' LABEL WEIGHT '}' WEIGHTED_TRAN_DEFAULT:: '{' LABEL '}' WEIGHT :: [0-9].[0-9]* PLACE :: LABEL EDGE :: '->' LABEL :: alphanumeric stringDoesn't work for extended codepoints (eg UTF-16).
-
-
Field Summary
Fields Modifier and Type Field Description static java.util.Set<java.lang.String>FINAL_PLACE_LABELSstatic java.util.Set<java.lang.String>INITIAL_PLACE_LABELS
-
Constructor Summary
Constructors Constructor Description PetriNetFragmentParser()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddToAcceptingNet(org.processmining.acceptingpetrinet.models.AcceptingPetriNet anet, java.lang.String netText)Precondition: the underlyingPetrinetinanetis aStochasticNet.voidaddToNet(org.processmining.models.graphbased.directed.petrinet.StochasticNet net, java.lang.String netText)org.processmining.acceptingpetrinet.models.AcceptingPetriNetcreateAcceptingNet(java.lang.String label, java.lang.String netText)Returns an AcceptingPetriNet with one initial and one final place marked.org.processmining.acceptingpetrinet.models.AcceptingPetriNetcreateAcceptingNetArgs(java.lang.String label, java.lang.String... specs)org.processmining.models.graphbased.directed.petrinet.StochasticNetcreateNet(java.lang.String label, java.lang.String netText)org.processmining.models.graphbased.directed.petrinet.StochasticNetcreateNetArgs(java.lang.String label, java.lang.String... specs)org.processmining.acceptingpetrinet.models.AcceptingPetriNetmarkInitialFinalPlaces(org.processmining.models.graphbased.directed.petrinet.StochasticNet net)
-
-
-
Method Detail
-
addToNet
public void addToNet(org.processmining.models.graphbased.directed.petrinet.StochasticNet net, java.lang.String netText)
-
createNet
public org.processmining.models.graphbased.directed.petrinet.StochasticNet createNet(java.lang.String label, java.lang.String netText)
-
createAcceptingNet
public org.processmining.acceptingpetrinet.models.AcceptingPetriNet createAcceptingNet(java.lang.String label, java.lang.String netText)Returns an AcceptingPetriNet with one initial and one final place marked. Initial and final markings are determined by labeling convention but will only be applied where places have the correct edge properties, ie, only outgoing for initial places, only incoming for final. Naming conventions for initial places, in order of checking: Start, Initial, I. Naming conventions for final places, in order of checking: End, Final, F.- Parameters:
label-netText-- Returns:
-
markInitialFinalPlaces
public org.processmining.acceptingpetrinet.models.AcceptingPetriNet markInitialFinalPlaces(org.processmining.models.graphbased.directed.petrinet.StochasticNet net)
-
createAcceptingNetArgs
public org.processmining.acceptingpetrinet.models.AcceptingPetriNet createAcceptingNetArgs(java.lang.String label, java.lang.String... specs)
-
addToAcceptingNet
public void addToAcceptingNet(org.processmining.acceptingpetrinet.models.AcceptingPetriNet anet, java.lang.String netText)Precondition: the underlyingPetrinetinanetis aStochasticNet.- Parameters:
anet-netText-
-
createNetArgs
public org.processmining.models.graphbased.directed.petrinet.StochasticNet createNetArgs(java.lang.String label, java.lang.String... specs)
-
-