第3章 ハイエンドコンピューティング研究開発の動向
3.3 ソフトウェア開発の新たなパラダイム
このパネルでは、まずソフトウェアの複雑が指数的に増大していることを指摘する。
そして、これらの問題は「ゴルディオスの結び目」である、とする。「ゴルディオスの結び目」とは、フリージアの王ゴルディオスの戦車の轅(ながえ)と軛(くびき)をつないだ非常に複雑な結び目であり、アジアを支配する者のみがこれを解くという神託があったが、アレクサンダー大王がこれを剣で両断した、とされるものである。すなわち、従来の考え方に沿った漸進的な改良では本質的な解決には至らず、なんらかのまったく新しいアプローチが必要な問題である、というわけである。しかし残念ながら、どのような剣をもって、どのように切ればよいか、という具体像を示しているわけではない。
PITACのソフトウェアの国立ライブラリの提言に対しては「国立ソフトウェア考古学センター」の設立を提言している。そこでは、ソフトウェアの古典をWeb上に公開するもので、古典的価値のあるソフトウェアの蒐集と保存、その芸術的本質のリバースエンジニアリングを行なう、としている。こうした活動を通じ、ソフトウェア分野における芸術的価値を持つ表現を奨励し、また既存技術を特許化することで、将来の研究の基礎ともなる、ソフトウェアの基本構成の宝庫を構築しようとするものである。これはいわばソフトウェア版のゲノム保存プロジェクトとでも呼ぶべきものである。
ソフトウェアを見るにあたって、その多面性に注目すべきである、ともしている。すなわち、ソフトウェアは多様な異なる意図を表現したものであり、ソフトウェアに関するこれまでの技術進歩の多くは、こうした意図のある側面をよりよく理解した、あるいは、ある側面を上手に表現した、というものである、とする。新たなシステムは共存する異なる視点が互いに影響しあって生まれるものであるが、従来はこのことについての認識が不足していた、とする。これに関連する研究分野としては:
があげられる。こうしたソフトウェアの多面性に着目した研究においてなすべきこととして:
をあげている。多面的なソフトウェアを構築する上で役立つ機構として、設計上の選択とトレードオフの明確化をあげている。この明確化によって、開発プロセスのメリットはそのままに、システム設計を考えるようにしむけることができる。また、ソフトウェアに対するさまざまな要請に対し、他の要請と独立に考えることを容易にしながら、他の側面との折り合いを明示的につけられるような機構も重要である、としている。
協調開発環境としては、Webを仮想会議場としてのソフトウェア開発が今後進むであろうことを予想し、ソフトウェア開発の社会学、ソフトウェアプロセスの利用、考古学センターや多面的ソフトウェアを利用するプラットホームの創造が研究課題として重要であるとしている。
3.4 実世界のためのソフトウェア
このパネルも、まず現状分析を行なっている。挙げられているのは以下の点である。
モ偶然的複雑性、予測不能性、合成不能性、脆弱性を持っているため、実世界との相互作用に向かない
モ大規模システムの構築には人力を注ぎ込む
モこのため、システム全体像の理解が喪失される
モ仕様とその実現が遊離してしまう
そして近未来の重要な問題として、今後十年程度のうちに、いたるところにでもコンピュータがある、という状況になるに違いないのにもかかわらず、今日のようなソフトウェアの作り方をしていたら、世界は危険極まりない場所になるだろう、逆にこれを回避しようとすれば、新技術の実施に支障をきたすことになるだろう、と警告している。
問題の根本は、人間が以下を表現するモデリング言語がないことにある、とする。
そして、根本的な問題はプログラムコードでも「仕様」でもなく、「モデル」あるいは「設計」の問題である、という。そこで、こうしたモデリングを行なう言語が重要な研究対象であり、より具体的なテーマとして以下を挙げる。
また、現状ではシステムを組合せて利用する組織的方法が欠如していることが、大きな問題である、とする。この問題を解決するに必要な要素技術として、以下を挙げる。
より具体的な研究テーマとしては、以下を挙げている。
また、これらの背景となる技術として、異なる軸での抽象化の間の変換についての理論の欠如をあげている。必要な技術としては、以下である。
具体的な研究テーマとしてあげているものは、以下のものである。
過去のソフトウェア資産の扱いについても、まず過去の遺産を扱う方法論の欠如を第一に挙げている。すなわち、システムを徐々に現代化する方法や、新しいものを古いものと統合する方法論の欠如である。具体的な研究テーマとしてあげているのは、以下のものである。
3.5 ネットワーク中心の分散ソフトウェア
最後のパネルは、ネットワークを中心とした分散ソフトウェアについてである。ここでも、まず近未来の状況分析から入る。
なるであろうと予測する。
こうした状況での分散ソフトウェアの応用として、以下のような多様な例を挙げる。
これらを実現する技術的な課題としては、以下を挙げる。
モ現状では工学的トレードオフを考慮する計算モデルが欠如
モ複雑なシステムではネットワーク端点間の特性の把握が困難
モここでも資源に関する計算モデルや端点間特性の欠如が問題
モ設計時に想定しなかった利用形態への対応が重要
モポリシー・保障・管理のドメイン設定
モ極度に動的なシステムの安全性確保と確認手法
モプライバシー確保
モ構成要素数; 構成要素の大きさ
モ単一の計算に関係する要素数
モネットワーク中心システムは長時間無停止動作の要請あり
そして、これらの技術を実現するための研究方向とアプローチとして、以下を提言する。
モ工学的トレードオフの扱い
モ大規模システムの運用手法
モ動的な資源の振舞いの解析
モ危機・信頼・安全の管理技法
モ資源のトレードオフ: QoS、実時間性、等
モ適応的振舞い
モさまざまな次元への拡大
モ分散管理
こうした研究の成果が与える効果としては、以下があるとする。
モ現状では作れない規模のものを作れるようになる
モネットワーク化システムの信頼性・制御性が向上する
工学的基礎がしっかりした設計による実現は、デバッギングによる実現よりもはるかに信頼性・制御性を高くできるモソフトウェア開発コストの抑制
モ新たなソフトウェアの作成・システムの設計にあたれる人材の供給
また、研究へのアプローチとして、以下が重要であるとしている。
4. おわりに
この報告をまとめる上で感じたところを述べて、本稿の結語としたい。
このワークショップは基本的には予算計画のためのものであり、種々の提言も技術的には必ずしも新規性の高いものではない。しかしながら、真剣に技術的な諸側面を議論した様子がうかがわれ、その結論には強い方向性がある。
共通に感じられるのは、抽象化を武器に複雑性・規模・不均質等の実世界の問題に挑戦しようという姿勢である。これは、従来乖離していたソフトウェアの理論と実践を止揚し、新たな枠組を構築しようとするものである。容易には解決の糸口さえつかめない実世界の複雑な問題に直面したとき、研究者は往々にして匙を投げ、理想化・単純化した問題のみを扱う象牙の塔の中に引きこもろうとする傾向が見られるものであるが、SDPではそうした傾向に厳しい態度をもって臨んでいる。プロジェクトでは実施に当たる可能性が高いと見られるこのワークショップ参加者も、学術的な世界に閉じた研究を提案することはしていない。逆に、理論的な基礎付けなく、ソフトウェアを開発するような提言も行なわれておらず、むしろそうしたアプローチではカオスを招くことを強く意識した提言となっている。
具体的な研究方向を策定する上で、このワークショップは多くの示唆に富む提言を行なっているように思える。筆者はその詳細な検討の任に堪えないが、強く感じられたのは、このような検討の場が連邦政府の研究予算の使途策定の場であると同時に、一線の研究者間の意識合わせの場でもあったに違いない、ということである。2日間という短期間ではあっても、一線の研究者のみが集まり合宿して行なう交流は、非常に密度の高いものであろうと推察できる。最終的な研究予算配分に至る前段階として、このような集中的な検討の場が設けられることは、研究を適切な方向性をもって活性化上で重要な役割を果たすであろう。