SimulationProviderIfc

An interface that promises to run simulations on instances of input/output pairs. The keys of the map are evaluation requests for a specific number of replications for specific input variable values. The associated ResponseMap represents the desired responses from the simulation. It should contain the replication averages for each desired response.

Inheritors

Properties

Link copied to clipboard

Use to hold executed simulation runs.

Link copied to clipboard

Indicates if the simulation provider should use cached simulation runs when responding to requests.

Functions

Link copied to clipboard
abstract fun areInputNamesValid(inputNames: Set<String>): Boolean

Indicates if the input names are valid. The input names are valid if they are empty. If they are not empty, then they must be a subset of the input names associated with the model.

Link copied to clipboard
abstract fun areResponseNamesValid(responseNames: Set<String>): Boolean

Indicates if the response names are valid. The response names are valid if they are empty. If they are not empty, then they must be a subset of the response names associated with the model.

Link copied to clipboard
abstract fun isModelValid(modelIdentifier: String): Boolean

Indicates if the model identified by the modelIdentifier is valid. That is, this provider can perform simulation runs on the model.

Link copied to clipboard
open fun isRequestValid(request: RequestData): Boolean

Indicates if the request is valid. The request is valid if

Link copied to clipboard

Executes multiple simulations based on the provided list of request data and maps each request to a corresponding ResponseMap. Each request is processed individually, and the results of the simulations are stored as a key-value pair in the returned map. If the input list is empty, an exception is thrown. This default implementation runs all the requests sequentially based on the order of the supplied list.