It's all about the answers!

Ask a question

How to handle "last modified" attribute when importing requirements from same ReqIF file?

Ulf Arne Bister (1.3k413) | asked Mar 13 '18, 4:13 a.m.


underlying use case using DNG 6.0.5 ifix01, version enabled: we will get several ReqIF file versions exported from the same module. Assuming stable requirements IDs we would import a new version to a new DNG stream and diff/compare them.

As a first test I used a single ReqIF file exported from DNG 6.0.5 as import source for
- empty DNG component
- main stream with import1-stream and import2-stream branching off empty initial version

I imported ReqIF file to import1-stream, then a few seconds later to import2-stream. While the "ForeignId" of requirements was respected, when comparing the two streams instead of seeing zero differences (the source for import being identical) I instead saw a difference for each requirement: the last modified attribute.

Two questions:
- How to deal with the Use Case of importing several versions / variants of requirements modules via ReqIF and ensure requirements with the same Id are imported as new versions rather than new artifacts?
- How can you switch off / deliberately ignore certain attributes like "last modified" for a diff/compare to be able to see the relevant changes between two imports of the same source module?

Thanks for any input on this. Please comment if you need clarification / screenshots.
- Arne

Accepted answer

permanent link
George DeCandio (1112) | answered Mar 13 '18, 1:57 p.m.


In order to get ReqIF to not create a new version of the same artifact on import, you must import it into a configuration that already contains the baseline version.  On import, the ReqIF process will look at the version present in the configuration being imported into and if it is the same it will not create a new version of the artifact.... essentially it will skip the import of the resource.  If you import into an empty configuration you will get all new versions of the resource.

Its important to understand that DNG comparison does not compare the contents of the artifacts in a configuration.  It compares the versions of the artifacts in the 2 configurations.  If the 2 configurations contain the exact same version then they will be seen as equal.  If the versions are different you will see a difference... even if the content of the 2 version is the same.

So to make your scenario work, deliver all changes from stream 1 to stream 2 before importing the new ReqIF file into stream 2 (or better yet just branch stream 2 off of stream 1 after you are done importing into stream 1).

Ulf Arne Bister selected this answer as the correct answer

Ulf Arne Bister commented Mar 15 '18, 6:32 p.m.

thanks a lot, very helpful answer. This should allow us to build the right stream strategy for the particular use case at hand (subsequent import of several func spec variants and "merge" into an all-variant func spec). 

Your answer

Register or to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.