pipe.dataLayer
Class DataLayer

java.lang.Object
  extended byjava.util.Observable
      extended bypipe.dataLayer.DataLayer
All Implemented Interfaces:
Constants

public class DataLayer
extends java.util.Observable
implements Constants

DataLayer - Encapsulates entire Petri-Net, also contains functions to perform calculations

Version:
1.0
Author:
James D Bloom
See Also:

PNML - Petri-Net XMLSchema (stNet.xsd),

DataLayer UML


Field Summary
private  java.util.ArrayList arcsArray
          ArrayList containing all the Arc objects in the Petri-Net
private  java.util.Hashtable arcsMap
          Hashtable which maps PlaceTransitionObjects to their list of connected arcs
private  java.util.ArrayList arrowsArray
          ArrayList containing all the Arrow objects in the Petri-Net
private  PNMatrix backwardsIncidenceMatrix
          Backward Incidence Matrix
private  java.util.ArrayList changeArrayList
          An ArrayList used to point to either the Arc, Place or Transition ArrayLists when these ArrayLists are being update
private  int[] currentMarkupMatrix
          Initial Markup Matrix
private  int DISPLAY_SCALE_FACTORX
          X-Axis Scale Value
private  int DISPLAY_SCALE_FACTORY
          Y-Axis Scale Value
private  int DISPLAY_SHIFT_FACTORX
          X-Axis Shift Value
private  int DISPLAY_SHIFT_FACTORY
          Y-Axis Shift Value
private  PNMatrix fowardsIncidenceMatrix
          Foward Incidence Matrix
private  PNMatrix incidenceMatrix
          Incidence Matrix
private  int[] initialMarkupMatrix
          Initial Markup Matrix
private  java.util.ArrayList labelsArray
          ArrayList for net-level label objects (as opposed to element-level labels).
private  PNMatrix markupHistoryMatrix
          Markup Storage Array
private  int[] markupMatrixAnimationStorage
          Markup Matrix Storage used during animation
private  java.lang.Object[] markupStore
          Markup Matrix Storage
private  java.util.ArrayList placesArray
          List containing all the Place objects in the Petri-Net
private  java.lang.String pnmlName
          PNML File Name
private  int position
          Markup Matrix Storage Position
private static java.util.Random randomNumber
           
private  java.util.ArrayList tokensArray
          ArrayList containing all the Token objects in the Petri-Net
private  java.util.ArrayList transitionsArray
          ArrayList containing all the Transition objects in the Petri-Net
 
Fields inherited from class java.util.Observable
 
Fields inherited from interface pipe.gui.Constants
ADDTOKEN, ANIMATE, ANNOTATION, ANNOTATION_DEFAULT_FONT, ANNOTATION_DEFAULT_FONT_SIZE, ANNOTATION_LAYER_OFFSET, ANNOTATION_MIN_WIDTH, ANNOTATION_SIZE_OFFSET, ARC, ARC_CONTROL_POINT_CONSTANT, ARC_LAYER_OFFSET, ARC_PATH_PROXIMITY_WIDTH, ARC_PATH_SELECTION_WIDTH, ARC_POINT_LAYER_OFFSET, CREATING, DEFAULT_ELEMENT_TYPE, DELETE, DELTOKEN, DRAW, ELEMENT_FILL_COLOUR, ELEMENT_LINE_COLOUR, ENABLED_TRANSITION_COLOUR, FIRE, GRID, IMMTRANS, LOWEST_LAYER_OFFSET, NOTE_DISABLED_COLOUR, NOTE_EDITING_COLOUR, PLACE, PLACE_TRANSITION_HEIGHT, PLACE_TRANSITION_LAYER_OFFSET, PLACE_TRANSITION_PROXIMITY_RADIUS, PROPERTY_FILE_DESC, PROPERTY_FILE_EXTENSION, RANDOM, RESERVED_BORDER, RESIZE_POINT_DOWN_COLOUR, SELECT, SELECTION_FILL_COLOUR, SELECTION_LAYER_OFFSET, SELECTION_LINE_COLOUR, START, STEPBACKWARD, STEPFORWARD, STOP, TIMEDTRANS
 
Constructor Summary
DataLayer()
          Create empty Petri-Net object
DataLayer(java.io.File pnmlFile)
          Create Petri-Net object from pnmlFile
DataLayer(java.lang.String pnmlFileName)
          Create Petri-Net object from PNML file with URI pnmlFileName
 
Method Summary
 void addAnnotation(AnnotationNote labelInput)
          Add placeInput to the back of the Place ArrayList All observers are notified of this change (Model-View Architecture)
 void addArc(Arc arcInput)
          Add arcInput to back of the Arc ArrayList All observers are notified of this change (Model-View Architecture)
private  void addArcToArcsMap(Arc arcInput)
          Update the arcsMap hashtable to reflect the new arc
 void addPetriNetObject(PetriNetObject pnObject)
          Add any PetriNetObject - the object will be added to the appropriate list.
 void addPlace(Place placeInput)
          Add placeInput to the back of the Place ArrayList All observers are notified of this change (Model-View Architecture)
 void addToken(Token tokenInput)
          Add tokenInput to the back of the Token ArrayList All observers are notified of this change.
 void addTransition(Transition transitionInput)
          Add transitionInput to back of the Transition ArrayList All observers are notified of this change (Model-View Architecture)
private  AnnotationNote createAnnotation(org.w3c.dom.Element inputLabelElement)
          Creates a Label object from a Label DOM Element
private  org.w3c.dom.Element createAnnotationNoteElement(AnnotationNote inputLabel, org.w3c.dom.Document document)
          Creates a Place Element for a PNML Petri-Net DOM
private  Arc createArc(org.w3c.dom.Element inputArcElement)
          Creates a Arc object from a Arc DOM Element
private  org.w3c.dom.Element createArcElement(Arc inputArc, org.w3c.dom.Document document)
          Creates a Arc Element for a PNML Petri-Net DOM
private  org.w3c.dom.Element createArcPoint(java.lang.String x, java.lang.String y, java.lang.String type, org.w3c.dom.Document document, int id)
           
private  void createBackwardsIncidenceMatrix()
          Creates Backwards Incidence Matrix from current Petri-Net
private  void createCurrentMarkupMatrix()
          Creates Initial Markup Matrix from current Petri-Net
private  void createFowardIncidenceMatrix()
          Creates Foward Incidence Matrix from current Petri-Net
private  void createIncidenceMatrix()
          Creates Incidence Matrix from current Petri-Net
private  void createInitialMarkupMatrix()
          Creates Initial Markup Matrix from current Petri-Net
private  void createMatrixes()
          Creates all Petri-Net Matrixes from current Petri-Net
private  Place createPlace(org.w3c.dom.Element inputPlaceElement)
          Creates a Place object from a Place DOM Element
private  org.w3c.dom.Element createPlaceElement(Place inputPlace, org.w3c.dom.Document document)
          Creates a Place Element for a PNML Petri-Net DOM
private  Transition createTransition(org.w3c.dom.Element inputTransitionElement)
          Creates a Transition object from a Transition DOM Element
private  org.w3c.dom.Element createTransitionElement(Transition inputTransition, org.w3c.dom.Document document)
          Creates a Transition Element for a PNML Petri-Net DOM
 void emptyPNML()
          Empty all attributes, turn into empty Petri-Net
 Transition fireRandomTransition()
          Fire a random transition, takes rate (probability) of Transitions into account
 void fireRandomTransitionBackwards()
           
private  void fireTransition(int transitionNo)
          Fire a specified transition, no affect if transtions not enabled
 void fireTransition(Transition transition)
          Fire a specified transition, no affect if transtions not enabled
private  void fireTransitionBackwards(int transitionNo)
           
 void fireTransitionBackwards(Transition transition)
           
 Arc getArc(java.lang.String arcName)
          Return the Arc called arcName from the Petri-Net
 Arc[] getArcs()
          Get an List of all the Arcs objects in the Petri-Net
 Arc getArcWithSource(PetriNetObject arcName)
          Return the Arc called arcName from the Petri-Net
 Arc getArcWithTarget(PetriNetObject arcName)
          Return the Arc called arcName from the Petri-Net
 int[][] getBackwardsIncidenceMatrix()
          Return the Backward Incidence Matrix for the Petri-Net
 int[] getCurrentMarkupMatrix()
          Return the Initial Markup Matrix for the Petri-Net
 org.w3c.dom.Document getDOM()
          Return a DOM for the Petri-Net
 org.w3c.dom.Document getDOM(java.io.File pnmlFile)
          Return a DOM for the PNML File pnmlFile
 org.w3c.dom.Document getDOM(java.lang.String pnmlFileName)
          Return a DOM for the PNML file at URI pnmlFileName
 int[][] getForwardsIncidenceMatrix()
          Return the Foward Incidence Matrix for the Petri-Net
 int[][] getIncidenceMatrix()
          Return the Incidence Matrix for the Petri-Net
 int[] getInitialMarkupMatrix()
          Return the Initial Markup Matrix for the Petri-Net
 AnnotationNote[] getLabels()
          Get a List of all the net-level NameLabel objects in the Petri-Net
 int getListPosition(PetriNetObject pnObject)
          Get position of Petri-Net Object in ArrayList of given Petri-Net Object's type
 java.util.Iterator getPetriNetObjects()
          Returns an iterator of all PetriNetObjects - the order of these cannot be guaranteed.
 Place getPlace(int placeNo)
          Return the Place called placeName from the Petri-Net
 Place getPlace(java.lang.String placeName)
          Return the Place called placeName from the Petri-Net
 Place[] getPlaces()
          Get an List of all the Place objects in the Petri-Net
 PlaceTransitionObject getPlaceTransitionObject(java.lang.String ptoId)
          Return the PlaceTransitionObject called ptoName from the Petri-Net
 Transition getTransition(int transitionNo)
          Return the Transition called transitionName from the Petri-Net
 Transition getTransition(java.lang.String transitionName)
          Return the Transition called transitionName from the Petri-Net
 Transition[] getTransitions()
          Get an List of all the Transition objects in the Petri-Net
 java.lang.String getURI()
          Return a URI for the PNML file for the Petri-Net
private  void initializeMatrixes()
          Initialize Arrays
 void loadPNML(java.lang.String filename)
          Load PNML file
 void print()
          prints out a brief representation of the dataLayer object
 void removeArc(java.lang.String idInput)
          Remove first Arc that has an id equal to idInput
 void removePetriNetObject(PetriNetObject pnObject)
          Removes the specified object from the appropriate ArrayList of objects.
 void removePlace(java.lang.String idInput)
          Remove first Place that has an id equal to idInput
 void removeTransition(java.lang.String idInput)
          Remove first Transition that has an id equal to idInput
 void resetEnabledTransitions()
           
 void restoreInitialMarking()
          Restores Initial Markup Matrix to current Petri-Net Markup
 void restoreState()
          Restores To previous Stored Markup
 java.util.Iterator returnTransitions()
           
 void savePNML(java.io.File file)
          Save the Petri-Net
 void savePNML(java.lang.String filename)
          Save the Petri-Net
 void setArcConnectionMap()
          Function populates the arcsMap hashtable enabling easier cross referencing of places, transitions and the arcs connected to them.
 void setBackwardsIncidenceMatrix(int[][] backwardsIncidenceInput)
          Set the Backward Incidence Matrix
 void setEnabledTransitions()
          Determines whether all transitions are enabled and sets the correct value of the enabled boolean
 void setEnabledTransitionsBackwards()
          Determines whether all transitions are enabled and sets the correct value of the enabled boolean
 void setFowardIncidenceMatrix(int[][] fowardIncidenceInput)
          Set the Foward Incidence Matrix
 void setIncidenceMatrix(int[][] incidenceInput)
          Set the Incidence Matrix
 void setInitalMarkupMatrix(int[][] markupInput)
          Set the Initial Markup Matrix
private  boolean setPetriNetObjectArrayList(PetriNetObject pnObject)
          Sets an internal ArrayList according to the class of the object passed in.
 void storeInitialMarking()
          Stores Initial Markup Matrix from current Petri-Net Markup
 void storeState()
          Stores Current Markup
 
Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

randomNumber

private static java.util.Random randomNumber

pnmlName

private java.lang.String pnmlName
PNML File Name


placesArray

private java.util.ArrayList placesArray
List containing all the Place objects in the Petri-Net


transitionsArray

private java.util.ArrayList transitionsArray
ArrayList containing all the Transition objects in the Petri-Net


arcsArray

private java.util.ArrayList arcsArray
ArrayList containing all the Arc objects in the Petri-Net


tokensArray

private java.util.ArrayList tokensArray
ArrayList containing all the Token objects in the Petri-Net


arrowsArray

private java.util.ArrayList arrowsArray
ArrayList containing all the Arrow objects in the Petri-Net


labelsArray

private java.util.ArrayList labelsArray
ArrayList for net-level label objects (as opposed to element-level labels).


changeArrayList

private java.util.ArrayList changeArrayList
An ArrayList used to point to either the Arc, Place or Transition ArrayLists when these ArrayLists are being update


initialMarkupMatrix

private int[] initialMarkupMatrix
Initial Markup Matrix


currentMarkupMatrix

private int[] currentMarkupMatrix
Initial Markup Matrix


markupMatrixAnimationStorage

private int[] markupMatrixAnimationStorage
Markup Matrix Storage used during animation


markupStore

private java.lang.Object[] markupStore
Markup Matrix Storage


position

private int position
Markup Matrix Storage Position


markupHistoryMatrix

private PNMatrix markupHistoryMatrix
Markup Storage Array


fowardsIncidenceMatrix

private PNMatrix fowardsIncidenceMatrix
Foward Incidence Matrix


backwardsIncidenceMatrix

private PNMatrix backwardsIncidenceMatrix
Backward Incidence Matrix


incidenceMatrix

private PNMatrix incidenceMatrix
Incidence Matrix


DISPLAY_SCALE_FACTORX

private final int DISPLAY_SCALE_FACTORX
X-Axis Scale Value

See Also:
Constant Field Values

DISPLAY_SCALE_FACTORY

private final int DISPLAY_SCALE_FACTORY
Y-Axis Scale Value

See Also:
Constant Field Values

DISPLAY_SHIFT_FACTORX

private final int DISPLAY_SHIFT_FACTORX
X-Axis Shift Value

See Also:
Constant Field Values

DISPLAY_SHIFT_FACTORY

private final int DISPLAY_SHIFT_FACTORY
Y-Axis Shift Value

See Also:
Constant Field Values

arcsMap

private java.util.Hashtable arcsMap
Hashtable which maps PlaceTransitionObjects to their list of connected arcs

Constructor Detail

DataLayer

public DataLayer(java.lang.String pnmlFileName)
Create Petri-Net object from PNML file with URI pnmlFileName

Parameters:
pnmlFileName - Name of PNML File

DataLayer

public DataLayer(java.io.File pnmlFile)
Create Petri-Net object from pnmlFile

Parameters:
pnmlFile - PNML File

DataLayer

public DataLayer()
Create empty Petri-Net object

Method Detail

initializeMatrixes

private void initializeMatrixes()
Initialize Arrays


setArcConnectionMap

public void setArcConnectionMap()
Function populates the arcsMap hashtable enabling easier cross referencing of places, transitions and the arcs connected to them.


removePlace

public void removePlace(java.lang.String idInput)
Remove first Place that has an id equal to idInput

Parameters:
idInput - id of Place object to remove from Petri-Net

removeTransition

public void removeTransition(java.lang.String idInput)
Remove first Transition that has an id equal to idInput

Parameters:
idInput - id of Transition object to remove from Petri-Net

removeArc

public void removeArc(java.lang.String idInput)
Remove first Arc that has an id equal to idInput

Parameters:
idInput - id of Arc object to remove from Petri-Net

addPlace

public void addPlace(Place placeInput)
Add placeInput to the back of the Place ArrayList All observers are notified of this change (Model-View Architecture)

Parameters:
placeInput - Place Object to add

addAnnotation

public void addAnnotation(AnnotationNote labelInput)
Add placeInput to the back of the Place ArrayList All observers are notified of this change (Model-View Architecture)


addTransition

public void addTransition(Transition transitionInput)
Add transitionInput to back of the Transition ArrayList All observers are notified of this change (Model-View Architecture)

Parameters:
transitionInput - Transition Object to add

addArc

public void addArc(Arc arcInput)
Add arcInput to back of the Arc ArrayList All observers are notified of this change (Model-View Architecture)

Parameters:
arcInput - Arc Object to add

addArcToArcsMap

private void addArcToArcsMap(Arc arcInput)
Update the arcsMap hashtable to reflect the new arc

Parameters:
arcInput - New Arc

addToken

public void addToken(Token tokenInput)
Add tokenInput to the back of the Token ArrayList All observers are notified of this change.

Parameters:
tokenInput - Token Object to add

addPetriNetObject

public void addPetriNetObject(PetriNetObject pnObject)
Add any PetriNetObject - the object will be added to the appropriate list. If the object passed in isn't a Transition, Place or Arc nothing will happen. All observers are notified of this change.

Parameters:
pnObject - The PetriNetObject to be added.

removePetriNetObject

public void removePetriNetObject(PetriNetObject pnObject)
Removes the specified object from the appropriate ArrayList of objects. All observers are notified of this change.

Parameters:
pnObject - The PetriNetObject to be removed.

returnTransitions

public java.util.Iterator returnTransitions()

setPetriNetObjectArrayList

private boolean setPetriNetObjectArrayList(PetriNetObject pnObject)
Sets an internal ArrayList according to the class of the object passed in.

Parameters:
pnObject - The pnObject in question.
Returns:
Returns True if the pnObject is of type Place, Transition or Arc

getPetriNetObjects

public java.util.Iterator getPetriNetObjects()
Returns an iterator of all PetriNetObjects - the order of these cannot be guaranteed.

Returns:
An iterator of all PetriNetObjects

setFowardIncidenceMatrix

public void setFowardIncidenceMatrix(int[][] fowardIncidenceInput)
Set the Foward Incidence Matrix

Parameters:
fowardIncidenceInput - Foward Incidence Matrix object

setBackwardsIncidenceMatrix

public void setBackwardsIncidenceMatrix(int[][] backwardsIncidenceInput)
Set the Backward Incidence Matrix

Parameters:
backwardsIncidenceInput - Backward Incidence Matrix object

setIncidenceMatrix

public void setIncidenceMatrix(int[][] incidenceInput)
Set the Incidence Matrix

Parameters:
incidenceInput - Backward Incidence Matrix object

setInitalMarkupMatrix

public void setInitalMarkupMatrix(int[][] markupInput)
Set the Initial Markup Matrix

Parameters:
markupInput - Initial Markup Matrix object

savePNML

public void savePNML(java.lang.String filename)
              throws java.lang.NullPointerException,
                     java.io.IOException,
                     javax.xml.parsers.ParserConfigurationException,
                     org.w3c.dom.DOMException,
                     javax.xml.transform.TransformerConfigurationException,
                     javax.xml.transform.TransformerException
Save the Petri-Net

Parameters:
filename - URI location to save file
Throws:
javax.xml.parsers.ParserConfigurationException
org.w3c.dom.DOMException
javax.xml.transform.TransformerConfigurationException
javax.xml.transform.TransformerException
java.lang.NullPointerException
java.io.IOException

savePNML

public void savePNML(java.io.File file)
              throws java.lang.NullPointerException,
                     java.io.IOException,
                     javax.xml.parsers.ParserConfigurationException,
                     org.w3c.dom.DOMException,
                     javax.xml.transform.TransformerConfigurationException,
                     javax.xml.transform.TransformerException
Save the Petri-Net

Throws:
javax.xml.parsers.ParserConfigurationException
org.w3c.dom.DOMException
javax.xml.transform.TransformerConfigurationException
javax.xml.transform.TransformerException
java.lang.NullPointerException
java.io.IOException

loadPNML

public void loadPNML(java.lang.String filename)
              throws java.io.IOException,
                     org.xml.sax.SAXException,
                     javax.xml.transform.TransformerException,
                     javax.xml.parsers.ParserConfigurationException
Load PNML file

Parameters:
filename - URI location of PNML
Throws:
java.io.IOException
org.xml.sax.SAXException
javax.xml.transform.TransformerException
javax.xml.parsers.ParserConfigurationException

createPlace

private Place createPlace(org.w3c.dom.Element inputPlaceElement)
Creates a Place object from a Place DOM Element

Parameters:
inputPlaceElement - Input Place DOM Element
Returns:
Place Object

createAnnotation

private AnnotationNote createAnnotation(org.w3c.dom.Element inputLabelElement)
Creates a Label object from a Label DOM Element

Parameters:
inputLabelElement - Input Label DOM Element
Returns:
Label Object

createTransition

private Transition createTransition(org.w3c.dom.Element inputTransitionElement)
Creates a Transition object from a Transition DOM Element

Parameters:
inputTransitionElement - Input Transition DOM Element
Returns:
Transition Object

createArc

private Arc createArc(org.w3c.dom.Element inputArcElement)
Creates a Arc object from a Arc DOM Element

Parameters:
inputArcElement - Input Arc DOM Element
Returns:
Arc Object

createPlaceElement

private org.w3c.dom.Element createPlaceElement(Place inputPlace,
                                               org.w3c.dom.Document document)
Creates a Place Element for a PNML Petri-Net DOM

Parameters:
inputPlace - Input Place
document - Any DOM to enable creation of Elements and Attributes
Returns:
Place Element for a PNML Petri-Net DOM

createAnnotationNoteElement

private org.w3c.dom.Element createAnnotationNoteElement(AnnotationNote inputLabel,
                                                        org.w3c.dom.Document document)
Creates a Place Element for a PNML Petri-Net DOM

Parameters:
document - Any DOM to enable creation of Elements and Attributes
Returns:
Place Element for a PNML Petri-Net DOM

createTransitionElement

private org.w3c.dom.Element createTransitionElement(Transition inputTransition,
                                                    org.w3c.dom.Document document)
Creates a Transition Element for a PNML Petri-Net DOM

Parameters:
inputTransition - Input Transition
document - Any DOM to enable creation of Elements and Attributes
Returns:
Transition Element for a PNML Petri-Net DOM

createArcElement

private org.w3c.dom.Element createArcElement(Arc inputArc,
                                             org.w3c.dom.Document document)
Creates a Arc Element for a PNML Petri-Net DOM

Parameters:
inputArc - Input Arc
document - Any DOM to enable creation of Elements and Attributes
Returns:
Arc Element for a PNML Petri-Net DOM

createArcPoint

private org.w3c.dom.Element createArcPoint(java.lang.String x,
                                           java.lang.String y,
                                           java.lang.String type,
                                           org.w3c.dom.Document document,
                                           int id)

createMatrixes

private void createMatrixes()
Creates all Petri-Net Matrixes from current Petri-Net


createFowardIncidenceMatrix

private void createFowardIncidenceMatrix()
Creates Foward Incidence Matrix from current Petri-Net


createBackwardsIncidenceMatrix

private void createBackwardsIncidenceMatrix()
Creates Backwards Incidence Matrix from current Petri-Net


createIncidenceMatrix

private void createIncidenceMatrix()
Creates Incidence Matrix from current Petri-Net


createInitialMarkupMatrix

private void createInitialMarkupMatrix()
Creates Initial Markup Matrix from current Petri-Net


createCurrentMarkupMatrix

private void createCurrentMarkupMatrix()
Creates Initial Markup Matrix from current Petri-Net


storeInitialMarking

public void storeInitialMarking()
Stores Initial Markup Matrix from current Petri-Net Markup


restoreInitialMarking

public void restoreInitialMarking()
Restores Initial Markup Matrix to current Petri-Net Markup


storeState

public void storeState()
Stores Current Markup


restoreState

public void restoreState()
Restores To previous Stored Markup


fireTransition

public void fireTransition(Transition transition)
Fire a specified transition, no affect if transtions not enabled

Parameters:
transition - Reference of specifiec Transition

fireTransition

private void fireTransition(int transitionNo)
Fire a specified transition, no affect if transtions not enabled

Parameters:
transitionNo - Position of Transition in internal ArrayList

fireRandomTransition

public Transition fireRandomTransition()
Fire a random transition, takes rate (probability) of Transitions into account


fireTransitionBackwards

public void fireTransitionBackwards(Transition transition)

fireTransitionBackwards

private void fireTransitionBackwards(int transitionNo)

fireRandomTransitionBackwards

public void fireRandomTransitionBackwards()

setEnabledTransitions

public void setEnabledTransitions()
Determines whether all transitions are enabled and sets the correct value of the enabled boolean


resetEnabledTransitions

public void resetEnabledTransitions()

setEnabledTransitionsBackwards

public void setEnabledTransitionsBackwards()
Determines whether all transitions are enabled and sets the correct value of the enabled boolean


emptyPNML

public void emptyPNML()
Empty all attributes, turn into empty Petri-Net


getListPosition

public int getListPosition(PetriNetObject pnObject)
Get position of Petri-Net Object in ArrayList of given Petri-Net Object's type

Parameters:
pnObject - PlaceTransitionObject to get the position of
Returns:
Position (-1 if not present) of Petri-Net Object in ArrayList of given Petri-Net Object's type

getPlaces

public Place[] getPlaces()
Get an List of all the Place objects in the Petri-Net

Returns:
An List of all the Place objects

getLabels

public AnnotationNote[] getLabels()
Get a List of all the net-level NameLabel objects in the Petri-Net

Returns:
A List of all the net-level (as opposed to element-specific) label objects

getTransitions

public Transition[] getTransitions()
Get an List of all the Transition objects in the Petri-Net

Returns:
An List of all the Transition objects

getArcs

public Arc[] getArcs()
Get an List of all the Arcs objects in the Petri-Net

Returns:
An List of all the Arc objects

getTransition

public Transition getTransition(java.lang.String transitionName)
Return the Transition called transitionName from the Petri-Net

Parameters:
transitionName - Name of Transition object to return
Returns:
The first Transition object found with a name equal to transitionName

getTransition

public Transition getTransition(int transitionNo)
Return the Transition called transitionName from the Petri-Net

Parameters:
transitionNo - No of Transition object to return
Returns:
The Transition object

getPlace

public Place getPlace(java.lang.String placeName)
Return the Place called placeName from the Petri-Net

Parameters:
placeName - Name of Place object to return
Returns:
The first Place object found with a name equal to placeName

getPlace

public Place getPlace(int placeNo)
Return the Place called placeName from the Petri-Net

Parameters:
placeNo - No of Place object to return
Returns:
The Place object

getArc

public Arc getArc(java.lang.String arcName)
Return the Arc called arcName from the Petri-Net

Parameters:
arcName - Name of Arc object to return
Returns:
The first Arc object found with a name equal to arcName

getArcWithSource

public Arc getArcWithSource(PetriNetObject arcName)
Return the Arc called arcName from the Petri-Net

Parameters:
arcName - Name of Arc object to return
Returns:
The first Arc object found with a name equal to arcName

getArcWithTarget

public Arc getArcWithTarget(PetriNetObject arcName)
Return the Arc called arcName from the Petri-Net

Parameters:
arcName - Name of Arc object to return
Returns:
The first Arc object found with a name equal to arcName

getPlaceTransitionObject

public PlaceTransitionObject getPlaceTransitionObject(java.lang.String ptoId)
Return the PlaceTransitionObject called ptoName from the Petri-Net

Parameters:
ptoId - Id of PlaceTransitionObject object to return
Returns:
The first Arc PlaceTransitionObject found with a name equal to ptoName

getForwardsIncidenceMatrix

public int[][] getForwardsIncidenceMatrix()
Return the Foward Incidence Matrix for the Petri-Net

Returns:
The Foward Incidence Matrix for the Petri-Net

getBackwardsIncidenceMatrix

public int[][] getBackwardsIncidenceMatrix()
Return the Backward Incidence Matrix for the Petri-Net

Returns:
The Backward Incidence Matrix for the Petri-Net

getIncidenceMatrix

public int[][] getIncidenceMatrix()
Return the Incidence Matrix for the Petri-Net

Returns:
The Incidence Matrix for the Petri-Net

getInitialMarkupMatrix

public int[] getInitialMarkupMatrix()
Return the Initial Markup Matrix for the Petri-Net

Returns:
The Initial Markup Matrix for the Petri-Net

getCurrentMarkupMatrix

public int[] getCurrentMarkupMatrix()
Return the Initial Markup Matrix for the Petri-Net

Returns:
The Initial Markup Matrix for the Petri-Net

getDOM

public org.w3c.dom.Document getDOM(java.lang.String pnmlFileName)
                            throws javax.xml.parsers.ParserConfigurationException,
                                   java.io.IOException,
                                   org.xml.sax.SAXException
Return a DOM for the PNML file at URI pnmlFileName

Parameters:
pnmlFileName - URI of PNML file
Returns:
A DOM for the PNML file pnmlFileName
Throws:
javax.xml.parsers.ParserConfigurationException
java.io.IOException
org.xml.sax.SAXException

getDOM

public org.w3c.dom.Document getDOM(java.io.File pnmlFile)
                            throws javax.xml.parsers.ParserConfigurationException,
                                   java.io.IOException,
                                   org.xml.sax.SAXException
Return a DOM for the PNML File pnmlFile

Parameters:
pnmlFile - File Object for PNML of Petri-Net
Returns:
A DOM for the File Object for PNML of Petri-Net
Throws:
javax.xml.parsers.ParserConfigurationException
java.io.IOException
org.xml.sax.SAXException

getDOM

public org.w3c.dom.Document getDOM()
                            throws javax.xml.parsers.ParserConfigurationException,
                                   java.io.IOException,
                                   org.xml.sax.SAXException
Return a DOM for the Petri-Net

Returns:
A DOM for the Petri-Net
Throws:
javax.xml.parsers.ParserConfigurationException
java.io.IOException
org.xml.sax.SAXException

getURI

public java.lang.String getURI()
Return a URI for the PNML file for the Petri-Net

Returns:
A DOM for the Petri-Net

print

public void print()
prints out a brief representation of the dataLayer object