Using the Project Usage Map, you can identify usage problems. Then you can easily select and open projects that need to be fixed.
Resolving cyclic usages
Problem
When a project decomposition is used, the project is split into smaller projects. You can benefit from this decomposed project - you need to load only small part of the project instead of all of it. This reduces complexity and even improves performance. In addition to this, you would not expect and most likely not care to load the remaining parts of the main project each time you open a single part of it. This can happen if you have cyclic usages, i.e., project parts are using the main project. Typically, such usages increase complexity and reduce performance. Also, if the project takes part in a cycle, it cannot be reused as an independent part of another project. Other projects taking part in the cycle will be automatically used as well. Cycles are often a symptom of unintentional usages, created unknowingly by the user.
Figure 676 --
Image Added
Identifying cyclic usages
Solution
The Project Usage Map automatically identifies cycles and highlights them in the Repository View. You can then open a Project Usage Map for the suspected projects participating in a cycle to analyze it more closely and if necessary - break usages that cause cycles.
To resolve the cyclic usages
Info
title
Model Level
Be sure to check and resolve the model level usages between the project and module.
Open the main project of the cycle.
From the the Optionsmenu menu, select select Modules. The The Modulesdialog dialog opens.
Select a module which should be removed, and click the the Lockbutton button.
Click the the RemoveModulebutton button.
Click Click OKwhen when you are done.
Figure 677 -- Removing
Image Added
Removing module to break cyclic usage
Resolving version inconsistencies
Problem
You are using different versions of the same project in your main project.
Figure 678 -- Identifying
Image Added
Identifying version inconsistency
Solution
The Project Usage Map highlights these inconsistencies. You can then open projects with inconsistent usages and fix them by unifying the used project version.
To resolve a version inconsistency
Info
title
Model Levels
Be sure to check and resolve the model level usages between the project and module.
Open a project using the projects of inconsistent version.
From the the Optionsmenu menu, select select Modules. The The Modulesdialog dialog opens.
Select a module which version you want to change, and click the the Lockbutton button.
In the the ModuleVersionarea area, click the ... button. The The EditBranchesdialog dialog opens.
Select the wanted version.
Click Click OKwhen when you are done.
Figure 679 --
Image Added
Changing module version
Resolving branch inconsistencies
Problem
You are using a version from the trunk and branch of the same project in your main project
Figure 680 --
Image Added
Identifying branch inconsistency
Solution
The Project Usage Map highlights these inconsistencies. You can then open projects with inconsistent usages and fix them by unifying the used project branch.
To resolve a branch inconsistency
Info
title
Model Levels
Be sure to check and resolve the model level usages between the project and module.
Open a project using the projects of inconsistent version.
From the the Optionsmenu menu, select select Modules. The The Modulesdialog dialog opens.
Select a module which version you want to change, and click the the Lockbutton button.
In the the ModuleVersionarea area, click the ... button. The The EditBranchesdialog dialog opens.
Select the wanted branch or trunk.
Click Click OKwhen when you are done.
Figure 681 --
Image Added
Changing module branch
Resolving mount point inconsistencies
Problem
You are mounting (mount - the other project usage in a particular package of the main project) the used project in different packages in your main project.
Image Added
Identifying mount point inconsistency
Solution
The Project Usage Map highlights these inconsistencies. You can then open projects with inconsistent usages and fix them by unifying the used project mounted package information.
To resolve a mount point inconsistency
Info
title
Model Level
Be sure to check and resolve the model level usages between the project and module.
Open a project using the projects of inconsistent version.
From the the Optionsmenu menu, select select Modules. The The Modulesdialog dialog opens.
Select a module which version you want to change, and click theLock button Lock button.
In theModule Module Packagestable table, select a wanted module.
In the the Mount Oncell cell, click the ... button. The The Select Packagedialog dialog opens.
Select the wanted package and click click OK.
Click Click OKwhen when you are done.
Image Added
Figure 683 --
Changing mount point
Resolving unconfirmed usages
This type of usages is created automatically.
Image Added
Identifying unconfirmed usages
Solution
Info
title
Model Level
Be sure to check and resolve the model level usages between the project and module.
There are two ways to solve unconfirmed module usage situation - either confirm it or reject it.
If the module usage A => B is good and necessary according to the end-user policy, it can be confirmed. I.e., the user-defined usage is to be created in place of the current unconfirmed automated module usage.
To do that, use the Confirm and use the module into <module_name> solver of the validation result. This solver opens the standard Use Module wizard and pre-selects the required module. When wizard is completed, the necessary user-defined module usage is created.
If the usage A => B is not good according to the end-user policy (for example – leads to module usage cycles or is incorrect because of semantically there should be no dependency between these modules), then it needs to be rejected and removed. To remove the usage, the model-level references, which are causing this automated module usage need to be changed – either removed or redirected to different elements.
Tip
For more information about resolving the unconfirmed usages, see Resolving unconfirmed module usages.
Resolving not used modules problem
Problem
When the number of projects in the repository grows it is common for some of the projects to become outdated or not used anymore. You would prefer removing them BUT you are not sure if they are not used by some other, still-active project.
Image Added
Figure 685 --
Identifying not used modules
Solution
Info
title
Model Level
Be sure to check and resolve the model level usages between the project and module.
The Project Usage Map highlights unused modules. Based on this information, you can move all of the unused modules into the deprecated category or remove them entirely from the repository.