What are link attributes?
Links in DOORS have attributes similar to objects or modules. DOORS creates the system link attributes “Created On / By”, “Modified On / By” etc. – in addition suspect link handling in DOORS is dependent on link attributes, namely “Suspicion Cleared Backwards / Forwards”. Similar to object attributes we can also create link attributes based on the requirements management process: we might e.g. want to store the priority of the link or the reason for linking the objects.
Link attributes and link attribute types are created in link modules, but most often edited in the source modules. It is possible to edit to link attributes in the source modules by using the Object Properties / Links dialog. Select a specific link and press the “Details” button to see or edit link attribute values for that link.
Because this editing action needs many clicks, link attributes are not quite often used. It is possible to edit link attributes also in link modules, but it is even more complicated than in source modules. To display link attribute values in a column is more easier than editing if you create traceability columns using the Analysis Wizard – step 3 allows to select which link attributes are displayed in columns.
Link Proposal System
As an example on how to use link attributes I implemented a “Link Proposal System”. The main idea is that as users create links the status of those links are maintained by a link attribute.
E.g. we could have an enumerated link attribute Link Status with values of “Proposed”, “Accepted” and “To be deleted” and set the “Proposed” value to be the default value. Every link created will then have a Link Status of “Proposed”. Thus even though the link exists it is not accepted in this process.
A person reviewing traceability can check the links in a review trace view and set those which are accepted to have “Accepted” Link Status. If a link is not accepted, then it is marked as “To be deleted” – and deleted either manually or with a DXL script.
Standard DOORS usage would use traceability views showing only the links which have been accepted, i.e. links with status of “Proposed” or “To be deleted” are not shown in these views. Of course all the links are visible in DOORS UI and users can browse those, but within this kind of process they are not links which should be used for traceability.
The make the modification of links attributes easier I also wrote a prototype DXL script for modifying single-value enumerated link attributes, such as might be for example used in the Link Proposal System.
The script dialog has two selection lists. The upper shows what outgoing or incoming links the currently selected object has and the lower shows what single-value enumerated link attributes have been created in the link module containing the link and the attribute.
The link selection list shows in addition to the link attribute name also the attribute value. The value can be changed by double-clicking on the selected link attribute name – as this script deals with enumerated attributes, it will cycle through the values for that attribute for each double-click.
The DXL script can be downloaded from http://www.pekkamakinen.fi/dxl/edit_link_attr.dxl