multiresolution_processor

multiresolution_processor … end_multiresolution_processor

As with other platform components, multiresolution_processor may be used outside of platform or platform_type commands to define new types, or inside those commands to instantiate an object on an instance of a platform or platform_type. When instantiating on a platform, a name is required. Usage is as follows:

  1. Define a new multiresolution_processor type (occurs outside a platform or platform_type command)

multiresolution_processor <derived> WSF_MULTIRESOLUTION_PROCESSOR

   fidelity <real-value>

   [add | edit] model <string-value>
      fidelity_range <real-value> <real-value>
      [default]
      processor [<processor-type>]
         ... processor-specific commands ...
      end_processor
   end_model

   [add | edit] model <string-value>
      ... Any number of models may be specified ...
   end_model

   common
      ... processor-specific commands ...
   end_common
end_multiresolution_processor
  1. Instantiate a multiresolution_processor object on a new platform_type:

platform_type ...
   multiresolution_processor <name> <type>
      ... multiresolution_processor commands ...
   end_multiresolution_processor
end_platform_type
  1. Instantiate a (not previously existing) multiresolution_processor object on a platform instance:

platform ...
   add multiresolution_processor <name> <type>
      ... multiresolution_processor commands ...
   end_multiresolution_processor
end_platform
  1. Modify an existing multiresolution_processor object on a platform instance:

platform ...
   edit multiresolution_processor <name> <type>
        ... multiresolution_processor commands ...
   end_multiresolution_processor
end_platform

Overview

multiresolution_processor defines a container for holding one or more processor objects on a platform and deferring the choice of which processor to use on the platform until run-time. The choice of processor is made using a fidelity parameter associated with the component. Each processor model defined in the container is assigned a fidelity_range over which it is valid, and the matching processor is set on the platform during initialization.

The fidelity_range inputs are used to categorize models into bins that are selected by the fidelity parameter. A typical use would be to set up a multiresolution_processor on a platform_type without specifying the fidelity, deferring that choice to the actual platform definition.

Note

In the future the fidelity choice is intended to be made available at alternate locations in a scenario file, which will improve the utility of this component.

Types

WSF_MULTIRESOLUTION_PROCESSOR

Commands

fidelity <real-value>

Defines the fidelity value of the component, which determines which processor to use at run-time. Must be between 0 and 1 inclusive. This value maps directly to the fidelity_range defined in the model commands. In other words, if two models are defined with the first having fidelity_range 0 to 0.5 and the second having 0.5 to 1, any fidelity between 0 and 0.5 (but exclusive of 0.5) will select the first model.

Default: 1.0

model <string-value> … end_model

Defines or edits a contained processor model with the name given by the string. Implicit adding (or editing if the named model exists) is supported along with explicit adding and editing with the add and edit commands.

Note

At least one model block must be specified.

fidelity_range <real-value> <real-value>

Defines the range of fidelity values over which this model should be used. Must be between 0 and 1 inclusive, in increasing order and must not overlap with another model’s fidelity_range on this component.

Default: 0.0 1.0

default

If specified, this model will be used as the default choice if no fidelity match is made.

processor <processor-type> … end_processor

Defines the processor model’s type and parameters specific to this model instantiation. The processor-type is required when first defining a new model, and must not be specified when editing an existing model.

common … end_common

Defines common parameters to forward to all currently specified processor models. These parameters must be valid for all currently defined processor models.