YT provides you different kinds of validations. They can be accessed by navigating to Traceability → Validation.
YAKINDU Traceability offers three kinds of validations:
The results of a validation are displayed in a dialog:
Encountered issues are displayed in YT Issues.
Links are created between artifacts. However, the artifacts these links refer to might be changed after the links were created. These artifact changes might affect links. The link itself can be changed, too, e.g., by modifying its attributes. The suspicious link validation identifies these changes.
A link is called suspicious if one or both linked artifacts have been changed in a significant way. YT uses a core model that includes all trace data. To maintain a valid model, YT checks if there are no violations regarding model consistency. As artifacts or links are changed, YT checks if these changes do not result in conflicts, e.g., the name and type of an artifact or link must be set and resolved. Otherwise a precise mapping is not possible.
Many, but not all, artifacts have a version . If that version changes, all links referring to that artifact version become suspicious.
However, it is up to each particular artifact type whether and how it supports the notion of a version. A few examples:
Anyway, it is always the link’s responsibility whether and how to take any version information into account, see below.
In order to find artifact changes resulting in suspicious links, the validator compares
If these pieces of version information are not equal the link becomes suspicious.
While analyzing suspicious links, three different kinds of suspiciousness are checked:
When suspicious link warnings are reported in the YT Issues view, it is possible to get detailed information about a particular link by double-clicking on its corresponding line in the view. A dialog showing the link details opens. For each changed attribute of the link and of any changed artifact A or B, the dialog displays the previous and the current value. If the changed text for an attribute is too long or consists of several lines, you can click on the Show details hypertext link to open a full-screen comparison dialog. Clicking on the Quick fix button opens a dialog showing the available options to fix the issue.
There can be several links of the same link type between the same artifacts. We call these links duplicate links. YT warns users on creation of duplicate links, but generally allows them. Other duplicate links can be derived by the tool-specific adapters. Since duplicate links are often undesired, YT offers a validation to check for their existence. Duplicate links that are stored in different locations, have different attribute values, or different versions of their attributes are called similar links.
Changes to the configuration influence the whole setup. Thus, changing the configuration my lead to type mismatches or wrong usage of adapters. The substitution of a data access could result in a type mismatch, e.g., a C file can not be accessed via an Excel adapter.
It is possible to define custom validations which can be triggered by
Traceability → Validation → Validation Queries.
The results of validation queries are shown as issues (warning, error or info) in the YT Issues view and as decorations of the artifacts. There are quick fixes to navigate to the artifact or the query.
Validation queries are mostly Queries which are described in The YT query language chapter with some special adjustments:
validation query … collect(… as Artifact, … as ErrorMessage)
Each validation query is identified by the keyword validation and has at least one column Artifact with a reference to the artifact and one column ErrorMessage with the issue text. A third column Severity for values in “Error”, “Warning” or “Info” is optional.
Validation queries can use other queries to calculate the desired result and can be executed like other queries also. in this example we calculate all system requirements which are not refinements of stakeholder requirements. The main purpose of the validation query is the definition of the artifacts which are an issue and reducing the default severity of error to warning.
// Complex calculation of business specific definitions query "linked System requirements" source (allTraceLinks('Stakeholder requirements --> System requirements')).collect (ArtifactB as Artifact) query "all System requirements" source (allArtifacts('System requirements')).collect (it as Artifact) // Special validation query to produce warnings validation query "not required word" source (reduceBy(q('all System requirements'),q('linked System requirements'))) .collect ( column("Artifact") as Artifact, "System requirements should be refinements" as ErrorMessage, "Warning" as Severity)
The YT Issues view shows all kind of issues (infos, warnings and errors) related to the current traceability data. Issues will be created during several processes like validations or candidate initializations. Whenever an issue occurs the user will be supported by solving an issue by so-called quick fixes. Quick fixes can be accessed via the context menu of an issue within the Issues View.
To better understand the results of your validation, it is sometimes useful to compare the current artifacts and links with an older version of your traceability model. To support this use case, YAKINDU Traceability can create a model snapshot of your current trace model, which can later be loaded and explored. A model snapshot includes:
To create a model snapshot, proceed as follows:
After a few seconds – or minutes, depending on the size of your model – the snapshot folder will be created in the folder specified in your preferences. By default, it will be stored in the YT-Snapshots project. The location can be configured in the YAKINDU Traceability preference page, under “Snapshots location”.
To load a model snapshot, select Traceability → Snapshot → Load and manage snapshots from the main menu bar, then double-click or select the snapshot you want to load, and click on the Load snapshot button. By default, the most recent snapshot is selected.
Using the same dialog, you can also delete snapshots, see section "Deleting a model snapshot".
On Windows, you can use YT to view any model snapshot file – without the need to set up or select a workspace. Such a snapshot that is not related to a workspace is called an external model snapshot. When opening an external snapshot, YT uses a temporary workspace behind the scenes.
To open an external snapshot, drag the corresponding .ytsnapshotzip file in the Windows explorer onto the YT_Snapshot_Viewer.bat file, which resides in the YT installation directory besides the YT.exe executable.
Once a model snapshot is loaded, it mostly behaves like a standard YAKINDU Traceability configuration, although in read-only mode. The main difference is that data is retrieved from the snapshot, not via enabled adapters. This means that in order to browse a snapshot you do not need any tool or adapter to be installed.
The following views, features, and perspectives are supported in snapshot mode in the same way as they are in conventional mode:
Since the model snapshot is read-only and shows potentially outdated data which may not exist in your current documents or code, the following features are disabled:
Adapter-related features may or may not work. As the model snapshot mode does not manipulate any source data directly, information required for navigation from/to external tools may not be available. For example, if you create a snapshot for a model containing a Word document and then delete this document, you can still load the snapshot and find the artifacts. However, you won’t be able to navigate to the original document.
In another scenario, the original document has been changed since taking the model snapshot. Navigating from the snapshot to the document will show the latter in its current state, however, which might be very different from its state at the time the snapshot was created.
Since model snapshots do not directly rely on adapters, you can load a snapshot containing artifacts for which you don’t have the proper adapters installed. This will work, though with some limitations: The adapter icon will be missing and navigation will be entirely disabled.
To delete a model snapshot, select
Traceability → Snapshot → Load and manage snapshots from the main menu, then select the snapshot(s) you want to delete, and press the
[Del] key or click on the
Alternatively, if the snapshot mode is active you can also delete model snapshot(s) in the
YT Snapshot List view via the
icon or the
You can also delete the model snapshot that you are currently exploring. However, you will need to acknowledge this in a confirmation dialog. Acknowledging the deletion will end the snapshot mode.
As long as you are in snapshot mode, the snapshot bar will be displayed. It allows for several functions:
The snapshot bar is automatically opened when loading a model snapshot, and it is automatically closed when ending the snapshot mode. The YT snapshot list contains all available model snapshots, allowing quick navigation by simply double-clicking on a snapshot to load it as well as deleting snapshots via the
[Del] key or the
icon. External snapshots dropped into the list can be activated in the same way. On deletion of such snapshots, only the link is removed from the list while the snapshot file itself is left untouched. External snapshots are not kept in the list after closing YT.
Please note: By default, snapshot bar and snapshot list are opened on the top and on the left of the screen, respectively, in the YT perspectives, see figure "Snapshot mode". If you can’t see them when in snapshot mode, you can reset the perspective via Window → Perspective → Reset Perspective….
Having two trace models conserved as model snapshots, it is possible to create a report that contains the differences between the two snapshots. This delta report lists removed or added artifacts and links as well as changed custom attributes in existing ones. The wizard to create a delta report is available
In the dialog, select the two model snapshots that you want to compare. Similar to other report dialogs, please also select an output folder and a filename for the report.