Update requirement links to model reference requirements
imports the external requirement document into Requirements Toolbox™ as a reference requirement and updates the requirement links to point to the
imported set. You can use the
systemcomposer.updateLinksToReferenceRequirements function in
System Composer™ to make the requirement links point to imported referenced requirements
instead of external documents.
Update Reference Requirement Links from Imported File
After importing requirement links from a file, update links to reference requirements for the model. When you convert the links to reference requirement links, the links are contained in the model in an SLREQX file to make full use of Requirements Toolbox™ functionality.
Import Requirement Links from Word File
Before running the code, follow these steps to prepare your workspace.
Note: Importing or linking requirements from an imported file is only supported on Windows. A web-based Microsoft® Office file stored in SharePoint or OneDrive will not work. Save this file and supporting files in a local folder to continue.
1. Open the Microsoft Word file
Functional_Requirements.docx with the requirements listed. Highlight the requirement to link. For example, highlight these lines.
1.1.2 Flight Computer ID: 25 Description: Aircraft shall provide a flight computer to autonomously conduct safe flight operations from launch to recovery
2. Open the
model = systemcomposer.openModel("reqImportExample");
3. In the model, select the
FlightComputer component to which to link the requirement. Right-click the
FlightComputer component and select Requirements > Link to Selection in Word. Keep the Word file
Functional_Requirements.docx open for the next steps.
Before requirement links are integrated within the model, the links depend on the source document, the Word file
Functional_Requirements.docx. To view the requirement links, open the Requirements Perspective from the bottom-right corner of the
reqImportExample.slx model palette.
Update Links to Reference Requirements
Use these steps to update requirement links to integrate with and be referenced from within the model.
1. Export the
reqImportExample.slx model and save to an external file:
exportedSet = systemcomposer.exportModel("reqImportExample"); SaveToExcel("exportedModel",exportedSet);
2. Use the external file
exportedModel.xls to import requirement links into another model:
structModel = ImportModelFromExcel("exportedModel.xls","Components","Ports", ... "Connections","PortInterfaces","RequirementLinks"); structModel.readTableFromExcel systemcomposer.importModel("reqNewExample",structModel.Components, ... structModel.Ports,structModel.Connections,structModel.Interfaces,structModel.RequirementLinks);
3. To integrate the requirement links to the new model
reqNewExample.slx, update references within the model.
4. Open the Requirements Perspective from the bottom right corner of the model palette to view the new
Flight Computer requirement on the
FlightComputer component by setting View to Requirements.
This requirement is saved in a requirement set
Functional_Requirements.slreqx and used directly in the requirement link. Change the View to Links to view the requirement link.
modelName — Name of model
character vector | string
Name of model, specified as a character vector or string.
linkDomain — Link domain
character vector | string
Link domain, specified as a character vector or string. See Custom Link Types (Requirements Toolbox) for more information on identifying your link type or generating custom link types.
documentPathOrID — Full document path
character vector | string
Full document path, specified as a character vector or string.
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.
To enhance traceability of requirements, link system, functional, customer, performance, or design requirements to components and ports. Link requirements to each other to represent derived or allocated requirements. Manage requirements from the Requirements Perspective on an architecture model or through custom views. Assign test cases to requirements using the Test Manager (Simulink Test) for verification and validation.
A requirement set is a collection of requirements. You can structure the requirements hierarchically and link them to components or ports.
Use the Requirements Editor (Requirements Toolbox) to edit and refine requirements in a requirement set. Requirement sets are stored in SLREQX files. You can create a new requirement set and author requirements using Requirements Toolbox, or import requirements from supported third-party tools.
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.
View links using the Requirements Perspective in System Composer. Select a requirement in the Requirements Browser to highlight the component or the port to which the requirement is assigned. Links are stored externally as SLMX files.
A test harness is a model that isolates the component under test with inputs, outputs, and verification blocks configured for testing scenarios. You can create a test harness for a model component or for a full model. A test harness gives you a separate testing environment for a model or a model component.
Create a test harness for a System Composer component to validate simulation results and verify design. To edit the interfaces while you are testing the behavior of a component in a test harness, use the Interface Editor.
Introduced in R2020b