Main Content

revert

モデルまたはアーキテクチャの解析に基づいて適用されたインターフェイス ディクショナリ移行の変更を元に戻す

R2022b 以降

説明

revert(migratorObj) は、インターフェイス ディクショナリに移行されたデータ型とインターフェイスの競合を解決する変更を元に戻します。これらの競合は、関数 analyze による移行の解析で識別されます。

すべて折りたたむ

Simulink.interface.dictionary.Migrator オブジェクトを作成した後、モデル内のデータ型とインターフェイスの内容を解析してインターフェイス ディクショナリへの移行対象を調べ、移行を適用できます。

データ ディクショナリにリンクされたモデル、またはインターフェイス ディクショナリにリンクされたアーキテクチャを選択します。図を参照してください。移行の目標は、内容をインターフェイス ディクショナリに追加し、モデルとディクショナリをリンクすることです。

ソースがリンクされていないデータ移行前の状態

Image of unlinked models, data dictionary, and interface dictionary

この例では、移行に際して競合するデータ型またはインターフェイスはありません。解析で次のように識別されます。

  • 移行するデータ型は MyAliasAliasOfMyAliasNonInterfaceBus、および LinkedAlias です。

  • 移行するインターフェイスは MyBusAnotherMyBus です。

アーキテクチャは SWC1SWC2、および Composition で構成されています。アーキテクチャで使用されているデータ ディクショナリ階層は 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);

移行 (適用ステップ) が完了すると、モデルとディクショナリがリンクされます。図を参照してください。

ソースがリンクされたデータ移行後の状態

Image of linked models, data dictionary, and interface dictionary

インターフェイス ディクショナリへの移行を元に戻して変更前のソースの状態に戻すには、関数 revert を使用します。移行と変更を保持するには、関数 save を使用します。

revert(myMigratorObj);

移行を元に戻した後のソースのリンクが解除されてデータ移行前に戻った状態

Image of unlinked models, data dictionary, and interface dictionary

入力引数

すべて折りたたむ

Migrator オブジェクト。関数 Simulink.interface.dictionary.Migrator で指定します。

バージョン履歴

R2022b で導入

すべて展開する