Consider a used project ElectricComponents with 3 sub-used projects: Capacitors, Inductances, and Resistances. Consider another project RadioSet, which uses the used project ElectricComponents. Now, use several model elements from each sub-used project in the project RadioSet. Old problematic behaviorPrevious versions of our modeling tool would create these three direct user-defined usages: RadioSet → Capacitors, RadioSet → Inductances, and RadioSet → Resistances. Effectively, those versions were “freezing” the contents of the used project ElectricComponents. If you tried to refactor the used project ElectricComponents by removing its sub-used projects and re-importing their contents, the project RadioSet would be affected and start complaining about the missing used projects. No earlier version of our modeling tool could rearrange the user-defined usages for fear of losing the user-specified used project composition data. New behavior As of version 17.0.3, a program creates automated used project usages instead of creating user-defined ones. So when the used project ElectricComponents is refactored, it keeps the same model elements but changes its structure. Furthermore, the automated usages in the project RadioSet are automatically rearranged. Now problems could occur only if the rearranged used project does not contain all the same elements it had before the rearrangement. Thus some automated usages may turn into unconfirmed ones. For more information about unconfirmed usages, see Controlling dependency creation between used projects. |
|