UCM 1.0 FTF Avatar
  1. OMG Issue

UCM — Harmonization with IDL4.1 and XTYPES1.2

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

    To the extent possible it is desirable to harmonize the type annotations and use between IDL4, XTYPES and UCM.
    The general concept is that IDL4 defines the general syntax and common annotations, and other specifications like XTYPES and UCM will "refer" to IDL4 and add annotations as needed for concepts not present in IDL4.

    The latest revision of XTYPES (version 1.2) ptc/17-03-06 already follows this approach.

    So it would be desirable that IDL4 does the same. In the cases where the annotation is not present in IDL4 but is present in XTYPES it is also desirable that UCM "reuses/references" the annotation defined in XTYPES. That way if this annotation is eventually moved to IDL4 we do not have a conflict.

    This means several annotations currently used in UCM should be changed as listed below:

    • @IndexType should be removed. Instead refer to @bit_bound (see IDL41 section 8.3.4.1)
    • @DefaultValue should be removed. Instead refer to @value (see IDL 41 section 8.3.1.5).
    • IDL4 annotations are all lower case. So @Range (used in UCM) should be @range.
    • IDL4 uses snake_case for builtin annotations names. So does XTYPES for the new annotations it introduces. It would be good if UCM follows the same convention instead of using CamelCase. For example @MemoryFootprint should be @memory_footprint and so on.
    • The syntax to define new annotations in IDL4 uses the "@annotation" keyword in lower case. It also does not use the "attribute" keyword anymore. UCM should do the same. So the declaration of MemoryFootprint in 14.4.1.1 should be changed to:
      @annotation memory_footprint {
          unsigned long max; 
      }
      
  • Reported: UCM 1.0b1 — Wed, 29 Mar 2017 17:21 GMT
  • Disposition: Resolved — UCM 1.0
  • Disposition Summary:

    Align annotations with the existing IDL annotations

    use snake_case instead of CamelCase. Reuse IDL standard annotation instead of inventing new, redundant ones.

  • Updated: Mon, 16 Oct 2017 15:14 GMT