Class SolverSSA
-
- All Implemented Interfaces:
public class SolverSSA extends NetworkSolver
-
-
Field Summary
Fields Modifier and Type Field Description public ExecutorServicethreadPoolpublic intnumThreadspublic EventCacheeventCachepublic CollectorstreamingCollectorpublic Networkmodelpublic NetworkStructsnpublic SolverAvgHandlesavgHandlespublic SolverTranHandlestranHandlespublic Modelmodelpublic Stringnamepublic SolverOptionsoptionspublic SolverResultresultpublic booleanenableCheckspublic Randomrandom
-
Method Summary
Modifier and Type Method Description ExecutorServicegetThreadPool()voidsetThreadPool(ExecutorService threadPool)intgetNumThreads()voidsetNumThreads(int numThreads)EventCachegetEventCache()voidsetEventCache(EventCache eventCache)CollectorgetStreamingCollector()Get the active streaming collector (for use by Solver_ssa.kt). static FeatureSetgetFeatureSet()Returns the feature set supported by the SSA solver NetworkStructgetStruct()List<String>listValidMethods()List<String>listValidMethods(Network model)voidrunAnalyzer()Executes the solver algorithm to analyze the model. voidsetParallelism(int numThreads)booleansupports(Network model)Checks if this solver supports the given network model. SampleNodeStatesample(Node node, Integer numSamples, boolean markActivePassive)Sample node state evolution using SSA simulation SampleNodeStatesample(Node node, int numSamples)Sample node state evolution using SSA simulation SampleNodeStatesample(Node node)Sample node state evolution using SSA simulation using default sample count SampleNodeStatesampleAggr(Node node, Integer numSamples, boolean markActivePassive)Sample aggregated node state evolution using SSA simulation SampleNodeStatesampleAggr(Node node, int numSamples)Sample aggregated node state evolution using SSA simulation SampleNodeStatesampleAggr(Node node)Sample aggregated node state evolution using SSA simulation using default sample count SampleNodeStatestream(Node node, StreamingOptions streamingOptions)Sample node state with real-time streaming to OTLP receiver. SampleNodeStatestream(Node node, Integer numSamples, StreamingOptions streamingOptions)Sample node state with real-time streaming to OTLP receiver. SampleNodeStatestreamAggr(Node node, StreamingOptions streamingOptions)Sample aggregated node state with real-time streaming to OTLP receiver. SampleNodeStatestreamAggr(Node node, Integer numSamples, StreamingOptions streamingOptions)Sample aggregated node state with real-time streaming to OTLP receiver. Ret.SampleResultsampleSys(int numSamples)Sample system-wide state evolution using SSA simulation SampleSysStatesampleSys()Sample system-wide state evolution using SSA simulation using default sample count Ret.SampleResultsampleSysAggr(int numSamples)Sample aggregated system-wide state evolution using SSA simulation SampleSysStatesampleSysAggr()Sample aggregated system-wide state evolution using SSA simulation using default sample count doublegetProb(Node node, Matrix state)Get probability for a specific node state doublegetProb(Node node)Get probability for a specific node state using the node's default state doublegetProbAggr(Node node, Matrix state)Get aggregated probability for a specific node state doublegetProbAggr(Node node)Get aggregated probability for a specific node state using the node's default state Ret.ProbabilityResultgetProbSys()Get system-wide probability for the current system state Ret.ProbabilityResultgetProbSysAggr()Get aggregated system-wide probability for the current system state static SolverOptionsdefaultOptions()Returns the default solver options for the SSA solver. -
Methods inherited from class jline.solvers.NetworkSolver
aCT, aCT, aCT, aCT, aCT, aCT, aNCT, aNCT, aNCT, aNCT, aNCT, aNCT, aNT, aNT, aNT, aNT, aNT, aNT, aST, aST, aST, aT, aT, aT, aT, aT, aT, avg, avg, avg, avgArvR, avgArvRChain, avgArvRHandles, avgChain, avgChainT, avgChainT, avgChainT, avgChainT, avgChainT, avgChainT, avgChainTable, avgChainTable, avgChainTable, avgChainTable, avgChainTable, avgChainTable, avgHandles, avgNode, avgNodeArvRChain, avgNodeChain, avgNodeChainT, avgNodeChainT, avgNodeChainT, avgNodeChainT, avgNodeChainT, avgNodeChainT, avgNodeChainTable, avgNodeChainTable, avgNodeChainTable, avgNodeChainTable, avgNodeChainTable, avgNodeChainTable, avgNodeQLenChain, avgNodeResidTChain, avgNodeRespTChain, avgNodeT, avgNodeT, avgNodeT, avgNodeT, avgNodeT, avgNodeT, avgNodeTable, avgNodeTable, avgNodeTable, avgNodeTable, avgNodeTable, avgNodeTable, avgNodeTputChain, avgNodeUtilChain, avgQLen, avgQLenChain, avgQLenHandles, avgResidT, avgResidTChain, avgResidTHandles, avgRespT, avgRespTChain, avgRespTHandles, avgSys, avgSysRespT, avgSysT, avgSysT, avgSysT, avgSysTable, avgSysTable, avgSysTable, avgSysTput, avgT, avgT, avgT, avgT, avgT, avgT, avgTable, avgTable, avgTable, avgTable, avgTable, avgTable, avgTput, avgTputChain, avgTputHandles, avgUtil, avgUtilChain, avgUtilHandles, avgWaitT, cdfPassT, cdfPassT, cdfRespT, cdfRespT, chainAvgT, chainAvgT, chainAvgT, chainAvgT, chainAvgT, chainAvgT, getAllSolvers, getAvg, getAvg, getAvg, getAvgArvR, getAvgArvRChain, getAvgArvRHandles, getAvgChain, getAvgChainTable, getAvgChainTable, getAvgChainTable, getAvgChainTable, getAvgChainTable, getAvgChainTable, getAvgHandles, getAvgNode, getAvgNodeArvRChain, getAvgNodeChain, getAvgNodeChainTable, getAvgNodeChainTable, getAvgNodeChainTable, getAvgNodeChainTable, getAvgNodeChainTable, getAvgNodeChainTable, getAvgNodeQLenChain, getAvgNodeResidTChain, getAvgNodeRespTChain, getAvgNodeTable, getAvgNodeTable, getAvgNodeTable, getAvgNodeTable, getAvgNodeTable, getAvgNodeTable, getAvgNodeTputChain, getAvgNodeUtilChain, getAvgQLen, getAvgQLenChain, getAvgQLenHandles, getAvgResidT, getAvgResidTChain, getAvgResidTHandles, getAvgRespT, getAvgRespTChain, getAvgRespTHandles, getAvgSys, getAvgSys, getAvgSys, getAvgSysRespT, getAvgSysTable, getAvgSysTable, getAvgSysTable, getAvgSysTput, getAvgT, getAvgT, getAvgT, getAvgT, getAvgT, getAvgT, getAvgTable, getAvgTable, getAvgTable, getAvgTable, getAvgTable, getAvgTable, getAvgTput, getAvgTputChain, getAvgTputHandles, getAvgUtil, getAvgUtilChain, getAvgUtilHandles, getAvgWaitT, getCdfPassT, getCdfPassT, getCdfRespT, getCdfRespT, getChainAvgT, getChainAvgT, getChainAvgT, getChainAvgT, getChainAvgT, getChainAvgT, getDeadlineTable, getModel, getNodeAvgT, getNodeAvgT, getNodeAvgT, getNodeAvgT, getNodeAvgT, getNodeAvgT, getNodeChainAvgT, getNodeChainAvgT, getNodeChainAvgT, getNodeChainAvgT, getNodeChainAvgT, getNodeChainAvgT, getProb, getProb, getProbAggr, getProbAggr, getProbMarg, getProbMarg, getProbNormConstAggr, getSjrnT, getSjrnT, getStageT, getStageT, getStageTable, getStageTable, getSysAvgT, getSysAvgT, getSysAvgT, getTranAvg, getTranCdfPassT, getTranCdfPassT, getTranCdfRespT, getTranCdfRespT, getTranHandles, hasAvgResults, hasDistribResults, hasTranResults, initHandles, model, nodeAvgT, nodeAvgT, nodeAvgT, nodeAvgT, nodeAvgT, nodeAvgT, nodeChainAvgT, nodeChainAvgT, nodeChainAvgT, nodeChainAvgT, nodeChainAvgT, nodeChainAvgT, print, prob, prob, probAggr, probAggr, probMarg, probMarg, probNormConstAggr, probSys, probSysAggr, runAnalyzerChecks, sample, sampleAggr, setAvgHandles, setAvgResults, setDistribResults, setLang, setModel, setTranAvgResults, setTranHandles, setTranProb, sjrnT, sjrnT, stageT, stageTable, sysAvgT, sysAvgT, sysAvgT, tranAvg, tranCdfPassT, tranCdfPassT, tranCdfRespT, tranCdfRespT, tranHandles -
Methods inherited from class jline.solvers.Solver
getName, getOptions, getResults, hasResults, isJavaAvailable, isValidOption, listValidOptions, parseOptions, parseOptions, reset, resetRandomGeneratorSeed, setChecks, setOptions -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
getThreadPool
ExecutorService getThreadPool()
-
setThreadPool
void setThreadPool(ExecutorService threadPool)
-
getNumThreads
int getNumThreads()
-
setNumThreads
void setNumThreads(int numThreads)
-
getEventCache
EventCache getEventCache()
-
setEventCache
void setEventCache(EventCache eventCache)
-
getStreamingCollector
Collector getStreamingCollector()
Get the active streaming collector (for use by Solver_ssa.kt). Returns null if streaming is not active.
- Returns:
The active Collector, or null
-
getFeatureSet
static FeatureSet getFeatureSet()
Returns the feature set supported by the SSA solver
- Returns:
- the feature set supported by the SSA solver
-
getStruct
NetworkStruct getStruct()
-
listValidMethods
List<String> listValidMethods()
-
listValidMethods
List<String> listValidMethods(Network model)
-
runAnalyzer
void runAnalyzer()
Executes the solver algorithm to analyze the model. This abstract method must be implemented by concrete solver classes.
-
setParallelism
void setParallelism(int numThreads)
-
supports
boolean supports(Network model)
Checks if this solver supports the given network model. Default implementation returns true; subclasses should override to provide specific feature validation.
- Parameters:
model- the network model to check- Returns:
true if the model is supported, false otherwise
-
sample
SampleNodeState sample(Node node, Integer numSamples, boolean markActivePassive)
Sample node state evolution using SSA simulation
- Parameters:
node- The node to sample fromnumSamples- Number of samples to generate (overrides solver options if provided)markActivePassive- Whether to mark events as active/passive- Returns:
SampleNodeState containing the sampling results
-
sample
SampleNodeState sample(Node node, int numSamples)
Sample node state evolution using SSA simulation
- Parameters:
node- The node to sample fromnumSamples- Number of samples to generate- Returns:
SampleNodeState containing the sampling results
-
sample
SampleNodeState sample(Node node)
Sample node state evolution using SSA simulation using default sample count
- Parameters:
node- The node to sample from- Returns:
SampleNodeState containing the sampling results
-
sampleAggr
SampleNodeState sampleAggr(Node node, Integer numSamples, boolean markActivePassive)
Sample aggregated node state evolution using SSA simulation
- Parameters:
node- The node to sample fromnumSamples- Number of samples to generate (overrides solver options if provided)markActivePassive- Whether to mark events as active/passive- Returns:
SampleNodeState containing the aggregated sampling results
-
sampleAggr
SampleNodeState sampleAggr(Node node, int numSamples)
Sample aggregated node state evolution using SSA simulation
- Parameters:
node- The node to sample fromnumSamples- Number of samples to generate- Returns:
SampleNodeState containing the aggregated sampling results
-
sampleAggr
SampleNodeState sampleAggr(Node node)
Sample aggregated node state evolution using SSA simulation using default sample count
- Parameters:
node- The node to sample from- Returns:
SampleNodeState containing the aggregated sampling results
-
stream
SampleNodeState stream(Node node, StreamingOptions streamingOptions)
Sample node state with real-time streaming to OTLP receiver. Streams phase-detailed state information during simulation.
- Parameters:
node- The node to sample fromstreamingOptions- Configuration for streaming (endpoint, mode, frequency)- Returns:
SampleNodeState containing the sampling results
-
stream
SampleNodeState stream(Node node, Integer numSamples, StreamingOptions streamingOptions)
Sample node state with real-time streaming to OTLP receiver. Streams phase-detailed state information during simulation.
- Parameters:
node- The node to sample fromnumSamples- Number of samples to generatestreamingOptions- Configuration for streaming (endpoint, mode, frequency)- Returns:
SampleNodeState containing the sampling results
-
streamAggr
SampleNodeState streamAggr(Node node, StreamingOptions streamingOptions)
Sample aggregated node state with real-time streaming to OTLP receiver. Streams state information aggregated by job class during simulation.
- Parameters:
node- The node to sample fromstreamingOptions- Configuration for streaming (endpoint, mode, frequency)- Returns:
SampleNodeState containing the aggregated sampling results
-
streamAggr
SampleNodeState streamAggr(Node node, Integer numSamples, StreamingOptions streamingOptions)
Sample aggregated node state with real-time streaming to OTLP receiver. Streams state information aggregated by job class during simulation.
- Parameters:
node- The node to sample fromnumSamples- Number of samples to generatestreamingOptions- Configuration for streaming (endpoint, mode, frequency)- Returns:
SampleNodeState containing the aggregated sampling results
-
sampleSys
Ret.SampleResult sampleSys(int numSamples)
Sample system-wide state evolution using SSA simulation
- Parameters:
numSamples- Number of samples to generate- Returns:
SampleSysState containing the system-wide sampling results
-
sampleSys
SampleSysState sampleSys()
Sample system-wide state evolution using SSA simulation using default sample count
- Returns:
SampleSysState containing the system-wide sampling results
-
sampleSysAggr
Ret.SampleResult sampleSysAggr(int numSamples)
Sample aggregated system-wide state evolution using SSA simulation
- Parameters:
numSamples- Number of samples to generate- Returns:
SampleSysState containing the aggregated system-wide sampling results
-
sampleSysAggr
SampleSysState sampleSysAggr()
Sample aggregated system-wide state evolution using SSA simulation using default sample count
- Returns:
SampleSysState containing the aggregated system-wide sampling results
-
getProb
double getProb(Node node, Matrix state)
Get probability for a specific node state
- Parameters:
node- The node to get probability forstate- The state vector (optional - uses node's default state if null)- Returns:
Probability of being in the specified state
-
getProb
double getProb(Node node)
Get probability for a specific node state using the node's default state
- Parameters:
node- The node to get probability for- Returns:
Probability of being in the node's default state
-
getProbAggr
double getProbAggr(Node node, Matrix state)
Get aggregated probability for a specific node state
- Parameters:
node- The node to get probability forstate- The state vector (optional - uses node's default state if null)- Returns:
Aggregated probability of being in the specified state
-
getProbAggr
double getProbAggr(Node node)
Get aggregated probability for a specific node state using the node's default state
- Parameters:
node- The node to get probability for- Returns:
Aggregated probability of being in the node's default state
-
getProbSys
Ret.ProbabilityResult getProbSys()
Get system-wide probability for the current system state
- Returns:
Probability of being in the system state
-
getProbSysAggr
Ret.ProbabilityResult getProbSysAggr()
Get aggregated system-wide probability for the current system state
- Returns:
Aggregated probability of being in the system state
-
defaultOptions
static SolverOptions defaultOptions()
Returns the default solver options for the SSA solver.
- Returns:
Default solver options with SolverType.SSA
-
-
-
-