Eclipseと組込み開発
「EclipseってJavaの開発環境でしょ?」と考えてらっしゃる開発者が多いと思いますが、この非常に強力な開発環境は、Javaだけでなく、ざっと見渡してもC/C++をはじめとしてPHP、Python、Rubyなど様々な言語で使われています。
Webアプリケーションや業務系のソフトウェア開発に用いられるケースが大半ですが、実はちょっとした工夫で組込み開発にも威力を発揮します。 最近、DSDP(Device Software Development Platform)などのように、組込み開発に特化した動きもあります。しかし、組込みソフトウェア開発におけるEclipseの活用に関しては、まとまった資料があまりないのが現状です。
Webアプリケーションや業務系の開発に関する解説書は、大きな本屋さんに行くと目立つところに一棚以上のスペースを確保していますし、平積みになっていたりもします。Eclipseそのものを学ぶ場合はそれらの本を紐解いていただき、組込みソフトウェア開発でEclipseを使う際には、本稿を参考にしていただければと考えています。
組込みソフトウェア開発
組込みソフトウェア開発は、地デジ対応のテレビや携帯電話などのデジタル家電のブームで、最近脚光を浴びているソフトウェア開発分野です。今更ながら、なぜこれがブームになっているかを、筆者なりに分析してみました。
初期の組込みソフトウェア開発(当時は組込みソフトウェア開発という言葉すら定まっていなかった)では、それほど規模が大きくないことと、使用できるマイコンのバジェットも小さいことから、1人ないし2人でソフトウェアを開発することが可能でした。いわゆる職人的な開発をするのが普通でした。また、実装するソフトウェアも単発なので、メンテナンスにもそれほどリソースを割かずに済んでいました。
携帯電話が一大転機だと思いますが、実装するソフトウェア規模が大きくなりネットワークに接続されるようになると、業務系ソフトウェア開発で用いられているいくつかのメソドロジーが組込みソフトウェア開発にも適用されるようになります。この頃から、組込みソフトウェア開発がクローズアップされるようになりました。
携帯電話を例に取れば、ハードウェア部分の設計・開発にはじまり、その上で動作するアプリケーションの設計・開発まであります。さらには、そのアプリケーションソフトウェア上で動作するコンテンツなどもあります。ここからもわかるように、業務系ソフトウェア開発者が組込み開発の一翼を担うようになってきたのが注目すべき点です。
開発案件が多くなり、組込みソフトウェア開発という文脈で捉えたときに、「これらの業務系ソフトウェア開発者をいかに組込み開発の核心部分に振り分けられるようにしていくか」、つまり「ハードウェアと密着して動作するのを意識せざるを得ない開発技法を身に付けさせるか」、この辺りが原点となって、IT業界内で組込みソフトウェア開発が喧しいのではないかと考えるわけです。
