-
Key: CORBA34-29
-
Legacy Issue Number: 5769
-
Status: closed
-
Source: Computational Physics, Inc. ( J. Scott Evans)
-
Summary:
Document formal/02-06-05 on page 1-49 states the following:
"The implementation of a component type's home object may optionally support the
HomeConfiguration interface. The HomeConfiguration interface is derived from
Components::CCMHome. In general, the HomeConfiguration interface is
intended for use by an agent deploying a component implementation into a container,
or an agent deploying an assembly."The first statement does not offer a clear interpretation when considering the language mapping for homes. If the implementation of a component type's home optionally supports HomeConfigurator how is this information defined in IDL? Should the component type's home definition support HomeConfiguration? This would seem to be the proper interpretation but that leads to problems in the language mapping of the defined home. In section 3.3.3.6 on page 3-45
Home Explicit Executor Interface
The home explicit executor callback interface is defined by the following rules:
1. For each home <home name>, a local explicit executor interface with the same
name as the home, but with a prefix of "CCM_" and a postfix of "Explicit" is
defined.2. The explicit executor interface contains all attributes and operations declared by the
home.3. If the home has a base with a name of <base name>, the explicit executor
interface inherits CCM_<base name>Explicit. If the home does not have a base,
the explicit executor interface inherits Components::HomeExecutorBase.4. If the home has supported interfaces, they are inherited by the explicit executor
interface.5. Additional operations are added to the explicit executor interface for factories and
finders, see below.Item 4 would imply that the home explicit executor must include operations defined in both HomeConfigurator and CCMHome since HomeConfigurator extends CCMHome. This is clearly not the intended behavior of the home explicit executor since it specifically excludes any direct inheritance of CCMHome.
Resolution
The inheritance of CCMHome by HomeConfiguration should be removed since it is implied that every home will extend CCMHome and home definitions in IDL would then be able to explicitly support HomeConfiguration without the extra baggage of the CCMHome interface. Furthermore, the language mapping does not properly handle a component home that supports HomeConfiguration (if it extends CCMHome) since the component executor would include all CCMHome operations. The language mapping would work fine if HomeConfiguration did not extend CCMHome.
Replace text in formal/02-06-05 on page 1-49
The implementation of a component type's home object may optionally support the
HomeConfiguration interface. The HomeConfiguration interface is derived from
Components::CCMHome. In general, the HomeConfiguration interface is
intended for use by an agent deploying a component implementation into a container,
or an agent deploying an assembly.with
The implementation of a component type's home object may optionally support the
HomeConfiguration interface. In general, the HomeConfiguration interface is
intended for use by an agent deploying a component implementation into a container,
or an agent deploying an assembly.Replace IDL in formal/02-06-05 on page 1-49
module Components {
{ void set_configurator (in Configurator cfg); void set_configuration_values ( in ConfigValues config); void complete_component_configuration (in boolean b); void disable_home_configuration(); };
interface HomeConfiguration : CCMHome
};
with
module Components {
interface HomeConfiguration { void set_configurator (in Configurator cfg); void set_configuration_values ( in ConfigValues config); void complete_component_configuration (in boolean b); void disable_home_configuration(); };
}; -
Reported: CORBA 3.0.2 — Mon, 2 Dec 2002 05:00 GMT
-
Disposition: Deferred — CORBA 3.4
-
Disposition Summary:
Deferred
This proposal was generated automatically by request of the Task Force Chair Adam Mitz.
-
Updated: Wed, 1 Feb 2023 21:59 GMT