-
Notifications
You must be signed in to change notification settings - Fork 0
Performance Analyzers
The current API provides an abstraction for performance analyzers and performance analysis results that is not bound to Palladio and hence, can be reused for other implementations as well. In a future step, the concerned interfaces and classes will be put into a separate project.
There are three important interfaces:
PerformanceAnalyzer: The PerformanceAnalyzer
interface is the entry point for performance analyzers. A performance analyzer is specific to a certain model and can be thought of as "factory" for AnalysisContext
s, which will perform the actual analysis.
AnalysisContext: The AnalysisContext
provides a single analyze()
method that performs the actual analysis. It has been configured by the PerformanceAnalyzer
to analyze a single system with a certain configuration. The analysis returns a PerformanceResult
.
PerformanceResult: A PerformanceResult
is a collection of PerformanceMetrics
attached to elements of the model under analysis. Hence, each result is related to a certain part of the model. The result values are value objects and provide very fine-grained semantics to what the analysis results mean.
With these interfaces it is easy to implement a custom performance analyzer for a certain model.
The PcmLqnsAnalyzer
analyzes a Palladio Component Model (PCM) with the LQNS solver provided by Palladio. The Pcm2LqnsAnalyzer
is capable of running the analysis without an Eclipse environment nor a graphical user interface. The analysis can be configured with the options available in PcmLqnsAnalyzerConfig
:
-
Output path: A folder where the LQNS input and output files are stored. By default, a temporary directory using
java.nio.file.Files.createTempDirectory()
is used. - Usage model: The file name of the usage model. Defaults to "default.usagemodel".
- Allocation model: The file name of the allocation model. Defaults to "default.allocation".