Powered by Smartsupp


Reducing the Baseline Scope to Modules in IBM Engineering DOORS Next Generation


 

Introduction

Baselines in IBM Engineering DOORS Next Generation (DNG) are always created for the whole component.  Hence, baselines cannot be more granular than components. 

It is therefore always an issue for the DNG users to revert back to a certain version of a single (or sometimes more than one) module, without reverting back the whole component to a previously saved baseline. 

 

Due to this reason, some users of DNG prefer to define components as granular as possible so that every baseline created would be very specific. However, even that granularity is not an exact solution to the problem of reverting a single module back to its previous version, unless they define one component per module. Of course that is not a scalable and manageable solution.   

In this article, we would like to address this very specific problem and would like to offer a solution that can help DNG users to be very flexible working with baselines of modules and retrieve any baselined version of a module to any configuration they’d like. 

 

To explain the problem statement further, let’s introduce a case study. 

Case Study - 1 : The Need to Revert one Module to a Previous Baseline

The System Engineering Team is working on a set of stakeholder requirements. They have created a component for those kinds of requirements and there are three documents imported from stakeholders. 

Stakeholder Requirements and Document types

1.)Stakeholder Requirements and Document types

Let’s assume the customer is specifying some hardware constraints, interface specifications and some performance requirements in three different documents. 

 

The team has collected those requirements and is managing them in three different modules.  

 

All these three modules or documents were evaluated and discussed with the customer and while such communication was happening, they got changed. Customer agreed with some change requests and updated their requirements accordingly etc.. And at the end, after all these progress, the component was baselined in such a way that each baseline holds a different version of these documents: 

Different versions of stakeholder requirements

2.) Different versions of stakeholder requirements

The team is now working on the fifth revision of hardware specifications, third revision of the interface descriptions and fourth revision of the system non-functional requirements. 

At that point the customer wanted to change the hardware and wants to revert back to the initial version of the hardware specifications. However, reverting the whole component back to baseline 1 (BL1) will not be any solution cause wilth the hardware specifications, all the other modules will be reverted. 

In such cases we can use a very special feature of DNG, which is “Clone from Component”. 

“Clone From Component” as a Solution to Partially Reverting the Contents of a Component

Let’s consider we are working in a DNG Project Area and the component mentioned in the case study is called: “ACC Demo (Stakeholder Requirements)”. 

In this component, the list of the modules we have is as follows: 

Component with a list of modules

3.) Component with a list of modules

The existing configuration that the team is working on is, 

Example Configuration

4.) Example Configuration

This stream above, has already some baselines as follows:

Stakeholder Requirements Baseline example

5.) Stakeholder Requirements Baseline example

As per the case study now lets assume the team has to continue their work with the latest version of all the modules but only one module is required to be reverted back to the version in June 3, ie, “ACC-DEMO (Stakeholder Requirements) V1 - Release 1 (20240603-1322)” baseline. 

Procedure for Reverting a Single Module to Previous Baseline:

Step 1: Create an empty Component:

First we need to create an empty component. It is better if that component doesn't even have any properties imported from another component or from a template. It should not have any data nor metadata. 

How to create component

6.) How to create component

Step 2: Create a change set on the new component:

Now we have an empty component. We need to have a change set to load the desired version of the module to our empty component. 

  1. Go to the default stream of the component: 
Showcase of Module Revert Interface

7.) Showcase of Module Revert Interface

2. Do not choose anything in the “Component Setup”. 

Just click “Close”. 

Component setup window

8.) Component setup window

3. From the configuration context, create a new change set: 

How to create change set

9.) How to create change set

4. Name the change set. But we will discard it at the end so the name is not important at all. 

Create Change set window

10.) Create Change set window

5. Close any Component Properties pop up screen again and make sure you are working in a change set now: 

Import SR window

11.) Import SR window

Step 3: Load Component Properties from the Desired Baseline

The reason we created an empty component is because we want to reuse this component for all prospecting module rebase activities. The operation that we will use, namely “Clone from a component” is very sensitive to metadata and to be able to clone one artifact from one component to another, the metadata of the target and source components needs to be the same. 

Therefore, in this step, we will equate the component properties (ie, the metadata) of the source and target components.  

  1. While working in the change set, open “Manage Component Properties” 
Manage Component Properties options

12.) Manage Component Properties options

which must be empty:

Artifact types interface showcase

13.) Artifact types interface showcase

2. Click on “Import Component Properties”: 

Import properties button showcase

14.) Import properties button showcase

We are working in the temporary component which was empty, and we select the source component and its baseline that we want the selected module to revert to. 

Select component configuration window showcase

15.) Select component configuration window showcase

The import of the component properties will be very trivial because the target is already empty. So there is nothing that may cause any conflicts. 

3. At the end of the wizard, make sure all the type system is loaded into the change set: 

Import component properties window showcase

3.) Click "Add Widget" button

It is a good practice to keep these properties in the change set so that the main stream will not be affected and once we are done with the relocation of the module, we can discard the change set. 

Step 4: Clone the module from the baseline to the change set in the new component.

After the component properties were aligned between the source and target (ie, between the baselined version as the source and the temporary component as the source) now we clone the desired module from the baselined version to our new component. 

To do so, while working in the change set under the temporary component, right click on any folder and select “Clone from Component”: 

Artifact types window overview

17.) Artifact types window overview

To start cloning from the baselined version of the module to the temporary component, first select the source configuration: 

Showcase of where the clone from component button is

18.) Showcase of where the clone from component button is

Now we need to select which artifacts to clone from the baselined version to the temporary component: 

Clone from component process showcase

19.) Clone from component process showcase

Click “OK” then complete the “Clone from Component” wizard.   

At the end, we will have the desired version of the module, cloned to the “Temporary Component” on a “Change Set” with all its artifacts exactly how they were in the desired baseline. 

Final steps of the process

20.) Final steps of the process

Important Note: You do not have to Deliver the Change Set… 

Step 5: Clone the Desired Version of the Module from Temporary Component back to the Working Stream

After this step we will overwrite the existing version of the module with the version from the selected baseline (from June 3) 

  • Create a change set on the original component and original stream: 
Create changeset button

22.) Create changeset button

  • name it as “Revert of Stakeholder Requirements to Baseline 1” 
Showcase of results
  • Use “Clone from Components” again but make sure you select the folder where the modules resides: 
clone-from-a-component-button

23.) Clone from a component button

  • Select “Project Area”, “Component” as the temporary component, and make sure you select “Change Sets” instead of the Baselines this time as the configuration type as follows: 
Select component configuration window

23.) Select component configuration window

  • Select the module in the selected change set: 
Artifact selection window

25.) Artifact selection window

At the end, all requirements and the module itself will be reverted back to the baselined version. 

Ids and links will be kept. 

Step 6: Close the Change Sets

Finally deliver the change set on the working, original component.  But the change set on the temporary component can be discarded. So that the temporary component remains empty and will be ready to be reused for other similar prospecting activities 

Case Study -2: A whole module or a partial section of a module needs to be reused in another variant stream

This technique can be applied to various cases. One other area of application is to propagate a certain set of requirements from one stream to another. In this case, assume we have documented system requirements for Variant 1 and then created another stream for Variant 2. 

Meanwhile the team is working on the safety concept and is doing safety assessment on Variant 1. They documented functional safety requirement for Variant 1 but these should be reused in Variant 2 as well. 

A deliver operation from Variant 1 to Variant 2 is a possible solution. However if you want to be very specific about what to send from one stream to another, Clone from Component can be used here as well. This situation can be depicted as follows: 

Module Reuse Process

26.) Module Reuse Process

The safety requirements module was documented after the second stream was created. Thus, this document should be reused in the second stream as well. 

In this case, the module can be cloned from Variant 1 to a temporary component and from the temporary component to Variant 2 stream. 

Conclusion

The process described here can be depicted as follows: 

Module Cloning process

27.)Module Cloning process

Cloning from component is a handy feature especially to revert a module to a version from a former baseline, or the propagate requirements or modules from one configuration to another. 

 

But it must be handled very carefully. Because if the cloning happens between two components which are likely to coexist in the same global configuration then there is a very good chance of a conflict which must be resolved and it would be very difficult to do so. 

Thus we always recommend to use this feature only in the context of the same module ie, either clone a former version or clone between two streams of the same component. 

In the case of cloning a module, say from stakeholder requirements component to system requirements component, would be very dangerous in terms of the consistency of the global configuration. 

Softacus Services

We, in Softacus, are experts when it comes to consulting and service delivery of IBM software products and solutions in your business. We help our clients to improve visibility and transparency when licensing and managing commercial software, providing measurable value while increasing efficiency and accountability and we are providing services in different areas (see Softacus Services).
IBM ELM extensions developed by Softacus are free of charge for the customers who ordered IBM ELM licenses via Softacus or for the customers who ordered any of our services. If you are interested in any of our IBM ELM extensions, you found a bug or you have any enhancement request, please let us know at info@softacus.com.

Related and Referenced Topics

Blog Articles:

Basics of Links and Link Types in IBM DOORS Next Generation - learn the basics about the linking and link types in IBM DOORS Next.

Linking Techniques in IBM DOORS Next - article explaining basic concepts and showing multiple ways of creation of links between artifacts. 

Link By Attribute Feature in IBM DOORS Next -  the article explains how to use the "Link by attribute" function to automatically create, update, or delete one or more links between artifacts based on values in the attributes of the artifact. 

Softacus Widgets:

Link Switcher -  widget developed by Softacus, that converts the context of artifacts links in a very short time. 

Module Link Statistics -  extension that provides users with a quick overview of the amount of the links in specific link types in a module.

Link Type Change-  extension developed by Softacus designed to enhance the functionality of DOORS Next Generation by allowing users to manipulate the direction of a link or convert it to another type of link. 

Links Builder- extension that allows the users to create a link between two artifacts in DOORS Next Generation according to the certain rules. 

Link by Foreign Attribute -  this extension allows users to create links between artifacts in the selected module(s), based on the attributes values. 

Show Attributes of Linked Artifacts -  this extension shows the attributes and links of the artifact that is currently selected. 

Image

Softacus AG

Löwenstrasse 20
8001 Zürich
Switzerland
E-Mail: info@softacus.com
Tel.: +41 43 5087081
Fax: +41 43 344 6075 

VAT: CHE-108.817.809 MWST
D-U-N-S® Number 486800618

Image

Softacus GmbH

Westendstrasse 28
60325 Frankfurt am Main
Germany
E-Mail: info@softacus.com
Tel.: +49 69 34876544
Fax: +49 69 5830 35709

VAT: DE301903892
D-U-N-S® Number 313482703

Image

Softacus s.r.o.

Křídlovická 351/47A
603 00 Brno
Czech Republic
E-Mail: info@softacus.com
Tel.: +420 530333482
Fax: +41 43 344 6075

VAT: CZ07286333
D-U-N-S® Number 496165108

Image

Softacus s.r.o.

Tatranské nám. 3
058 01 Poprad
Slovakia
E-Mail: info@softacus.com
Tel: +421 911 083 612
Fax: +41 43 344 6075

VAT: SK2121388148
D-U-N-S® Number  2121388148

Offcanvas

Cookie Policy