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 updateson them if they matter to you. If you can't find what you are looking for,
Post your ideas
Post an idea.
Get feedback from the IBM team and other customers to refine your idea.
Follow the idea through the IBM Ideas process.
Specific links you will want to bookmark for future use
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.
Do not place IBM confidential, company confidential, or personal information into any field.