Main Content

Establish Traceability Between Architectures and Requirements

Traceability in system design allows systems engineers to go from stakeholder requirements to individual design elements to overall system integrity. Create links to establish traceability between architectures and requirements. Use model-to-model allocations to show directed relationships between model elements from a source model to a target model. Link requirements to each other, to model elements, and to architecture models. Verify and validate requirements by linking requirements to test cases.

A Requirements Toolbox™ license is required to link, trace, and manage requirements in System Composer™.

A Simulink® Test™ license is required to use the Simulink Test Manager (Simulink Test) and to create test harnesses for components. For more information, see Create a Test Harness (Simulink Test).

This image shows a typical methodology to establish traceability.

Traceability schematic between requirements and architectures with links between them.

First, define requirements for the system based on stakeholder needs. Then, decompose those requirements to functional, system, and hardware requirements. Functional requirements can be linked to architectural elements in the functional architecture model of the system. From the functional requirements, allocate system requirements that link to parts of the logical architecture model of the system. Using these system requirements, allocate hardware requirements that link to parts of the physical architecture model of the system. You can also allocate elements from the functional architecture to the logical architecture and from the logical architecture to the physical architecture.

Tip

To learn more about how System Composer concepts apply to systems engineering design, see System Composer Concepts.

Define Requirements and Requirement Links

Define Requirements in the Requirements Editor

Requirements are a collection of statements describing the desired behavior and characteristics of a system. Requirements help ensure system design integrity and should be achievable, verifiable, unambiguous, and consistent with each other. Each level of design should have appropriate requirements.

You can use the Requirements Editor (Requirements Toolbox) app to author requirements and link between them. For more information, see Link and Trace Requirements and Manage Requirements.

After you update your requirements, they are stored in a requirement set that you can open with your System Composer architecture model.

Define Requirement Links and Link Types

You can link requirements to model elements.

A link is an object that relates two model-based design elements. A requirement link is a link where the destination is a requirement. You can link requirements to components or ports.

For more information, see View and Link Requirements in Simulink (Requirements Toolbox) and Create and Store Links (Requirements Toolbox).

You can enhance your requirements by assigning the appropriate link type. For more information, see Define Custom Requirement and Link Types (Requirements Toolbox).

Visualize Traceability Between Requirements and Links

To visualize the requirement links between requirements and model elements, use a traceability diagram or a traceability matrix. For more information, see Visualize Links with Traceability Diagrams (Requirements Toolbox) and Track Requirement Links with a Traceability Matrix (Requirements Toolbox).

This traceability diagram focuses on the stakeholder requirements and how they are linked to other requirements and models.

Mobile robot traceability diagram for stakeholder needs.

In this traceability matrix, the source is the functional architecture of a mobile robot, and the targets are the stakeholder needs.

Mobile robot traceability matrix from functional architecture to stakeholder needs.

Each of these requirements can be linked to and verified using test cases in further stages of the design process. For more information, see Verify and Validate Requirements.

Define Allocations and Directed Relationships

After defining requirements and linking them to model elements, you can link these model elements to each other. Use directed relationships for model elements from one model to another to establish traceability between models.

An allocation establishes a directed relationship from architectural elements — components, ports, and connectors — in one model to architectural elements in another model.

You can define allocations between model elements from a source model to a target model. For example, your source model might be a physical architecture and your target model might be a logical architecture. Use the Allocation Editor to manage allocations, and the in-model workflow to create allocations interactively. For more information, see Create and Manage Allocations Interactively.

First, create an allocation scenario to define the source and target model. Allocate between model elements in an allocation scenario. The default allocation scenario is called Scenario 1. Then, save your allocations in an allocation set to group your allocation scenarios. Create an allocation set with allocation scenarios in the Allocation Editor. The result is an allocation matrix that describes the full set of allocations from a source model to a target model.

For this allocation matrix, the source model is the logical architecture of a mobile robot and the target model is the physical architecture.

Mobile robot allocation matrix from logical architecture to hardware architecture.

Related Topics