IBM Support

How to fix unresolved and unloaded references

Technote (FAQ)


Question

How do you correct for unresolved and unloaded references in an IBM Rational Rhapsody model?

Cause

When an element is removed from a model, Rhapsody cannot delete any read-only references to that element.
Upon removal of the original model element, these lingering references appear with a (U) symbol. You see the U symbol in the model browser, on diagrams or in Design Manager. The U symbol indicates an unloaded element or unresolved reference.


Answer

When you remove an element from a model, references to that element might appear on diagrams that are read-only. Read-only means that you cannot remove the element. Now, you have an unresolved or unloaded model element on a diagram . A (U) represents such element.


Having these elements in the model can lead to a crash during a check out (CM) or load (Design Manager) of the containing or parent element. To fix this problem, you need to resolve each (U) element manually. You have two options.

  • Remove the element from the diagram and optionally delete the element from the model.

  • Replace the missing element if you need to keep the element.


For models stored locally, on a network drive or in a Configuration Management (CM) tool

Note: For CM models, all users must check in any checked out Rhapsody project files, before you check out the entire model. You need write access to the entire model before doing the following steps.
  1. Open the model in Rhapsody.

  2. Perform a search: click Edit > Search > Advanced.

  3. Select the Only unresolved/unloaded radio button. Then, click the Find button.
    You see a list of all unresolved and unloaded elements in the model.

  4. Delete the reference to the missing element from the model for each search result or restore the element in question.

    Sometimes you must restore the element first before you delete the element.



To restore the unloaded element: to correct for the unresolved reference.
  • If you have access to the missing element:
    1. Click File > Add to Model.

    2. Browse to the file that corresponds to the missing element. Ensure the As Unit radio button is selected before proceeding, unless the element was an external (REF) unit.

    3. Let Rhapsody replace the existing 'copy' of the (U) element in the model.

  • If you no longer have access to the missing element:
    1. Create a Rhapsody project

    2. Add a new element to that project.. Make sure that the element is of the same type as the missing element, and has the same name.

    3. Right-click on that element in the model browser and select the Create Unit menu option if the option is available.

    4. Save the Rhapsody project.

    5. Return to the Rhapsody project that you attempt to fix,

    6. Click File > Add to Model to add the file that corresponds to the new element that you created in step 2.

    7. Let Rhapsody replace the existing 'copy' of the element in the model.



If you intend to remove the unresolved reference:
    • Double-click on the entry in the search results to observe the (U) element on the diagram.

    • Right-click on the element and click Remove from View to remove it from the diagram.

    • Right-click on the entry in the search results and click Delete from Model.


    You can remove most elements in this way but occasionally you get the following error when you do the deletion in step 3.



    Action is not allowed on unresolved element

    Consider the following situation.

    • A missing element is associated to another missing element.

    • The solution is to replace the missing element with a dummy element of the same name.

    • You delete the element.


    If you no longer have access to the element, follow the steps above for restoring an element. Then, repeat steps 1 - 3.


    Delete the missing elements when you satisfy both of the following conditions.
    • A missing element is associated to another missing element.

    • The solution is to replace the missing element with a dummy element of the same name.

    • Follow the steps above for restoring an element you no longer have access to. Then repeat steps 1 - 3.


For models stored in an actively managed Rhapsody Design Manager project area


Note: In addition to encountering (U) elements through the Rhapsody UI, you can also identify these elements in Design Manager 6.0.1.

  1. Visit he /dm/admin page in your web browser

  2. Open the diagnostics tab.

  3. Click on the "Models Validation Page" link

Design Manager displays a report on the models stored on the server. You see all the (U) elements in that report.

Once you move a model to Design Manager, you have no longer direct access to the project files. This situation does not affect the deletion of unresolved references to 'missing' model elements. The steps above still apply. However, consider the following steps in the following cases.
  • You need to temporarily add a dummy element to enable the deletion of references to that element

  • You need to restore a previously missing element.

  • If you have access to the missing element - Controlled Files and Packages only
    1. Click File > Add to Model.

    2. Click Yes to browse your computer, or No to open a pane in the Rhapsody window that will display applicable model elements on the Design Manager server.

    3. If you clicked Yes, ensure the As Unit radio button is selected before you proceed unless the element being replaced was an external (REF) unit.

    4. Let Rhapsody replace the existing 'copy' of the (U) element in the model.

  • If you no longer have access to the missing element:


    1. Create a Rhapsody project, local, not on Design Manager.


    2. Add a new element to that project.. Make sure that the element is of the same type as the missing element, and has the same name.


    3. Make a note of the GUID for the 'missing' element that you want to restore. You can find the element on the Model Validation Page.


    4. Use the Java API method <IRPModelElement>.setGUID(string) to assign the newly created element a GUID that matches the 'missing' element that you want to restore. For example:


    vActiveRhpPrj.getSelectedElement().setGUID("2cf3cd1c-9f0d-477f-be38-43b0858d387d");



    5. Save the Rhapsody project.


    6. Return to the Rhapsody project that you want to fix.


    7. From the File menu, select Add to Model and click "No" to browse to a local model.


    8. Browse to the file that corresponds to the package you created at step 2 - or - the package that contains the element you created at step 2. Ensure the "As Unit" radio button is selected before proceeding.


    9. Let Rhapsody replace the existing the existing 'copy' of the element in the model.


    10. [OPTIONAL] Move the newly restored model element from the package that was just added and into the package that previously contained the missing (U) element.



Prevention


Rhapsody 7.5 can check, when a user deleted or renamed a model element. You can propagate that change to each occurrence or reference to that element. If Rhapsody cannot make that change, you see a dialog to inform you that one or more files are currently read-only. You must make them writeable, Unlock or check out to fully propagate the change. Ignoring this dialog vastly increases the likelihood of introducing new (U) elements into the model!

Document information

More support for: Rational Rhapsody
General Information

Software version: 7.6, 7.6.0.1, 7.6.1, 7.6.1.1, 7.6.1.2, 7.6.1.3, 7.6.1.4, 7.6.1.5, 8.0, 8.0.1, 8.0.2, 8.0.3, 8.0.4, 8.0.5, 8.0.6, 8.1, 8.1.1, 8.1.2, 8.1.2.1, 8.1.3, 8.1.4, 8.1.5

Operating system(s): Linux, Windows

Reference #: 1393534

Modified date: 19 July 2016


Translate this page: