Often it makes sense to generate code from one UML Model for different target components with different Willert RXF products associated. An example is a software development for an ARM Cortex M3 environment (e.g. product Strauss, Satie, Bizet or Beethoven) and another environment for testing the model on the Windows Host (product Mozart).
In Version 6 of the RXF products this is no problem at all, but in earlier versions Rhapsody will not easily allow to add a reference to a second RXF product profile. Let's say the Mozart profile is already loaded as reference in the Rhapsody UML model and via "File" menu entry "Add Profile To Model..." I want to add the Strauss profile. Now Rhapsody will complain and display the following dialog:
The warning message is "File Strauss.sbs is a renamed version of Profile Mozart." Available options are: "Replace existing unit" and "Do not load".
This problem is caused by GUIDs used in Rhapsody files, which need to be unique identifiers. Unfortunately our V5 product development environment was set up in a way, that it created product profiles with the same GUIDs for multiple products.
The best way to solve this in V5 products is to add the profile as unit (a modifiable copy within the model) to let Rhapsody change the GUIDs. In the "File" menu select entry "Add To Model..." and make sure to select "As Unit" on the right side:
Now the popping up dialog will allow you another option to be selected: "Load with different name".
As a different name you can e.g. just append "Profile".
Now you can for example select the newly added RXFComponent Stereotype from the new profile to a component. Don't forget to remove the check mark for the other RXFComponent Stereotype of the other profile, as only one RXFComponent stereotype makes sense as a time.