ソフトウェア工学は組み込みソフトの開発現場を救えるか?

組み込みネット編集部

tag: 組み込み

レポート 2001年7月 3日

 2001年6月13日~15日に高知市で開催されたソフトウェアシンポジウムにおいて,「ソフトウェア工学は組み込みソフトウェアを救えるか?」というテーマで,パネル・ディスカッションが行われた.最近,携帯電話などの製品出荷後のバグの発覚や欠陥品の回収,開発スケジュールの遅延など,組み込みソフトウェア開発の現場でソフトウェア品質に関するトラブルが頻発している.今回のパネル・ディスカッションでは,「ソフトウェア工学的手法を開発プラットフォームとして活用すれば,組み込みソフトウェア開発現場の問題は解消されるはず.現場の技術者は,もっとソフトウェア工学を学ぶべきだ」という声が挙がった.ただし,組み込みソフトウェアは納期やコストの制約が厳しいため,ソフトウェア工学の適用をはばむ要因が多すぎるという見方も出ていた.

 パネル・ディスカッションの司会は,リアルタイムOSの研究者である高田広章氏(豊橋技術科学大学)が務めた.パネラとして,組み込みソフトウェア開発者の和田喜久雄氏(NEC静岡)と鈴木郁子氏(シャープ)が参加した.このほか組み込みシステム開発の経験のある張漢明氏(南山大学)がソフトウェア工学の研究者の立場から,伊藤昌夫氏(ニルソフトウェア)がソフトウェア・コンサルタントの立場から議論に参加した.

●開発工数は増えても開発期間は変わらない

 本パネルでは,まず,組み込みソフトウェア開発現場の実状と問題点が提示された.和田氏は,「携帯電話は身近になり,家電製品と同じソフトウェア品質が要求される.また機能の増加(ブラウザ機能,Java機能など)や,プラグラム容量の制約のもとでのリアルタイム処理など,開発の困難さは増加している.その一方で,開発期間(約8ヵ月)は変わっていない」と発言した.すなわち,開発工数は増えても,納期はそのままというケースが多いようだ.1台の携帯電話を200~300人体制で開発しているという.「これだけの大所帯になると,当然,スキルのばらつきも問題となる.スケジュール管理も難しく,プロジェクトをどのように進めていけばよいのか,明瞭な解が見いだせない」(和田氏).

zu1.jpg
[図1]「携帯電話の開発では品質の確保が命題である」と語る和田氏

 携帯電話メーカにとって,市場での製品の回収騒ぎは非常に頭の痛い問題だ.しかし,機能の増加にともなって,テスト評価が必要な項目の数が急増している.またブラックボックスの部分が多くなってきており,従来のホワイトボックス的なテスト手法が通用しなくなってきているという.

●ソフトウェア開発者の意識改革とスキルアップが必要

 これ対して,張氏は「形式手法(フォーマル・メソッド)は組み込みソフトウェア開発を救える」という立場に立って持論を展開した.自身の組み込み分野での経験から,「最初に仕様がないのはしかたがない.しかし,仕様変更が生じたとき,プログラムのすべてを見直さなければならないというのはおかしい.この問題を解決してくれるのが形式仕様記述言語.仕様の分析は必要だが,本質的な概念を明確にすることが大事だ」と述べた.複雑なソフトウェアの開発はそもそも難しいものだという認識をもち,ソフトウェア開発のための技能を習得するべきで,そのためには方法論に基づいた道具(ツール)が必要なのだという.「形式記述の意義は,ソフトウェア開発者の支援と訓練,情報伝達の手段」(張氏).形式記述は,論理的な思考や抽象的な思考の手助けをしてくれる.記号化による簡略な表現で,直感的な理解の支援しているのだという.そのうえで張氏は,「ソフトウェア工学を組み込みソフトウェア開発へ適用するには開発者の意識改革が必要.より簡易なモデルの構築,開発環境の整備を開発者全員が理解することが重要になる」という.

 ここで鈴木氏が「要求仕様分析の段階でどのように仕様を決定すればいいのか.教科書的な例ではなく,具体的な事例に沿った図式化や抽象化の方法を知りたい」と述べた.これに対して張氏は,「細かいことを書くために形式手法があるのではない.図式化,抽象化することで複雑なものを記述できるようになる」と答えた.続けて張氏は,「例外処理を明確にするために,どのようなモデルで記述するのかを分析して見通しをよくするのである.形式化のメリットは,図式化することで例外事項が見えてくることだ」と述べた.

●開発現場の技術者は,ソフトウェア工学を学ぶべき

 組み込みソフトウェア開発のスケジュールは,ハードウェア(メカ部や回路部)の進捗状況に左右されることが多い.また,メカ部のテスト・プログラムや回路部のテスト・プログラムでソフトウェアの動作確認を行っていることが多く,開発期間とコストの制約から,テスト・プログラムを再利用して最終的なソフトウェアを作ることも少なくないという.さらに,つぎはぎで作成したソフトウェアの品質を確保するのもたいへんである.会場からは「ハードウェア設計の進捗の影響も仕様変更と考えればいい」,「テスト用に開発したものは捨てて,作り直したほうが再利用するより品質がよくなる」という意見が出た.

 組み込みソフトウェアの開発工数の増大と開発期間の短縮に対して,開発現場は開発者の増員や開発工程の並列化(コデザイン)などで対応しようとしている.このため,開発要員の間のスキルのばらつきや工程間のインターフェースの不ぐあいなどが問題として表面化してきている.ソフトウェア工学の側からは,「形式手法などのソフトウェア工学の成果を利用すると,開発要員の訓練を行いやすくなる.同時にこれは情報伝達の手段としても利用できる」という意見が出てきた.また,「効率的な設計手法は,開発エンジニア自身の問題.ソフトウェア工学的手法を開発プラットフォームに用いることでいくつかの問題を解決できる」という.そのためにも「現場の技術者は,ソフトウェア工学を学ぶべきだ」という言葉でパネル・ディスカッションは終了した.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日