Class AlgorithmPredictorImpl
java.lang.Object
eu.qualimaster.easy.extension.internal.AlgorithmPredictor
eu.qualimaster.easy.extension.internal.AlgorithmPredictorImpl
Implements the algorithm (profile) predictor based on the Monitoring Layer (via synchronous event communication).
- Author:
- Holger Eichelberger
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate eu.qualimaster.events.SynchronousEventStore<eu.qualimaster.monitoring.events.AlgorithmProfilePredictionRequest, eu.qualimaster.monitoring.events.AlgorithmProfilePredictionResponse> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionalgorithmPrediction(String pipeline, String pipelineElement, String algorithm, eu.qualimaster.observables.IObservable observable) Creates a request for predicting the characteristics for a given algorithm in the current target setting.algorithmPrediction(String pipeline, String pipelineElement, String algorithm, eu.qualimaster.observables.IObservable observable, Map<Object, Serializable> targetValues) Creates a request for predicting the characteristics for a given algorithm in a target setting.algorithmPrediction(String pipeline, String pipelineElement, Set<String> algorithms, Set<eu.qualimaster.observables.IObservable> observables, Map<Object, Serializable> targetValues) Creates a mass-request to obtain the predictions for multiple algorithms/observables.algorithmPredictionEx(String pipeline, String pipelineElement, Set<String> algorithms, Set<eu.qualimaster.observables.IObservable> observables) Creates a request to obtain the prediction for multiple algorithms applicable in this in this situation (including varying parameters).parameterPrediction(String pipeline, String pipelineElement, String parameter, Set<eu.qualimaster.observables.IObservable> observables, Map<Object, Serializable> targetValues) Creates a request to obtain the best algorithm in this situation.private eu.qualimaster.monitoring.events.AlgorithmProfilePredictionResponsewaitFor(eu.qualimaster.monitoring.events.AlgorithmProfilePredictionRequest request) Waits for a response to the givenrequest.
-
Field Details
-
store
private eu.qualimaster.events.SynchronousEventStore<eu.qualimaster.monitoring.events.AlgorithmProfilePredictionRequest,eu.qualimaster.monitoring.events.AlgorithmProfilePredictionResponse> store
-
-
Constructor Details
-
AlgorithmPredictorImpl
AlgorithmPredictorImpl()
-
-
Method Details
-
algorithmPrediction
public Double algorithmPrediction(String pipeline, String pipelineElement, String algorithm, eu.qualimaster.observables.IObservable observable) Description copied from class:AlgorithmPredictorCreates a request for predicting the characteristics for a given algorithm in the current target setting.- Overrides:
algorithmPredictionin classAlgorithmPredictor- Parameters:
pipeline- the pipeline to predict forpipelineElement- the pipeline elementalgorithm- the algorithm (may be null for the actual one)observable- the observable to predict for- Returns:
- the predicted value or null if there is no prediction
-
algorithmPrediction
public Double algorithmPrediction(String pipeline, String pipelineElement, String algorithm, eu.qualimaster.observables.IObservable observable, Map<Object, Serializable> targetValues) Description copied from class:AlgorithmPredictorCreates a request for predicting the characteristics for a given algorithm in a target setting.- Overrides:
algorithmPredictionin classAlgorithmPredictor- Parameters:
pipeline- the pipeline to predict forpipelineElement- the pipeline elementalgorithm- the algorithm (may be null for the actual one)observable- the observable to predict fortargetValues- the target values for a modified situation (may be null if just the algorithm may change based on the current situation)- Returns:
- the predicted value or null if there is no prediction
-
algorithmPrediction
public Map<String,Map<eu.qualimaster.observables.IObservable, algorithmPredictionDouble>> (String pipeline, String pipelineElement, Set<String> algorithms, Set<eu.qualimaster.observables.IObservable> observables, Map<Object, Serializable> targetValues) Description copied from class:AlgorithmPredictorCreates a mass-request to obtain the predictions for multiple algorithms/observables.- Overrides:
algorithmPredictionin classAlgorithmPredictor- Parameters:
pipeline- the pipeline to predict forpipelineElement- the pipeline elementalgorithms- the algorithms to take into accountobservables- weighting the weightingtargetValues- the target values for a modified situation (may be null if just the algorithm may change based on the current situation)- Returns:
- the best algorithm or null if there is no prediction
-
parameterPrediction
public Map<String,Map<eu.qualimaster.observables.IObservable, parameterPredictionDouble>> (String pipeline, String pipelineElement, String parameter, Set<eu.qualimaster.observables.IObservable> observables, Map<Object, Serializable> targetValues) Creates a request to obtain the best algorithm in this situation.- Overrides:
parameterPredictionin classAlgorithmPredictor- Parameters:
pipeline- the pipeline to predict forpipelineElement- the pipeline elementparameter- the parameter to predict forobservables- the observablestargetValues- the target values for a modified situation (may be null if just the algorithm may change based on the current situation)- Returns:
- the predictions per algorithm/observables, if not possible individual predictions may be null or the entire result may be null if there is no prediction at all
-
algorithmPredictionEx
public AlgorithmPredictionResult algorithmPredictionEx(String pipeline, String pipelineElement, Set<String> algorithms, Set<eu.qualimaster.observables.IObservable> observables) Creates a request to obtain the prediction for multiple algorithms applicable in this in this situation (including varying parameters).- Overrides:
algorithmPredictionExin classAlgorithmPredictor- Parameters:
pipeline- the pipeline to predict forpipelineElement- the pipeline elementalgorithms- the algorithms to take into accountobservables- the observables- Returns:
- the predictionsper algorithm/observables, if not possible individual predictions may be null or the entire result may be null if there is no prediction at all
-
waitFor
private eu.qualimaster.monitoring.events.AlgorithmProfilePredictionResponse waitFor(eu.qualimaster.monitoring.events.AlgorithmProfilePredictionRequest request) Waits for a response to the givenrequest.- Parameters:
request- the request- Returns:
- the response (may be null if there was none within the predefined timeout)
-