Main Content

Create Surrogate Module for a Fault-Tolerant Control System

This example shows how to use a surrogate module in IBM® DOORS® to create direct links from a Simulink® model to requirements in an IBM DOORS module, and how to navigate the links.

Before you can use Requirements Toolbox™ with IBM DOORS, you must configure Requirements Toolbox for interaction with IBM DOORS. For more information, see Configure Requirements Toolbox for Interaction with Microsoft Office and IBM DOORS.

Open DOORS Project

In this example, you use the faultTolerantControlSystem.dpa file in IBM DOORS, which contains requirements modules that describe the fault-tolerant control system.

In IBM DOORS, create a new project:

  1. Select File > New > Project.

  2. In the New Project dialog, set Name to faultTolerantControlSystem.

  3. In the Description field, enter Fault-tolerant control system project.

  4. Select Use a project archive.

  5. Click Browse and select faultTolerantControlSystem.dpa.

  6. Click OK to create the project.

Open the Simulink Model

Open the faultTolerantControlSystem model, then open the fuel rate controller subsystem.

model = "faultTolerantControlSystem";
block = "/fuel rate controller";

Open the Requirements Manager app.


In the Requirements tab, in the Requirements pane, set View to Links.

Ensure that Requirements Toolbox does not create backlinks in IBM DOORS. In the toolstrip, click Link Settings. In the Requirement Settings dialog box, under When creating selection-based links, clear Modify destination for bidirectional linking, then click Close.

Create Direct Links from Simulink to DOORS

In this example, you create the links by using Requirements Toolbox, which means that Requirements Toolbox is the traceability source of truth.

In DOORS, open the FuelSys Design Description module. Select requirement Manifold Absolute Pressure Sensor.

In Simulink, in the fuel rate controller subsystem, locate the MAP Inport block.

Create a link between the MAP Inport block and the requirement by right-clicking the block and selecting Requirements > Link to Selection in DOORS.

Create another link between the EGO Inport block and the requirement Oxygen Sensor by selecting the requirement in DOORS, right-clicking the EGO Inport block in the Simulink model and selecting Requirements > Link to Selection in DOORS.

Save the link set. In the Requirement links pane, select the faultTolerantControlSystem link set, then click the Save icon .

Create Surrogate Module

To create the surrogate module:

  1. In Simulink, in the Requirements tab, select Share > Synchronize with DOORS.

  2. In the DOORS synchronization settings dialog box, under DOORS surrogate module path and name, enter /faultTolerantControlSystem/faultTolerantControlSystem.

  3. Create a surrogate module that contains proxy items for only the linked model elements and their parent elements. Under Extra mapping additionally to objects with links, select None.

  4. Create links from the surrogate module to the DOORS requirements. Under Synchronizing links, select Update links during synchronization. under Copy unmatched links, select from Requirements Toolbox to DOORS.

  5. Save the surrogate module and the Simulink model by selecting Save DOORS surrogate module and Save Simulink model (recommended).

  6. Create the surrogate module by clicking Synchronize.

The surrogate module contains only proxy items for the linked model elements, the parent subsystem, fuel rate controller, and the root model, faultTolerantControlSystem.

Navigate Between Simulink and IBM DOORS

Navigate from the EGO Inport block to the linked requirement in DOORS. In the Simulink model, right-click the EGO Inport block and select Requirements > 2. " Oxygen Sensor".

The requirement Oyxgen Sensor opens in IBM DOORS. Navigate to the surrogate item by right-clicking the orange in-links arrow icon and selecting /faultTolerantControlSystem/faultTolerantControlSystem > 3: EGO.

The surrogate module opens. Navigate back to the inport in the Simulink model by clicking the item 1.1.1 EGO and selecting MATLAB > Select item.

Related Examples

More About