このページは、ソフトウェア、機器組込みのエンベデット・ソフトウェア(ファームウェア)の開発に関連したコラムのページです。このコラムはメールマガジン「アメニティ&サウンド 音と快適の空間へ」で連載していた技術・開発コラムを再編集したものを掲載しています。
前回は、DSPやCPUのツール選択時の評価についてでした。今回も前回に続き、開発プロジェクト当初の評価についてです。
開発ツールの評価は、特殊なプロセッサでメーカーの純正品しかなかったとしても必ず行ないます。ここまで「ツール選択」のという表現をしていますが、DSPや組込用マイコンの場合、メーカー製ツールが唯一のツールであることがあります。このような場合には、選択の余地はありませんが、それでも、最初の評価は重要です。
ソフトウェアの不具合を表す、バグ(BUG)の意味は、英語の意味通り虫です。
コンピュータ聡明期に大型汎用機が誤動作して原因を調べた所、汎用機の中(紙テープの中だったかもしれません)に本当の虫(リアルワールドのバグです)が発見されたそうです。
「不具合の原因はバグ(虫)だ」ということになり、コンピュータやソフトウェアの不具合をバグと呼ぶようになったとのことです(原典を忘れてしまいましたので、正確ではないかもしれません。もし、軽く聞き流せないとおっしゃる方は、調査してみてください。有名な逸話なのですが、信頼できる情報として調べるのは少し難しいかもしれません)
ソフトウェア技術者の人は「原因はバグ(虫)」ではなくて「原因は私」ですから……
置き換えると「私はバグ(虫)」ということかな……?
何を評価しようとしているのか……
まず、第1に最も重要な点は、「正常に機能しているのか」ということです。断言するのは気が引けますが、開発ツールもソフトウェアですから、バグ、不具合はあると考えて開始します。期待通りに動作するはずだという楽観的な前提で計画を決定することは、最もリスクが高い前提をプロジェクトに課したことになります。
最新のプロセッサの開発ツールとなると湯気がでるほどホットなだけに、実は、自分たちが世界初のユーザーになることもありえます(さらに、他にユーザーがいない場合も...)。ですから、メーカーが既に販売中の製品であっても、正常に動作するという期待だけで開発ツールを決定したり、開発手法を決定してはいけません。
補助ツールを作成する必要があったり、コーディング方法をあわせることで問題を回避しなければならないことがありえるため、プロセッサの採用評価段階から調査する必要があります。
コンパイラならコンパイラを評価して、コンパイラが正しく期待通りに動作することを確認しなければなりません。
もし、コンパイラに不具合があったり、期待通りのコードが生成されないようであれば、症状によっては、アセンブラだけで開発する手法を採用するか(今すぐ体力があって手の早い人員を確保しましょう)、別のプロセッサを選択した方がよいプロジェクトだってあります(TT)。
ARIはハードウェア設計、製造、ファームウェア開発、 Windowsアプリケーションの開発をしています。 実績等に興味をお持ちいただけましたら、会社情報に主な開発実績を 「音響と開発」のコーナーには事例など関連情報を掲載していますのでご覧ください。
ソフトウェア開発と開発ツール関連の雑記
機器組込みのエンベデット・ソフトウェア(ファームウェア)の開発に関連したコラムです。 メールマガジン「アメニティ&サウンド 音と快適の空間へ」に連載していた技術・開発コラムを編集掲載しています。
ソフト、ハードウェア 技術関連の雑記
このコラムは無料メールマガジン「アメニティ&サウンド 音と快適の空間へ」 vol.36〜vol.64(2003年8/21〜2004年11/18)に 音響と開発の関連コラムとして連載していたものを編集掲載したものです。
技術・開発の閑話-2- vol.11〜20F1とコンピュータ技術 / ソフトウェアの標準と部品化
( 戦術と戦略の誤解 / アジャイル開発 / リファクタリング / 遺産と再生産 / 標準と生産管理 ほか)
|
技術・開発の閑話-2- vol.01〜10「ありえない」フェイルセーフと安全機能の連鎖 / HDD容量の差(天使の分け前) / リアルタイムとベストエフォート / エラーとコスト(ブルースクリーン/XP) / NDAと情報公開 / 専門ドメインの基礎範囲 / NHK技研公開(超高精細映像システム) |
エーアールアイはPCアプリケーション、デジタル機器の組込み(CPU)、信号処理(DSP)ソフトウェアの開発を行っています。 お客様のお役に立てることがございましたらご用命ください。