IDL 4.2 RTF Avatar
  1. OMG Issue

IDL42 — The description of "simple template types" is incorrect

  • Key: IDL42-10
  • Status: closed  
  • Source: Real-Time Innovations ( Dr. Gerardo Pardo-Castellote, Ph.D.)
  • Summary:

    The IDL specification uses the term "simple template types" to refer to string, sequence, map, and fixed-point types. The reason being because they can be parameterized by the type of the element and/or length.

    The first problem is that there are no "complex template types" anywhere in the spec so this "simple" term is confusing.

    In addition to this, section 7.4.1.4.4.1 (Simple Types) provides the following definition:

    Simple types are types whose definition more or less pre-exists to any IDL specification. They can be split in two categories:
    • Basic types that basically represent numbers and characters and fully pre-exist any IDL specification.
    • Simple template types whose generic definition pre-exists any IDL specification but need to be instantiated with parameters, to become actual types.

    But later on it includes "sequences" as one of the "simple template types" . This may be OK for strings and fixed-point types as they are parameterized with just integer "lengths", or even sequences of primitive types. However this is not correct because soem sequences require prior definition of the underlying element type thus do not "pre-exists to any IDL specification".

    Section 7.4.1.4.4.1.2 (Simple Template Types) provides the following definition:

    Simple template types are template types whose generic definition pre-exists any IDL specification. To be used as an actual type, such a generic definition must be instantiated, i.e., given configuration parameters, whose nature depends on the template type.

    Note that the categories "Simple Types" and "Simple Template Types" were introduced in IDL4. It was not present in IDL 3.5 and earlier.

    These issues should be resolved.

  • Reported: IDL 4.1 — Mon, 14 Aug 2017 04:10 GMT
  • Disposition: Resolved — IDL 4.2
  • Disposition Summary:

    Reorganize section 7.4.1.4.4.1 and provide more accurate definitions

    Section 7.4.1.4.4.1 is not about declaring types but referencing types so it should be renamed to something like "Referencing Types" and the description changed accordingly. It should also be moved to be before 7.4.1.4.4 (Data Types).

    The current subsections 7.4.1.4.4.1.1 (Basic Types ) and 7.4.1.4.4.1.2 (Simple Template Types) should be moved out to the same level.

    The section "Simple Template Types" should e renamed "Template Types" and references to "simple template types" changed to "template types"

    The definition of "template types" should be improved.

  • Updated: Tue, 19 Dec 2017 20:04 GMT