Skip to Main Content
Cloud Platform


This is an IBM Automation portal for Cloud Platform products. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,

Post your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.


Status Planned for future release
Created by Guest
Created on Dec 4, 2014

RSA-RTE: Model validator complaints about perfectly correct C++ code

The RSA-RTE Model Validator complains about perfectly legal C++ code using namespaces. There are two bad things about this: The error message is incorrect and it cannot be disabled.

About the ?::? in names.
When working with C++, it is sometimes necessary to namespace an element of an operation name inside a modeled element.
One example is where a class contains a nested class. The nested class is setup to generate an enumeration. So we now have a class with a nested enumeration in the generated code.
Now we want to make the class behave as if it is the enumeration. To this end we overload a number of operators. An overloaded operator is modeled as an operation.
One such overload looks like this: ?operator MyClass::MyNestedEnum?. This is used as the name of the modeled operation (in RoseRT). The namespace is needed because if it is left out, the compiler reports errors. The code generator handles all of this perfectly. The next screenshot shows a real-life example.
In our view, the model validation should not flag something as an error that is perfectly good C++. The toolset does not provide a mechanism for defining operator overloading other than by creating operations. If UML uses ?::? for something else and does not expect it to show up in operation names, then that will not allow us to create models that are error free when running model validation. If memory serves me correctly, this validation rule cannot be switched off, so we have no workaround for this. Our goal is to have models that are error and warning free after running model validation!

So the capabilities of the toolset, C++ and model validation create a sort of catch-22. They cannot achieve harmony at the moment. Something has got to give. C++ is a programming language, not a subset of UML2.

Idea priority High
RFE ID 62908
RFE URL
RFE Product Rational Software Architect Real Time Edition
  • Guest
    May 11, 2017

    This is a duplicate of
    https://www.ibm.com/developerworks/rfe/execute?use_case=viewRfe&CR_ID=62908

  • Guest
    Sep 24, 2015

    Due to processing by IBM, this request was reassigned to have the following updated attributes:
    Brand - WebSphere
    Product family - Application Platform
    Product - Software Architect Real Time Edition

    For recording keeping, the previous attributes were:
    Brand - Rational
    Product family - Design & development
    Product - Software Architect Real Time Edition

  • Guest
    Dec 16, 2014

    Feature is prioritized for a future release