Main Content

systemcomposer.rptgen.finder.RequirementSetFinder Class

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

Find requirements

Since R2022b

Description

The systemcomposer.rptgen.finder.RequirementSetFinder class searches for information about all requirements in a requirement set.

Creation

finder = RequirementSetFinder(Container) creates a finder that finds requirements in a given requirement 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 set filename with the .slreqx extension, specified as a string.

Example: f = RequirementSetFinder("System_Reqs.slreqx")

Data Types: string

Level to find requirements, specified as a numeric value.

Attributes:

GetAccess
public
SetAccess
public

Data Types: uint64 | inf

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