pipe.modules.gspn
Class GSPN

java.lang.Object
  extended by pipe.modules.classification.Classification
      extended by pipe.modules.gspn.GSPN
All Implemented Interfaces:
Module
Direct Known Subclasses:
GSPNNew

public class GSPN
extends Classification


Field Summary
protected  ResultsHTMLPane results
           
protected  PetriNetChooserPanel sourceFilePanel
           
 
Constructor Summary
GSPN()
           
 
Method Summary
protected  StateList getReachabilitySet(DataLayer pnmlData)
          Generate the reachability set using myTree function Add each marking to an arraylist, testing to see if the marking is already present before adding.
protected  boolean[] getTangibleTransitionEnabledStatusArray(DataLayer pnmlData, int[] marking)
           
protected  boolean getTransitionEnabledStatus(DataLayer pnmlData, int[] marking, int transition)
          Caluculate whether a transition is enabled given a specific marking
protected  boolean[] getTransitionEnabledStatusArray(DataLayer pnmlData, int[] marking)
          Caluculate which transitions are enabled given a specific marking
 boolean hasImmediateTransitions(DataLayer pnmlData)
          See if the supplied net has any timed transitions.
 boolean hasTimedTransitions(DataLayer pnmlData)
          See if the supplied net has any timed transitions.
protected  boolean isTangibleState(DataLayer pnmlData, int[] marking)
          Work out if a specified marking describes a tangible state.
protected  double[] reduction(jama.Matrix input)
          This function performs a Gaussian reduction on a given Matrix, returning an array of values representing the solution.
protected  java.lang.String renderLists(double[] data, Place[] places, java.lang.String[] headings)
           
protected  java.lang.String renderLists(double[] data, StateList list)
           
protected  java.lang.String renderProbabilities(double[][] probabilities, StateList list1, StateList list2)
           
protected  java.lang.String renderStateSpace(DataLayer pnmlData, StateList data)
           
protected  java.lang.String renderStateSpaceLinked(DataLayer pnmlData, StateList data)
           
protected  java.lang.String renderThroughput(DataLayer pnmlData, double[] data)
           
protected  boolean testEqualConflict(DataLayer pnmlData)
          Test for condition Equal Conflict.
 
Methods inherited from class pipe.modules.classification.Classification
extendedFreeChoiceNet, extendedSimpleNet, freeChoiceNet, getName, intersectionBetweenSets, markedGraph, run, simpleNet, stateMachine
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sourceFilePanel

protected PetriNetChooserPanel sourceFilePanel

results

protected ResultsHTMLPane results
Constructor Detail

GSPN

public GSPN()
Method Detail

getTransitionEnabledStatus

protected boolean getTransitionEnabledStatus(DataLayer pnmlData,
                                             int[] marking,
                                             int transition)
Caluculate whether a transition is enabled given a specific marking

Parameters:
DataLayer - - the net
int[] - - the marking
int - - the specific transition to test for enabled status
Returns:
boolean - an array of booleans specifying which transitions are enabled in the specified marking

getReachabilitySet

protected StateList getReachabilitySet(DataLayer pnmlData)
                                throws TreeTooBigException
Generate the reachability set using myTree function Add each marking to an arraylist, testing to see if the marking is already present before adding.

Parameters:
DataLayer -
Returns:
Throws:
TreeTooBigException

getTransitionEnabledStatusArray

protected boolean[] getTransitionEnabledStatusArray(DataLayer pnmlData,
                                                    int[] marking)
Caluculate which transitions are enabled given a specific marking

Parameters:
DataLayer - - the net
int[] - - the marking
Returns:
boolean[] - an array of booleans specifying which transitions are enabled in the specified marking

getTangibleTransitionEnabledStatusArray

protected boolean[] getTangibleTransitionEnabledStatusArray(DataLayer pnmlData,
                                                            int[] marking)

isTangibleState

protected boolean isTangibleState(DataLayer pnmlData,
                                  int[] marking)
Work out if a specified marking describes a tangible state. A state is either tangible (all enabled transitions are timed) or vanishing (there exists at least one enabled state that is transient, i.e. untimed). If an immediate transition exists, it will automatically fire before a timed transition.

Parameters:
DataLayer - - the net to be tested
int[] - - the marking of the net to be tested
Returns:
boolean - is it tangible or not

testEqualConflict

protected boolean testEqualConflict(DataLayer pnmlData)
Test for condition Equal Conflict. I.E., for all t1, t2 in the set of transitions, where t1<>t2, that share the same input place, either t1, t2 are both in the set of timed transitions (T1) or t1, t2 are both in the set of immediate transitions (T2).

Parameters:
DataLayer -
Returns:
boolean

hasTimedTransitions

public boolean hasTimedTransitions(DataLayer pnmlData)
See if the supplied net has any timed transitions.

Parameters:
DataLayer -
Returns:
boolean

hasImmediateTransitions

public boolean hasImmediateTransitions(DataLayer pnmlData)
See if the supplied net has any timed transitions.

Parameters:
DataLayer -
Returns:
boolean

reduction

protected double[] reduction(jama.Matrix input)
This function performs a Gaussian reduction on a given Matrix, returning an array of values representing the solution.

Parameters:
Matrix - - the matrix of coefficients to be solved
Returns:
double[] - the array of solutions

renderStateSpace

protected java.lang.String renderStateSpace(DataLayer pnmlData,
                                            StateList data)

renderStateSpaceLinked

protected java.lang.String renderStateSpaceLinked(DataLayer pnmlData,
                                                  StateList data)

renderThroughput

protected java.lang.String renderThroughput(DataLayer pnmlData,
                                            double[] data)

renderProbabilities

protected java.lang.String renderProbabilities(double[][] probabilities,
                                               StateList list1,
                                               StateList list2)

renderLists

protected java.lang.String renderLists(double[] data,
                                       StateList list)

renderLists

protected java.lang.String renderLists(double[] data,
                                       Place[] places,
                                       java.lang.String[] headings)