ポストPC時代のキーワード「エンベデッド」のすべて ――転換点はカー・ナビゲーション・システム
●クロスオーバする開発環境と開発スタイル
カーナビの例で触れたように,もともと航空宇宙や軍需で培われた組み込みテクノロジ(32ビットのCPU,リアルタイムOS,ネットワークなど)は,民生品を得意とする日本の半導体メーカとセット・メーカによって上手に情報家電へと導入されてきた.組み込みのテクノロジ・ドライバの役割もすっかり情報家電が担うようになった.
「パソコンでできることはなんでも組み込む」という流れは,「個人の生活を便利に楽しく」する情報家電において,ますます加速していくであろう.短期間でどんどん新しいものが開発される情報家電製品においては,最新の組み込みCPU,リアルタイムOS,ミドルウェアといった組み込みテクノロジが,要求仕様を満たすためにも開発期間を短縮するためにも必要不可欠だ.一方で,それ以上のスピードで巨大化するアプリケーションを開発するために,開発スタイルも変えていく必要がある.
●パソコン系ソフト・エンジニアと組み込みソフト・エンジニアで作業を分担してアプリケーションを開発
カーナビ,セットトップ・ボックス,携帯電話といったアプリケーションでは,100人~200人でアプリケーション・ソフトウェアを開発するケースも珍しくない.こうした大規模な開発においては,生粋の組み込みエンジニアだけでは人手不足であり,デスクトップのソフトウェア・エンジニアがアプリケーション・ソフトウェアの開発に流入してきている.これは「パソコンでできることはなんでも組み込む」という流れからみても,きわめて自然な流れといえる.
組み込みシステムといえば,OSの移植からアプリケーションの開発まで,すべてが少数の職人的組み込みエンジニアによって開発される小規模なものがほとんどであった.言語もアセンブラとCが中心であった.大規模な情報家電の開発においては,職人的エンジニアはハードウェアに近いOSやミドルウェアの環境を開発し,デスクトップ・エンジニアがアプリケーションを手分けして開発するという分担作業が一般
的になりそうだ.
●統合開発環境が整っていればエンジニアの負担が減る
前述の開発ツールCodeWarriorは,もともとMacintoshの開発ツールとしてスタートし,デスクトップからゲーム機,PDA,そして組み込みへと降りてきた開発ツールである.
開発ツールのユーザ・インターフェースとなる統合開発環境IDE(integrated development environment)は,GUIベースのVisualプログラミング・ツールのようであり,メイク・ファイルすら記述する必要がない(写真8).大規模な組み込みアプリケーションの開発ではメイク・ファイルの記述ミスも致命的となるが,IDEではそんな心配もなくなる.
CodeWarriorの操作性はデスクトップ・エンジニアにとっては扱いやすい.人材不足のおり,フレッシュマンにも即戦力が期待できる.いまは大型コンピュータやワークステーションでプログラミングを習得せず,ほとんどの人がIDEベースのVisual環境でプログラミングをスタートしているのではないだろう.IDEが使える組み込みソフトウェアの開発環境は,フレッシャーズにも取り組みやすいだろう.
〔写真8〕CodeWarrior IDEの画面