jmarkov

## Class SimpleMarkovProcess<S extends State,E extends Event>

- java.lang.Object
- - jmarkov.MarkovProcess<S,E>
  - - jmarkov.SimpleMarkovProcess<S,E>

- Type Parameters:
    `S` - States Class.
    `E` - Events Class.
  All Implemented Interfaces:
    JMarkovElement
  Direct Known Subclasses:
    AccessControl2Queues, BBPhase, BucketBrigades, BucketBuffers, DriveThru, GeomProcess, Jackson, Kanban, PhaseSystem, PickBlockNarrow, PickBlockNarrowCont, PickBlockNarrowSlow, PickBlockWide, PickBlockWideContKPickers_V3, PickBlockWideSlow, QueueMM1N, QueueMM2dN, QueueMMKdN, Web

      public abstract class SimpleMarkovProcess<S extends State,E extends Event>
      extends MarkovProcess<S,E>

  Author:
    German Riano. Universidad de los Andes. (C) 2006

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class jmarkov.MarkovProcess

      `MarkovProcess.Status`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SimpleMarkovProcess()`
    `SimpleMarkovProcess(S i0, EventsSet<E> eSet)`
    `SimpleMarkovProcess(S i0, EventsSet<E> eSet, java.lang.String name)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract boolean` | `active(S i, E e)` Determines if event e is active when the system is in state i.
    `Transitions<S>` | `activeTransitions(S i, E e)` This method calls active, dests and rate to create the set of transitions.
    `abstract States<S>` | `dests(S i, E e)` Determines the destination set of States when events e occurs.
    `abstract double` | `rate(S i, S j, E e)` Returns the rate to go from State i to j when Event e occurs.

    - ### Methods inherited from class jmarkov.MarkovProcess

      `addMOP, allToString, canGo, clearMOPs, debug, debug, debug, denseMatrixToString, denseMatrixToString, description, 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`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface jmarkov.basic.JMarkovElement

      `equals`

- - ### Constructor Detail

    - #### SimpleMarkovProcess

          public SimpleMarkovProcess(S i0,
                             EventsSet<E> eSet,
                             java.lang.String name)

      Parameters:
        `i0` -
        `eSet` -
        `name` -

    - #### SimpleMarkovProcess

          public SimpleMarkovProcess(S i0,
                             EventsSet<E> eSet)

      Parameters:
        `i0` -
        `eSet` -

    - #### SimpleMarkovProcess

          public SimpleMarkovProcess()

  - ### Method Detail

    - #### active

          public abstract boolean active(S i,
                       E e)

      Determines if event e is active when the system is in state i. It has to be implemented by a subclass.
      Parameters:
        `i` - The current State
        `e` - The current Event.
      Returns:
        True if the Event is Active.

    - #### dests

          public abstract States<S> dests(S i,
                        E e)

      Determines the destination set of States when events e occurs. It has to be implemented by the subclass.
      Parameters:
        `i` - current State.
        `e` - The Event that ocurred.
      Returns:
        The destination States

    - #### rate

          public abstract double rate(S i,
                    S j,
                    E e)

      Returns the rate to go from State i to j when Event e occurs. This is called only if Event `e` is indeed active and j is a valid destination.
      Parameters:
        `i` - Current state
        `j` - Destination State
        `e` - The occuring event
      Returns:
        The rate at which the system goes from i to j when e occurs.
      See Also:
        `dests(State, Event)`

    - #### activeTransitions

          public final Transitions<S> activeTransitions(S i,
                                         E e)

      This method calls active, dests and rate to create the set of transitions. The user cannot override this method and would rarely call it.
      Specified by:
        `activeTransitions` in class `MarkovProcess<S extends State,E extends Event>`
      Parameters:
        `i` - The current State.
        `e` - The ocurring event.
      Returns:
        The transitions that occur at this state when (and if) this events occurs.
      See Also:
        `MarkovProcess.activeTransitions(State, Event)`