ハイブリッドカーの設計構造を解剖
2回にわたってお届けしているハイブリッドカーのモデルの中身ですが、「第1回:これがハイブリッドカーのモデリングだ!」では、ユースケースを列挙し、一番代表的な「車を運転する」というユースケースのシナリオを考えていきました。ホワイトボックスのシナリオを考えていく中でシステムの「部品」が抽出できてきました。
今回は部品たちがどのように構成されているのかアーキテクチャを見ていくとともに、内部の振る舞いも考えていきたいと思います。
ハイブリッドカーをいくつかの「部品」に分けて表したものが図1(上)です。この図がSysMLのブロック定義図で、UMLのクラス図に相当します。SysMLでは「部品」をブロックとして表します。
ハイブリッドカーは「パワー」「ブレーキ」「ボデー」「内装」「照明」「シャーシ」などのサブシステムから構成されます。シャーシサブシステムはさらに4つの「ホイールハブ」から構成され、ブレーキサブシステムは1つの「ブレーキペダル」で構成されています。また、パワーサブシステムは「ブレーキペダル」「ホイールハブ」と関連を持っています。
また各サブシステムには四角いポートと呼ばれるものが付いています。ポートは他のサブシステムや外界とのやり取りをする窓口となります。「第1回:これがハイブリッドカーのモデリングだ!」の図3で示したシーケンス図を思い出してください。シナリオの中に矢印で記述されたメッセージがありました。メッセージがサブシステム間のやり取りとなり、その出入り口がポートとなります。
(画像をクリックすると別ウィンドウに拡大図を表示します)
もう1つ下の階層のブロック定義図も見てみよう
図1(下)はパワーサブシステムの構造を表しています。パワーサブシステムは「バッテリーパック」「パワーコントロールユニット」「燃料タンク」「電装制御」などから構成されています。パワーサブシステムの内部構造を考えてこの図を作っていきます。
「第1回:これがハイブリッドカーのモデリングだ!」でも説明したように、モデリングは抽象度の高いものから段階を踏んで具象度を上げていきます。今、例に挙げたハイブリッドカーのブロック定義図とパワーサブシステムのブロック定義図の関係がまさにそのとおりです。
ブロック定義図によりどんな「部品」があり、その「部品」はどのポートを使用してどんなメッセージを利用するのか整理できました。しかし、ブロック定義図ではメッセージのやり取りが視覚的にわかりにくいと思います。次のページではブロック間のメッセージのやり取りに注目して、整理をしたいと思います。 次のページ