第3章 米国政府支援SDP(Software Design and Productivity)研究開発の動向
IT研究者が、国家のコンピューティング及び情報通信インフラストラクチャ上で動いている現世代のソフトウェアの重大な技術的脆弱さに取り組もうとしたとき、IT研究者は、組み込み型技術における初期の変革において、独特の新しい難問に直面した。今日のソフトウェアは、その開発とメンテナンスに巨大な金額が費やされているもかかわらず、必要とされているほど相互運用性がなく、拡張性もなく、また、コスト効率に優れているわけでもない。
この問題を解くかぎは、これまではプログラミング“ウイザード”という寂しい技術によって行われてきたソフトウェア設計と開発を、質の高い結果を得るために広く受け入れられる原理、方法、最良の経験で支配された形式的枠組みの科学と工学の学問分野に変換することである。技術者は、技術的要求を満たした詳細な設計図、関連する基本原理や関連材料に対する最先端の訓練で養われた知識、長持ちする品質保証された構成部品を作るためのコスト効率の良い開発プロセスを持たずに、つり橋を架けるような夢を見ることはない。わが国のインフラストラクチャに根を下ろす重要な基盤として、ソフトウェアは少なくとも科学的に設計されたものであるべきである。
NITRDの研究のひとつは、ソフトウェア開発の新しい科学のために、モデルを作り出し、試験し、評価することに重点を置いている。目標は、今日の特異的で少数の人のみが理解できるコードから脱却し、合理的でモジュラリティがよく、実証的で再使用できる、安定した工学的設計に移行することである。科学的な原理と手法は、開発者やユーザが、自動化された技術を使って、ソフトウェア製品を設計し、構築し、試験し、厳しい使用テストをすることを可能にする。ここで自動化された技術は、ソフトウェア製品が利用される前に、それらの動作を確認し、大規模ソフトウェアの何百万のもの手作りのコード中に潜む、今すぐ簡単に見つけられない弱点を正確に指摘することができるようにする。設計と実装の局面を自動化し、実践的なテストベッドを使うことは、プログラミング段階を合理化するだけでなく、高価なデバッグ工程の効率を上げ、改良することによって、現在の極めて高い開発コストを抑制することになろう。
最終的には、より高品質のより多くの製品を作ることを可能にするだけではなく、実質上開発費を下げ、維持を容易にすることにより、ソフトウェアの「生産性」を劇的に向上させる開発方法論を得ることが目的である。
ソフトウェアのための科学的基盤は、組み込み型システムにとって極めて重大なものであり、大規模な物理的システムの内側奥深くにある小さなコンピュータ・コンポーネントは、極めて多くのコンピューティング及びノン・コンピューティングタスクをリアルタイムにサポートするための機能を持っている。ちょうど、自分がどこにいるか、そして、または何をしていようとも、我々の心臓と肺は命令されなくとも機能するように、組み込み型プロセッサはその仕事を自動的に絶え間なく行うことができなければいけない。ちょうど我々の命は、新しい細胞が生まれて古い細胞が死ぬことにほとんど影響されないように、組み込み型システムは、いくつかの個々の組み込み型プロセッサが損傷を受け、破壊され、付け加えられ、あるいはアップグレードされても、全体としてのシステムが自動的に機能し続けている間、動作し続けることを期待されている。
2003年度に、NITRD 参加機関は、ソフトウェアの品質を向上させ、その費用を全面的に削減するための基礎研究を支援する。この先進的技術は不可欠の駆動力となり、我々は、これにますます依存度を深めることになって、大規模及び小規模アプリケーションの両方において、社会により、大きな利益をもたらすことになる。