Main Content

サロゲート モジュールを使用した Simulink モデルと IBM DOORS データベースの同期

Simulink モデルの同期によるサロゲート モジュールの作成

最初にモデルを DOORS® ソフトウェアで同期すると、DOORS ソフトウェアはサロゲート モジュールを作成します。

このチュートリアルでは、sf_car モデルと DOORS ソフトウェアを同期します。

メモ

この作業を始める前に、Simulink® モデル オブジェクトから DOORS データベース内の要件へのリンクを作成する方法を習得している必要があります。

  1. サロゲート モジュールを作成するには、DOORS ソフトウェアを起動してプロジェクトを開きます。DOORS ソフトウェアがまだ起動していない場合は、DOORS ソフトウェアを起動してプロジェクトを開きます。

  2. sf_car モデルを開きます。

    openExample('sf_car.slx')
    
  3. モデルの名前を sf_car_doors に変更して、書き込み可能なフォルダーにモデルを保存します。

  4. sf_car_doors にある次の 2 つのオブジェクトから DOORS の正式なモジュールへのリンクを作成します。

    • Transmission サブシステム

    • Engine サブシステム内の engine torque ブロック

  5. 変更をモデルに保存します。

  6. sf_car モデルで、[アプリ] タブに移動し、[要件マネージャー] を開きます。

  7. [要件] タブで [共有][DOORS と同期] を選択します。

    [DOORS 同期設定] ダイアログ ボックスが開きます。

  8. このチュートリアルでは、既定の同期オプションをそのまま使用します。

    [リンクのあるオブジェクトへのマッピングの追加] の既定のオプションは [なし] であるため、オブジェクトが作成されるのは、該当のモデルと DOORS 要件へのリンクをもつモデル オブジェクトのサロゲート モジュールだけです。

    メモ

    同期オプションの詳細については、IBM DOORS の同期のカスタマイズを参照してください。

  9. [同期] をクリックすると、sf_car_doors モデルのオブジェクトへのリンクがあるすべての DOORS 要件のサロゲート モジュールが作成され、開きます。

    [None] オプションで同期すると、サロゲート モジュール (sf_car_doors という正式なモジュール) には次のオブジェクトが含まれます。

    • モデルの最上位オブジェクト (sf_car_doors)

    • DOORS 要件へのリンクがあるモデル オブジェクト (transmission、engine torque) とその親オブジェクト (Engine) を表すオブジェクト

    The sf_car_doors module in IBM DOORS has four requirements: a top-level requirement for the module, an engine parent requirement, an engine torque child requirement, and a transmission requirement. The module has columns for block type and if the block has been deleted.

  10. サロゲート モジュールとモデルを保存します。

サロゲート モジュールと IBM DOORS データベースの正式なモジュール間のリンクの作成

サロゲート モジュールは要件がある DOORS の正式なモジュールと Simulink モデルの間のインターフェイスです。サロゲート モジュールと要件モジュールの間のリンクを作成するには、リンクの情報をモデルからサロゲート モジュールにコピーします。

  1. sf_car_doors モデルを開きます。

  2. [要件] タブで [共有][DOORS と同期] を選択します。

  3. [DOORS 同期設定] ダイアログ ボックスで、次の 2 つのオプションを選択します。

    • 同期中にリンクを更新

    • Simulink から DOORS へ

  4. [同期] をクリックします。

    DOORS サロゲート モジュールから正式なモジュールへのリンクが作成されます。これらのリンクは Simulink モデルから正式なモジュールへのリンクに対応します。この例では、赤色の三角形で示すように、DOORS ソフトウェアにより engine torque ブロックと transmission サブシステムから正式なモジュールへのリンクがコピーされます。

    Arrows in the DOORS module indicate that the engine torque and transmission requirements have links to the Simulink model.

IBM DOORS サロゲート モジュールの再同期によるモデルの変更の反映

同期後にモデルを変更しても、RMI では警告メッセージは表示されません。サロゲート モジュールに Simulink モデルへの変更を反映するには、モデルを再同期します。

このチュートリアルでは、sf_car_doors モデルに新しいブロックを追加してからこのブロックを削除し、各手順の後で再同期を行います。

  1. sf_car_doors モデルで、vehicle mph (yellow) & throttle % Scope ブロックをコピーし、モデルに貼り付けます。新しい Scope ブロックの名前は vehicle mph (yellow) & throttle %1 です。

  2. [要件] タブで [共有][DOORS と同期] を選択します。

  3. [DOORS 同期設定] ダイアログ ボックスで、[リンクのあるオブジェクトへのマッピングの追加] オプションを [完全 - すべてのブロック、サブシステム、ステートおよび遷移] に設定します。[同期] をクリックします。

    同期が完了すると、サロゲート モジュールに新しいブロックが追加されます。

    The DOORS module shows three new requirements that correspond to blocks from the Simulink model.

  4. sf_car_doors モデルで、新しく追加された Scope ブロックを削除して再同期します。

    削除したブロックが、サロゲート モジュール内のオブジェクトの一覧の最後に表示されます。このブロックの [Block Deleted] 列の値は True になっています。

    The DOORS module indicates that one of the blocks associated with the new requirement was deleted.

  5. サロゲート モジュールを保存します。

  6. sf_car_doors モデルを保存します。

サロゲート モジュールによる移動

要件と DOORS データベースのサロゲート モジュールの間での移動

サロゲート モジュールと正式なモジュールの要件はどちらも DOORS データベースにあります。モデルを同期すると、DOORS ソフトウェアはサロゲート モジュール オブジェクトと DOORS データベースの要件との間のリンクを作成します。

要件とサロゲート モジュールの間で移動できるようにすると、Simulink ソフトウェアを起動しなくてもモデルへのリンクがある要件を確認できます。

サロゲート モジュールの transmission オブジェクトから正式なモジュール内の要件に移動するには、次の手順に従います。

  1. transmission サブシステムのサロゲート モジュール オブジェクトで赤色の右向き矢印を右クリックします。

    In the DOORS module, the mouse points to the menu option in the context menu that says Transmission Requirements: Shoul.

  2. 要件名を選択します。

    正式なモジュールが Transmission Requirements オブジェクトで開きます。

正式なモジュール内の要件からサロゲート モジュールに移動するには、次の手順に従います。

  1. 正式なモジュールの Transmission Requirements オブジェクトでオレンジ色の左向き矢印を右クリックします。

  2. オブジェクト名を選択します。

    sf_car_doors のサロゲート モジュールが、transmission サブシステムに関連付けられたオブジェクトで開きます。

サロゲート モジュールを介した DOORS 要件と Simulink モジュールの間での移動

Simulink オブジェクトから DOORS 要件への移動と DOORS 要件からモデルへの移動を行うためのリンクを作成することができます。モデルを同期すると、サロゲート モジュールは双方向の移動の媒介として機能します。サロゲート モジュールを使用すると、モデル オブジェクトから DOORS の正式なモジュールへの直接リンクが削除されても、双方向の移動が可能です。

サロゲート モジュールを使用した Simulink オブジェクトから要件への移動.  sf_car_doors モデルの transmission サブシステムから DOORS の正式なモジュールの要件に移動するには、次の手順に従います。

  1. sf_car_doors モデルの transmission サブシステムを右クリックし、[要件][1. "DOORS サロゲート項目"] を選択します (DOORS の正式なモジュールへの直接リンクも使用できます)。

    サロゲート モジュールが、transmission サブシステムに関連付けられたオブジェクトで開きます。

  2. 要件を個別に表示するには、サロゲート モジュールで、赤色の右向き矢印を右クリックし、要件を選択します。

    正式なモジュールが Transmission Requirements で開きます。

サロゲート モジュールを使用した要件からモデルへの移動.  正式なモジュールの Transmission Requirements 要件から sf_car_doors モデルの transmission サブシステムに移動するには、次の手順に従います。

  1. 正式なモジュールの Transmission Requirements オブジェクトで、オレンジ色の左向き矢印を右クリックします。

  2. リンクされたサロゲート オブジェクトのパス [/sf_car Project/sf_car_doors][4. transmission] を選択します。

    サロゲート モジュールが transmission オブジェクトで開きます。

  3. サロゲート モジュールで、[MATLAB][Select item] を選択します。

    リンクされたオブジェクトが sf_car_doors で強調表示されます。

IBM DOORS の同期のカスタマイズ

DOORS の同期の設定

Simulink モデルを DOORS データベースと同期する際に、次のことができます。

  • サロゲート モジュールの詳細レベルをカスタマイズする。

  • サロゲート モジュールまたはモデル内のリンクを更新し、モデル、サロゲート モジュール、正式なモジュールの間の要件リンクの整合性を確認する。

[DOORS 同期設定] ダイアログ ボックスでは、同期時に次のオプションを使用できます。

DOORS の設定オプション説明

DOORS サロゲート モジュールのパスと名前

新規または既存のサロゲート モジュールの一意の DOORS パスを指定します。

要件ドキュメントへのパスを RMI が解決する方法の詳細については、ドキュメント パス ストレージを参照してください。

リンクのあるオブジェクトへのマッピングの追加

DOORS サロゲート モジュール内の Simulink モデル表現の完全性を決定します。[None] を指定すると、リンクされている要件がある Simulink オブジェクトとその親オブジェクトのみが同期されます。同期オプションの詳細については、同期の詳細レベルのカスタマイズを参照してください。

同期中にリンクを更新

[不一致リンクをコピー] オプションと [不一致リンクを削除] オプションの設定に従い、同期中に RMI で検出されるすべての不一致リンクを更新するように指定します。

不一致リンクをコピー

同期時に次の各オプションを選択すると、次の結果が得られます。

  • Simulink から DOORS へ: モデルと正式なモジュールの間のリンクに対して、DOORS サロゲート モジュールと正式なモジュールの間で一致するリンクが作成されます。

  • DOORS から Simulink へ: DOORS サロゲート モジュールと正式なモジュールの間のリンクに対して、モデルと DOORS モジュールの間で一致するリンクが作成されます。

不一致リンクを削除

同期時に次の各オプションを選択すると、次の結果が得られます。

  • DOORS 内での不一致を削除: 正式なモジュールとサロゲート モジュールの間のリンクに対して、モデルと DOORS モジュールの間に対応するリンクがない場合、DOORS のリンクが削除されます。

    このオプションは、[Simulink から DOORS へ] オプションが選択されている場合のみ使用可能です。

  • Simulink 内での不一致を削除: モデルと DOORS モジュールの間のリンクに対して、正式なモジュールとサロゲート モジュールの間に対応するリンクがない場合、モデルのリンクが削除されます。

    このオプションは、[DOORS から Simulink へ] オプションが選択されている場合のみ使用可能です。

DOORS サロゲート モジュールの保存

同期の後に、サロゲート モジュールに対する変更が保存され、DOORS データベース内でサロゲート モジュールのバージョンが更新されます。

Simulink モデルの保存 (推奨)

同期の後に、変更をモデルに保存します。バージョン管理システムを使用している場合、このオプションを選択するとモデルのバージョンが変更されます。

別のサロゲート モジュールによるモデルの再同期

同じ Simulink モデルを新しい DOORS サロゲート モジュールで同期することができます。たとえば、モデル内のすべてのオブジェクトではなく、DOORS の要件をもつオブジェクトだけをサロゲート モジュール内に保存するとします。この場合、同期オプションを変更して、サロゲート モジュールの詳細レベルを低くすることができます。

  1. [DOORS 同期設定] ダイアログ ボックスで、[DOORS サロゲート モジュールのパスと名前] を DOORS データベース内の新しいサロゲート モジュールのパスと名前に変更します。

  2. モジュールを、相対パス (./ で開始) または絶対パス (/ で開始) で指定します。

    相対パスは現在の DOORS プロジェクトに追加されます。絶対パスの場合、プロジェクトとモジュール名を指定しなければなりません。

    モデルを同期させると、[DOORS サロゲート モジュールのパスと名前] が自動的に更新され、実際の絶対パスが入力されます。RMI では一意のモジュール ID が付いて保存されます。

  3. 新しいモジュールのパスを選択した場合やサロゲート モジュールの名前を変更した場合に [同期] をクリックすると、[要件: サロゲート モジュールの不一致] ダイアログ ボックスが開きます。

    The Requirements: Surrogate Module Mismatch dialog indicates that the model was previous synchronized with a different DOORS module than the currently specified module. It prompts the user to reuse the previous module, continue with the specified module, or cancel.

  4. [続行] をクリックすると、新しいパスまたは名前で新しいサロゲート モジュールが作成されます。

同期の詳細レベルのカスタマイズ

サロゲート モジュールの詳細レベルをカスタマイズして、モジュールに Simulink モデルの階層構造の全体または一部を反映させることができます。

Simulink モデルの同期によるサロゲート モジュールの作成では、[リンクのあるオブジェクトへのマッピングの追加] オプションを [なし] に設定してモデルを同期しました。その結果、サロゲート モジュールには要件リンクがある Simulink オブジェクトとその親オブジェクトのみが含まれます。この節で説明する他の同期オプションを使用すると、サロゲート モジュールの詳細レベルを上げることができます。サロゲート モジュールの詳細レベルを上げると、同期の速度が低下する場合があります。

[リンクのあるオブジェクトへのマッピングの追加] オプションには次のいずれかの値を設定できます。いずれのオプションを選択した場合でも、Simulink オブジェクトがサロゲート モジュールに追加されます。[なし] を選択すると、サロゲート モジュールのサイズを最小限に抑えることができます。[完了] を選択すると、モデルの完全な表現が作成されます。[完了] オプションを選択した場合、すべての Simulink オブジェクトがサロゲート モジュールに追加され、Simulink モデルの 1 対 1 マッピングがサロゲート モジュール内に作成されます。中間の各オプションではレベルをより詳細に設定できます。

ドロップダウン リスト オプション説明
なし (パフォーマンス向上のため推奨)

要件リンクがある Simulink オブジェクトとその親オブジェクトのみをサロゲート モジュールにマッピングします。

最小限 - 空でないマスク解除されたサブシステムおよび Stateflow チャート

空でない Stateflow® チャートとマスク解除された Simulink サブシステムすべてをサロゲート モジュールに追加します。

中程度 - マスク解除されたサブシステム、Stateflow チャートおよびスーパーステート

Stateflow スーパーステートをサロゲート モジュールに追加します。

平均 - 重要な Simulink ブロック、Stateflow チャートおよびステート

すべての Stateflow チャートおよびステートと Simulink ブロック (端子、バス オブジェクト、データ型コンバーターなどの自明なブロックを除く) をすべてサロゲート モジュールに追加します。

広範囲 - すべてのマスク解除されたブロック、サブシステム、ステートおよび遷移

マスクが解除されたブロック、サブシステム、ステート、遷移のすべてをサロゲート モジュールに追加します。

完全 - すべてのブロック、サブシステム、ステートおよび遷移

ブロック、サブシステム、ステート、遷移をすべてサロゲート モジュールにコピーします。

再同期によるすべての Simulink オブジェクトの追加

このチュートリアルでは、"すべての" Simulink オブジェクトを DOORS サロゲート モジュールに追加する方法を示します。この手順を始める前に、Simulink モデルの同期によるサロゲート モジュールの作成サロゲート モジュールと IBM DOORS データベースの正式なモジュール間のリンクの作成の各チュートリアルを必ず完了してください。

  1. Simulink モデルの同期によるサロゲート モジュールの作成サロゲート モジュールと IBM DOORS データベースの正式なモジュール間のリンクの作成で同期した sf_car_doors モデルを開きます。

  2. [要件] タブで [共有][DOORS と同期] を選択します。

    [DOORS 同期設定] ダイアログ ボックスが開きます。

  3. 同じサロゲート モジュールと再同期します。このときに、[DOORS サロゲート モジュールのパスと名前] に指定されているサロゲート モジュールのパスと名前が、Simulink モデルの同期によるサロゲート モジュールの作成で使用したものと同じであることを確認します。

    要件ドキュメントへのパスを RMI が解決する方法の詳細については、ドキュメント パス ストレージを参照してください。

  4. サロゲート モジュールを更新して、すべてのオブジェクトをモデルに追加します。この操作を行うには、[リンクのあるオブジェクトへのマッピングの追加] のドロップダウン リストで [完全 - すべてのブロック、サブシステム、ステートおよび遷移] を選択します。

  5. [同期] をクリックします。

    同期が完了すると、sf_car_doors モデルの DOORS サロゲート モジュールが更新されて開きます。sf_car_doors モデルのすべての Simulink オブジェクトとすべての Stateflow オブジェクトがサロゲート モジュールにマッピングされています。

    The DOORS module is shown with all model objects from sf_car_doors included as requirements.

  6. サロゲート モジュール内でスクロールします。要件があるオブジェクト (engine torque ブロックと transmission サブシステム) では、赤色の三角形が示すように、DOORS の正式なモジュールへのリンクが保持されています。

  7. サロゲート モジュールを保存します。

作成したサロゲート モジュールの詳細情報.  再同期によるすべての 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 モデル オブジェクトと要件の間の移動が簡単になります (下図を参照)。

The model elements exist in the Simulink model. The DOORS surrogate model is created from the Simulink model and is a representation of its model hierarchy. Enter requirements in the DOORS formal module and link them to objects in the DOORS surrogate module so that you can navigate from requirements to Simulink model elements.

モデルとサロゲート モジュールの同期の利点

Simulink モデルとサロゲート モジュールの同期には、次の利点があります。

  • 要件モジュールを変更しなくても、要件から Simulink オブジェクトに移動できます。

  • 挿入されたナビゲーション オブジェクトにより要件モジュールが煩雑になるのを防ぐことができます。

  • DOORS データベースには要件リンクに関するすべての情報が含まれています。Simulink ソフトウェアが起動していなくても要件リンクの表示やトレーサビリティの確認ができます。

  • DOORS レポート機能を使用すると、要件のカバレッジを解析できます。

  • 次のように、要件の追跡作業と Simulink モデル開発者の作業を切り離すことができます。

    • システム エンジニアは Simulink ソフトウェアを使用せずにモデルへの要件リンクを作成できます。

    • モデル開発者は同期により要件の情報を取得し、モデルに保存することができます。

  • モデルの変更の更新や、別の同期オプションの指定により、モデルを新しいサロゲート モジュールと同期することができます。

関連する例

詳細