|Home > Iris APIs > Simulation instantiation and discovery API > Instantiation parameters|
The parameters that are exposed through
simulation_getInstantiationParameterInfo() are called instantiation parameters.
Instantiation parameters are used to initialize the initialization-time and runtime parameters of each instance during instantiation. After the system is instantiated, the instantiation parameter values are exposed through the
resource_*() functions of each instance.
Instantiation parameters are exposed as a flat list of parameters. The full instance path is prepended to the parameter name, to indicate the hierarchy of the not-yet-instantiated system:
This parameter will later on be exposed by instance
There are subtle differences between instantiation parameters and the instance-specific initialization-time and runtime parameters:
Instantiation parameters have a hierarchical name and are exposed through
simulation_getInstantiationParameterInfo(). They can only be set by using
simulation_setInstantiationParameterValues(). At instantiation, there is no functional difference between initialization-time and runtime parameters. The instantiation parameters are the sum of all initialization-time and runtime parameters, but with hierarchical names.
Instantiation parameters are global and their association with a specific,
future, instance is only implied through their hierarchical parameter name.
Instantiation parameters use
metadata, the function
simulation_getInstantiationParameterInfo(), which is similar
resource_getList(), and the function
simulation_setInstantiationParameterValues(), which is similar
The main difference between instantiation parameters and the per-instance initialization-time and runtime parameters is that instantiation parameters are only identified by their hierarchical name string and do not have a resource id (
rscId) or instance id (
Initialization-time parameters can only be set before instantiation and cannot be changed later. Before instantiation, they are exposed globally as instantiation parameters, with a hierarchical parameter name, and after instantiation they are exposed as resources with
parameterInfo.initOnly = True. That is, they are exposed only by the instance they belong to, with a non-hierarchical name.
Runtime parameters can be set before instantiation and can also be changed later. Before instantiation, they are exposed globally as instantiation parameters, with a hierarchical parameter name, and after instantiation they are exposed as resources with
parameterInfo.initOnly = False. That is, they are exposed only by the instance they belong to, with a non-hierarchical name.