Class SolverLQNS
-
- All Implemented Interfaces:
public class SolverLQNS extends Solver
Solver interface to the LQNS external tool for Layered Queueing Network analysis.
SolverLQNS provides integration with the external LQNS (Layered Queueing Network Solver) command-line tool developed at Carleton University. This solver enables high-performance analysis of complex layered queueing networks through native C++ implementations.
Key LQNS integration capabilities:
- External tool integration via command-line interface
- LQN model serialization to LQNS XML format
- High-performance native solver algorithms
- Result parsing and integration back to LINE
- Support for complex software system models
Requirements: This solver requires the 'lqns' and 'lqsim' command-line tools to be installed and available in the system PATH. Tools can be obtained from: http://www.sce.carleton.ca/rads/lqns/
- Since:
1.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public class
SolverLQNS.DetailedLayeredNetworkAvgTable
Enhanced LayeredNetworkAvgTable with detailed metrics support
-
Field Summary
Fields Modifier and Type Field Description public Model
model
public String
name
public SolverOptions
options
public SolverResult
result
public boolean
enableChecks
public Random
random
-
Constructor Summary
Constructors Constructor Description SolverLQNS(LayeredNetwork lqnmodel)
SolverLQNS(LayeredNetwork lqnmodel, SolverOptions options)
-
Method Summary
Modifier and Type Method Description static FeatureSet
getFeatureSet()
Returns the feature set supported by the LQNS solver static boolean
isAvailable()
SolverResult
getAvg()
final LayeredNetworkAvgTable
getAvgTable()
SolverResult
getEnsembleAvg()
LayeredNetworkStruct
getStruct()
List<String>
listValidMethods()
List<String>
listValidMethods(Network model)
SolverResult
parseXMLResults(String filename)
void
runAnalyzer()
Executes the solver algorithm to analyze the model. void
runAnalyzer(SolverOptions options)
boolean
supports(Network model)
Checks if this solver supports the given network model. Array<LayeredNetworkAvgTable>
getRawAvgTables()
Get raw average tables with detailed metrics for nodes and calls. static SolverOptions
defaultOptions()
Returns the default solver options for the LQNS solver. -
Methods inherited from class jline.solvers.Solver
getName, getOptions, getResults, hasResults, isJavaAvailable, isValidOption, listValidOptions, parseOptions, parseOptions, reset, resetRandomGeneratorSeed, runAnalyzerChecks, setChecks, setOptions
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Constructor Detail
-
SolverLQNS
SolverLQNS(LayeredNetwork lqnmodel)
-
SolverLQNS
SolverLQNS(LayeredNetwork lqnmodel, SolverOptions options)
-
-
Method Detail
-
getFeatureSet
static FeatureSet getFeatureSet()
Returns the feature set supported by the LQNS solver
- Returns:
the feature set supported by the LQNS solver
-
isAvailable
static boolean isAvailable()
-
getAvg
SolverResult getAvg()
-
getAvgTable
final LayeredNetworkAvgTable getAvgTable()
-
getEnsembleAvg
SolverResult getEnsembleAvg()
-
getStruct
LayeredNetworkStruct getStruct()
-
listValidMethods
List<String> listValidMethods()
-
listValidMethods
List<String> listValidMethods(Network model)
-
parseXMLResults
SolverResult parseXMLResults(String filename)
-
runAnalyzer
void runAnalyzer()
Executes the solver algorithm to analyze the model. This abstract method must be implemented by concrete solver classes.
-
runAnalyzer
void runAnalyzer(SolverOptions options)
-
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
-
getRawAvgTables
Array<LayeredNetworkAvgTable> getRawAvgTables()
Get raw average tables with detailed metrics for nodes and calls. This method provides more detailed metrics than getAvgTable(), including phase-specific utilization and service times, processor metrics, and call waiting times.
- Returns:
Array containing [NodeAvgTable, CallAvgTable] with detailed metrics
-
defaultOptions
static SolverOptions defaultOptions()
Returns the default solver options for the LQNS solver.
- Returns:
Default solver options with SolverType.LQNS
-
-
-
-