Classical FSM SEFFs only specify the name of a called required service, but do not include the parameter values of this call. They are control flow oriented and neglect the data flow. However, input parameters, which represent the concurrent data flow, can have a significant impact on the resource usage of a called service. Therefore, characterisations of parameter values passed to required services should be included into the RDSEFF by the component developers. They can either specify these characterisations if the component is still being designed. Or, after completing the component implementation, they can derive these characterisations from the source code.
It is possible that input parameters passed to a required service do not receive fixed or constant values within the calling component service. They might in turn depend on the input parameters of the calling service. These input parameters are however unknown to the component developers. Therefore, in such a case, the component developers have to specify a dependency (instead of a constant characterisation) between input parameters of the calling service and input parameter passed to required services.
In the PCM, VariableUsages can be used to specify the needed dependencies between parameters (Figure 3.17), which abstractly characterise the data flow through a component service. These variable usages are aligned to the parameter model described in Section 3.5.3. With them, it is possible to characterise the value, byte size, or type of primitive parameters as well as the number of elements or the structure of collections. The characterisations can be expressed as random variables (for details refer to Section 3.5.3).