UMLは組み込み開発を成功させる救世主:組み込み開発にUMLを活用しよう(1)(3/3 ページ)
肥大化/複雑化する組み込み開発のさまざまな問題は、UML 2.0を用いたモデル開発を導入することで解決可能である
組み込み開発の特徴
それではここで、組み込み開発について考えてみましょう。組み込み開発とは製品に組み込まれるソフトウェア開発をいいます。まず特徴としては個々の製品に組み込まれるため、製品コストが重要であり、プログラム容量(ROM、RAM)を無視することができません。最近はプログラム容量よりも品質重要視の考え方になっているとはいっても、最後は容量を無視できないという事実があります。
また、OSに関してもリアルタイム性が重要視され、入力から応答するまでの時間を厳密に意識しなくてはなりません。そのためリアルタイムOSが使用されています。また、製品に組み込まれているため、不具合があった際の修正をパソコンソフトのようにオンラインバージョンアップなどで容易に行えるものではありません。つまり品質は重要な問題です。最近の組み込み製品は進化してきていますが、本質的に以上の特徴があります。
- プログラム容量を無視できない
→メモリ容量(ROM、RAM) - 応答スピードが重要
→リアルタイムOSが使用される - オンラインバージョンアップが容易ではない
→品質が重要
また、だからといって開発期間を長く取れるわけでは決してないという現実を付け加えておきます(笑)。
UMLを組み込み開発へ適用するポイント
それでは、このような特徴のある組み込み開発に、どのようにしてUMLを使用すればよいかを考えてみましょう。UMTPでは、組み込み開発メンバーが集まりさまざまなディスカッションを繰り返し行ってきました。
過去のUMLを使用した開発事例に基づき成功例と失敗例をディスカッションしたことがありますが、32ビット以上の組み込みLinuxなどのOSを使用したシステムに適用が成功し、16ビット以下のμITRONを使用した比較的小規模なシステムに適用した際に失敗したという事例があったため、UMLは比較的大規模なシステムに向いているという方向性が見えました。
しかし、μITRONを使用した比較的小さいシステムでUMLを使用したシステムに適用し成功した事例もありました。その2つの事例を比較してみると、失敗した事例は、すべての開発においてUMLでモデリングを行い、結局リアルタイム性やハードウェア制限がクリアできず、UMLを使用した効果がなかったというものです。それに対して成功した事例は、すべてにUMLを使用したのではなく、リアルタイム性やハードウェアの制限が比較的少ない上位層(アプリケーション部分)においてのみ使用したため効果があったということでした。
つまり、組み込み開発の特徴であるリアルタイム性が求められるハードウェア制限が多い部分には従来の開発手法を行い、比較的ハードウェア制限が少ない部分についてのみUMLを使用すれば適用に成功する! ということが分かりました(図4)。そのときは“目からウロコ”でした。つまり組み込み開発にUMLを適用する場合、ポイントを絞って使用すれば絶対に成功するのです。
UML 2.0は組み込み開発との親和性が高い
UMLは日々進化をしており、現在の最新バージョンはUML 2.0になります。UML1.xはIT系のオブジェクト指向の概念を中心に考えられてきましたが、UML 2.0では「組み込み分野への対応」がされており、アーキテクチャの概念が強化されています。例えば「コンポジット構造図」では、ポート、インターフェイスなど外部との通信を表現することが可能となり、システムの構成などを容易に表現できるようになっています。
また、時間的概念の表現ができるよう「タイミング・チャート図」などが追加されています。そしてシーケンス図においても時間的概念の表現が可能となりました。よって状態を保持する時間(持続時間)、また要求に応答する時間(レスポンス時間)など組み込み開発で意識すべき要素の表現が可能となっています。UML 2.0は組み込み開発に適用するための十分な機能を持ったのです。
まず勇気のある第一歩を
組み込み開発にUMLを適用する場合、最初に、新しい開発手法に興味を持って「チャレンジ」することが大切です。経験のないことにチャレンジするからこそ面白いのです。そしてチャレンジしたら最後までやり切るという強い意思はもっと大切です。つまり決して途中であきらめない。競馬の競走馬と同じように、走り始めたら、ゴールするまで信じて走り続ける。これが大切です。UMTPでは、現在エレベータのキャビン部分をモデリングするケースを扱った「リファレンスモデル」の取り組みを行っています。皆さんも一緒に取り組みませんか? まず勇気ある第一歩を……。(次回に続く)
- UMTPホームページ(http://www.umtp-japan.org/)
Copyright © ITmedia, Inc. All Rights Reserved.