メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

run

クラス: Advisor.Application
名前空間: Advisor

モデル コンポーネントに対するモデル アドバイザー解析の実行

構文

説明

run(app) は、Application オブジェクトによる指定に従って、モデル アドバイザー解析を実行します。

すべて展開する

Application オブジェクトを作成して、モデル アドバイザー解析を実行します。

Application オブジェクトを作成します。

app = Advisor.Manager.createApplication();

モデルを開き、ルートの解析を RootModel に設定します。

% Open the model
openExample('sldemo_mdlref_basic');

% Set root model to sldemo_mdlref_basic model
RootModel = 'sldemo_mdlref_basic';

% Set the Application object root analysis
setAnalysisRoot(app,'Root',RootModel);

モデル アドバイザー解析を実行します。

run(app);

この例では、モデル sldemo_mdlref_basic およびその参照モデル sldemo_mdlref_counter でチェック [ルート モデルの Inport ブロックの仕様をチェック] を実行する方法について説明します。

モデル例 sldemo_mdlref_basic を開きます。MATLAB® コマンド ウィンドウで次を入力します。

openExample("sldemo_mdlref_basic")

モデル sldemo_mdlref_basic は 3 つの Model ブロック CounterACounterB、および CounterC を含む親モデルです。これらのブロックは同じモデル sldemo_mdlref_counter を参照しています。このモデルは別個のモデルであり、sldemo_mdlref_basic のサブシステムではありません。

sldemo_mdlref_basic 内のモデル参照階層全体でモデル アドバイザー チェックを実行するために使用できる Advisor.Application オブジェクトを作成します。

app = Advisor.Manager.createApplication();

解析するモデルまたはサブシステムを指定します。この例では、モデル sldemo_mdlref_basic をモデル アドバイザー解析のルートとして指定します。

setAnalysisRoot(app,Root = "sldemo_mdlref_basic");

Advisor.Application オブジェクトの解析ルートとしてモデルを指定すると、モデル アドバイザーはそのモデルおよびすべての参照モデルを解析します。詳細については、setAnalysisRoot を参照してください。

チェック [ルート モデルの Inport ブロックの仕様をチェック] のみを実行するとします。

既定では、Advisor.Application オブジェクトは、現在のモデル アドバイザー構成で各チェック インスタンスを実行するように設定されており、すべてのチェック インスタンスが選択されています。チェック インスタンスをクリアして、すべてのチェック インスタンスをモデル アドバイザー解析から削除します。

deselectCheckInstances(app);

チェック インスタンス ID を確認して使用することで、モデル アドバイザーでチェック [ルート モデルの Inport ブロックの仕様をチェック] のみを実行するように指定します。

checkID = "mathworks.design.RootInportSpec";
instanceIDs = getCheckInstanceIDs(app,checkID);
instanceID = instanceIDs(1);
selectCheckInstances(app,ID = instanceID);

これで、モデル アドバイザー解析用にチェック [ルート モデルの Inport ブロックの仕様をチェック] が選択されました。

メソッド getCheckInstanceIDs は複数のチェック インスタンス ID を返します。これは、チェック [ルート モデルの Inport ブロックの仕様をチェック] がモデル アドバイザー ツリーの複数のフォルダーに存在しているためです。この例では、instanceIDgetCheckInstanceIDs から返された最初のチェック インスタンス ID として指定されていますが、getCheckInstanceIDs から返された任意のチェック インスタンス ID を選択できます。

メモ

あるいは、個別のチェックを選択するのではなくモデル アドバイザー構成ファイルを読み込む場合は、メソッド loadConfiguration を使用します。

モデル アドバイザー解析を実行します。

run(app);

モデル アドバイザーは、sldemo_mdlref_basicsldemo_mdlref_counter の両方でチェック [ルート モデルの Inport ブロックの仕様をチェック] を実行します。

モデル アドバイザー解析からの結果を取得します。

res = getResults(app);

モデル アドバイザー レポートを生成して表示します。

report = generateReport(app);
web(report);

モデル アドバイザー レポートは、sldemo_mdlref_basic および sldemo_mdlref_counter の結果の概要、およびモデルごとの個別のレポートへのハイパーリンクを提供します。

この例では、モデル slexVariantManagement のさまざまなバリアント選択でチェック [接続されていないライン、入力端子、出力端子を特定] を実行する方法を示します。

モデル例 slexVariantManagement を開きます。MATLAB コマンド ウィンドウで次を入力します。

openExample("slexVariantManagement")

モデル slexVariantManagement には、ControllerPlant など、複数の Variant Subsystem ブロックが含まれています。Variant Subsystem ブロック内には、該当するコンポーネントのさまざまな実装があります。

slexVariantManagement には、モデルに関連付けられているバリアント構成データ オブジェクト vcd に保存されている複数のバリアント構成があります。Advisor.Application オブジェクトでは、バリアント マネージャーを使用して作成したバリアント構成で、モデル内のアクティブおよび非アクティブなバリアント ブロックのモデル アドバイザー解析のみを実行できます。詳細については、Variant Manager for SimulinkおよびVariant Configurationsを参照してください。

モデル アドバイザー チェックを実行するために使用できる Advisor.Application オブジェクトを作成します。

app = Advisor.Manager.createApplication();

AnalyzeVariantstrue として指定し、Advisor.Application オブジェクトで slexVariantManagement のバリアント選択ごとにモデル アドバイザーを実行できるようにします。

app.AnalyzeVariants = true;

解析するモデルを指定します。この例では、モデル slexVariantManagement をモデル アドバイザー解析のルートとして指定します。

setAnalysisRoot(app,Root = "slexVariantManagement");

チェック [接続されていないライン、入力端子、出力端子を特定] のみを実行するとします。

既定では、Advisor.Application オブジェクトは、現在のモデル アドバイザー構成で各チェック インスタンスを実行するように設定されており、すべてのチェック インスタンスが選択されています。チェック インスタンスをクリアして、すべてのチェック インスタンスをモデル アドバイザー解析から削除します。

deselectCheckInstances(app);

チェック インスタンス ID を確認して使用することで、モデル アドバイザーでチェック [接続されていないライン、入力端子、出力端子を特定] を実行するように指定します。

checkID = "mathworks.design.UnconnectedLinesPorts";
instanceIDs = getCheckInstanceIDs(app,checkID);
instanceID = instanceIDs(1);
selectCheckInstances(app,ID = instanceID);

これで、モデル アドバイザー解析用にチェック [接続されていないライン、入力端子、出力端子を特定] が選択されました。

メソッド getCheckInstanceIDs は複数のチェック インスタンス ID を返します。これは、チェック [接続されていないライン、入力端子、出力端子を特定] がモデル アドバイザー ツリーの複数のフォルダーに存在しているためです。この例では、instanceIDgetCheckInstanceIDs から返された最初のチェック インスタンス ID として指定されていますが、getCheckInstanceIDs から返された任意のチェック インスタンス ID を選択できます。

メモ

あるいは、個別のチェックを選択するのではなくモデル アドバイザー構成ファイルを読み込む場合は、メソッド loadConfiguration を使用します。

モデル アドバイザー解析を実行します。

run(app);

モデル アドバイザーは、モデルおよび参照モデルで両方のアクティブなバリアントのチェックを実行します。

モデル アドバイザー解析からの結果を取得します。

res = getResults(app);

モデル アドバイザー レポートを生成して表示します。

report = generateReport(app);
web(report);

モデル アドバイザー レポートは、slexVariantManagement の結果の概要、およびバリアントごとの個別のレポートへのハイパーリンクを提供します。

入力引数

すべて展開する

モデル アドバイザーのアプリケーション オブジェクト。Advisor.Application オブジェクトとして指定します。Advisor.Application オブジェクトを使用して、モデル参照階層に対してモデル アドバイザー チェックを実行できます。メソッド Advisor.Manager.createApplication を使用して Advisor.Application オブジェクトを作成します。

バージョン履歴

R2015b で導入