Re-Use-Artefakte können nur dann erfolgreich mit dem ReqIF-Manager importiert werden, wenn die ReqIF(z)-Datei direkt von DNG (eigene Funktion) oder dem ReqiIF-Manager selbst stammt und die Funktion "Partner uses DNG" aktiviert ist.
What are reused artifacts?
Artifacts that are used in more than one module, or those that occur multiple times within the same module, are referred to as reuse artifacts. Modules with reuse artifacts can only be successfully imported with the ReqIF-Manager if the ReqIF(z) file was created directly from DNG (using its own export function) or the ReqIF-Manager itself.
Reuse artifacts that originate from other ReqIF tools (e.g. Reqtify or PREEvision) cannot currently be imported.
Our tip:
Do not use any reuse artifacts at present, as this can cause considerable problems when exchanging ReqIF.
Error messages for reuse artifacts (by version):
We have repeatedly adapted the behavior of the ReqIF-Manager when dealing with re-use artifacts. Depending on the version used, you may receive different error messages:
- Version 4.6 and newer, error in ReqIF check:
- Version 4.7.01 and newer, error combination in the Module Log and DNG Log with re-use artifacts in various modules:
E302: The Spec-Object to be imported with ReqIF-ID "<artifact_identifier>" is already in use. The SPEC-OBJECT already exists in DNG at "<module_link>". It is referenced in multiple other specifications, <module_link>.
Multiplicity violation: SPECIFICATION named <ModuleName> ID <placeholder_ID>, to be created SPEC-OBJECT <artifact_identifier>, <link_artefact_placholder> Existing module <link_module_placholder>
- Version 4.5 and newer, error in module log:
E296: The Spec-Object with the identifier "<spec_object_identifier>" occurs multiple times in the Spec-Hierarchy.
- Version 4.4 and older, error combination in the Log and DNG Log module:
E287: Import for module <placeholder_moduleName> (<placeholder_moduleName>_Hierarchy) (Initial import to folder <placeholder_folderName>)' unsuccessful!
Error importing Artifact into module <placeholder_moduleName>_Hierarchy: Propagated exception; original message [NotFoundException: Propagated exception; original message [NotFoundException: Item URI: <placeholder_folderURI>, ID: <placeholder_ID>.]]: Propagated exception; original message [NotFoundException: Propagated exception; original message [NotFoundException: Item URI: <placeholder_folderURI>, ID: <placeholder_ID>.]]
- Version 4.4, alternative error combination in Module Log and DNG Log:
E280: Errors occurred during the import process. Please refer to the log for detailed information.
E290: The module with the ReqIF identifier "<module_identifier>" could not be found after importing it into DNG.<placeholder_ModuleURI>
Refused to import a module [<module_identifier>], because its structure failed validation.
- Warning W266 all versions, in the log module for OSLC import:
W266: The artifact with identifier "<artifact_identifier>" occurs multiple times.
Procedure:
- If you do not know the ReqIF tool of your exchange partner, ask them directly or determine it using the ReqIF tool ID in the file. You can find an article on determining the ReqIF tool ID here.
- Use the error message(s) to identify the affected reuse artifacts in the ReqIF file.
- Inform your exchange partner about the identified artifacts so that they can be excluded from the exchange.
- The reconfigured module must then be exported again by your exchange partner. You can then try to import it again.
- The following table helps you to correctly select the “Partner uses DNG” checkbox and shows the expected behavior:
ReqIFToolID initial import Update Behavior DNG / ReqIF-Manager Partner uses DNG Partner uses DNG Reuse DNG / ReqIF-Manager without partner uses DNG without partner uses DNG Copies other ReqIF tools without partner uses DNG without partner uses DNG Copies/ Errors
If the initial import has already been carried out without the “Partner uses DNG” option, stick with it! An update would otherwise fail.
- During import without this option, the file is transformed: The reuse artifacts receive their own IDs and become copies. Your exchange partner could get these copies back when exporting again. It is therefore essential that you inform them of this.
ReqIF background:
Re-use artifacts can be displayed in the ReqIF file in accordance with the schema as duplicate entries in the <SPEC HIERARCHY> area. However, the processing of these multiple IDs must be supported by the respective request tool.
Some tools store the re-use information in the <TOOL EXTENSION> area. However, according to the ReqIF implementation guideline, this area does not have to be evaluated by processing tools. It is up to each tool to decide what information is stored there and in what form. This area can therefore be understood as a wildcard.
You can find IBM's official statement on this issue here