public class BBPhase extends SimpleMarkovProcess<examples.jmarkov.BBPhaseState,examples.jmarkov.BBPhaseEvent>
MarkovProcess.Status
Constructor and Description |
---|
BBPhase(int N,
int M,
ContPhaseVar[] machineTimes,
double[][] vels)
Builds a Bucket Brigade system.
|
Modifier and Type | Method and Description |
---|---|
boolean |
active(examples.jmarkov.BBPhaseState i,
examples.jmarkov.BBPhaseEvent e)
Determines if event e is active when the system is in state i.
|
java.lang.String |
description()
This method should be implemented by the subclass to give word
description of the model.
|
States<examples.jmarkov.BBPhaseState> |
dests(examples.jmarkov.BBPhaseState i,
examples.jmarkov.BBPhaseEvent e)
Determines the destination set of States when events e occurs.
|
java.util.ArrayList<java.lang.Integer> |
getNewMachPhases(int actOpe,
int newMach,
ContPhaseVar[][] phases)
This Method returns the new phase when a worker starts a work
in a new machine
|
java.util.ArrayList<java.lang.Integer> |
getNewPhases(int actOpe,
int curMach,
int curPhase,
ContPhaseVar[][] phases)
This Method finds the new phase for a given worker
|
int[] |
getResetMacs(int[] curMacs)
This method creates a vector with the new machines after a
reset
|
int[] |
getResetPhases(int[] curPhs,
int[] curMacs)
This method creates a vector with the new phases after a reset
|
double |
getResetRate()
Returns the steadystate rate of occurrance of a Reset
resetRate;
|
static void |
main(java.lang.String[] a)
Runs a stupid trial
|
double |
rate(examples.jmarkov.BBPhaseState i,
examples.jmarkov.BBPhaseState j,
examples.jmarkov.BBPhaseEvent e)
These are the SimpleMarkovProcess methods.
|
activeTransitions
addMOP, allToString, canGo, clearMOPs, debug, debug, debug, denseMatrixToString, denseMatrixToString, eventRatesToString, eventsRatesToString, generate, getDebugLevel, getDebugReporter, getEventClass, getEventNames, getEventRate, getEvents, getEventsRates, getFinalRate, getGenerator, getMaxStates, getMOPIndex, getMOPNames, getMOPNames, getMOPsAvg, getMOPsAvg, getMOPsAvg, getMOPsMoment, getMOPsMoment, getMOPsMoment, getMtjGenerator, getMtjRates, getNumStates, getProgress, getRate, getRates, getRates, getStateClass, getStates, getStates, getStatus, getStatusMsg, getSteadyState, getSteadyStateSolver, getTransientSolver, go, goStep, hideGUI, isGenerated, killGUI, label, loadGUI, MOPsToString, MOPsToString, numMOPs, pause, printAll, printAll, printDenseMatrix, printDenseMatrix, printEventsRates, printEventsRates, printMOPs, printMOPs, printMOPs, printStates, printStates, reset, resetResults, setDebugLevel, setDebugReporter, setMaxStates, setMOPs, setSteadyStateSolver, setTransientSolver, showGUI, statesLableMaxWidth, statesToString, toString
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
equals
public BBPhase(int N, int M, ContPhaseVar[] machineTimes, double[][] vels)
N
- Number of workerM
- Number of machinesmachineTimes
- PH distributionsvels
- Vels[i][i] is the relative velocities for workeri
at machine jpublic boolean active(examples.jmarkov.BBPhaseState i, examples.jmarkov.BBPhaseEvent e)
SimpleMarkovProcess
active
in class SimpleMarkovProcess<examples.jmarkov.BBPhaseState,examples.jmarkov.BBPhaseEvent>
i
- The current Statee
- The current Event.public double rate(examples.jmarkov.BBPhaseState i, examples.jmarkov.BBPhaseState j, examples.jmarkov.BBPhaseEvent e)
rate
in class SimpleMarkovProcess<examples.jmarkov.BBPhaseState,examples.jmarkov.BBPhaseEvent>
i
- Current statej
- Destination Statee
- The occuring eventSimpleMarkovProcess.dests(State, Event)
public States<examples.jmarkov.BBPhaseState> dests(examples.jmarkov.BBPhaseState i, examples.jmarkov.BBPhaseEvent e)
SimpleMarkovProcess
dests
in class SimpleMarkovProcess<examples.jmarkov.BBPhaseState,examples.jmarkov.BBPhaseEvent>
i
- current State.e
- The Event that ocurred.public java.util.ArrayList<java.lang.Integer> getNewPhases(int actOpe, int curMach, int curPhase, ContPhaseVar[][] phases)
actOpe
- curMach
- curPhase
- phases
- public java.util.ArrayList<java.lang.Integer> getNewMachPhases(int actOpe, int newMach, ContPhaseVar[][] phases)
actOpe
- newMach
- phases
- public int[] getResetPhases(int[] curPhs, int[] curMacs)
curPhs
- curMacs
- public int[] getResetMacs(int[] curMacs)
curMacs
- public double getResetRate() throws NotUnichainException
NotUnichainException
public java.lang.String description()
MarkovProcess
description
in interface JMarkovElement
description
in class MarkovProcess<examples.jmarkov.BBPhaseState,examples.jmarkov.BBPhaseEvent>
JMarkovElement.label()
public static void main(java.lang.String[] a)
a
-