主要内容

save

保存根据对模型或架构的分析而应用的接口字典迁移更改

自 R2022b 起

在 R2023b 中,引入了数据字典的“架构数据”部分。当管理接口、数据类型、常量和软件寻址方法时,请考虑改用 Simulink.dictionary.ArchitecturalData 编程接口。有关详细信息,请参阅Programmatically Manage AUTOSAR Architectural Data

说明

save(migratorObj) 保存根据 analyze 函数对模型或架构的分析应用的到接口字典的迁移。该分析会针对到接口字典的迁移,标识模型和数据字典中的数据类型和接口。该分析还会标识影响迁移的冲突问题。保存操作使更改在以下各项中持久存在:

  • 模型

  • 模型使用的任何数据字典及其层次结构

  • 接口字典

示例

示例

全部折叠

在创建 Simulink.interface.dictionary.Migrator 对象后,您可以针对到接口字典的迁移分析模型中的数据类型和接口内容,并应用迁移。要保存对接口字典的更改,请使用 save 函数。

选择链接到数据字典的模型或链接到接口字典的架构。请参阅下图。迁移的目标是向接口字典添加内容并链接模型和字典。

在链接源和数据迁移之前

Image of unlinked models, data dictionary, and interface dictionary

在此示例迁移中,不存在发生冲突的数据类型或接口。分析会标识:

  • 要迁移的数据类型是 MyAliasAliasOfMyAliasNonInterfaceBusLinkedAlias

  • 要迁移的接口是 MyBusAnotherMyBus

架构由 SWC1SWC2Composition 组成。架构使用 dDictionary.sldd --> dLinkedDictionary.sldd 的数据字典层次结构。

加载模型并加载基础工作区数据。

load_system("mArchitectureWithDataDictionary");
load('hWorkspaceData.mat',...
    'MyBus','AnotherMyBus','NonInterfaceBus');

创建一个 Simulink.interface.dictionary.Migrator 对象。

myMigratorObj = Simulink.interface.dictionary.Migrator( ...
    "mArchitectureWithDataDictionary", ...
    'InterfaceDictionaryName',"interfaceDictionary.sldd");

执行迁移分析并显示分析结果。

analyze(myMigratorObj);

disp('Imported interfaces')
cellfun(@(x) x.Name,myMigratorObj.InterfacesToMigrate, ...
    'UniformOutput',false)
disp('Imported datatypes')
cellfun(@(x) x.Name,myMigratorObj.DataTypesToMigrate, ...
    'UniformOutput',false)
disp('Objects in conflict')
cellfun(@(x) strcat(x{1}.Name,' -> ',x{1}.Source), ...
    myMigratorObj.ConflictObjects,'UniformOutput',false)
disp('Unused objects')
cellfun(@(x) x.Name,myMigratorObj.UnusedObjects, ...
    'UniformOutput',false)

应用迁移分析结果。

apply(myMigratorObj);

要保存接口字典,请使用 save 函数。要撤销应用迁移分析,请使用 revert 函数。

save(myMigratorObj);

在迁移(即应用步骤)后,模型和字典会彼此链接。请参阅下图。

在源已链接且数据已迁移后

Image of linked models, data dictionary, and interface dictionary

输入参数

全部折叠

Migrator 对象,由 Simulink.interface.dictionary.Migrator 函数指定。

版本历史记录

在 R2022b 中推出

全部折叠