実はこれまで、SW-Cに関する厳密な定義や分類については説明してきませんでした(意図してのことです)。しかし、今回「SW-C Prototype」という言葉が数度登場しており、そろそろその説明が必要ですので、ご紹介いたします。
SW-Cのモデリングにおいては、SW-C Type(SwComponentType)で型を定義し、SW-C Prototype(SwComponentPrototype)で実体化(インスタンス化)するという形をとっています(type-prototype pattern)。これにより、派生やインスタンス多重化(multiple instantiation)を容易にしています。
SW-C Typeには、以下のような種別があります。
※6)単一のSW-CからアクセスされるNVRAM blockの「身代わり」であれば、SW-C内部のPer-Instance Memory(Pim)を使用。
※7)単一のSW-Cからアクセスされるパラメータ(固定値)の「身代わり」であれば、SW-C内部のCalibration Parameter を使用。
開発対象のSW-Cの性質に合わせてSW-C Typeの種別を選び、SW-Cの構成要素(REなど)を足してSW-C Typeを定義し、それをSW-C Prototypeとして実体化したものを車両システム上のECUに割り付ける、という流れになります。
また、必要であれば、このSW-C定義から、複数のSW-C Prototypeを作り出すことができます(インスタンス多重化 multiple instantiation)。
ドア1枚単位での開閉状態の監視処理のようなものであれば、内部データ(IRVやPim)はSW-C Prototype(インスタンス)ごとに分けることが必要となりますが、コードは共通とすることができますので、このような場合にインスタンス多重化を利用します(もちろん、IRVやPimはRTEによりインスタンス毎に用意されます)。
今回は、以下の「2.1.2 AUTOSAR SW-C内インタフェースおよびSW-C内部で利用できるその他のメカニズム」とそのサブセクションと、「2.2 SW-Cのモデリング:typeとprototype」についてご紹介いたしました。
次回は「2.3 BSWが提供するサービスの利用」に進んでまいります。「スケジューラは分かるが、リアルタイムOS(RTOS)はいまひとつ」という皆さんに向けてのAUTOSAR CP(Classic Platform)入門のシリーズは、特にご要望がなければ次回で終了したいと思います(その場合、次々回はR22-11の内容のご紹介となる予定です)。
Copyright © ITmedia, Inc. All Rights Reserved.