Package org.oristool.models.gspn.chains
Class CTMCTransient<M,S extends CTMCState<M>>
java.lang.Object
org.oristool.models.gspn.chains.CTMCTransient<M,S>
- Type Parameters:
M
- type of logic stateS
- type of CTMC states (including a logic state and an exit rate)
- All Implemented Interfaces:
BiFunction<DTMC<S>,
double[], Pair<Map<M, Integer>, double[][]>>
public abstract class CTMCTransient<M,S extends CTMCState<M>>
extends Object
implements BiFunction<DTMC<S>,double[],Pair<Map<M,Integer>,double[][]>>
Computation of the transient probabilities of a CTMC.
Uniformization is used to compute transient probabilities for each input time point. Poisson probabilities are computed using Fox-Glynn algorithm, while transition probabilities of the uniformized DTMC are computed through successive matrix multiplications.
A sparse matrix is used for the transition matrix of the embedded DTMC.
-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptionRuns this analysis on an input CTMC.static <M,
S extends CTMCState<M>>
CTMCTransient.Builder<M,S> builder()
Creates a builder for analysis configurations (with default values).abstract double
epsilon()
Returns the threshold used to decide whether a probability value should be considered equal to0.0
.abstract double
error()
Returns the allowed error in the computation of Poisson probabilities with Fox-Glynn algorithm (for each time point).abstract AnalysisLogger
logger()
Returns the logger used by this analysis.abstract AnalysisMonitor
monitor()
Returns the monitor used by this analysis.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.function.BiFunction
andThen
-
Method Details
-
error
public abstract double error()Returns the allowed error in the computation of Poisson probabilities with Fox-Glynn algorithm (for each time point).By default, it is equal to
1e-6
.- Returns:
- allowed error in Poisson probabilities
-
epsilon
public abstract double epsilon()Returns the threshold used to decide whether a probability value should be considered equal to0.0
.By default, it is equal to
1e-9
.- Returns:
- the threshold used in comparisons to
0.0
-
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).- Type Parameters:
M
- type of logic stateS
- type of CTMC states (including a logic state and an exit rate)- Returns:
- a builder of
TimedAnalysis
instances.
-
apply
Runs this analysis on an input CTMC.
-