Detecting component skew (checking for different configurations of a component)
Component skew occurs when a configuration hierarchy contains different configurations of the same component. The configuration hierarchy can contain multiple contributions from the same configuration, which is not component skew. Configuration leads or administrators in the Global Configuration Management application can help determine whether component skew is intentional and fix it as needed.
About this task
Both global and local configurations can have component skew. A global configuration typically contains local configurations, so component skew in the first likely means component skew in the latter. Because local configurations contain versioned artifacts, if you don't examine and possibly resolve component skew, you might end up with the wrong artifact versions in a configuration hierarchy. When you see a warning message about component skew in the hierarchy, examine the details and run a component skew report as described in the Procedure section.
The Global Configuration Management application resolves component skew by sorting global configurations based on a selection algorithm and chooses the first configuration. The algorithm, which considers depth first and siblings second, determines the order of the configurations. Similarly, other IBM® Engineering Lifecycle Management applications also resolve component skew locally by using Current Configuration menu.
- Users might be prompted to Choose the configuration you want to open when a non-preferred local configuration is clicked in the configuration hierarchy. The choice is between the non-preferred (clicked) configuration and the preferred configuration.
- Users might not see the local configuration that they expect in the Current Configuration menu of domain applications.
- Users might not get the results that they expect in the local configuration (wrong artifact versions are selected in the Engineering Lifecycle Management applications).
For more information, see Unexpected local configuration in Current Configuration menu.
- Component skew occurs unintentionally when a different configuration of the same
component is added to the configuration hierarchy without the knowledge of the existing one.
In the following example, suppose that your team is working on the parking assist camera of a car that uses Camera - Model A - v2.0. The other team that is working on the adaptive cruise control uses a more recent camera version, Camera - Model A - v3.0. Both the teams didn't work together to achieve consistency across the car. Component skew occurs when different configurations of the Camera component exist in the parking assist and adaptive cruise control components of the Car component.
When you click Detect Component Skew, the following component skew report is shown. If the car architects and the procurement teams decide that the component skew is unacceptable, they might insist that both teams use the same version of the camera in their systems. To fix this unintentional component skew, a configuration lead can open the tree view and replace one of the configurations with the other.
- Component skew occurs intentionally when it's necessary to use different configurations of the same component. Continuing with the same example, if the car architects decide that different camera versions are needed to satisfy different requirements for each system, then component skew is acceptable and no action is needed.
The previous examples are simple to illustrate points. Run a component skew report after you build a large, complex hierarchy, or use it as a diagnostic tool if users report that the wrong local configuration is displayed in the Current Configuration menu or wrong artifact versions are selected in Engineering Lifecycle Management applications.
In the report, use the Configuration and Location columns to determine which configurations to replace or remove to fix unintentional component skew.
Local configurations - Order and preferred configurations
In a component skew report, use the Order column to understand which of the different configurations is the preferred, or highest precedence configuration of that component.
When you click the preferred local configuration, links to artifacts across applications resolve, and your configuration context is set as the root global configuration and the clicked local configuration of that configuration tree. When you click the non-preferred local configuration, you are unable to see links to artifacts in other applications, and no global configuration context is set.
- The Camera - Model A - v2.0 Baseline IBM DOORS Next baseline is placed first in the sort order because the Parking Assist Initial Development (parent of Camera - Model A - v2.0 Baseline) is ordered before the Adaptive Cruise Control Initial Development (sibling of Parking Assist Initial Development) in the tree. Therefore, the Camera - Model A - v2.0 Baseline has highest precedence, and is the preferred local configuration. When you click this baseline, it opens in DOORS application and your configuration context is set to the Car global configuration. You can see links from artifacts in that baseline to artifacts in other applications.
- The Camera - Model A - v3.0 Baseline Engineering Requirements Management DOORS Next baseline has lower precedence
because the Adaptive Cruise Control Initial Development (parent of
Camera - Model A - v3.0 Baseline) is ordered after the Parking
Assist Initial Development (sibling of Adaptive Cruise Control Initial
Development) in the tree. Therefore, Camera - Model A - v3.0
Baseline is the non-preferred local configuration. When you click this baseline,
it opens in the DOORS application, but no global configuration context is set, so you cannot view and
create links to artifacts in other applications.
To view and create links to artifacts, you must choose a nearest global configuration as parent, Adaptive Cruise Control Initial Development, or Parking Assist Initial Development, where component skew doesn't exist. You can do so in one of the following ways:
- On the global configuration in the Global Configuration Management application, use Open as Root option from the menu, and then click the local configuration.
- In the DOORS application, manually set the configuration context to the global configuration, and then check whether the expected local configuration appears.
If the order of configurations is not what you expect, discuss the order with a configuration lead or Global Configuration Management administrator.
Component skew in nested configurations
Contributions from IBM Engineering Workflow Management source control management (SCM) and IBM Engineering Systems Design Rhapsody® - Model Manager , might contain nested local configurations from the same application. A Global Configuration Management administrator must configure the Global Configuration Management application to detect component skew across these nested contributions. Otherwise, nested contributions appear in the hierarchy, but component skew across the nested contributions is not detected. For more information, see Detecting deep component skew.
Example
- The Car stream contains component skew due to different streams of the camera component.
- The Camera global streams contain different Engineering Workflow Management snapshots.
In other scenarios, you must decide whether to keep the component skew because it is intentional, or to remove or replace one of these nested local configurations to remove the component skew. For example, you might want to replace the configurations in component skew with more recent streams or baselines.