メディア
特集
» 2007年04月01日 00時00分 公開

モデルベース開発ツールを使いこなせ組み込み開発の効率化を実現するために(3/5 ページ)

[Warren Webb,EDN]

モデルベース開発ツールの実例 (1)

 ここからは、代表的なモデルベース開発ツールをいくつか取り上げ、その機能や特徴などを順に紹介していく。

・UMLツールの先駆け――Rational Rose

 米IBM社は、広く利用されているUMLモデリング対応ツールの製品ファミリ「Rational Rose」を提供している。その中の1つである「Rational Rose Technical Developer」は、Unix、Linux、Microsoft Windows、およびRTOS(real time OS)をターゲットとしたC、C++、およびJavaコードを生成するUMLモデルコンパイラだ。ランタイムモデルの実行、モデルの視覚的なデバッグ、モデルベースのテストが行えるほか、8ビットマイコン以上の事実上すべてのプラットフォームをサポートするポーティングウィザードが含まれている。

 同ツールは、Java(バージョン5)については、コードのフォワードエンジニアリング(モデルからのコードの自動生成)およびリバースエンジニアリングもサポートしている(「Ratioanl Rose Enterprise for Windows」による限定サポート)。また、遠隔地開発をサポートするために、構成管理情報を自動的に更新する機能を備えている。同ツールの価格は5995米ドルからである(12カ月間のサポートを含む)。

・設計と実装の同期を実現――Rhapsody

 スウェーデンTelelogic社の「Rhapsody」は、設計、コード、ドキュメントの作成を常に同期が取れた状態で可能にするツールである。UMLモデルから直接C、C++、またはJavaのコードを生成したり、新たな設計と既存のコードを統合したり、まったく新しいコードを追加したりすることができる。モデルからソフトウエアコンポーネントを抽出することにより、ほかの人が開発したソフトウエアであっても、その人の力を借りることなく、それを新しい設計に再利用することもできる。図1は、Cプログラミング環境におけるRhapsodyの典型的なユーザーインターフェースである。

 最近発表されたRhapsodyのバージョン7.0は、拡張されたユーザーインターフェース、既存コードからのリバースエンジニアリング機能、オープンソースの統合開発環境「Eclipse」とのシームレスな統合が実現されていることを特徴とする。生成されるコードの種類とターゲットOSによってそれぞれに異なるバージョンが用意されている。Rhapsodyの価格は1000米ドル強からで、標準的な製品セットは1万〜2万米ドルである。

図1 Rhapsodyのユーザーインターフェース 図1 Rhapsodyのユーザーインターフェース Telelogic社のRhapsodyを使えば、UMLモデルからC、C++、またはJavaのコードを直接生成することができる(図はCプログラミング環境の例)。

・無償で利用可能なツール――ArgoUML、ほか

 上で紹介した2つのツールは有償だが、UMLを試したいなら無償のツールを利用することもできる。実際、IBM社、Telelogic社とも、使用期限のないトライアルソフトも提供している。ユーザーは、それら無償版をダウンロードして、製品を購入する前に評価することができる。

 そのほかにも、無償で利用可能なUMLモデリングツールの代表例として、オープンソースの「ArgoUML」が挙げられる。ArgoUMLはJavaの標準クラスによって実装されているので、事実上すべてのプラットフォーム上で実行可能である。UML 2.0にはまだ準拠していないが、クラス図、ステートマシン図、アクティビティ図、ユースケース図、コラボレーション図、およびシーケンス図という具合にほとんどのダイアグラムをサポートする。ArgoUMLでは、コードの自動生成が行えるほか、リバースエンジニアリングにより、JavaコードからUMLダイアグラムを生成することも可能である。

 同様のオープンソースツールに、Linux KDE(K Desktop Environment)デスクトップ環境で使用可能な「Umbrello UML Modeller(以下、Umbrello)」がある。SourceForgeのオープンソースプロジェクトで開発されており、UML最新規格のほとんどをサポートする(図2)。Umbrelloでは、C++、Java、JavaScript、Python、Perl、およびその他いくつかの言語でのコード生成と、C++コードからのリバースエンジニアリングが可能である。Umbrelloのウェブサイトでは、UMLの基本概念と各種ダイアグラムについて解説したユーザーハンドブックも提供されている。

図2 Umbrelloのユーザーインターフェース 図2 Umbrelloのユーザーインターフェース オープンソースのUmbrelloは、UMLの最新規格をサポートし、C++、Java、JavaScript、Python、Perlなどのコードを生成する。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.