从 ARXML 导入 AUTOSAR 组合
在创建 AUTOSAR 架构模型后,开发顶层 AUTOSAR 软件设计。组合编辑器提供基于 AUTOSAR 虚拟功能总线 (VFB) 的 AUTOSAR 软件架构的视图。
如果您有 AUTOSAR 软件组合的 ARXML 描述,可以将该组合导入 AUTOSAR 架构模型中。该导入会在架构模型的顶层创建该组合的 Simulink® 表示。
导入组合需要一个打开的不包含功能内容的 AUTOSAR 架构模型。要导入组合,请打开 AUTOSAR 导入器或调用架构函数 importFromARXML。
如果您没有要导入的 ARXML 描述,可以使用组合编辑器添加并连接 AUTOSAR 软件组合和组件。请参阅Add and Connect AUTOSAR Classic Components and Compositions或Add and Connect AUTOSAR Adaptive Components and Compositions。
使用 AUTOSAR 导入器导入 AUTOSAR 组合
本节中的示例描述如何导入经典架构组合。导入自适应组合的工作流与之相同。
要将 AUTOSAR 软件组合从 ARXML 文件导入架构模型中,请执行以下操作:
创建或打开一个不包含功能内容的 AUTOSAR 架构模型。
archModel = autosar.arch.createModel("myArchModel");默认情况下,
autosar.arch.createModel会创建一个适用于 Classic 平台的 AUTOSAR 架构模型。要指定 Adaptive 平台或显式指定 Classic 平台,请使用platform名称-值参量。不支持在同一架构模型中混合使用 Classic 组件和 Adaptive 组件。archModel = autosar.arch.createModel("myArchModel","platform","Classic");
在建模选项卡的平台部分中,注意架构模型的平台类型。
如果需要,请在导入 ARXML 文件之前更改平台类型。
在建模选项卡的组件部分中,选择从 ARXML 导入。
在 AUTOSAR 导入器中,在选择 ARXML 窗格的 ARXML 文件字段中,输入描述 AUTOSAR 软件组合的一个或多个 ARXML 文件的名称(以逗号分隔)。
对于此示例,使用
ThrottlePositionControlComposition.arxml导入经典架构组合。openExample('autosarblockset/ImportAUTOSARComponentToSimulinkExample',... 'supportingfile','ThrottlePositionControlComposition.arxml');

点击 Next。App 会解析指定的 ARXML 文件。
在创建组合窗格中,组合名称菜单列出了在解析的 ARXML 文件中找到的组合。选择组合
/Company/Components/ThrottlePositionControlComposition。(可选)要查看组合创建的额外建模选项,请选择配置建模选项。

您可以指定:
Simulink 数据字典,用于放置导入的 AUTOSAR 数据类型的数据对象。
现有 Simulink 行为模型的名称,用于链接到导入的 AUTOSAR 组件。
在导入经典组合时,您可以额外指定:
是包含还是排除定义组合行为的 AUTOSAR 软件组件。默认情况下,导入包括组合内的组件。
为导入的 AUTOSAR 软件组件创建 Simulink 行为模型时应用的组件选项。例如,如何对周期性可运行实体进行建模,或对用于解析组件变化点的
PredefinedVariant或SwSystemconstantValueSet进行建模。
有关建模选项和行为的详细信息,请参阅
importFromARXML。要完成将组合导入架构模型的操作,请点击完成。诊断查看器显示组合创建的进度。
完成后,导入的组合将出现在软件架构画布中。

由于此组合导入配置为包括 AUTOSAR Classic 软件组件(建模选项从导入中排除内部行为处于清除状态),因此导入为组合中的每个组件都创建了 Simulink 模型。
接下来,您需要开发该组合中的每个组件。对于每个组件模型,您需要细化 AUTOSAR 配置并创建算法模型内容。有关开发组件算法的示例,请参阅Design and Simulate AUTOSAR Components and Generate Code中的“开发 AUTOSAR 组件算法”一节。
通过调用 importFromARXML 导入 AUTOSAR 组合
本节中的示例描述如何导入经典架构组合。导入自适应组合的工作流与之相同。
您可以使用 openExample 命令来访问 AUTOSAR Classic ARXML 文件 ThrottlePositionControlComposition.arxml。
openExample('autosarblockset/ImportAUTOSARComponentToSimulinkExample',... 'supportingfile','ThrottlePositionControlComposition.arxml');
要以编程方式将 AUTOSAR 软件组合从 ARXML 文件导入架构模型,请调用 importFromARXML 函数。此示例:
创建 AUTOSAR 架构模型
myArchModel。将软件组合
/Company/Components/ThrottlePositionControlComposition从 AUTOSAR 示例文件ThrottlePositionControlComposition.arxml导入架构模型。
% Create AUTOSAR architecture model modelName = "myArchModel"; archModel = autosar.arch.createModel(modelName); % Defaults to the Classic Platform % Import composition from file ThrottlePositionControlComposition.arxml importerObj = arxml.importer("ThrottlePositionControlComposition.arxml"); % Parse ARXML importFromARXML(archModel,importerObj,... "/Company/Components/ThrottlePositionControlComposition");
Creating model 'ThrottlePositionSensor' for component 1 of 5: /Company/Components/ThrottlePositionSensor Creating model 'ThrottlePositionMonitor' for component 2 of 5: /Company/Components/ThrottlePositionMonitor Creating model 'Controller' for component 3 of 5: /Company/Components/Controller Creating model 'AccelerationPedalPositionSensor' for component 4 of 5: /Company/Components/AccelerationPedalPositionSensor Creating model 'ThrottlePositionActuator' for component 5 of 5: /Company/Components/ThrottlePositionActuator Importing composition 1 of 1: /Company/Components/ThrottlePositionControlComposition
有关导入选项和行为的详细信息,请参阅 importFromARXML 参考页。
另请参阅
主题
- Import AUTOSAR Composition into Architecture Model
- Add and Connect AUTOSAR Classic Components and Compositions
- Add and Connect AUTOSAR Adaptive Components and Compositions
- Define AUTOSAR Component Behavior by Creating or Linking Models
- Create Profiles Stereotypes and Views for AUTOSAR Architecture Analysis
- 将 AUTOSAR 组件链接到需求
- 在架构模型中创建 AUTOSAR 组合和组件
- Configure AUTOSAR Architecture Model Programmatically