このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
サロゲート モジュールを使用した Simulink モデルと IBM DOORS データベースの同期
Simulink モデルの同期によるサロゲート モジュールの作成
最初にモデルを DOORS® ソフトウェアで同期すると、DOORS ソフトウェアはサロゲート モジュールを作成します。
このチュートリアルでは、sf_car
モデルと DOORS ソフトウェアを同期します。
メモ
この作業を始める前に、Simulink® モデル オブジェクトから DOORS データベース内の要件へのリンクを作成する方法を習得している必要があります。
サロゲート モジュールを作成するには、DOORS ソフトウェアを起動してプロジェクトを開きます。DOORS ソフトウェアがまだ起動していない場合は、DOORS ソフトウェアを起動してプロジェクトを開きます。
sf_car
モデルを開きます。openExample('sf_car.slx')
モデルの名前を
sf_car_doors
に変更して、書き込み可能なフォルダーにモデルを保存します。sf_car_doors
にある次の 2 つのオブジェクトから DOORS の正式なモジュールへのリンクを作成します。Transmission サブシステム
Engine サブシステム内の engine torque ブロック
変更をモデルに保存します。
sf_car
モデルで、[アプリ] タブに移動し、[要件マネージャー] を開きます。[要件] タブで [共有] 、 [DOORS と同期] を選択します。
[DOORS 同期設定] ダイアログ ボックスが開きます。
このチュートリアルでは、既定の同期オプションをそのまま使用します。
[リンクのあるオブジェクトへのマッピングの追加] の既定のオプションは
[なし]
であるため、オブジェクトが作成されるのは、該当のモデルと DOORS 要件へのリンクをもつモデル オブジェクトのサロゲート モジュールだけです。メモ
同期オプションの詳細については、IBM DOORS の同期のカスタマイズを参照してください。
[同期] をクリックすると、
sf_car_doors
モデルのオブジェクトへのリンクがあるすべての DOORS 要件のサロゲート モジュールが作成され、開きます。[
None
] オプションで同期すると、サロゲート モジュール (sf_car_doors
という正式なモジュール) には次のオブジェクトが含まれます。モデルの最上位オブジェクト (
sf_car_doors
)DOORS 要件へのリンクがあるモデル オブジェクト (transmission、engine torque) とその親オブジェクト (Engine) を表すオブジェクト
サロゲート モジュールとモデルを保存します。
サロゲート モジュールと IBM DOORS データベースの正式なモジュール間のリンクの作成
サロゲート モジュールは要件がある DOORS の正式なモジュールと Simulink モデルの間のインターフェイスです。サロゲート モジュールと要件モジュールの間のリンクを作成するには、リンクの情報をモデルからサロゲート モジュールにコピーします。
sf_car_doors
モデルを開きます。[要件] タブで [共有] 、 [DOORS と同期] を選択します。
[DOORS 同期設定] ダイアログ ボックスで、次の 2 つのオプションを選択します。
同期中にリンクを更新
Simulink から DOORS へ
[同期] をクリックします。
DOORS サロゲート モジュールから正式なモジュールへのリンクが作成されます。これらのリンクは Simulink モデルから正式なモジュールへのリンクに対応します。この例では、赤色の三角形で示すように、DOORS ソフトウェアにより engine torque ブロックと transmission サブシステムから正式なモジュールへのリンクがコピーされます。
IBM DOORS サロゲート モジュールの再同期によるモデルの変更の反映
同期後にモデルを変更しても、RMI では警告メッセージは表示されません。サロゲート モジュールに Simulink モデルへの変更を反映するには、モデルを再同期します。
このチュートリアルでは、sf_car_doors
モデルに新しいブロックを追加してからこのブロックを削除し、各手順の後で再同期を行います。
sf_car_doors
モデルで、vehicle mph (yellow) & throttle % Scope ブロックをコピーし、モデルに貼り付けます。新しい Scope ブロックの名前は vehicle mph (yellow) & throttle %1 です。[要件] タブで [共有] 、 [DOORS と同期] を選択します。
[DOORS 同期設定] ダイアログ ボックスで、[リンクのあるオブジェクトへのマッピングの追加] オプションを
[完全 - すべてのブロック、サブシステム、ステートおよび遷移]
に設定します。[同期] をクリックします。同期が完了すると、サロゲート モジュールに新しいブロックが追加されます。
sf_car_doors
モデルで、新しく追加された Scope ブロックを削除して再同期します。削除したブロックが、サロゲート モジュール内のオブジェクトの一覧の最後に表示されます。このブロックの [Block Deleted] 列の値は
True
になっています。サロゲート モジュールを保存します。
sf_car_doors
モデルを保存します。
サロゲート モジュールによる移動
要件と DOORS データベースのサロゲート モジュールの間での移動
サロゲート モジュールと正式なモジュールの要件はどちらも DOORS データベースにあります。モデルを同期すると、DOORS ソフトウェアはサロゲート モジュール オブジェクトと DOORS データベースの要件との間のリンクを作成します。
要件とサロゲート モジュールの間で移動できるようにすると、Simulink ソフトウェアを起動しなくてもモデルへのリンクがある要件を確認できます。
サロゲート モジュールの transmission オブジェクトから正式なモジュール内の要件に移動するには、次の手順に従います。
transmission サブシステムのサロゲート モジュール オブジェクトで赤色の右向き矢印を右クリックします。
要件名を選択します。
正式なモジュールが
Transmission Requirements
オブジェクトで開きます。
正式なモジュール内の要件からサロゲート モジュールに移動するには、次の手順に従います。
正式なモジュールの
Transmission Requirements
オブジェクトでオレンジ色の左向き矢印を右クリックします。オブジェクト名を選択します。
sf_car_doors
のサロゲート モジュールが、transmission
サブシステムに関連付けられたオブジェクトで開きます。
サロゲート モジュールを介した DOORS 要件と Simulink モジュールの間での移動
Simulink オブジェクトから DOORS 要件への移動と DOORS 要件からモデルへの移動を行うためのリンクを作成することができます。モデルを同期すると、サロゲート モジュールは双方向の移動の媒介として機能します。サロゲート モジュールを使用すると、モデル オブジェクトから DOORS の正式なモジュールへの直接リンクが削除されても、双方向の移動が可能です。
サロゲート モジュールを使用した Simulink オブジェクトから要件への移動. sf_car_doors
モデルの transmission サブシステムから DOORS の正式なモジュールの要件に移動するには、次の手順に従います。
sf_car_doors
モデルの transmission サブシステムを右クリックし、[要件] 、 [1. "DOORS サロゲート項目"] を選択します (DOORS の正式なモジュールへの直接リンクも使用できます)。サロゲート モジュールが、transmission サブシステムに関連付けられたオブジェクトで開きます。
要件を個別に表示するには、サロゲート モジュールで、赤色の右向き矢印を右クリックし、要件を選択します。
正式なモジュールが
Transmission Requirements
で開きます。
サロゲート モジュールを使用した要件からモデルへの移動. 正式なモジュールの Transmission Requirements
要件から sf_car_doors
モデルの transmission サブシステムに移動するには、次の手順に従います。
正式なモジュールの
Transmission Requirements
オブジェクトで、オレンジ色の左向き矢印を右クリックします。リンクされたサロゲート オブジェクトのパス [/sf_car Project/sf_car_doors] 、 [4. transmission] を選択します。
サロゲート モジュールが transmission オブジェクトで開きます。
サロゲート モジュールで、[MATLAB] 、 [Select item] を選択します。
リンクされたオブジェクトが
sf_car_doors
で強調表示されます。
IBM DOORS の同期のカスタマイズ
DOORS の同期の設定
Simulink モデルを DOORS データベースと同期する際に、次のことができます。
サロゲート モジュールの詳細レベルをカスタマイズする。
サロゲート モジュールまたはモデル内のリンクを更新し、モデル、サロゲート モジュール、正式なモジュールの間の要件リンクの整合性を確認する。
[DOORS 同期設定] ダイアログ ボックスでは、同期時に次のオプションを使用できます。
DOORS の設定オプション | 説明 |
---|---|
DOORS サロゲート モジュールのパスと名前 | 新規または既存のサロゲート モジュールの一意の DOORS パスを指定します。 要件ドキュメントへのパスを RMI が解決する方法の詳細については、ドキュメント パス ストレージを参照してください。 |
リンクのあるオブジェクトへのマッピングの追加 | DOORS サロゲート モジュール内の Simulink モデル表現の完全性を決定します。[ |
同期中にリンクを更新 | [不一致リンクをコピー] オプションと [不一致リンクを削除] オプションの設定に従い、同期中に RMI で検出されるすべての不一致リンクを更新するように指定します。 |
不一致リンクをコピー | 同期時に次の各オプションを選択すると、次の結果が得られます。
|
不一致リンクを削除 | 同期時に次の各オプションを選択すると、次の結果が得られます。
|
DOORS サロゲート モジュールの保存 | 同期の後に、サロゲート モジュールに対する変更が保存され、DOORS データベース内でサロゲート モジュールのバージョンが更新されます。 |
Simulink モデルの保存 (推奨) | 同期の後に、変更をモデルに保存します。バージョン管理システムを使用している場合、このオプションを選択するとモデルのバージョンが変更されます。 |
別のサロゲート モジュールによるモデルの再同期
同じ Simulink モデルを新しい DOORS サロゲート モジュールで同期することができます。たとえば、モデル内のすべてのオブジェクトではなく、DOORS の要件をもつオブジェクトだけをサロゲート モジュール内に保存するとします。この場合、同期オプションを変更して、サロゲート モジュールの詳細レベルを低くすることができます。
[DOORS 同期設定] ダイアログ ボックスで、[DOORS サロゲート モジュールのパスと名前] を DOORS データベース内の新しいサロゲート モジュールのパスと名前に変更します。
モジュールを、相対パス (
./
で開始) または絶対パス (/
で開始) で指定します。相対パスは現在の DOORS プロジェクトに追加されます。絶対パスの場合、プロジェクトとモジュール名を指定しなければなりません。
モデルを同期させると、[DOORS サロゲート モジュールのパスと名前] が自動的に更新され、実際の絶対パスが入力されます。RMI では一意のモジュール ID が付いて保存されます。
新しいモジュールのパスを選択した場合やサロゲート モジュールの名前を変更した場合に [同期] をクリックすると、[要件: サロゲート モジュールの不一致] ダイアログ ボックスが開きます。
[続行] をクリックすると、新しいパスまたは名前で新しいサロゲート モジュールが作成されます。
同期の詳細レベルのカスタマイズ
サロゲート モジュールの詳細レベルをカスタマイズして、モジュールに Simulink モデルの階層構造の全体または一部を反映させることができます。
Simulink モデルの同期によるサロゲート モジュールの作成では、[リンクのあるオブジェクトへのマッピングの追加] オプションを [なし]
に設定してモデルを同期しました。その結果、サロゲート モジュールには要件リンクがある Simulink オブジェクトとその親オブジェクトのみが含まれます。この節で説明する他の同期オプションを使用すると、サロゲート モジュールの詳細レベルを上げることができます。サロゲート モジュールの詳細レベルを上げると、同期の速度が低下する場合があります。
[リンクのあるオブジェクトへのマッピングの追加] オプションには次のいずれかの値を設定できます。いずれのオプションを選択した場合でも、Simulink オブジェクトがサロゲート モジュールに追加されます。[なし]
を選択すると、サロゲート モジュールのサイズを最小限に抑えることができます。[完了]
を選択すると、モデルの完全な表現が作成されます。[完了]
オプションを選択した場合、すべての Simulink オブジェクトがサロゲート モジュールに追加され、Simulink モデルの 1 対 1 マッピングがサロゲート モジュール内に作成されます。中間の各オプションではレベルをより詳細に設定できます。
ドロップダウン リスト オプション | 説明 |
---|---|
なし (パフォーマンス向上のため推奨) | 要件リンクがある Simulink オブジェクトとその親オブジェクトのみをサロゲート モジュールにマッピングします。 |
最小限 - 空でないマスク解除されたサブシステムおよび Stateflow チャート | 空でない Stateflow® チャートとマスク解除された Simulink サブシステムすべてをサロゲート モジュールに追加します。 |
中程度 - マスク解除されたサブシステム、Stateflow チャートおよびスーパーステート | Stateflow スーパーステートをサロゲート モジュールに追加します。 |
平均 - 重要な Simulink ブロック、Stateflow チャートおよびステート | すべての Stateflow チャートおよびステートと Simulink ブロック (端子、バス オブジェクト、データ型コンバーターなどの自明なブロックを除く) をすべてサロゲート モジュールに追加します。 |
広範囲 - すべてのマスク解除されたブロック、サブシステム、ステートおよび遷移 | マスクが解除されたブロック、サブシステム、ステート、遷移のすべてをサロゲート モジュールに追加します。 |
完全 - すべてのブロック、サブシステム、ステートおよび遷移 | ブロック、サブシステム、ステート、遷移をすべてサロゲート モジュールにコピーします。 |
再同期によるすべての Simulink オブジェクトの追加
このチュートリアルでは、"すべての" Simulink オブジェクトを DOORS サロゲート モジュールに追加する方法を示します。この手順を始める前に、Simulink モデルの同期によるサロゲート モジュールの作成とサロゲート モジュールと IBM DOORS データベースの正式なモジュール間のリンクの作成の各チュートリアルを必ず完了してください。
Simulink モデルの同期によるサロゲート モジュールの作成とサロゲート モジュールと IBM DOORS データベースの正式なモジュール間のリンクの作成で同期した
sf_car_doors
モデルを開きます。[要件] タブで [共有] 、 [DOORS と同期] を選択します。
[DOORS 同期設定] ダイアログ ボックスが開きます。
同じサロゲート モジュールと再同期します。このときに、[DOORS サロゲート モジュールのパスと名前] に指定されているサロゲート モジュールのパスと名前が、Simulink モデルの同期によるサロゲート モジュールの作成で使用したものと同じであることを確認します。
要件ドキュメントへのパスを RMI が解決する方法の詳細については、ドキュメント パス ストレージを参照してください。
サロゲート モジュールを更新して、すべてのオブジェクトをモデルに追加します。この操作を行うには、[リンクのあるオブジェクトへのマッピングの追加] のドロップダウン リストで
[完全 - すべてのブロック、サブシステム、ステートおよび遷移]
を選択します。[同期] をクリックします。
同期が完了すると、
sf_car_doors
モデルの DOORS サロゲート モジュールが更新されて開きます。sf_car_doors
モデルのすべての Simulink オブジェクトとすべての Stateflow オブジェクトがサロゲート モジュールにマッピングされています。サロゲート モジュール内でスクロールします。要件があるオブジェクト (engine torque ブロックと transmission サブシステム) では、赤色の三角形が示すように、DOORS の正式なモジュールへのリンクが保持されています。
サロゲート モジュールを保存します。
作成したサロゲート モジュールの詳細情報. 再同期によるすべての Simulink オブジェクトの追加で作成したサロゲート モジュールについて、以下の情報がわかります。
サロゲート モジュールの名前は、[DOORS 同期設定] ダイアログ ボックスで指定したとおり
sf_car_doors
です。DOORS オブジェクトのヘッダーは、対応する Simulink オブジェクトの名前になっています。
[ブロック タイプ] 列では、各オブジェクトが特定のブロック タイプまたはサブシステムとして表示されます。
Simulink モデルで、以前に同期したオブジェクトを削除してから再度同期した場合、[Block Deleted] 列の値は [true] になります。それ以外の場合は [false] になります。
これらのオブジェクトはサロゲート モジュールからは削除されません。DOORS ソフトウェアでは、これらのサロゲート モジュール オブジェクトが保持されます。これにより、後でモデル オブジェクトを復元する場合に、RMI でこれらのリンクを回復することができます。
各 Simulink オブジェクトには、サロゲート モジュール内で一意の ID があります。たとえば、前の図の Mux ブロックに関連付けられているサロゲート モジュール オブジェクトの ID は
11
です。完全同期を実行する前に、サロゲート モジュールの transmission サブシステムには ID
3
が含まれていました。完全同期の実行後、transmission オブジェクトの ID はそのまま (3
) ですが、サロゲート モジュール内での表示順が下位になっています。この順序はモデルの階層構造を反映しています。サロゲート モジュール内の transmission オブジェクトには引き続き赤色の矢印が表示されています。これは、このオブジェクトが DOORS の正式なモジュール オブジェクトにリンクしていることを表します。
IBM DOORS サロゲート モジュールとの同期
同期とは、DOORS サロゲート モジュールの作成や更新のためにユーザーが実行するプロセスです。"サロゲート モジュール" は DOORS の正式なモジュールで、DOORS のモデルの階層構造の表現です。
モデルを最初に同期すると、DOORS ソフトウェアによりサロゲート モジュールが作成されます。同期設定によっては、サロゲート モジュールにはモデルの表現が含まれます (リンクのカスタマイズ方法と同期の詳細レベルについては、IBM DOORS の同期のカスタマイズを参照)。
モデル オブジェクトやリンクを作成または削除した場合、再同期を実行するとサロゲート モジュールを最新の状態に維持できます。更新されたサロゲート モジュールには、前回の同期以降の要件リンクの変更がすべて反映されます。
メモ:
RMI と DOORS ソフトウェアの両方で、 "オブジェクト" という用語が使用されています。RMI および本書では "オブジェクト" という用語は Simulink モデルまたはブロックを指すか、Stateflow チャートまたはその内容を意味します。
DOORS ソフトウェアにおいて、"オブジェクト" はモジュール番号が付いた要素を意味します。DOORS ソフトウェアでは、これらの各オブジェクトには一意のオブジェクト ID が割り当てられます。このドキュメントでは、これらのオブジェクトは "DOORS オブジェクト" と呼ばれます。
標準の DOORS 機能を使用すると、サロゲート モジュールの Simulink オブジェクトと他の正式なモジュールの要件の間で移動できます。サロゲート モジュールを使用すると、Simulink モデル オブジェクトと要件の間の移動が簡単になります (下図を参照)。
モデルとサロゲート モジュールの同期の利点
Simulink モデルとサロゲート モジュールの同期には、次の利点があります。
要件モジュールを変更しなくても、要件から Simulink オブジェクトに移動できます。
挿入されたナビゲーション オブジェクトにより要件モジュールが煩雑になるのを防ぐことができます。
DOORS データベースには要件リンクに関するすべての情報が含まれています。Simulink ソフトウェアが起動していなくても要件リンクの表示やトレーサビリティの確認ができます。
DOORS レポート機能を使用すると、要件のカバレッジを解析できます。
次のように、要件の追跡作業と Simulink モデル開発者の作業を切り離すことができます。
システム エンジニアは Simulink ソフトウェアを使用せずにモデルへの要件リンクを作成できます。
モデル開発者は同期により要件の情報を取得し、モデルに保存することができます。
モデルの変更の更新や、別の同期オプションの指定により、モデルを新しいサロゲート モジュールと同期することができます。