主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

编写软件架构

System Composer™ 中的软件架构提供了编写由软件组件、端口和接口组成的软件架构模型的功能。使用 System Composer 设计软件架构模型,在架构层对设计进行仿真,并生成代码。

使用软件架构将 Simulink® 导出函数、基于速率或 JMAAB 模型与架构模型中的组件链接,以进行仿真和生成代码。

以下是与软件架构工作流相关的概念:

  • 软件架构是基于软件系统的架构特化,包括对软件组合、组件函数及其调度的描述。

    使用 System Composer 中的软件架构编写由软件组件、端口和接口组成的软件架构模型。设计软件架构模型、定义组件函数的执行顺序、在架构层面进行设计仿真并生成代码。

  • 软件组件是针对软件实体(包括其接口)的组件特化。

    将 Simulink 导出函数、基于速率或 JMAAB 模型实现为软件组件,对软件架构模型进行仿真并生成代码。

  • 软件组合是由软件组件和连接器组成的图,表示一个组合软件实体,如模块或应用程序。

    通过聚合或嵌套多个软件组件或组合来封装功能。

创建新的软件架构模型

编写软件架构模型的工作流与编写系统架构的工作流类似。从一个空白的软件架构模板开始建模。

您可以使用该函数以编程方式创建软件架构。

systemcomposer.createModel("mySoftwareArchitectureDesign","SoftwareArchitecture")

其中 mySoftwareArchitectureDesign 是新模型的名称。

您还可以使用 Simulink 启动页面中提供的模板。

选择软件架构模型

Software architecture template in Simulink start page

System Composer 提供模板架构模型,可应对系统工程和软件架构建模中的不同领域:架构模型软件架构模型。所有架构模型都提供相同的结构功能,但有一些领域和平台特定的约束。有关架构模板的详细信息,请参阅选择系统设计的架构模板

从 Simulink 模型或 System Composer 架构模型中,在仿真选项卡上,选择新建 New model,然后选择架构 。然后,选择软件架构模型

System Composer 打开一个新的空软件架构模型。观察左上角的图标,该图标将空模型与系统架构区分开来。

Empty software architecture model

在建模软件架构时,您可以:

构建一个简单的软件架构模型

  1. 将一个空组件拖到 mySoftwareArchitectureDesign 模型中。

    Added component to a software architecture

  2. 将这个简单的 Simulink 导出函数模型 export_model_software_architecture 链接到您的组件,方法是右键点击组件,然后选择链接到模型。有关构建此 Simulink 模型的更多信息,请参阅Create Export-Function Model

    Simulink Export-Function model

  3. 将组件输入端口和输出端口连接到架构输入端口和输出端口。

    Software architecture with a component linked to an Export-Function model.

在此示例中,您从空白模板开始,创建一个简单的软件架构模型。要了解如何仿真软件架构模型并生成代码,请参阅仿真和部署软件架构

导入和导出软件架构

您可以使用 systemcomposer.importModel 函数导入软件架构模型。

archModel = systemcomposer.importModel(modelName,importStruct)

如果 importStructdomain 字段为 "Software",则 importModel 函数将根据 MATLAB® 表的结构创建一个新的软件架构。

要导出 System Composer 软件架构模型,请使用 systemcomposer.exportModel 函数。

exportedSet = systemcomposer.exportModel(modelName)

函数 exportModel 返回一个结构体,该结构体包含 MATLAB 表,该表包含 componentsportsconnectionsportInterfacesrequirementLinks 以及一个值为 'Software'domain 字段,以指示导出的架构为软件架构。

有关导入和导出带函数的软件架构的更多信息,请参阅软件架构的导入和导出函数

将架构导出为软件架构

从组件创建软件架构模型

您可以从 System Composer 架构模型中的现有组件创建软件架构模型。

从组件创建软件架构模型:

  1. 从架构模型中选择一个现有组件。在此示例中,选择了 Component2

    Architecture model with two components, Component1 and Component2

  2. 要从 Component2 创建软件架构模型,可以使用以下三种方法之一:

    1. 右键点击组件,选择创建软件架构模型

    2. 选择组件,然后在工具条上点击创建软件架构模型

      Create Software Architecture button in the toolstrip.

    3. 要以编程方式创建软件架构,请使用 createArchitectureModel 函数。

  3. 请观察左上角的软件架构模型图标。新软件架构包含组件中的所有元素,包括之前应用的构造型。

    Software architecture model icon on the upper left corner.

将架构导出到软件架构模型

要将模型导出到软件架构,请使用以下方法之一:

  • 在工具栏的仿真选项卡上,点击保存按钮箭头,然后选择一个模型类型。

    Save drop-down menu with emphasis on the Export Model To section.

    选择模型类型后,您可以指定新模型名称目标文件夹

  • 使用 systemcomposer.exportToSoftwareArchitecture 函数以编程方式导出模型。

软件架构的约束与限制

使用软件架构模板的好处是能够应用软件领域的特定约束。为了完成基于模型的设计工作流,模板不支持使用以下元素:

  • Adapter 模块,应用接口转换为 UnitDelayRateTransition。这些 Adapter 模块的应用接口转换为

  • 物理端口。

软件架构模型模板不支持某些模型元素。这些元素包括:

  • 具有 Stateflow® 图行为的组件。

  • 与 Simulink 子系统、子系统引用或包含 FMU 模块的模块链接的 Reference Component 模块。

注意

有关将组件或架构保存为 AUTOSAR 架构的更多信息,请参阅Create AUTOSAR Architecture from System Composer Model (AUTOSAR Blockset)

另请参阅

| |

主题