![]() |
![]() |
|
Loading
|
@IT > データ管理にDBを導入すれば、組み込み開発は「高効率」「高品質」「短納期」 |
![]() |
|
肥大化する組み込みソフトウェア開発では、ミドルウェアを積極的に導入する開発手法が主流となりつつある。今回は日立製作所と日立ソフトウェアエンジニアリングが共同開発した組み込みデータベースEntier(エンティア)を前後編にわたって紹介する。前編では、組み込みデータベースを導入するメリットを解説しよう。
組み込みソフトウェア開発の現状を示す重要なデータがある。経済産業省の「2004年版組込みソフトウェア産業実態調査報告書」(PDFファイル)によれば、昨今の組み込み機器で利用されるソフトウェアのソースコード量は急激に増加しており、製品全体では平均50万行程度、場合によっては300〜500万行にも達するものがあるとされている。残念ながらこうしたソースコード行数は、従来と同じ方法で開発を続ける限り、減る可能性はない。むしろ新機能の提供や新サービスへの対応などの必要性により、膨らむ一方である。
しかも悪いことに、開発すべきソースコード量が増えることにより、品質の低下や開発期間の遅れが深刻な問題になってきている。特に、組み込み市場では、深刻なトラブルの場合には「リコール」となってしまい、多大なコスト負担とブランドイメージへのダメージが大きなものになる。また開発コスト自体も無視できない規模になっており、このため「開発効率を向上し、高い品質を維持したまま、リードタイムを削減する」という3拍子がそろっていないと、組み込み市場で生き残ってゆくことは難しい。 ではどうすればこれが実現できるのか? これに対して日立製作所 ソフトウェア事業部 関芳治氏が提案するのは、ミドルウェアとして高速軽量な組み込みデータベース「Entier(エンティア)」注1(以下Entier)を利用することである。
数10万〜数100万行にも及ぶソースコードは、当然ながら複数のモジュールで構成される。ところが、この複数モジュールのうちかなりの量が、さまざまなデータの受け渡しを個別に行っているのが実情だ(図1)。
「例えば図1の左側のように、モジュールAが一覧表示、モジュールBが類似検索、モジュールCがソート、モジュールDがデータの追加といった具合に、データの受け渡し処理を直接作りこむというのがこれまでの方法でした。こうしたモジュールは、ケースによっては50〜60も存在し、しかもこれだけの数になると1人で開発するのは到底不可能なため、複数のグループでコーディングを行うことになります。そうなると、当然モジュール間の競合や解釈の相違なども発生ので、これを解決するためにさらなる労力が必要になってきます。結果として、こうしたデータ管理に要する開発コストが全体の作業量の数10%にも及ぶことも珍しくないのです」と関氏は語る。 これを解決するのが、Entierをデータ管理処理を行う組み込み型データベースとして導入することだ。図1の右側のようにEntierを適用し、アプリケーションロジックとデータ受け渡し処理とを分離することで、大幅なコード量削減が可能になる。さらにはプログラムの品質の向上が可能になり、保守も容易になる。 「データアクセスがSQLベース注2となることで、アクセス手順なども標準化され、モジュールの共通化や技術者同士のノウハウの継承なども可能になり、開発効率の向上、品質向上、リードタイムの短縮が可能となるわけです」(関氏)。
以前は、組み込み向け機器のリソース(CPU性能、搭載メモリ量)が少なかったため、データベースの適用は難しいと考えられていたが、Entierは最大でも数100Kbytesのロードサイズであり、昨今の組み込み機器には十分搭載可能だ。しかもインクリメンタルサーチや空間検索機能といったEntier独自の機能(詳細は後述)は、多くの場合アプリケーションロジックで実装するよりも高速に動作する。 データベースとの連動というアプローチは、例えばWebサービスなどの世界では、もはや常識であり、最近流行のblogにせよSNSのサービスにせよ、内部的にはDBとWebサーバの連動で構成されている。こうしたWebサービスの状況を踏まえても、複雑かつ大規模な昨今の組み込み機器へのデータベース適用は大いに有用だと考えられる。 ESEC注3において日立製作所は、このEntierと音声合成エンジンのRuby Talk、3DマルチメディアコンテンツエンジンのMatrixEngineという3つのミドルウェアを使ったEPG検索システム注4のデモンストレーションを展示する。
「このシステムはプロトタイプから実装、テストまで1人月で完成しました。同じものを、こうしたデータベースをはじめとする各種ミドルウェアを適用せずに作りこんだら、数人月のオーダーでも完成しなかったでしょう」と関氏は語る。適切なミドルウェアを組み合わせることで、昨今の組み込み向け機器に必要な機能を満足させ、十分な品質と安定性を確保し、市場の要求に応えうる開発期間で完成し、かつ開発コストを下げるための道筋が見えてくる。Entierは、こうしたニーズに応えるために必要かつ十分な機能を持った製品といってよいだろう。 提供:株式会社 日立製作所
企画:アイティメディア 営業局 制作:@IT 編集部 掲載内容有効期限:2006年6月30日 |
|