Difference Between Source Links and Source Traces
Source Traces
Source traces provide a bidirectional link between members under source configuration management and individual requirements, specifications, and test cases under change control. Source traces can be to any PTC RV&S item type, but are primarily useful for requirements. Source traces are to members only, not projects or subprojects.
|
• You can also link members to items for change management using change packages. For more information on change packages, see Change Package Overview.
• If you create source traces through the CLI or API, you can trace to a line or block of code within the source file.
|
You can create, view, update and delete individual source traces. You can also follow the resulting traces from an item to the source member or from a source member to the item, or query to find items with or without source traces. You can use source traces for impact analysis or for reviewing requirements for a member before making a code change.
|
Source traces are specific to a project context. If there are traces to the same member revision in different projects, it is not considered to be the same trace. For example, if there are traces to a member revision in a shared subproject, the trace is different for each project context.
The current implementation of source traces is designed specifically for use by engineering organizations working on highly controlled systems that are subject to functional safety standards and reviews. If you want to use source traces in a different environment, you must evaluate the current implementation to make sure that it satisfies all your use cases.
|
Source Links
A source link is a unidirectional link to a member, project, or subproject. Links can be created to a specific revision, or to a live version of the object. Source links are more lightweight than source traces because the link is not updated when the object is updated. Source links can be viewed entirely from the field on an item (without the need for the Source Trace Viewer). Source links are an alternative when there is no safety compliance requirement. Source links can be used when there is no need for the link to update to a new revision when member revision is updated.
Live source links display the member or project at the time the link is clicked by a user. Live source links are denoted by :live in the Revision column of the source link field.
|
Source link fields that were created without Trace enabled, function as source link fields and do not automatically update source traces. Contact your administrator for more information.
|
Visual Depiction of How Source Links and Source Traces Work
The following diagrams are a visual representation of the how the links work. The first set of diagrams in Figure 1 depicts a source link and a source trace created for Test.java at revision 1.1.
Figure 1
Figure 2 depicts what happens when a member operation (such as a check in or a submit change package) causes member revision for Test.java to advance to 1.2. The source link remains at revision 1.1, while the source trace is now at revision 1.2. However, the history of the source trace to 1.1 is preserved in the revision history. Additionally, the source link is a unidirectional relationship, whereas the source trace is a bidirectional relationship between the item field and the member. If the source link had been created to the live version of Test.java, then when the link is followed it resolves to 1.2 because it is referencing the live version of the object.
Figure 2
Possible Field Value Types
Both source links and source traces use the source link field type to store a value, but only one of those types of values can be stored in the field. The type of value (source link or source trace) that can be stored in the field is determined at the time the source link field is created, and can be understood by the following statements:
• If the source link field was created without trace enabled, it can contain a source link.
• If the source link field was created with trace enabled, it can contain a source trace.
• A source link field without trace enabled, cannot contain a source trace.
• A source link field with trace enabled, cannot contain a source link.
• A source link and a source trace are created using the same drag-and-drop method.