Wind Riverの日本法人であるウインドリバーは9月1日、都内で会見を開き、IntelがVirtutechを買収したことで、同社が取り扱うこととなった組み込みソフトウェア開発向けシミュレーション開発環境「Wind River Simics」の概要についての説明を行った。

組み込みシステムにおけるソフトウェアの開発は、システムの高機能化、複雑化に伴い、マルチコアへの対応や、1ボードでの複数機能への対応などが求められるようになってきており、結果として複数システムによる競合の発生などによる設計全体の見通しの困難化、システムの複雑化による開発工数の増加に伴うコストの増大、1つのCPUでも複数のコアによる動作のため、問題が生じたとしても、その問題の特定が難しいなどの課題が生じていた。

現在のWind Riverの製品ポートフォリオ

IntelがVirtutechを買収しソフトウェア事業へと吸収し、Intel子会社のWind RiverがSimicsの取り扱いを行うという構造となっている

ウインドリバー 営業技術本部 本部長の志方公一氏

Simicsは開発から運用までをシミュレーション上でカバーすることを目的にVirtutechが1998年より販売してきた製品で、「ソフトウェア開発に特化した高速シミュレータ」(ウインドリバー 営業技術本部 本部長の志方公一氏)という。

ハードウェアの機能を仮想化するため、その上で動作するOSはその種類を問わずに動かすことが可能で、高速ブートが可能なほか、シミュレータ向けバイナリを用意することなく、実際のバイナリでの動作が可能となっている。「ポイントは高速ということで、モノによっては実機を用いるよりも高速に動作させることが可能」(同)ということで、これを活用することで今までシミュレータではやりにくかったシステムの全体デバッグなども容易になるという。

Wind River Simicsの概要

Simicsがサポートする範囲は広く、プロセッサやメモリ、SoCといった領域はもちろん、インタフェースやボードもカバーし、さらに複数枚のボードを用いるブレードシステムや、ネットワークを経由したシステムなども対象としている。

ネットワークでつながるようなシステムのシミュレーションも可能

また、システムレベルのデバッグ機能としてさまざまな開発に役に立つ機能を搭載。特に"逆実行"の機能については「何かプログラムを実行して問題が生じても、2回目、3回目と動かした際に、再現できない場合が多々ある。Simicsを用いると、時間軸を逆に再生することが可能で、それぞれのポイントごとに遡ってチェックすることが可能となる」(同)と、実機で確認しづらい不具合再現などもシミュレーションを活用することで容易になることが強調された。

Simicsに搭載されたデバッグ機能の主なもの

Simicsの最新バージョンは2010年5月に発表された「Wind River Simics 4.4」で、このバージョンでは2つの新機能が追加されている。1つは「Wind River Simics Analyzer」で、もう1つは「Wind River Simics Extension Builder」である。Simics Analyzerは、CPUのスケジュールを示すもので、どのプロセスが、何時どのコアで動作しているのかを示すことが可能。これにより、空いているコアに、仕事を分散させることなどが容易になるという。

「Wind River Simics Analyzer」の画面

Simics Extension Builderは、3つの機能を持っている。1つ目は、「他のシミュレータと接続してSimicsの機能を拡張」できるというもの。これにより、例えばシグナルジェネレータのシミュレータからSimicsに信号データを送ることなどができるようになる。

2つ目は「プロセッサAPI」で、これによりWind River以外のサードパーティの命令セットシミュレータをSimicsから活用することが可能となる。

3つ目は「シミュレータAPI」で、Simicsのデバッガ機能をAPIとして公開することで、他のツールからSimicsの実行および制御が可能になり、他社のデバッガやEclipse Plug-in Moduleなどを利用できるようになる。

Wind River Simicsの製品ファミリ

なお、Simicsを活用したシステム開発は日本でもネットワーク関連を中心に複数の案件が動いているというが、Simicsの価格はターゲット、システム規模、ライセンス方法などによって異なるため、ウインドリバーにどういったことをやりたいのかを、気軽に相談してもらえれば、としている。

SimicsがサポートしているCPUアーキテクチャなど。Wind Riverではニーズの大きいものからサポートを進めるとしており、同社では、現在の主軸がネットワーク関連などであることを考えると、ARM Cortexなどは後回しになりそうだとの見かたを示している