|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectpipe.modules.classification.Classification
pipe.modules.gspn.GSPN
Field Summary | |
private static java.lang.String |
MODULE_NAME
|
private ResultsHTMLPane |
results
|
(package private) java.awt.event.ActionListener |
runAnalysis
Analyse button click handler |
private PetriNetChooserPanel |
sourceFilePanel
|
Fields inherited from class pipe.modules.classification.Classification |
|
Constructor Summary | |
GSPN()
|
Method Summary | |
private double[] |
calcMeanCycleTimes(double[] embeddedMarkovChain,
double xHat)
|
private jama.Matrix |
calcMeanNumVisits(double[] embeddedMarkovProcess)
This function calculates the mean number of visits at a particular transition, given a particular embedded Markov Process |
private double[] |
calcSojournTime(DataLayer pnmldata,
StateList tangibleStates)
This function determines the sojourn time for each state in a specified set of states. |
private double[] |
getEmbeddedMarkovChainSteadyStateDistribution(jama.Matrix c,
jama.Matrix d,
jama.Matrix e,
jama.Matrix f)
|
private int[] |
getMarking(DataLayer pnmlData)
Get the initial marking of the supplied net |
java.lang.String |
getName()
|
private double |
getRateForSpecificStateChange(DataLayer pnmlData,
int[] marking1,
int[] marking2)
|
private 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. |
private double[] |
getSteadyStateDistribution(double[] meanCycleTimes,
double[] sojournTimes)
|
private boolean[] |
getTangibleTransitionEnabledStatusArray(DataLayer pnmlData,
int[] marking)
|
private boolean |
getTransitionEnabledStatus(DataLayer pnmlData,
int[] marking,
int transition)
Caluculate whether a transition is enabled given a specific marking |
private boolean[] |
getTransitionEnabledStatusArray(DataLayer pnmlData,
int[] marking)
Caluculate which transitions are enabled given a specific marking |
private double[][] |
getTransitionProbabilityMatrix(DataLayer pnmlData,
StateList reachabilitySet)
Constructs a matrix of probabilities of changing from one marking to another. |
private double[] |
getTransitionThroughput(DataLayer pnmldata,
StateList vanishing,
StateList tangible,
jama.Matrix rateForSpecificChange,
double[] steadyStateDistribution)
|
private double |
getTransitionThroughputSPN(DataLayer pnmldata,
StateList list,
double[] steadyStateDistrib,
int transitionNumber)
|
private void |
getVanishingAndTangible(DataLayer pnmlData,
StateList reachabilitySet,
StateList vanishing,
StateList tangible)
This function takes a reachability set and splits it into subsets of tangible and vanishing states |
private double |
getVanishingStateThroughput(DataLayer pnmldata,
StateList list1,
int transitionNumber,
jama.Matrix rateForSpecificState)
|
private boolean |
hasImmediateTransitions(DataLayer pnmldata)
See if the supplied net has any timed transitions. |
private boolean |
hasTimedTransitions(DataLayer pnmldata)
See if the supplied net has any timed transitions. |
private boolean |
isEFCGSPN(DataLayer pnmlData)
Qualitative analysis - see if the supplied GSPN is an EFC-GSPN. |
private boolean |
isTangibleState(DataLayer pnmlData,
int[] marking)
Work out if a specified marking describes a tangible state. |
private void |
multiplyRow(jama.Matrix input,
int row,
double factor)
|
private void |
print(boolean[] transitions)
|
private void |
printMarking(int[] marking)
|
private void |
printMatrix(double[][] input)
|
private void |
printMatrix(int[][] input)
|
private double[][] |
probabilityMatrix(DataLayer pnmldata,
StateList list1,
StateList list2)
|
private double |
probMarkingAToMarkingB(DataLayer pnmlData,
int[] marking1,
int[] marking2)
Calculate the probability of changing from one marking to another Works out the intersection of transitions enabled to fire at a particular marking, transitions that can be reached from a particular marking and the intersection of the two. |
private double[][] |
rateMatrix(DataLayer pnmlData,
StateList list1,
StateList list2)
|
private double[] |
reduction(jama.Matrix input)
This function performs a Gaussian reduction on a given Matrix, returning an array of values representing the solution. |
private java.lang.String |
renderLists(double[] data,
StateList list)
|
private java.lang.String |
renderProbabilities(double[][] probabilities,
StateList list1,
StateList list2)
|
private java.lang.String |
renderStateSpace(DataLayer pnmldata,
StateList data)
|
private java.lang.String |
renderStateSpaceLinked(DataLayer pnmldata,
StateList data)
|
private java.lang.String |
renderThroughput(DataLayer pnmldata,
double[] data)
|
void |
run(DataLayer pnmlData)
|
private void |
subtractRow(jama.Matrix input,
int row1,
int row2)
|
private void |
swapRows(jama.Matrix input,
int row1,
int row2)
|
private boolean |
testEqualConflict(DataLayer pnmlData)
Test for condition Equal Conflict. |
private double |
xHat(double[] piBar,
double[] sojournTimes)
|
Methods inherited from class pipe.modules.classification.Classification |
extendedFreeChoiceNet, extendedSimpleNet, freeChoiceNet, intersectionBetweenSets, markedGraph, simpleNet, stateMachine |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private static final java.lang.String MODULE_NAME
private PetriNetChooserPanel sourceFilePanel
private ResultsHTMLPane results
java.awt.event.ActionListener runAnalysis
Constructor Detail |
public GSPN()
Method Detail |
public void run(DataLayer pnmlData)
run
in interface Module
run
in class Classification
private java.lang.String renderStateSpace(DataLayer pnmldata, StateList data)
private java.lang.String renderStateSpaceLinked(DataLayer pnmldata, StateList data)
private java.lang.String renderThroughput(DataLayer pnmldata, double[] data)
private java.lang.String renderProbabilities(double[][] probabilities, StateList list1, StateList list2)
private java.lang.String renderLists(double[] data, StateList list)
private boolean isEFCGSPN(DataLayer pnmlData)
private StateList getReachabilitySet(DataLayer pnmlData) throws TreeTooBigException
TreeTooBigException
private int[] getMarking(DataLayer pnmlData)
pnmlData
-
private boolean getTransitionEnabledStatus(DataLayer pnmlData, int[] marking, int transition)
private boolean[] getTransitionEnabledStatusArray(DataLayer pnmlData, int[] marking)
private boolean[] getTangibleTransitionEnabledStatusArray(DataLayer pnmlData, int[] marking)
private boolean isTangibleState(DataLayer pnmlData, int[] marking)
private void getVanishingAndTangible(DataLayer pnmlData, StateList reachabilitySet, StateList vanishing, StateList tangible)
private jama.Matrix calcMeanNumVisits(double[] embeddedMarkovProcess)
private double[] calcSojournTime(DataLayer pnmldata, StateList tangibleStates)
private double xHat(double[] piBar, double[] sojournTimes)
private double[] calcMeanCycleTimes(double[] embeddedMarkovChain, double xHat)
private double[] getSteadyStateDistribution(double[] meanCycleTimes, double[] sojournTimes)
private boolean testEqualConflict(DataLayer pnmlData)
private double probMarkingAToMarkingB(DataLayer pnmlData, int[] marking1, int[] marking2)
private double getRateForSpecificStateChange(DataLayer pnmlData, int[] marking1, int[] marking2)
private double[][] rateMatrix(DataLayer pnmlData, StateList list1, StateList list2)
private double getVanishingStateThroughput(DataLayer pnmldata, StateList list1, int transitionNumber, jama.Matrix rateForSpecificState)
private double getTransitionThroughputSPN(DataLayer pnmldata, StateList list, double[] steadyStateDistrib, int transitionNumber)
private double[] getTransitionThroughput(DataLayer pnmldata, StateList vanishing, StateList tangible, jama.Matrix rateForSpecificChange, double[] steadyStateDistribution)
private double[][] getTransitionProbabilityMatrix(DataLayer pnmlData, StateList reachabilitySet)
pnmlData
-
private void print(boolean[] transitions)
public java.lang.String getName()
getName
in interface Module
getName
in class Classification
private double[] getEmbeddedMarkovChainSteadyStateDistribution(jama.Matrix c, jama.Matrix d, jama.Matrix e, jama.Matrix f)
private boolean hasTimedTransitions(DataLayer pnmldata)
private boolean hasImmediateTransitions(DataLayer pnmldata)
private double[] reduction(jama.Matrix input)
private void swapRows(jama.Matrix input, int row1, int row2)
private void multiplyRow(jama.Matrix input, int row, double factor)
private void subtractRow(jama.Matrix input, int row1, int row2)
private double[][] probabilityMatrix(DataLayer pnmldata, StateList list1, StateList list2)
private void printMatrix(double[][] input)
private void printMatrix(int[][] input)
private void printMarking(int[] marking)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |