Simulink® Requirements™ enables you to author, organize, and edit requirements in the Simulink Editor. A specialized view, the Requirements Perspective, helps you to visualize the links between requirements and the parts of a model. Using an integrated environment simplifies linking requirements to the parts of your model that implement them.
This integrated environment has other advantages. For details, see Introduction to Simulink Requirements.
In Simulink Requirements, you organize your requirements in groups called requirement sets. In each requirement set, you can create additional levels of hierarchy if you need to further describe a requirement's details.
In this tutorial, you use the Requirements Editor to create a requirement set, organize related requirements, and add requirements to the set.
Suppose that you are writing requirements for a controller model of an automobile cruise control system. You develop these requirements using your company’s numbering standard (R1, R2, and so on).
|ID and Description||Rationale|
|R1: The maximum input throttle is 100%||The maximum value of the throttle from the acceleration pedal can be no greater than 100%.|
|R2: Cruise control has a speed operation range||Cruise control has a minimum and maximum operating speed.|
|R2.1: The vehicle speed must be at least 40 km/h||The speed of the vehicle must be at least 40 km/h for the cruise control system to engage.|
|R2.2: The vehicle speed cannot be greater than 100 km/h||The maximum operational speed of the cruise control system for the vehicle is 100 km/h.|
Add these requirements to a model called
Open the project that includes the model and supporting files. At the MATLAB® command prompt, enter:
Open the model. At the command prompt, enter:
Open the Requirements Editor. In the Apps tab, click Requirements Manager. In the Requirements tab, click Requirements Editor.
The Requirements Editor displays the requirements in the Requirements Browser
arranged by requirement set. The
crs_controller model has two
Add a requirement set in the Requirements Browser. From the Requirements Editor toolbar, click New Requirement Set .
Save the requirement sets to external files. Save your requirement set to a
writable location and name it
can choose whether to share requirements with other models.
Add a requirement to your requirement set by selecting the requirement set and clicking Add Requirement .
In the Properties pane, enter the details for the requirement. You can copy and paste or drag requirements from another source to the Properties pane. Enter the details for the requirement:
Custom ID: R1
Summary: Max input throttle %
Description: The maximum input throttle is 100%.
If you do not specify a custom ID, the Requirements Editor numbers requirements in order. Custom IDs enable you to use your company standards for labeling requirements and to set the numeric order. (Custom IDs cannot contain a # character.) You can also use an ID to help locate a requirement when searching. Keywords aid in searching for a requirement.
Create the requirement
and select Add Requirement After. Enter the details for
Custom ID: R2
Summary: Cruise control speed operation range
Description: Cruise control has a minimum and maximum operating speed.
Create child requirements for
R2 by right-clicking
R2 and selecting Add Child
Requirement. Enter the details for the requirement:
Custom ID: R2.1
Summary: Minimum vehicle speed
Description: The speed of the vehicle must be at least 40 km/h for the cruise control system to engage.
Repeat this step to add other child requirements to
You can rearrange the hierarchy by using the or by dragging requirements.
To author and edit the Description and Rationale fields of your requirements, open Microsoft® Word from within the Requirements Editor or the Requirements Perspective View.
This functionality is available only on Microsoft Windows® platforms.
Using Microsoft Word to edit rich text requirements enables you to:
Spell-check requirements content.
Insert and edit equations.
Insert and edit tables.
On the Edit field toolbar, in either the Description or Rationale fields, click the icon. Save the changes to your requirements content within Microsoft Word to see them reflected in Simulink Requirements.
When you use Microsoft Word to edit requirements content, you cannot edit requirements in the built-in editor.
View or Hide Columns in the Requirements Editor. Right-click the header row and click Select Columns to
change the view configuration of the Requirements Editor. Add, remove, and reorder
attribute columns through the Column Selector dialog box. The view configuration is
saved across sessions. You can export view settings to a MAT-file by using the
slreq.exportViewSettings function and import them by using the
You can reset view configurations by using the
Filter Requirements Content. To refine the display of requirements content in the Requirements Browser, use the Search text box at the top of the Requirements Browser. The Search text box can also help you find specific requirements within all loaded requirement sets based on a particular requirement attribute.
Specify Filter Text Strings — As you enter text in the Search text box, the Requirements Browser performs a dynamic search and displays the results. The search operation applies only to attributes you choose to display in the Requirements Browser.
The text strings you enter must be consistent with the guidelines described in the following sections.
Case Sensitivity — By default, the Requirements Browser ignores case as it filters.
If you want the Requirements Browser to respect case sensitivity, put that text string in quotation marks.
Specify Attributes and Attribute Values — To restrict the filtering to requirements with a specific attribute, type the attribute name, followed by a colon. The Requirements Browser displays only the requirements that have that attribute.
To filter for requirements for which a
specific attribute has a specific value, type the attribute name, followed by a
colon (:), then the value. For example, to filter the contents to display only the
requirements where the
Summary attribute has a value that
(alternatively, you could put the whole string in quotation marks to enforce case
MATLAB Expressions Are Not Supported — The Requirements
Browser does not recognize wildcard characters, such as asterisks (*), as having any
special meaning. For example, if you enter
fuel* in the
Search text box, you return no results, even if several
requirements contain the text string
Also, if you specify a MATLAB expression in the Search text box, the Requirements Browser interprets that string as literal text, not as a MATLAB expression.
Clear the filtered contents by clicking X in the Search text box.
You can create links between your requirements and the Simulink blocks or Stateflow® objects that implement them. By linking between the model elements that implement requirements, you can track whether all your requirements have been implemented. You can also keep requirements and implementation in sync, for example, if a requirement changed or if the implementation causes you to revise your requirements.
In this tutorial, you use the Requirements Perspective View to work with your requirements in the cruise control model. As in the Requirements Editor, you can add requirement sets and requirements in the Requirements Perspective View. In both views, you can link requirements with blocks. In the Requirements Perspective View, visual elements help you to see the links between requirements and blocks. The Requirements Perspective View displays requirement and link information only for the model that is currently open in the Simulink editor.
crs_controller model, to preview the perspectives
associated with the model, click the perspectives control in the lower-right
To open the Requirements Perspective View, click the Requirements image.
The Requirements Perspective View includes the Requirements Browser, docked at the bottom of the Simulink editor. When you select a requirement, the Property Inspector displays the Simulink Requirements Properties pane.
Link a requirement to the model element that implements it. Search for the
requirement that you want to link from. In the Requirements Browser search box,
Enable Switch Detection. As you type, matches are
To create a link, select the matching requirement and drag it onto the
enbl inport block. A markup guide appears on the canvas as a
preview of the requirement annotation. Click the markup guide to place the
requirement annotation on the canvas. You can also click anywhere else to create the
link but not have the annotation display on the canvas.
A badge appears on the block to show that a link was created. You see badges only in the Requirements Perspective View. To see more information about the requirement, click the badge and select Show.
Clicking Show displays a requirement annotation on the model canvas.
The annotation displays the ID, the summary, and the relationship between the block and the requirement. In this example, the block implements the requirement. For other possible relationships, see Requirement Links.
To see the requirement description, double-click the annotation.
To edit the requirement, right-click the annotation and select Select in Requirements Browser. The requirement properties appear in the Property Inspector, where you can edit them.
Exit the Requirements Perspective View. Click the perspectives control and click the requirements image.
Convert Simulink Annotations to Requirements. You can convert the annotations in your Simulink models to requirements by using the context menu in the Requirements
Perspective View and by using the API. See
slreq.convertAnnotation for more information on converting
annotations to requirements by using the API.
To convert annotations to requirements by using the context menu in the Requirements Perspective View:
Open the Simulink model and enter the Requirements Perspective View.
Select a requirement set from the Requirements Browser. This is the destination requirement set for the new requirement.
Right click the annotation you want to convert to a requirement and click Convert to Requirement.
The annotation is converted to a requirement and is linked to the system or subsystem at which the annotation was present.
Link Requirements to Simulink Annotations. Use the Requirements Perspective View to link requirements to text and area annotations on the Simulink Editor. To create a link, select a requirement and drag it onto the annotation. If you link requirements to an area annotation, a badge appears on the annotation to show that the link was created. You see badges only in the Requirements Perspective View. To see more information about the requirement, click the badge and select Show.