Issues for Mailing list of the Lightweight Fault Tolerance for Distributed Real-Time Systems Finalization Task

To comment on any of these issues, send email to lwft-ftf@omg.org. (Please include the issue number in the Subject: header, thusly: [Issue ###].) To submit a new issue, send email to issues@omg.org.

List of issues (green=resolved, yellow=pending Board vote, red=unresolved)

List options: All ; Open Issues only; or Closed Issues only

Issue 16244: Some normative LwFT IDL files use TAO-specific macros. These need to be removed
Issue 16245: LwFT IDL files do not address CORBA 3.0 compilers with no support for #include directive
Issue 16246: Too many IDL files with no prefix that may conflict with application IDL

Issue 16244: Some normative LwFT IDL files use TAO-specific macros. These need to be removed (lwft-ftf)

Click here for this issue's archive.
Source: THALES (Mr. Hakim Souami, hakim.souami(at)thalesgroup.com)
Nature: Clarification
Severity: Minor
Summary:
BasicTypes.idl, Forwarding.idl and ServerReplicationManagement.idl Lwft IDL files from mars/2009-08-02 (machine readable files) contain TAO-specific macro and paths in the include section such as :

#ifdef __TAO_IDL

#include "tao/PI_Forward.pidl"

#include "tao/PI_Server/ServerRequestInfo.pidl"

#include "tao/PI/ClientRequestInfo.pidl"

#include "tao/PI/PIForwardRequest.pidl"

#endif

 

These should be removed and replaced by includes to standard CORBA 3.1 idl files from http://www.omg.org/spec/CORBA/3.1/20030102/.


Resolution: Remove the __TAO_IDL macro and include PortableGroup.idl and PortableInterceptor.idl from CORBA 3.1 from http://www.omg.org/spec/CORBA/3.1/20030102/.
Revised Text: Use the following in BasicTypes.idl: #ifdef _PRE_3_0_COMPILER_ #include <PortableGroup.idl> #include <PortableInterceptor.idl> #pragma prefix "omg.org" #else import ::PortableGroup; import ::PortableInterceptor; #endif // _PRE_3_0_COMPILER_ Use the following in Forwarding.idl: #ifdef _PRE_3_0_COMPILER_ #include <PortableGroup.idl> #include <PortableInterceptor.idl> #include <orb.idl> #include "ObjectGroupNames.idl" #pragma prefix "omg.org" #else import ::CORBA; import ::PortableGroup; import ::PortableInterceptor; #endif // _PRE_3_0_COMPILER_ Use the following in ServerReplicationManagement.idl: #ifdef _PRE_3_0_COMPILER_ #include "BasicTypes.idl" #pragma prefix "omg.org" #endif // _PRE_3_0_COMPILER_
Actions taken:
May 16, 2011: received issue
October 21, 2011: closed issue

Issue 16245: LwFT IDL files do not address CORBA 3.0 compilers with no support for #include directive (lwft-ftf)

Click
here for this issue's archive.
Source: THALES (Mr. Hakim Souami, hakim.souami(at)thalesgroup.com)
Nature: Clarification
Severity: Minor
Summary:
The Lwft IDL files from mars/2009-08-02 (machine readable files) do not address CORBA 3.0 compilers as when _PRE_3_0_COMPILER_ macro is not defined.

See CORBA 3.1 idl files from http://www.omg.org/spec/CORBA/3.1/20030102/ that use 'import' and 'typeprefix' directives when _PRE_3_0_COMPILER_ is not defined.

 

Following CORBA 3.1 approach in http://www.omg.org/spec/CORBA/3.1/20030102/, the following is to be used:

#ifdef _PRE_3_0_COMPILER_

#include <PortableGroup.idl>

#include <PortableInterceptor.idl>

#include <TimeBase.idl>

#include <orb.idl>

#pragma prefix "omg.org"

#else

import ::CORBA;

import ::PortableGroup;

import ::PortableInterceptor;

import ::TimeBase;

typeprefix LWFT "omg.org"

#endif // _PRE_3_0_COMPILER_


Resolution: See CORBA 3.1 idl files from http://www.omg.org/spec/CORBA/3.1/20030102/ that use 'import' and 'typeprefix' directives when _PRE_3_0_COMPILER_ is not defined.Following CORBA 3.1 approach in http://www.omg.org/spec/CORBA/3.1/20030102/, use include directive and pragma prefix when _PRE_3_0_COMPILER_ macro is defined and import and typeprefix when the macro is not defined
Revised Text: The following is to be used in IDL files: #ifdef _PRE_3_0_COMPILER_#include <PortableGroup.idl>#include <PortableInterceptor.idl>#include <TimeBase.idl>#include <orb.idl>#pragma prefix "omg.org"#elseimport ::CORBA;import ::PortableGroup; import ::PortableInterceptor;import ::TimeBase;typeprefix LWFT "omg.org"#endif // _PRE_3_0_COMPILER_
Actions taken:
May 16, 2011: received issue
October 21, 2011: closed issue

Issue 16246: Too many IDL files with no prefix that may conflict with application IDL (lwft-ftf)

Click
here for this issue's archive.
Source: THALES (Mr. Hakim Souami, hakim.souami(at)thalesgroup.com)
Nature: Clarification
Severity: Minor
Summary:
There are so many Lwft IDL files from mars/2009-08-02 (machine readable files) and these do not contain any prefix to avoid conflicts with application IDLs (BasicTypes.idl for example may easily conflict with an application IDL).

 

We propose to follow approach used in CORBA 3.1 orb.idl file (in http://www.omg.org/spec/CORBA/3.1/20030102/orb.idl) and defined one single LWFT.idl to be included by application. The LWFT.idl is to to include all IDL files from mars/2009-08-02 previously prefixed by 'LWFT_'.

The LWFT_xxx.idl files will contain no include directives and no LWFT module (see attachement).

 

The following LWFT.idl will comply with above recommendations and will comly with post CORBA 3.0 compilers :

---------------------------------------------------------------

// File: LWFT.idl

// From Lightweight Fault Tolerance

#ifndef _LWFT_IDL_

#define _LWFT_IDL_

 

#ifdef _PRE_3_0_COMPILER_

#include <PortableGroup.idl>

#include <PortableInterceptor.idl>

#include <TimeBase.idl>

#include <orb.idl>

#pragma prefix "omg.org"

#else

import ::CORBA;

import ::PortableGroup;

import ::PortableInterceptor;

import ::TimeBase;

typeprefix LWFT "omg.org"

#endif // _PRE_3_0_COMPILER_

 

// This module brings together many files defining the LWFT module.

// It describes interfaces and data types of the Lightweight fault

// tolerance that can be brought into an IDL compilation by "import ::LWFT"

// or in pre-3.0 IDL compilers by the include directive

//   "#include <LWFT.idl>".

module LWFT {

 

// Basic type definitions

#include <LWFT_BasicTypes.idl>

 

// ClientFailoverSemanticsPolicy type and value

#include <LWFT_ClientFailoverSemanticsPolicy.idl>

 

// Contrain FT Current interface

#include <LWFT_Current.idl>

 

// Naming schemes for Object Groups

#include <LWFT_ObjectGroupNames.idl>

 

// ObjectGroupMembershipPolicy type and value

#include <LWFT_ObjectGroupMembershipPolicy.idl>

 

// ObjectGroupNameResolutionPolicy type and value

#include <LWFT_ObjectGroupNameResolutionPolicy.idl>

 

// interfaces for Process-level replication and process groups

#include <LWFT_ServerReplicationManagement.idl>

 

// Locators, ObjectKey decoders for the Forwarding framework

#include <LWFT_Forwarding.idl>

 

};

 

#endif // _LWFT_IDL_

---------------------------------------------------------------


Resolution: Follow approach used in CORBA 3.1 orb.idl file (in http://www.omg.org/spec/CORBA/3.1/20030102/orb.idl) and define one single LWFT.idl to be included by application. The LWFT.idl is to include all IDL files from mars/20090802 previously prefixed by 'LWFT_'.The LWFT_xxx.idl files will contain no include directives and no LWFT module (see attachement).
Revised Text: Rename BasicTypes.idl as LWFT_BasicTypes.idl. Rename Forwarding.idl as LWFT_Forwarding.idl. Rename ObjectGroupNames.idl as LWFT_ObjectGroupNames.idl. Rename ClientFailoverSemanticsPolicy.idl as LWFT_ClientFailoverSemanticsPolicy.idl. Rename ObjectGroupMembershipPolicy.idl as LWFT_ObjectGroupMembershipPolicy.idl. Rename ServerReplicationManagement.idl as LWFT_ServerReplicationManagement.idl. Rename Current.idl as LWFT_Current.idl. Remove all include directives in above files, the LWFT module and add the following LWFT.idl compliant with post CORBA 3.0 compilers : // File: LWFT.idl// From Lightweight Fault Tolerance#ifndef _LWFT_IDL_#define _LWFT_IDL_ #ifdef _PRE_3_0_COMPILER_#include <PortableGroup.idl>#include <PortableInterceptor.idl>#include <TimeBase.idl>#include <orb.idl>#pragma prefix "omg.org"#elseimport ::CORBA;import ::PortableGroup;import ::PortableInterceptor;import ::TimeBase;typeprefix LWFT "omg.org"#endif // _PRE_3_0_COMPILER_ // This module brings together many files defining the LWFT module.// It describes interfaces and data types of the Lightweight fault// tolerance that can be brought into an IDL compilation by "import ::LWFT"// or in pre-3.0 IDL compilers by the include directive// "#include <LWFT.idl>".module LWFT { // Basic type definitions#include <LWFT_BasicTypes.idl> // ClientFailoverSemanticsPolicy type and value#include <LWFT_ClientFailoverSemanticsPolicy.idl> // Contrain FT Current interface #include <LWFT_Current.idl> // Naming schemes for Object Groups#include <LWFT_ObjectGroupNames.idl> // ObjectGroupMembershipPolicy type and value#include <LWFT_ObjectGroupMembershipPolicy.idl> // ObjectGroupNameResolutionPolicy type and value#include <LWFT_ObjectGroupNameResolutionPolicy.idl> // interfaces for Process-level replication and process groups#include <LWFT_ServerReplicationManagement.idl> // Locators, ObjectKey decoders for the Forwarding framework#include <LWFT_Forwarding.idl> }; #endif // _LWFT_IDL_
Actions taken:
May 16, 2011: received issue
October 21, 2011: closed issue