キッチンから学ぶUMLの勘所

2008年4月18日(金)
清水 英一

ここまでの振る舞いの検証

ここまでの段階で、食器洗い機の構造と振る舞いが、開発者の意図どおりに作成できているかどうかついて検証したいと思います。「Telelogic Rhapsody」では、Dishwasherクラスと振る舞い(今回の場合、状態マシン図)を描くことで、モデルレベルでのデバックを行うことができます。

具体的に説明すると、最初のページの動画に示すようにevStartイベントを発生させ、状態遷移が意図どおりに動作するかを確認します。また、モデルを動かしながら、洗浄回数などの確認やブレークポイントをかけることにより、指定された動作の状態、ほかの状態との連携などの確認が行えます。


(画像をクリックすると別ウィンドウに拡大図を表示します)

動作結果をシーケンス図に出力

今回は余り触れませんでしたが、動作結果は自動的に図3のシーケンス図に出力されます。シーケンス図を出力することにより、各オブジェクト間のイベント、操作、タイマーのやり取りを見える化することができます。

シーケンス図に表された処理を簡単に説明すると、システムボーダーから「Create()」が呼び出されることがわかると思います。これは、Dishwasherが実態化(インスタンス化)されたことを意味しています。また、evStartイベントが発生した後の処理について、時系列で確認することができます。

ここまでは、食器洗い機を題材に、1つのDishwasherクラスと状態マシン図による振る舞いを定義し、ツール上での検証の方法を簡単に説明しました。次回は、今回作成した食器洗い機のモデルを基に、FrontPanel、Motorのクラスを追加した食器洗い機システムを開発します。組み込みのUMLでよく使われるコンポジット構造図、インターフェースについて解説する予定です。

なお、記事中にてご紹介しているモデル表記、動画などは、テレロジック社のモデル駆動型組み込み開発環境の「Telelogic Rhapsody(ラプソディ)(http://www.telelogic.co.jp/products/rhapsody/index.cfm)」を利用しています。

日本テレロジック株式会社
モデリングソリューションズプロダクト事業部 アプリケーションエンジニア。日本テレロジックにおいて、モデリングソリューションズプロダクト事業部に所属するエンジニアとして、組み込み開発向けモデリングツールTelelogic Rhapsody、制御システムビジュアル開発環境ツールTelelogic Statemateなど、モデリングに関しての幅広い営業技術支援、製品サポートおよびコンサルティングサービスのオペレーション、特に、自動車業界向けモデリング、家電(CE)業界向けモデリングを中心に担当しています。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています