TOPシステム開発【伝わる!モデリング】アレのモデリングが見たい!> 第2回:ハイブリッドカーのモデルを動かす!(2/3)

【伝わる!モデリング】アレのモデリングが見たい!

【伝わる!モデリング】アレのモデリングが見たい!

第2回:ハイブリッドカーのモデルを動かす!

著者:日本テレロジック株式会社 石田 雅人

公開日:2008/04/11(金)

メッセージの流れを解明せよ!

サブシステム間のメッセージのやり取りを視覚化するには、SysMLの内部ブロック図を利用します。内部ブロック図はUMLの合成構造図に相当するものです。

図2(上)のパワーサブシステムの内部ブロック図を見ていきましょう。パワーサブシステムのブロック定義図にあった「部品」が内部ブロック図にも記述されているのが見て取れると思います。

ブロック定義図との大きな違いは、ポート間が結線してあり、どんな情報がどっちの方向に流れているかが視覚的にわかることです。例えば「パワーコントロールユニット」に着目すると、内部のCAN_Busを3つ使い情報のやり取りをしているのがよくわかります。また他にも外部の「ブレーキサブシステム」から情報を受け取るのもわかります。

パワーコントロールユニットはこれらの情報のインプット/アウトプットを満たすような振る舞いでなくてはなりません。ではパワーコントロールユニットの振る舞いはどうなっているのでしょうか?

図2:パワーサブシステムの内部ブロック図(上)とパワーコントロールユニットの
アクティビティ図(下)
(画像をクリックすると別ウィンドウに拡大図を表示します)

ガソリンとバッテリの制御振る舞い

パワーコントロールユニットの振る舞いを見てみましょう。パワーコントロールユニットはガソリンとバッテリの制御を行っています。

図2(下)に示すように、パワーコントロールユニットの振る舞いはアクティビティ図で表していきます。

最初のアクション「Init」で、鍵の状態を見ています。鍵が刺さっていなかったら当然加速は行いません。鍵の入力を待ち受ける「StandByKeyOff」アクションに移行します。鍵が入力されると鍵の状態をONにして再び「Init」に戻ります。

鍵が刺さっている状態で発進した場合、まず、バッテリの残量を確認する「DetermineLoBattery()」が呼ばれます。同時に加速度合いを確認する「DetermineAcceleration()」が呼ばれます。「DetermineAcceleration()」はアクセルペダルの位置から加速の度合いを判別しています。分析レベルでは加速の度合いをHeavyとMildの2つとしています。

続いて下段のアクションブロックを見ていきます。最初に車の状態による分岐があります。加速中なのか、減速中なのか、停車中なのかで3つに分岐します。

まず、加速中の処理を見てみましょう。ここでは4つに分岐しています。アクセルを深く踏んでいるHeavyの場合は、ガソリンとバッテリで加速します。アクセルを浅く踏んでいるMildの場合は、バッテリで加速します。バッテリの残量が少ない場合は、アクセルの踏み込みに関わらずガソリンで加速します。アクセルが非常に浅く踏み込まれている、あるいはまったく踏み込まれていないNoneの場合は、充電走行となります。

続いて減速中の動作を見てみましょう。こちらも分岐があります。ゆるくブレーキを踏んでいる状態では、回生ブレーキを使用して充電をするとともに減速をしています。激しくブレーキを踏んでいる状態では、回生ブレーキと摩擦ブレーキを併用します。

最後に停車中を見てみましょう。停車中ではバッテリの状態で2つに分岐しています。バッテリの残量が少ない場合は充電をしています。十分にバッテリがある状態では特に何もしません。

最後にこうして分析したモデルの動作を確認してみましょう。次ページではモデルを実際に動かしたところの動画を使って確認します。 次のページ




日本テレロジック株式会社 石田 雅人
著者プロフィール
日本テレロジック株式会社 石田 雅人
プロフェッショナル・サービス部 モデリング・グループ エンジニア
日本テレロジックにおいて、プロフェッショナル・サービス部モデリンググループに所属するエンジニアとして、エンタープライズ向けモデリングツールTelelogic Tauをはじめとし、組み込み開発向けモデリングツールTelelogic Rhapsody、通信プロトコル向けモデリングツールのTelelogic SDLなど、モデルとコード、そしてテストに関するツールを中心とした営業技術支援、製品サポートおよびコンサルティングサービスのオペレーションを担当しています。


INDEX
第2回:ハイブリッドカーのモデルを動かす!
  ハイブリッドカーの設計構造を解剖
メッセージの流れを解明せよ!
  分析したモデルが意図通りか確認しよう