>
Tutorial on Traceability

TABLE OF CONTENTS

  1. What is Traceability?
    Purpose : Setup problem
    Topics : ....

  2. Meta-Models for Requirements Traceability
    Purpose : Explain ......
    Topics : .....

  3. Low- and High-level Traceability
    Purpose : Explain ......
    Topics : .....

  4. Basic Classification of Traceability Links
    Purpose : Explain ......
    Topics : .....

  5. Current Limitations of Requirements Traceability
    Purpose : Explain ......
    Topics : .....

  6. References and Web Resources


What is Traceability?

Requirements traceability is intended to ensure continued alignment between stakeholder requirements and various outputs of the system development process (Balasubramaniam, 2001). Traceability gives essential assistance in understanding and communicating the relationships that exist within and across system development requirements, design and implementation." These relationships allow designers to show that a design meets requirements and help in the early recognition of requirements that are not satisfied by the design. During design, traceability allows designers to track what happens when a change request is implemented before a system is redesigned. Traceability is helpful if it can link designs to justifications, important decision and assumptions and context within which design solutions are arrived at (Ramesh, 1997).

Therefore, with complete traceability more accurate costs and schedules of changes can be determined, rather than depending on the engineer to know all of the areas affected by these changes.

This process is complicated by the many different stakeholders involved in the system development lifecycle. Many problems in traceability stem from their differing goals and priorities of interest (Ramesh, 1993).

User Perspective of Traceability

Developer Perspective of Traceability

Types of Traceability Link

Fundemental Problems with Traceability

There is a clear need for reference models and guidelines for use in systems development. Comprehensive models would ensure traceability throughout all phases of the system development process.....

Difficulties

Several military standards required the development of requirements traceability documents.

Basic issues are as follows:

Levels of Traceability

Reference Models

Reference models are organized according to an underlying metamodel; they are difficult to construct because they are an abstraction of best practice, condensed from numerous case studies over an extended period of time.

Reference Models for Traceability....

Importance of requirements traceability -- the U.S. Department of Defense spends approximately 4% of its IT costs on traceability. Too often traceability procedures and processes are haphazard, standards provide little guidance, and the models and mechanisms are poorly understood. Accordingly, the market for traceability tools is booming even though current tools support rather simple traceablity models are services.


Types of Traceability Link

Traceability mechanisms support the capture and usage of trace data (i.e., to document, parse, organize, edit, interlink, change, and manage requirements and traceability links between them.

The semantics of a given linkage as viewed by different stakeholders may differ. For instance, consider the following relationship maintained in a traceability table:

     REQUIREMENT ---- LINKED-TO ---- DESIGN object.

An end user may view the relationship as a means to idejntify a design component that is generated by a requirement. A designer may view the same linkage as providing information on the requirement/constraint that restricts the design object(s). The semantics associated with a linkage is guided by the reasoning that the user will be performing with the linkage.


Meta-Models for Requirements Traceability

The meta-model framework consists of:

Meta-Model

                          STAKEHOLDER

                has role in           manages

           OBJECT          documents          SOURCE

The dimensions of traceability information are as follows:


Low- and High-Level Traceability

Low-End Users of Traceability

About 1,000 requirements (viewed as a mandate from the project sponsors or for compliance with standards). -- User definition of traceability : documents transformation of requirements to design. -- Main applications of traceability : requirements decomposition, requirements allocation, compliance verification, change control.

Typical low end users view requirements traceability as providing a link from REQUIREMENTS to the actual system COMPONENTS that satisfy these requirements. Before this can happen, however, REQUIREMENTS must be derived from higher-level system requirements.

Original and derived REQUIREMENTS and ALLOCATED to the system COMPONENTS. An "allocation table" is the common mechanism use to maintain this information. This simple two-way mapping between requirements and system components is used to ensure that there are COMPONENTS in the system that satisfy all requirements.

In the compliance verification phase of systems development, low-end users employ the requirements database to develop system compliance verification procedures.

Typically, low-end users lack support for capturing rationale for requirements issues and how they are resolved. Similar information is also missing from the design and analysis phases of development.

High-End Users of Traceability

About 10,000 requirements (viewed as a major opportunity for customer satisfaction and knowledge creation throughout the system lifecycle).

High-end users of traceability use much richer traceability schemes than low-end users and also employ traceability information in must richer ways. Problems associated with the latter can be classified as follows:

  1. Requirements Management.

    Systems are created to satisfy organizational, stakeholder, operational and strategic needs.

    System objectives must be justified by organizational needs. As part of the negotiation process among stakeholders, many trade-offs are made in deciding the scope and functionality of the system based upon their impact on critical sucess factors (CSFs) (or in GE nomenclature, measures of effectiveness).

    Not all requirements are of equal significance or criticality. (see, .... pg. 70).

  2. Rationale Submodel.

    The specification, elaboration, decomposition, derivation and modification of OBJECTS (e.g., requiremnts, designs) generate issues or conflicts (due to differing interpretations, assumptions, interests, viewpoints and stakeholder objectives). Traceability pathways of rationale enable accountability (e.g., what changes have been made; why and how they were made), particularly to stakeholders not directly involved in creation of the requirement.

    Information about how to resolve these issues must be maintained throughout the system lifecycle to the ensure customer requirements are understood and satisfied.

    For example, various alternatives that address the resolution of issues are normally considered. Arguments for and against each alternative may be proposed.

    A complete and detailed capture of rationale may be impractical due to the lack of tools. However, simple descriptions of rationale on which requirements or design are based may be recorded along with the assumptions behind them.

  3. Design/Allocation.

    This term refers to the activity that creates artifacts, including implementation. Key elements are REQUIREMENTS that drive DESIGN, which in turn are based on mandates such as standards, policies or methods. Requirements are allocated to components.

    Components are also organized into hierarchies and networks -- we would like some form of traceability to record relationships among components.

  4. Compliance and Verification.

    Compliance and verification procedures (CVPs) are developed to ensure that each requirement is satisfied (If a requirement cannot be tested, then by definition, it is no longer a requirement).


Basic Classification of Traceability Links

Formally, a traceability system can be defined as a semantic network in which nodes represent objects among which traceablity is established through links of different types/strengths. This dependency-directed approach of maintaining consistency of design dates back at least to the work of Stallman and Sussman (Stallman, 1977).

Product-Related Links for Traceability Context

These links describe properties and relationships of design objects, independent of how they were created.

Process-Related Links for Traceability Context

These links describe the history of actions taken in the process itself.

Note. Low-end traceability users tend to be characterized by relying mostly on the product-oriented links (i.e., types (1) and (2)). High-end traceability have a higher share of link types belonging to (3) and (4).

  1. Satisfies Links. Ensure that requirements are satisified by the system. Relationships between one or more design implementation objects and requirement objects verivied by CVPs. Uses include:

  2. Dependency links. Help manage the dependencies among objects (typically at the same stage of development), often imposed by a constraint. Uses include:

    These links are accomplished through connectivity of requirements to sets of system components that satisfy them. These links may be indirectly derived. For example, a design component may be linked to requirements the former satisifies. The design component, in turn, may become a system component....

  3. Evolved-to Links. Document the input-output relationships of actions leading from existing object(s) to new modified object(s). Uses include:

  4. Rational Links. Represent the rational behind objects or document the reasons for evolutionary steps. Uses include:


Current Limitations of Requirements Traceability

The majority of present traceability tools offer tabular representations of dependency structures in a relational database formalism (i.e., they are well sorted to low-user users that require little differentiation between link types; simple allocation and dependency analysis).

Limitations

Limitations : Types of Dependency and Inferencing Services


Future Needs

Trade-off : effort needed to capture complex traceability information versus the subsequent value of having this information in each situation of the development process. These observations indicate that a new generation of traceability mechanisms will be needed to address:

  1. Abstraction Mechanisms. The need for abstraction mechanisms that allow the variation of granularity (aggregation abstraction) and sophistication (generalization abstraction) in traceability tasks.

    The relational representation used in most existing tools does not lend itself naturally to the simultaneous representation of traces at multiple levels of granularity.

    Aggregation hierachies in semantic data models offer an adequate formal means for dealing with the granularity problem.

    There is a strong need for more semantics in traceability data models, possibly facilitated by recent extensiblity features in object-relational database technology.

  2. Inference Services. The need for inference services supporting the semantics of the different traceability link types.

    In large projects, the traceability knowledge base can become very large. As the information needs of participants can vary widely, navigating the entire knowledge base to retrieve relevant information can be very difficult, even with sophisticated browsing capabilities. The ability to access relevant information using ad hoc queries can be very helpful.

    Inferencing techniques help to maintain the integrity of a knowledge base of interdependent components that get incrementally defined and modified. This ability can be aided by mechanisms for aggregation, classification and generalization of traceability information.

    The ability to make deductive inferences from traceability knowledge base is very helpful in reducing the overhead and increasing the usefulness of the traceability knowledge base. Moreover, mechanisms to maintain and manage dependencies among various components of requirements traceability can be supported with deductive database capabilities for query processing, deductive rules and integrity enforcement.

  3. Grounding Traceability Models in Thick Descriptions. The need for maintaining baseline of thick descriptions of traces (e.g., using multimedia) in case the initially selected level of trace analysis needs to be reassessed later on.

    Requirements traceability can be represented in a variety of ways, from formal representation (e.g., mathematical transformations from one form to another) to very informal represenstations (e.g., a textual description of design rationale in a notebook). There are pros and cons of both representations.

    A strength of formal representations is their ability to support automated reasoning. But formal representations of requirements traceability is difficult as most design situations lack well-defined formal models.

    To complicate matters, design is very much a collaborative process, with requirements traceabilit knowledge consisting of deliberations among individuals engaged in the process. Attempts to represent informal knowledge through formal tools and notations can result in thin descriptions, with the consequence that much of the meaning embedded in such information is lost (Anderson, 1991).

    Informal representations of requirements address many of these problems. These so-called "thick descriptions" enable the user of requirements traceability to grasp subtleties, tacit and mutual knowledge and glean descritions of work practices that are not otherwise made explicit. Moreover, imformal repreesentations can be used by a wide set of users. On the downside, indexing, retrieval and use of informal representations/languages in large projects can be impracticable. Although understandable by humans, informal representations are not amenable to automated reasoning.

    Effective schemes for the capture and use of requirments traceability should seek to combine (i.e., a tight integration of formal and informal methods for requirements traceability) the advantages of both forms of representations.

  4. Model-Driven Trace Capture and Usage. The need for mechanisms that allow project managers and developers to define and enact a model-driven trace process accompanying the development process.


References and Web Resources

REFERENCES

  1. Anderson R.C., Heath C., Luff P., Moran T., "The Social and the Cognitive in Human-Computer Interaction," Technical Report EPC-91-126, Rank Xerox Euro PARC, Cambridge, UK, 1991.
  2. Balasubramaniam R., Jarke M., "Toward Reference Models for Requirements Traceability," IEEE Transactions on Software Engineering, Vol. 27, No. 1, January 2001.
  3. Hauser J.R. and Clausing D., "The House of Quality," Harvard Business Review, May/June 1988, pp. 63-73.
  4. Ramesh B., Edwards M., "Issues in the Development of a Model for Requirements Traceability," Proc. International Symposium on Requirements Engineering, January, 1993, pp. 256-259.
  5. Ramesh B., Stubbs C. Powers T., Edwards M., "Requirements Traceability : Theory and Practice, Annals of Software Engineering, Vol. 3, 1997, pp. 397-415.
  6. Stallman R., Sussman G., "Forward Reasoning nad Dependency-directed backtracking in a system for Computer-Aided Circuit Analysis," Artificial Intelligence, Vol. 9, 1977, pp. 135-196.

WEB RESOURCES ON TRACEABILITY


Developed in September 2001 by Mark Austin
Copyright © 2001, Mark Austin, Institute for Systems Reseach, University of Maryland