编写软件架构
System Composer™ 中的软件架构提供了编写由软件组件、端口和接口组成的软件架构模型的功能。使用 System Composer 设计软件架构模型,在架构层对设计进行仿真,并生成代码。
使用软件架构将 Simulink® 导出函数、基于速率或 JMAAB 模型与架构模型中的组件链接,以进行仿真和生成代码。
以下是与软件架构工作流相关的概念:
软件架构是基于软件系统的架构特化,包括对软件组合、组件函数及其调度的描述。
使用 System Composer 中的软件架构编写由软件组件、端口和接口组成的软件架构模型。设计软件架构模型、定义组件函数的执行顺序、在架构层面进行设计仿真并生成代码。
软件组件是针对软件实体(包括其接口)的组件特化。
将 Simulink 导出函数、基于速率或 JMAAB 模型实现为软件组件,对软件架构模型进行仿真并生成代码。
软件组合是由软件组件和连接器组成的图,表示一个组合软件实体,如模块或应用程序。
通过聚合或嵌套多个软件组件或组合来封装功能。
创建新的软件架构模型
编写软件架构模型的工作流与编写系统架构的工作流类似。从一个空白的软件架构模板开始建模。
您可以使用该函数以编程方式创建软件架构。
systemcomposer.createModel("mySoftwareArchitectureDesign","SoftwareArchitecture")
其中 mySoftwareArchitectureDesign
是新模型的名称。
您还可以使用 Simulink 启动页面中提供的模板。
选择软件架构模型。
System Composer 提供模板架构模型,可应对系统工程和软件架构建模中的不同领域:架构模型和软件架构模型。所有架构模型都提供相同的结构功能,但有一些领域和平台特定的约束。有关架构模板的详细信息,请参阅选择系统设计的架构模板。
从 Simulink 模型或 System Composer 架构模型中,在仿真选项卡上,选择新建 ,然后选择架构
。然后,选择软件架构模型。
System Composer 打开一个新的空软件架构模型。观察左上角的图标,该图标将空模型与系统架构区分开来。
在建模软件架构时,您可以:
构建一个简单的软件架构模型
将一个空组件拖到
mySoftwareArchitectureDesign
模型中。将这个简单的 Simulink 导出函数模型
export_model_software_architecture
链接到您的组件,方法是右键点击组件,然后选择链接到模型。有关构建此 Simulink 模型的更多信息,请参阅Create Export-Function Model。将组件输入端口和输出端口连接到架构输入端口和输出端口。
在此示例中,您从空白模板开始,创建一个简单的软件架构模型。要了解如何仿真软件架构模型并生成代码,请参阅仿真和部署软件架构。
导入和导出软件架构
您可以使用 systemcomposer.importModel
函数导入软件架构模型。
archModel = systemcomposer.importModel(modelName,importStruct)
如果 importStruct
的 domain
字段为 "Software"
,则 importModel
函数将根据 MATLAB® 表的结构创建一个新的软件架构。
要导出 System Composer 软件架构模型,请使用 systemcomposer.exportModel
函数。
exportedSet = systemcomposer.exportModel(modelName)
函数 exportModel
返回一个结构体,该结构体包含 MATLAB 表,该表包含 components
、ports
、connections
、portInterfaces
、requirementLinks
以及一个值为 'Software'
的 domain
字段,以指示导出的架构为软件架构。
有关导入和导出带函数的软件架构的更多信息,请参阅软件架构的导入和导出函数。
将架构导出为软件架构
从组件创建软件架构模型
您可以从 System Composer 架构模型中的现有组件创建软件架构模型。
从组件创建软件架构模型:
从架构模型中选择一个现有组件。在此示例中,选择了
Component2
。要从
Component2
创建软件架构模型,可以使用以下三种方法之一:右键点击组件,选择创建软件架构模型。
选择组件,然后在工具条上点击创建软件架构模型。
要以编程方式创建软件架构,请使用
createArchitectureModel
函数。
请观察左上角的软件架构模型图标。新软件架构包含组件中的所有元素,包括之前应用的构造型。
将架构导出到软件架构模型
要将模型导出到软件架构,请使用以下方法之一:
在工具栏的仿真选项卡上,点击保存按钮箭头,然后选择一个模型类型。
选择模型类型后,您可以指定新模型名称和目标文件夹。
使用
systemcomposer.exportToSoftwareArchitecture
函数以编程方式导出模型。
软件架构的约束与限制
使用软件架构模板的好处是能够应用软件领域的特定约束。为了完成基于模型的设计工作流,模板不支持使用以下元素:
Adapter 模块,应用接口转换为 UnitDelay 或 RateTransition。这些 Adapter 模块的应用接口转换为无。
物理端口。
软件架构模型模板不支持某些模型元素。这些元素包括:
具有 Stateflow® 图行为的组件。
与 Simulink 子系统、子系统引用或包含 FMU 模块的模块链接的 Reference Component 模块。
注意
有关将组件或架构保存为 AUTOSAR 架构的更多信息,请参阅Create AUTOSAR Architecture from System Composer Model (AUTOSAR Blockset)。
另请参阅
systemcomposer.createModel
| createArchitectureModel
| createSimulinkBehavior