Is this allowed in Global Configurations?
![]() Hi,
Is the same RM component allowed to appear in a Global Congifuration twice, but with different "Streams" or local configurations?
i.e. lets say we have a component called "Generator" and a Global Configuration called "Vessel 1"
If Generator has two streams, Generator Port and Generator Starboard, can both of these streams appear under the same "Vessel 1" global configuration?
Vessel 1
> Generator Port
>> (from "Generator" RM component)
> Generator Starboard
>> (from "Generator" RM component)
|
Accepted answer
![]() As Thomas mentions above, having two or more different configurations of the same component in a GC hierarchy is allowed, but it creates a condition called "component skew". Component skew affects which configuration is used to resolve an artifact version. The ambiguity of component skew is resolved using the order of the configurations in the hierarchy, with the first one (by a depth-first search traversal) being given precedence.
The GC tree will show a warning when component skew is present. Skew is not necessarily wrong, but it may be if done unintentionally. If the skewed components are in different parts of the tree, then setting your configuration context (in DOORS Next or ETM) to something more specific (a node that isn't a common ancestor) is one way to eliminate the ambiguity of skew. The skew resolution rules based on order does ensure you have consistent behavior, but it may not be obvious to a user who isn't aware of the skew. Opening the configuration context menu in the banner of RM will reveal which local configuration (Generate Port or Generator Starboard) was actually selected for the GC.
You may want to consult the following topic:
Glyn Costello selected this answer as the correct answer
Comments Ok, this makes sense and I have tried it in the test area. So basically, if a user was viewing the Motor component's RM artifacts in the context of the "Vessel 1" the local RM config would be selected based on skew resolution rules (because it can't show the artifact content for both Port side and Starboard side motors). Glyn, I'm not sure where the motor component fits in as I don't see it represented in the original hierarchy you shared.
But if Vessel 1 is the context GC, then Generator Port would be the chosen local configuration per skew resolution, because it appears before the other candidate, Generator Starboard. Therefore the RM artifacts you see would be from Generator Port.
You can try this clicking setting the RM configuration context to Vessel 1. Then, expand the configuration context menu and see the local configuration that was chosen (Generator Port).
Also, from the GC hierarchy in GCM, try clicking each of the RM contributions. If you click the non-preferred one, a disambiguation dialog will appear prior to navigating you to RM. If you proceed with the non-preferred selection, RM will be opened in the context of that local configuration only, with no GC. That's because showing the GC in this case would be misleading - any links for the GC would be with respect to the preferred configuration (Generator Port), not Generator Starboard.
![]() FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
I agree with all of Tom's comments, except for the "skew is not necessarily wrong" comment. I believe that using a GC with skew will virtually always result in significant user confusion, and very likely significant errors (for the reason TomK identifies in his answer). I believe the only purpose of skew is to allow you to temporarily be in a skewed state as you transition to a new configuration, but that you should never leave a configuration in a skewed state. If you need to have two "variants" of a component in the same system, I recommend having a separate component for each variant. |