Main Content

systemcomposer.rptgen.finder.RequirementLinkFinder Class

Namespace: systemcomposer.rptgen.finder
Superclasses: mlreportgen.finder.Finder (MATLAB Report Generator)

Find requirement links

Since R2022b

Description

The systemcomposer.rptgen.finder.RequirementLinkFinder class searches for information about requirement links in a requirement link set.

Creation

finder = RequirementLinkFinder(Container) creates a finder that finds requirement links in a given requirement link set.

Note

This finder provides these options to get search results:

  • To return the search results as an array, use the find method. Add the results directly to a report or process the results in a for-loop.

  • To iterate through the results one at a time, use the hasNext and next methods in a while-loop.

Neither option has a performance advantage.

Properties

expand all

Requirement link set filename with the .slmx extension, specified as a string.

Example: f = RequirementLinkFinder("System_Reqs.slmx")

Data Types: string

Properties of objects to find, specified as a cell array of name-value arguments. The finder returns only objects that have the specified properties with the specified values.

Example: f.Properties = {'Gain','5'}

Data Types: char

Methods

expand all

Examples

collapse all

Use the RequirementSetFinder, RequirementSetResult, RequirementLinkFinder, and RequirementLinkResult classes to create a report that finds all requirements in a given requirement set and link set.

import mlreportgen.report.*
import slreportgen.report.*
import slreportgen.finder.*
import systemcomposer.rptgen.finder.*

Open the scKeylessEntrySystem project.

prj = openProject("scKeylessEntrySystem");
model_name = "KeylessEntryArchitecture";
mdl = systemcomposer.loadModel(model_name);

Create a report and append a title page and table of contents.

reqReport = slreportgen.report.Report(output="RequirementAnalysisReport", ...
    CompileModelBeforeReporting=false);
append(reqReport,TitlePage(Title="Requirement Sets and Link Sets in " + model_name));
append(reqReport,TableOfContents);

Create a chapter called Requirement Analysis.

reqChapter = Chapter("Requirement Analysis");

Create a section for requirement sets and use the finder, result, and reporter classes to find all requirements in the FunctionalRequirements.slreqx requirement set. Append the Requirement Sets section to the Requirement Analysis chapter.

reqSetSection = Section("Requirement Sets");
reqSetFinder = RequirementSetFinder("FunctionalRequirements.slreqx");
reqSetResult = find(reqSetFinder);
reqSetReporter = reqSetResult.getReporter;

append(reqSetSection,reqSetReporter);
append(reqChapter,reqSetSection);

Create a section for requirement links and use the finder, result, and reporter classes to find all requirement links in the KeylessEntryArchitecture.slmx requirement links set. Append the Requirement Links section to the Requirement Analysis chapter.

reqLinkSection = Section("Requirement Links");
reqLinkFinder = RequirementLinkFinder("KeylessEntryArchitecture");
reqLinkResult = find(reqLinkFinder);
reqLinkReporter = systemcomposer.rptgen.report.RequirementLink(Source=reqLinkResult);

append(reqLinkSection,reqLinkReporter);
append(reqChapter,reqLinkSection);

Append the Requirement Analysis chapter to the RequirementAnalysisReport and view the report.

append(reqReport,reqChapter);
close(reqReport);
rptview(reqReport);

Version History

Introduced in R2022b