モデルベース開発ツールを使いこなせ:組み込み開発の効率化を実現するために(4/5 ページ)
組み込みシステム開発チームは、新製品をいかに早く市場に送り出すかでしのぎを削っている。そのための方策として、設計者らはモデルベースの開発ツールに目を向け始めている。ますます複雑になるソフトウエア開発を迅速に行うためだ。そうしたツールの多くは、UMLをベースとしている。
モデルベース開発ツールの実例(2)
・独自のモデリング環境で高機能化――Simulink
多くのモデルベース開発ツールは、UMLをベースとする。その一方で、独自のグラフィカルモデリングシステムに基づいて構築されたソフトウエア開発ツールもいくつか存在する。例えば、米The MathWorks社が提供する「Simulink」は、システムをモデリング、シミュレーション、解析するための対話型ツールである(図3)。同ツールはモデルの構築に使用するブロックをライブラリとして提供するが、そのブロックのカスタマイズも可能となっている。モデルの構成要素をサブシステムに分割して構成を簡略化したり、複数のプロジェクトで再利用したりすることもできる。対話型のシミュレータでは、システム性能を評価した上で設計を最適化することが可能である。
Simulinkはイベント駆動の動作をモデリングするための「Stateflow」や、ANSI/ISO C準拠のコードを自動生成する「Real-Time Workshop Embedded Coder」と統合することが可能である(両ツールともThe MathWorks社製)。いずれのツールにも「MATLAB」(価格は1900米ドル)が必要で、SimulinkまたはStateflowの拡張ツールは2800米ドル、Real-Time Workshop Embedded Coderは5000米ドルで販売されている。
図3 Simulinkのユーザーインターフェース TheMathWorks社製のSimulinkでは、ライブラリとして提供される定義済みブロックを使ってシステムのモデルを構築し、システム性能を評価することができる。
・ターゲット別の最適化機能を提供 ――Gedae
米Gedae社が提供する「Gedae」も独自仕様のモデルベース開発ツールであり、レーダー、ソナー、イメージング、オーディオなどの信号処理用途に多く利用されている(価格は7500米ドルから)。Gedaeのツールセットには、ワークステーション上で用いる開発環境に加え、PowerPCプロセッサ、FPGA、DSPなど、ターゲットごとのランタイムカーネルが含まれている。こうしたターゲットごとに最適化が行える点がその特徴である。ただし、モデルの構築は、ターゲットやプログラミング言語の違いにかかわらず行える(図4)。
Gedaeは、あらかじめ用意された、あるいはユーザーが入力した実装パラメータを用いて、ターゲットにおける性能が最適になるようにモデルに処理を加える。その後、ターゲット上でアプリケーションを実現するためのコードを出力する。Gedaeには、アプリケーションを複数のプロセッサにマッピングし、実行状態を視覚化するためのさまざまなツールも含まれている。複数の基板ベンダーからサポートパッケージが提供されており、開発キット「Gedae BSP(board support package)」により、ユーザーはコードを独自のハードウエア向けに最適化することができる。
・広範なターゲットのサポート――LabVIEW
米National Instruments社は、20年前に開発したグラフィカルプログラミング言語「LabVIEW」を最近アップグレードした。これもまた組み込みソフトウエア設計者向けにコードの自動生成機能を提供している。システムモデリングおよびシミュレーションの機能に加え、最新のLabVIEWはオブジェクト指向プログラミングにも対応した(カプセル化のサポート)。
LabVIEWの新しい組み込みソフトウエア開発モジュールは、ほとんどのリアルタイムOS、および多くの32ビットプロセッサ/DSPなどのターゲットに対し、C言語のコードを生成する。LabVIEWの価格は1199米ドルからで、組み込みソフトウエア開発モジュールは1万995米ドルである。
National Instruments社はモジュール式で再構成可能な工業用制御/集録システム「CompactRIO」も提供している(価格は2495米ドルから)。CompactRIOには、リアルタイムプロセッサとFPGAが内蔵されている。このFPGAはユーザーがプログラミングでき、LabVIEWアプリケーションを同社従来品の100倍の速度で実行可能な並列処理演算エンジンである。設計者は、LabVIEW、「LabVIEW Real-Time Module」、「LabVIEW FPGA Module」を用いて、独自のハードウエア回路を定義することができる(図5)。筐体は4または8スロットのいずれかを備え、ホットスワップ可能な15個の産業用I/Oモジュールを組み合わせることができる。
Copyright © ITmedia, Inc. All Rights Reserved.