Main Content

systemcomposer.rptgen.report.Component Class

Namespace: systemcomposer.rptgen.report
Superclasses: slreportgen.report.Reporter (Simulink Report Generator)

Component reporter

Since R2022b

Description

Create a reporter that reports on all components in a System Composer™ architecture model.

The systemcomposer.rptgen.report.Component class is a handle class.

Creation

reporter = Component("Source",result) creates a reporter that reports on a component using a systemcomposer.rptgen.finder.ComponentResult object.

Properties

expand all

Component result, specified as a systemcomposer.rptgen.finder.ComponentResult object.

Custom snapshot reporter, specified as a reporter object. The default value is the slreportgen.report.Diagram (Simulink Report Generator) reporter.

Custom properties reporter, specified as a reporter object. The default value is the mlreportgen.report.BaseTable (MATLAB Report Generator) reporter.

Custom properties reporter for stereotypes on component, specified as a reporter object. The default value is the mlreportgen.report.BaseTable (MATLAB Report Generator) reporter.

Custom properties reporter for ports on component, specified as a reporter object. The default value is the mlreportgen.report.BaseTable (MATLAB Report Generator) reporter.

Custom properties reporter for functions on software component, specified as a reporter object. The default value is the mlreportgen.report.BaseTable (MATLAB Report Generator) reporter.

Child components, specified as an array of systemcomposer.rptgen.report.Component objects.

Data Types: string

Whether to include snapshot table, specified as 1 (true) or 0 (false).

Data Types: logical

Whether to include properties table, specified as 1 (true) or 0 (false).

Data Types: logical

Whether to include stereotypes table, specified as 1 (true) or 0 (false).

Data Types: logical

Whether to include ports table, specified as 1 (true) or 0 (false).

Data Types: logical

Whether to include functions table, specified as 1 (true) or 0 (false).

Data Types: logical

Source of the template for this reporter, specified in one of these ways:

  • Character vector or string scalar that specifies the path of the file that contains the template for this reporter

  • Reporter or report whose template this reporter uses or whose template library contains the template for this reporter

  • Document Object Model (DOM) document or document part whose template this reporter uses or whose template library contains the template for this reporter

The specified template must be the same type as the report to which you append this reporter. For example, for a Microsoft® Word report, TemplateSrc must be a Word reporter template. If the TemplateSrc property is empty, this reporter uses the default reporter template for the output type of the report.

Attributes:

GetAccess
public
SetAccess
public
NonCopyable
true

Name of the template for this reporter, specified as a character vector or string scalar. The template for this reporter must be in the template library of the template specified by the TemplateSrc property of this reporter.

Attributes:

GetAccess
public
SetAccess
public

Data Types: char | string

Hyperlink target for this reporter, specified as a character vector or string scalar that specifies the link target ID, or an mlreportgen.dom.LinkTarget (MATLAB Report Generator) object. A character vector or string scalar value converts to a LinkTarget object. The link target immediately precedes the content of this reporter in the output report.

Attributes:

GetAccess
public
SetAccess
public

Methods

expand all

Examples

collapse all

Use the ComponentFinder, ComponentResult, ConnectorFinder, and ConnectorResult classes to create a report that finds all components and connections in a given architecture model.

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

Open the scKeylessEntrySystem project.

prj_name = "scKeylessEntrySystem";
prj = openProject(prj_name);

Load the KeylessEntryArchitecture architecture model.

model_name = "KeylessEntryArchitecture";
mdl = systemcomposer.loadModel(model_name);

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

compReport = slreportgen.report.Report(OutputPath=model_name + "_SystemArchitectureReport.pdf", ...
    CompileModelBeforeReporting=false);
append(compReport,TitlePage(Title="Components and Connectors in " + model_name));
append(compReport,TableOfContents);

Create a chapter to contain all sections related to the components of the architecture model.

componentsChapter = Chapter("Components in " + model_name);

Find all components in the architecture model.

componentFinder = ComponentFinder(model_name);
componentFinder.Query = AnyComponent;

while hasNext(componentFinder)
    componentResult = next(componentFinder);  

Create a section for each component.

    compSection = Section(Title=componentResult.Name);    
    append(compSection,componentResult);

Find all connectors on the component.

    connectorFinder = ConnectorFinder(model_name);
    connectorFinder.ComponentName = componentResult.Name;
    connectorResult = find(connectorFinder);
    for connector = connectorResult
        connectorReporter = getReporter(connector);
        append(compSection,connectorReporter.Source);
    end

    append(componentsChapter,compSection);
end

Append the chapter to the report and view the generated report.

append(compReport,componentsChapter);
close(compReport);
rptview(compReport);

Version History

Introduced in R2022b