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:
Select File > New > Project.
In the New Project dialog, set Name to
faultTolerantControlSystem
.In the Description field, enter
Fault-tolerant control system project
.Select Use a project archive.
Click Browse and select
faultTolerantControlSystem.dpa
.Click OK to create the project.
Open the Simulink Model
Open the faultTolerantControlSystem
model, then open the fuel rate controller subsystem.
model = "faultTolerantControlSystem"; open_system(model) block = "/fuel rate controller"; open_system(model+block)
Open the Requirements Manager app.
slreq.openRequirementsManager(model)
In the Requirements tab, in the Requirements Browser, 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 1.1.1.2 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 1.1.1.3 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:
In Simulink, in the Requirements tab, select Share > Synchronize with DOORS.
In the DOORS synchronization settings dialog box, under DOORS surrogate module path and name, enter
/faultTolerantControlSystem/faultTolerantControlSystem
.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
.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.
Save the surrogate module and the Simulink model by selecting Save DOORS surrogate module and Save Simulink model (recommended).
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. "1.1.1.3 Oxygen Sensor".
The requirement 1.1.1.3 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.