< 前へ | 次へ >

レッスン 2: AUTOSAR SW/C の実装

Rhapsody® の中にアトミック・ソフトウェア・コンポーネント (SWC) を実装するには、 最初に Rational® Rhapsody 実装ブロック (RIMB) を定義し、 次に、それを、ソフトウェア・コンポーネント・タイプの下のパーツとしてインスタンス化する必要があります。
AUTOSAR SW/C は、次の 2 つの方法で実装できます。
  1. AUTOSAR InternalBehavior および Implementation セクションを直接定義する:
    • さまざまな AR Internal Behavior、Implementation、および Code の各セクションを定義します。
    • Rhapsody を使用して、XFiles および RunnableEntities 実装コードを作成します。
  2. Rhapsody 実装ブロックを利用する:
    • ARBMT の中に、Rhapsody 実装ブロックを定義します。
    • RIMB をインスタンス化して、RIMBO (RIMB でタイプ) を アトミック SWC タイプのパーツとして取得し、AR から Rhapsody への委譲コネクターを通して、RIMBO のポートを SWC タイプのポートに接続します。
    • アプリケーションのコードおよび AUTOSAR に関連する成果物 (Internal behavior、Implementation、ARXML、C/H File など) を生成します。SWC のブラウザーの中で右クリックし、「AR-SWC 実装オブジェクト (RIMBO) の作成 (Create AR-SWC Implementation Object (RIMBO))」を選択して、 作成、インスタンス化、および AR SWC ポートと RIMBO ポートのリンクに、ツール・オートメーションを使用します。
    • Rhapsody は、RIMB ベースの実装の一部の側面を自動化できます。
      • SWC のブラウザーの中で右クリックし、「AR-SWC 実装オブジェクト (RIMBO) の作成 (Create AR-SWC Implementation Object (RIMBO))」を選択して、 作成、インスタンス化、および AR SWC ポートと RIMBO ポートのリンクに、ツール・オートメーションを使用します。

コンバーター

  1. 次のいずれかの方法を使用して、Rational Rhapsody 実装ブロックを作成します。
    • SWC のブラウザーの中で右クリックし、「AR-SWC 実装オブジェクト (RIMBO) の作成 (Create AR-SWC Implementation Object (RIMBO))」を選択します。この機能の説明は、 付録 A を参照してください。
    • 「ARBMTPackages」カテゴリーのパッケージの下の Rational Rhapsody 実装ブロック図の場合は、描画ツールバーから、Rational Rhapsody 実装ブロック・ツール を選択し、 描画領域で、ダイアグラムをクリックします。
    • 「ARBMTPackages」カテゴリーの下で、 パッケージを右クリックし、「新規追加」 > 「AR3x_BMT」 > 「RIMB」を選択します。
  2. Rational Rhapsody 実装ブロックの一般フィーチャーを定義します。例えば、 「RIMB」ウィンドウの「アクセスおよびアクティベーション」タブで、SWC タイプの振る舞いを作成する プロジェクトの値を定義します。

    LightManager プロジェクトの中で、「アクティブ要素」には「アクティベーション」の値として「周期的」が設定されています。「アクティブ要素」の「digitalPushedDispatcher」の値として「非同期」が設定されています。
    注: RIMBO の自動作成の詳細は、オンライン・ヘルプの『RIMBO の自動作成』のトピックを参照してください。

    コンバーター

  3. 自動生成のヘルパー機能を使用して、RIMB ステートチャートの振る舞いを記述できます。

    コンバーター

  4. RIMB の「ActiveOperations」を実装するには、 操作を右クリックして「プロパティー」ウィンドウを開き、「実装」タブを選択します。 次の図は、「ActiveOperations」振る舞いをどのようにして設定できるかを示しています。

    コンバーター

    1. RIMB 実装ブロックを右クリックして、「新規追加」 > 「AR3x_BMT」 > 「ActiveOperation」を選択します。
      • アクティブ操作のアクティベーション・ポリシーを指定します。「RIMBimplementation」ブロックを定義したのと同様に、 アクティブ操作のアクティベーションを指定する必要があります。アクティブ操作の「一般」タブの「ポリシー」フィールドで、 「非同期」または「周期的」のどちらかを選択します。
        • 「非同期」を選択した場合は、「アクセスおよびアクティベーション」タブで、実際のアクティベーション・ポリシーを定義します。
        • 「周期的」を選択した場合は、「一般」タブの「アクティベーション」セクションで、期間、オフセット、および所要時間を指定します。
      • 必要であれば、「ガード済み」を選択します。このチェック・ボックスが選択されると、 このフィールドは、すべてのガード済みのアクティブ操作が相互排他的であることを指定します。このアクションは、 ガード済みの操作に対して生成されたすべての実行可能が「内部で実行」と指定された、 専用の AUTOSAR 排他領域の中に実装されます。
注: Rational Rhapsody 実装ブロック (RIMB) の特性、 「アクセスおよびアクティベーション」タブ要素、および実装ブロック (RIMB) インターフェースの追加方法の詳細は、『Rational Rhapsody 実装ブロック (RIMB) の特性の定義』、 『非同期アクティブ要素のアクセスおよびアクティベーション・ポリシーの指定』、 および『Rhapsody 実装ブロック (RIMB) インターフェースの追加』の各トピックを参照してください。

このチュートリアルの場合、例えば LightsManager サンプルでは、次の図で、生成された AR 成果物がどのように「アクセスおよびアクティベーション」表から引き出されるかが示されます。

コンバーター

生成されたヘルパー機能は、次の図のようになります。

コンバーター

次に、AUTOSAR SW/C の実装結果の例を示します。

注: 関連情報: RIMBO の自動作成
< 前へ | 次へ >

フィードバック