主要内容

updateModel

使用 ARXML 更改更新 AUTOSAR 模型或架构

说明

updateModel(ar,modelName) 使用与 arxml.importer 对象 ar 关联的 AUTOSAR XML (ARXML) 文件中的更改更新指定的开放式模型或架构。ARXML 文件必须包含模型映射的 AUTOSAR 软件组件,并且必须适合代码生成。

在将 ARXML 文件的当前版本与以前版本进行比较时,比较例程按以下顺序应用这些规则:

  1. 如果元素具有相同的 UUID 和类型,则元素匹配。函数不更新模型。

  2. 如果元素具有不同 UUID,则元素不匹配。函数使用 ARXML 更改更新模型。

  3. 如果元素具有相同的限定名称,则元素匹配。函数不更新模型。

  4. 否则,元素不匹配。函数使用 ARXML 更改更新模型。

更新器生成并打开报告,其中详细说明对模型所做的更改以及函数未完成的必需更改。您可以使用 OpenReport 参量控制是否打开此报告。

AUTOSAR 包结构更新会影响存储的 AR-PACKAGE 结构,并应用于将来的导出。导入的包结构更新不会影响 AUTOSAR 字典包路径 XML 选项。XML 包路径选项适用于在 Simulink® 中创建的 AUTOSAR 元素,而不是导入的元素。

仅为 AUTOSAR Classic 平台配置的模型和架构支持此函数。

示例

updateModel(___,Name=Value) 使用一个或多个名称-值参量指定选项。例如,要指定在更新过程完成时打开 AUTOSAR 更新报告,请将 OpenReport 设置为 "on"

示例

示例

全部折叠

使用 ARXML 文件 updatedSWC.arxml 中所述的更改更新模型 mySWC,然后打开 AUTOSAR 更新报告。

open_system("mySWC")
ar = arxml.importer("updatedSWC.arxml");
updateModel(ar,"mySWC",OpenReport="on");
### Updating model mySWC
### Saving original model as mySWC_backup.slx
### Creating HTML report mySWC_update_report.html

使用 updatedArchModel.arxml 中所述的 ARXML 更改更新架构模型 myArchModel,然后打开 AUTOSAR 更新报告。

arModel = autosar.arch.loadModel("ControllerArchitecture");
impObj = arxml.importer("ControllerArchitecture.arxml");
updateModel(impObj,arModel)
### Updating model autosar_tpc_controller_bus
### Saving original model as autosar_tpc_controller_bus_backup_1.slx
### Creating HTML report autosar_tpc_controller_bus_update_report.html
Updated model 'autosar_tpc_controller_bus' for component 1 of 1: /Components/autosar_tpc_controller_bus
### Saving original model as ControllerArchitecture_backup.slx
Updating composition 1 of 1: /Components/ControllerArchitecture
### Creating HTML report ControllerArchitecture_update_report.html 

输入参数

全部折叠

包含先前从 ARXML 文件导入的 AUTOSAR 信息的 arxml.importer 的句柄。

要使用与 arxml.importer 对象关联的 ARXML 文件中的更改更新打开模型或架构的名称,指定为字符向量或字符串标量。

示例: "mySWC"

名称-值参数

全部折叠

将可选参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。

示例: updateModel(ar,"myModel",OpenReport="off")

用于在更新模型后打开 AUTOSAR 更新报告的选项,指定为 "on""off"

  • "on" - 报告打开。

  • "off" - 报告不打开。

示例: updateModel(ar,"myControllerModel",OpenReport="off")

ARXML 文件中预定义变体的路径,指定为字符向量元胞数组或字符串数组。预定义变体描述要应用于 AUTOSAR 软件组件的可能多个有效系统常量值组合之一。使用此参量在模型创建时解析 AUTOSAR 软件组件中的变化点。如果指定,导入器将使用预定义变体来初始化作为控制变化点输入的软件系统常量数据。

有关详细信息,请参阅Control AUTOSAR Variants with Predefined Value Combinations

示例: PredefinedVariant="/pkg/body/Variants/Senior"

ARXML 文件中定义的一个或多个系统常量值集的路径。系统常量值集指定要应用于 AUTOSAR 软件组件的一组系统常量值。使用此参量在模型创建时解析 AUTOSAR 软件组件中的变化点。如果指定,导入器将使用系统常量值集初始化作为控制变化点输入的系统常量数据。

有关详细信息,请参阅Control AUTOSAR Variants with Predefined Value Combinations

示例: SystemConstValueSets={'/pkg/body/SystemConstantValues/A','/pkg/body/SystemConstantValues/B'}

限制

您可以将端口分支到多个可运行系统。如果 ARXML 更新删除了对某些(但非全部)访问端口的可运行实体的数据访问,则软件不会更新模型画布,并且 AUTOSAR 更新报告不会指示更改。受影响的可运行系统上的连接器和端口必须被手动删除。

详细信息

全部折叠

版本历史记录

在 R2014a 中推出

全部展开