Next: Example
Up: Parameter Model
Previous: Parameter Model
Contents
Index
Parameters of component services may have a significant impact on the perceived performance and reliability of a component-based systems. It can be distinguished between
- Input Parameters: which are passed to a component service by its clients (users or other components)
- Output Parameters: return values, which are sent back to clients by a service after finishing its execution
- Internal Parameters: which can be global variables or configuration options of a component
All of these forms of parameters can cause different influences on the QoS properties of a system:
- Resource Usage: Parameters can influence the usage of the resources present in the system executing the component. For example, the time for the execution of a service that allows uploading files to a server depends on the size of the files that are passed as input parameters. In this case, the parameter alters the usage of the storage device. Another example would be a service for sorting items within an array. The duration of executing the sort service would mainly depend on the size of the array passed to it. Thus, the parameter would alter CPU usage.
- Control Flow: SEFFs (see Section 3.2.9) describe how requests to provided services are propagated to other components. The transition probabilities or number of loop iterations in SEFFs can depend on the parameters passed to a service. For example, a component service might provide clients access to a number of databases, thus communicating with several database interfaces as required services. This service would call different required services depending on the input parameter passed to it. Thus, the transition probabilities in the SEFF modelling the alternative to communicate with different databases would directly be linked to the input parameter. Another example could be a component service having a collection parameter, which would call another component's service subsequently for each item in the array. Such a situation would be expressed as a loop in a SEFF, and the number of iterations would directly be linked to the size of the array.
- Internal State: Input parameters can influence the internal state of the component. The component state in turn may influence resource usage or control flow between components. Imagine a component allowing users to log in to a system, which stores user sessions as global variables. The later behaviour of other services of this component in terms of control flow propagation and resource usage could depend on which user is currently logged in. Thus the QoS properties of the component would be related to the internal parameter, which was created when the user logged in to the system. Although the influence of the internal state has been recognised by us, it is so far not modelled in the PCM and remains future work.
Next: Example
Up: Parameter Model
Previous: Parameter Model
Contents
Index
Snowball
2007-03-16