使用 System Composer 报告 API 生成系统架构报告
自 R2022b 起
此示例展示了如何为 System Composer™ 架构模型及其工件生成基于报告 API 的架构报告。
此示例中包含的 generateArchitectureReport
函数生成包含以下节的报告:
标题页面
目录
包含模型元素的“架构元素”章节
包含系统需求的“需求分析”章节
包含与模型相关的自定义视图和图的“视图和图”章节
您可以修改 generateArchitectureReport.m
文件以创建自定义系统架构设计报告。
generateArchitectureReport
函数使用这些报告 API 类中的对象来查找架构设计元素并报告设计情况:
slreportgen.report.Report
(Simulink Report Generator)
完整的 generateArchitectureReport
函数列在本示例末尾。
生成 InsulinInfusionPumpSystem
架构的 PDF 系统架构报告
打开 scExampleInsulinPumpSystem
工程。
prj = openProject("scExampleInsulinPumpSystem"); model_name = "InsulinInfusionPumpSystem";
为 InsulinInfusionPumpSystem
架构模型生成系统架构报告。指定该文件为 PDF 格式。
generateArchitectureReport(model_name, "pdf");
此函数在工程根文件夹中创建一个名为 InsulinInfusionPumpSystem Architecture Report.pdf
的新文件。
generateArchitectureReport
函数
您可以使用 systemcomposer.rptgen
命名空间中的报告器、查找器和结果类来自定义系统架构报告的内容。您可以使用这些对象的属性来过滤和格式化报告的信息。
以下是本示例中包含的 generateArchitectureReport
函数。
type generateArchitectureReport.m
function generateArchitectureReport(mdl, doctype) %GENERATEARCHITECTUREREPORT Generates a system architecture report from the %architecture model. % % generateArchitectureReport() generates a PDF system architecture report % for the InsulinInfusionPumpSystem architecture model. % % generateArchitectureReport(mdl) generates a PDF system architecture % report for the specified model. % % generateArchitectureReport(mdl, doctype) generates a system % architecture report from the specified model and document type: 'html', % 'docx', or 'pdf'. % % The generated document is a description of an architecture's % design generated from its System Composer architecture model. The % description contains the following sections: % % * Title Page % * Table of Contents % * Architecture Elements Chapter -- Contains each component in the % architecture model along with their connectors and each profile in the % architecture model along with their stereotypes and properties. % * Requirements Analysis Chapter -- Contains each requirement set linked % in the architecture model along with their implementations. % * Views and Diagrams Chapter -- Contains each view and sequence diagram % in the architecture model. import mlreportgen.report.* import slreportgen.report.* import slreportgen.finder.* import mlreportgen.dom.* import mlreportgen.utils.* import systemcomposer.query.* import systemcomposer.rptgen.finder.* if nargin < 1 mdl = "InsulinInfusionPumpSystem"; doctype = "pdf"; end if nargin < 2 doctype = "pdf"; end mdlHandle = systemcomposer.loadModel(mdl); % Find all file dependencies and create a cell array of file names files = (dependencies.fileDependencyAnalysis(mdl)'); files = convertCharsToStrings(files); [path, name, ext] = fileparts(files); files = name + ext; % Create a cell array of requirement set file names boolReqSet = contains(files, ".slreqx"); reqSetFiles = files(boolReqSet); rptFileName = mdl + " Architecture Report"; rpt = slreportgen.report.Report(OutputPath=rptFileName, ... Type=doctype, CompileModelBeforeReporting=false); open(rpt); makeTitlePage(rpt, mdlHandle); append(rpt, TableOfContents); makeIntroduction(rpt); makeArchitectureElements(rpt, mdlHandle); makeRequirementsAnalysis(rpt, reqSetFiles); makeViewsDiagrams(rpt, mdlHandle); close(rpt); close_system(mdl); rptview(rpt); end
另请参阅
工具
类
systemcomposer.rptgen.report.AllocationList
|systemcomposer.rptgen.report.AllocationSet
|systemcomposer.rptgen.report.Component
|systemcomposer.rptgen.report.Connector
|systemcomposer.rptgen.report.DependencyGraph
|systemcomposer.rptgen.report.Function
|systemcomposer.rptgen.report.Interface
|systemcomposer.rptgen.report.Profile
|systemcomposer.rptgen.report.RequirementLink
|systemcomposer.rptgen.report.RequirementSet
|systemcomposer.rptgen.report.SequenceDiagram
|systemcomposer.rptgen.report.Stereotype
|systemcomposer.rptgen.report.View