Class RegTransient
- All Implemented Interfaces:
Engine<PetriNet,
Marking, TransientSolution<DeterministicEnablingState, Marking>>
-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic RegTransient.Builder
builder()
Creates a builder for analysis configurations (with default values).boolean
Checks if the analysis can be applied to the given model.Runs this analysis on a given Petri net from an initial marking.abstract int
Returns the number of time steps after which the global kernel is evaluated.abstract int
Returns the number of time steps after which the local kernel is evaluated.abstract AnalysisLogger
logger()
Returns the logger used by this analysis.abstract MarkingCondition
Returns the predicate used to select markings for which transient probabilities are computed by this analysis.abstract AnalysisMonitor
monitor()
Returns the monitor used by this analysis.abstract boolean
Checks whether normalization of rows in local and global kernels is enabled.abstract Supplier<EnumerationPolicy>
policy()
Returns the supplier of enumeration policies used by this analysis.abstract Supplier<StopCriterion>
stopOn()
Returns the supplier of local stop criterion instances used by this analysis.abstract BigDecimal
Returns the maximum time bound for the analysis.abstract BigDecimal
timeStep()
Returns the step used to compute transient probabilities from 0 tothis.timeBound()
.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.oristool.models.Engine
canAnalyze
-
Method Details
-
timeBound
Returns the maximum time bound for the analysis.This parameter has no default value; it must be specified by the user.
- Returns:
- time bound of transient probabilities
-
timeStep
Returns the step used to compute transient probabilities from 0 tothis.timeBound()
.This parameter has no default value; it must be specified by the user.
- Returns:
- step of transient probabilities
-
policy
Returns the supplier of enumeration policies used by this analysis.A new policy instance is generated for each run.
By default, a FIFO policy is used.
The builder method
greedyPolicy(timeBound, error)
can be used to set aTruncationPolicy
, a given timeBound, and the allowed error.- Returns:
- the supplier of state class expansion policies
-
localEvaluationPeriod
public abstract int localEvaluationPeriod()Returns the number of time steps after which the local kernel is evaluated.When greater than 1, the most recent sample is repeated until the next evaluation tick.
By default, the local kernel is evaluated at each time step.
- Returns:
- period for the evaluation of the local kernels (in time steps)
-
globalEvaluationPeriod
public abstract int globalEvaluationPeriod()Returns the number of time steps after which the global kernel is evaluated.When greater than 1, the most recent sample is repeated until the next evaluation tick.
By default, the global kernel is evaluated at each time step.
- Returns:
- period for the evaluation of the global kernels (in time steps)
-
normalizeKernels
public abstract boolean normalizeKernels()Checks whether normalization of rows in local and global kernels is enabled.Without normalization, defective kernel rows produce probabilities that sum to less than 1, but they are guaranteed to be lower bounds of the exact values.
With normalization, the output probabilities always sum to 1, but they can include an error increasing over time, and overestimate or underestimate the exact values.
By default, kernel normalization is not enabled.
- Returns:
- true if kernel normalization is enabled
-
stopOn
Returns the supplier of local stop criterion instances used by this analysis. It can be used to avoid the expansion of some state classes, as if their states were absorbing.A stop criterion instance is generated for each run.
By default, an always-false local stop criterion is used.
- Returns:
- the supplier of local stop criterion
-
markingFilter
Returns the predicate used to select markings for which transient probabilities are computed by this analysis.By default, transient probabilities are computed for all markings.
- Returns:
- the filter used for markings
-
monitor
Returns the monitor used by this analysis. It is used to stop the analysis early and to notify messages to the user.By default, an always-false, message-discarding monitor is used.
- Returns:
- the monitor used by this analysis
-
logger
Returns the logger used by this analysis. It is used to print progress information.By default, logs are discarded.
- Returns:
- the logger used by this analysis
-
builder
Creates a builder for analysis configurations (with default values).- Returns:
- a builder of
TimedAnalysis
instances.
-
compute
Runs this analysis on a given Petri net from an initial marking.- Specified by:
compute
in interfaceEngine<PetriNet,
Marking, TransientSolution<DeterministicEnablingState, Marking>> - Parameters:
pn
- the input Petri netm
- the initial marking- Returns:
- transient probabilities from each reachable regeneration
- Throws:
IllegalArgumentException
- if the analysis is not applicable to the input Petri net
-
canAnalyze
Description copied from interface:Engine
Checks if the analysis can be applied to the given model.Problems are collected in a
ValidationMessageCollector
.- Specified by:
canAnalyze
in interfaceEngine<PetriNet,
Marking, TransientSolution<DeterministicEnablingState, Marking>> - Parameters:
pn
- input model (such as a Petri net)c
- collector of error messages- Returns:
- true if the analysis can be applied to the given model
-