Issue 12430: Dynamic configuration of components (qos4ccm-rtf) Source: THALES (Mr. Olivier Hachet, olivier.hachet2@fr.thalesgroup.com) Nature: Uncategorized Issue Severity: Summary: Dynamic configuration of components : In the Scope section of QoS4CCM specification, the following is mentionned: "Dynamic configuration and re-configuration is also an essential point of distributed systems, because in order to adapt an application to a specific execution environment, one has to be aware that the QoS of the execution environment evolves during execution. There is a strong need to be able to make on-the-fly adaptation. That is why it is very important to provide an architecture, mechanisms, and monitoring concepts that allow dynamic adaptation of a running application, explicitly by an administrator, but also automatically. The specification addresses this problem domain in the context of the CORBA Component Model (CCM) [CCM]." For example reading/writing component's attributes or installing or uninstalling non-functional properties is necessary. This issue propose to address this topic which is not concretly resolved in the current specification. To achieve this goal, a small evolution is needed. The existing CCM specification allows some application specific means like home user defined operations or 'configurator' setting but such mechanisms don't work without respectively using home finder or dynamic invocations. The necessity to develop applications that can dynamically reconfigure components and get knowledge of component configuration in a generic way, bring us to consider a new configuration mechanism at runtime to facilitate dynamic adaptation of running application. We propose to add configuration ability with access of special 'configurator' implementation using component's home interface. We also propose to improve StandardConfigurator to get component configuration.This will allow to configure easily non-functional properties at run-time. Resolution: If the component is created dynamically, or configured at runtime, the QoS value needs to be configured either via application specific means or by using configurator. Sections are added to support dynamic adaptation of a running application. This implies the modification of the CCM interface StandardConfigurator to be able to retrieve configuration values. HomeConfiguration interface is also modified to be able to retrieve a configurator. Revised Text: · The section 6.1 is modified to support dynamic configuration elements: 6.1 Changes to Adopted OMG Specifications ... · Extension of the context interface to retrieve reference to container services. · Extension of the StandardConfigurator interface to get component configuration. · Extension of the HomeConfiguration interface to retrieve reference to Configurator. ... · The section 7.1 is modified to support dynamic configuration elements: 7.1 Scope of QoS Properties ... If a QoS property is bound to a component or connection instance, its actual scope depends on their lifetime. If a component instance is already declared during the assembly and never deleted until application shutdown, its lifetime - and that of the QoS property as well - is identical with that of the application. In this case, the value of the QoS property may be configured during the deployment and configuration phase. However, if the component is created dynamically or configured at runtime, the QoS value needs to be configured either via application specific means or by using configurator. The latter mechanism is modified by this specification, see section 8.11, "Dynamic adaptation of a running application" for details. ... · The following sections are added to the specification: 8.12 Dynamic adaptation of a running application In a most general way, the QoSEnabler life cycle may need to be managed over the component life cycle. This means that creation, deletion and configuration of QoSEnabler have to be done independently of corresponding component means. Container vendor are free to exploit CCM capacities to add specific operations for QoSEnabler configuration, however configuration at run-time may become constraining : · client may have to manage QoSEnabler owned by components with heterogeneous configuration interface. · client implementation may be generic code and not be aware about specific component definition. · client in an embedded environment may not be allowed to use CORBA dynamic capacities. To help container vendors to implement standard and homogeneous dynamic configuration mechanisms the StandardConfigurator and the HomeConfiguration definition has been extended. 8.12.1 Modification of StandardConfigurator interface module Components { interface StandardConfigurator : Configurator { void set_configuration (in ConfigValues descr); /* QoS4CCM */ ConfigValues get_configuration( in CCMObject comp ) raises (WrongComponentType); }; }; 8.12.1.1 get_configuration This operation returns a sequence of ConfigValue instances containing the configuration of the target component. If the target component is not of the type expected by the configurator, the get_configuration operation shall raise the WrongComponentType exception. 8.12.2 Modification of HomeConfiguration interface module Components { interface HomeConfiguration : CCMHome { void set_configurator ( in Configurator cfg); /* QoS4CCM */ Configurator get_configurator(); void set_configuration_values ( in ConfigValues config); void complete_component_configuration (in boolean b); void disable_home_configuration(); }; }; 8.12.2.1 get_configurator This operation returns a Configurator reference to the standard configurator that manages this home. This one may be able to process particular configuration values and to call specific user interface of component and component's home. Actions taken: May 7, 2008: received issue Discussion: End of Annotations:===== m: olivier.hachet2@fr.thalesgroup.com To: qos4ccm-rtf@omg.org Cc: issues@omg.org Subject: QoS4CCM issue Date: Wed, 7 May 2008 16:51:17 +0200 X-Mailer: Internet Mail Service (5.5.2655.55) Hello RTF members, Please find here a new issue: Dynamic configuration of components : In the Scope section of QoS4CCM specification, the following is mentionned: "Dynamic configuration and re-configuration is also an essential point of distributed systems, because in order to adapt an application to a specific execution environment, one has to be aware that the QoS of the execution environment evolves during execution. There is a strong need to be able to make on-the-fly adaptation. That is why it is very important to provide an architecture, mechanisms, and monitoring concepts that allow dynamic adaptation of a running application, explicitly by an administrator, but also automatically. The specification addresses this problem domain in the context of the CORBA Component Model (CCM) [CCM]." For example reading/writing component's attributes or installing or uninstalling non-functional properties is necessary. This issue propose to address this topic which is not concretly resolved in the current specification. To achieve this goal, a small evolution is needed. The existing CCM specification allows some application specific means like home user defined operations or 'configurator' setting but such mechanisms don't work without respectively using home finder or dynamic invocations. The necessity to develop applications that can dynamically reconfigure components and get knowledge of component configuration in a generic way, bring us to consider a new configuration mechanism at runtime to facilitate dynamic adaptation of running application. We propose to add configuration ability with access of special 'configurator' implementation using component's home interface. We also propose to improve StandardConfigurator to get component configuration.This will allow to configure easily non-functional properties at run-time. best regards, Olivier ---------------------------------------------------------------------------- -- Olivier HACHET THALES Communications DLJ/FR/OPS-F/SAT/SC2 1-5, ave. Carnot / Bat.E - 91883 MASSY Cedex Tel : +33 1 69 75 32 39 Fax : +33 1 69 75 31 79