Enum ProcessType
- All Implemented Interfaces:
Serializable,Comparable<ProcessType>,java.lang.constant.Constable
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>> -
Enum Constant Summary
Enum ConstantsEnum ConstantDescriptionBMMAPT crosses the BATCH axis with the two above: a block is indexed by segment, mark and batch size, and one epoch releases a batch of jobs that all carry the same mark.The MARKED families. -
Method Summary
Modifier and TypeMethodDescriptionstatic ProcessTypestatic ProcessTypestatic booleanTrue when an EVENT of this process releases (or, as a service process, completes) a BATCH of jobs whose size the process itself carries in its blocks.static booleanTrue when the type carries PER-MARK arrival blocks, i.e.static booleanTrue when sn.proc holds the MARKED SCHEDULE slot, {breakpoints, D0 segments, D1_agg segments, cyclic, per-mark segments}.static booleanTrue when sn.proc holds the STATIONARY marked cell, the M3A layout {D0, D1_agg, D11, ..., D1K}.static booleanTrue when sn.proc carries an exact matrix representation of a process of this type: a genuine (D0,D1) pair, or its matrix-exponential analogue for ME/RAP.static StringtoText(ProcessType type) static ProcessTypeReturns the enum constant of this type with the specified name.static ProcessType[]values()Returns an array containing the constants of this enum type, in the order they are declared.
-
Enum Constant Details
-
EXP
-
ERLANG
-
DISABLED
-
IMMEDIATE
-
HYPEREXP
-
APH
-
COXIAN
-
PH
-
MAP
-
DMAP
-
UNIFORM
-
DET
-
GAMMA
-
PARETO
-
WEIBULL
-
LOGNORMAL
-
MMPP2
-
BMAP
-
MMAP
-
ME
-
RAP
-
REPLAYER
-
TRACE
-
COX2
-
BINOMIAL
-
POISSON
-
GEOMETRIC
-
DUNIFORM
-
BERNOULLI
-
PRIOR
-
DISCRETESAMPLER
-
ZIPF
-
NHPP
-
MAPT
-
PHT
-
MPH
The MARKED families. A mark is a label carried by an event, and at a Source it selects the class of the arriving job (Source.setMarkedArrival, sn.markidx). MPH is the renewal special case of MMAP, obtained from a PH with K marked exits by D0 = S and D1k = s_k*alpha; MMAPT is MMAP with a piecewise-constant matrix schedule, and MPHT is the same lowering applied segment by segment. MPH keeps an id of its own rather than aliasing MMAP, so a solver that cannot honour a marked renewal process refuses it explicitly instead of inheriting MMAP's support. -
MMAPT
-
MPHT
-
BMMAPT
BMMAPT crosses the BATCH axis with the two above: a block is indexed by segment, mark and batch size, and one epoch releases a batch of jobs that all carry the same mark. It reduces to MMAPT when every batch size is 1 and to BMAP when the schedule is flat, and like MPH it keeps an id of its own so a solver that cannot release batches refuses it by name instead of inheriting MMAPT's support.
-
-
Method Details
-
values
Returns an array containing the constants of this enum type, in the order they are declared.- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum type has no constant with the specified nameNullPointerException- if the argument is null
-
fromDistribution
-
isMarkovian
True when sn.proc carries an exact matrix representation of a process of this type: a genuine (D0,D1) pair, or its matrix-exponential analogue for ME/RAP.The distinction is about sn.proc, NOT about what
jline.lang.processes.Distribution#getProcess()returns. getProcess hands back raw distribution PARAMETERS for several non-Markovian families -- Gamma, Weibull, Lognormal, Pareto and Uniform return two scalars (Pareto {alpha,k}, Uniform {min,max}) -- and the network refresh replaces those with map_erlang(mean, n) before storing them in sn.proc, where n = ceil(1/SCV) capped at 100 (n = 20 when SCV < CoarseTol). That fit matches the mean, and matches the SCV only when SCV <= 1: Pareto with SCV 64 gives n = 1, a single exponential of SCV 1. So for these types sn.proc is an approximation, not the law that was requested, and nothing on the cell says so -- the only signal is sn.procid.Solvers that read sn.proc as if it were the exact law must gate on this predicate. It is the procid-level counterpart of Distribution.isMarkovian(), i.e. of the Markovian class hierarchy, so the two must stay in step.
- Parameters:
t- process type- Returns:
- true if sn.proc holds the exact law for this type
-
isMarked
True when the type carries PER-MARK arrival blocks, i.e. an event of this process is labelled and the label is meaningful to the model. At a Source the label selects the class of the arriving job (Source.setMarkedArrival, sn.markidx).- Parameters:
t- process type- Returns:
- true for MMAP, MPH, MMAPT, MPHT and BMMAPT
-
isMarkedStationary
True when sn.proc holds the STATIONARY marked cell, the M3A layout {D0, D1_agg, D11, ..., D1K}.MPH is the renewal special case of MMAP and lowers to exactly that cell (D0 = S, D1k = s_k*alpha), so every consumer that reads the M3A layout serves both and must gate on this predicate rather than on equality with MMAP.
- Parameters:
t- process type- Returns:
- true for MMAP and MPH
-
isMarkedSchedule
True when sn.proc holds the MARKED SCHEDULE slot, {breakpoints, D0 segments, D1_agg segments, cyclic, per-mark segments}.MPHT is stored lowered to MMAPT form segment by segment, so one walk serves both, exactly as one MAPt walk serves MAPt and PHt.
BMMAPT IS INCLUDED, and its slot is that one with the batch blocks appended, so a consumer gated on this predicate reads a BMMAPT as the MMAPT it aggregates down to. That is right for anything time-blind or batch-blind and WRONG for anything that releases jobs: an arrival or service sampler must branch on
isBatch(jline.lang.constant.ProcessType)as well, or it silently delivers one job per epoch.- Parameters:
t- process type- Returns:
- true for MMAPT, MPHT and BMMAPT
-
isBatch
True when an EVENT of this process releases (or, as a service process, completes) a BATCH of jobs whose size the process itself carries in its blocks.This is the batch twin of
isMarkedStationary(jline.lang.constant.ProcessType)andisMarkedSchedule(jline.lang.constant.ProcessType), and the same rule applies: a procid test that should serve every batch family is a MEMBERSHIP test, never equality with BMAP.It is disjoint from
sn.arrivalbatch, which is a SEPARATE batch-size law bolted onto a renewal stream bySource.setArrivalBatch. A process that is isBatch already carries its own sizes, so the two are mutually exclusive by construction.- Parameters:
t- process type- Returns:
- true for BMAP and BMMAPT
-
fromText
-
toText
-