(2)データベース処理コンポーネント
データベース処理コンポーネントの例として、二元合金状態図データベースから検索した情報をブラウジングするためのコンポーネントを作成した。過去にJavaで記述したアプレットをベースとし、そのBean化を行った。データベースサーバから指定した組成の状態図を取得し、画面に表示する。ユーザーは、マウスでクリックすることによって希望する組成比を指定することが可能である。
(3) ミクロ組織変化シミュレーションコンポーネント
例題としてスピノーダル分解を選び、与えられた情報(組成比)を基に相形成のシミュレーションを行う。ここでは、Coupled
Map Lattice3)を用いた。そのlate stageにおける結果として得られる組織構造が次段階への入力として与えられるようになっている。
スピノーダル分解はCahn-Hilliard-Cookの式で表されることが多いが、ここではCMLによってこれの離散化に相当するものを用いてシミュレーションを行った。
(4) 応力解析コンポーネント
OOF4)は、有限要素法ソルバであり、ミクロ構造における熱弾性計算を行うソフトウェアである。入力としては、計算シミュレーション、あるいは電子顕微鏡などによって得られた組織の画像ファイル(PPM形式)を取る。OOFは独立したソフトウェアであり、実行形式のみが配布されている。しかしながら、行うべき処理をスクリプトの形で記述することで、完全に自動処理を行うことができる。これに対するインタフェースをJavaBeansとして製作した。
以上で、全体としてad-hocな仮想実験環境が構築された。システム実行時の画面を図1に示す。最終的に得られた塑性変形シミュレーションの結果を図2に示す。

図1. 実験システム実行時のスナップショット
図2. OOFによるシミュレーション結果例
3. 考察
(1) 計算量が多大な数値計算の場合
計算量が多大な数値シミュレーションの場合には、Java言語で計算コード全てを記述するのが現実的でなく、分散処理を行うことが必要となる。分散処理の枠組として頻繁に使用されているものとしては、PVM,
RMI, CORBA5)などがある。現状では、各計算機ベンダが固有のアーキテクチャに対して最適化した製品を出しているPVMが通信オーバヘッドが少ないという点でより優れている。しかしながら、JavaBeansというコンポーネントアーキテクチャとの親和性という点からは、RMIとCORBAが優れている。RMIはその設計段階でJavaを中心としたターゲットとしているのに対して、CORBAでは特に言語を選ばないため、汎用性という観点からより優れている半面プログラミングが若干繁雑になる。ビジネスアプリケーションでは、情報通信の手段としてCORBAを使用することが一般的になりつつあり、将来、商用計算コードもCORBA準拠で作成されるであろうことが予想される。
(2) メタデータ管理と設計知識の収集
将来コンポーネント化された多様な計算コードが提供されるようになっていくことが予想される。その場合、与えられた設計問題に対して、どのコンポーネントをいかなる形態で用いるのが良いのかを示唆するシステムが必要となる。また、コンポーネントの数に対するスケール化問題を解消するには、コンポーネントのメタデータを管理システムが重要になっていく。
4. 結論
コンポーネントアーキテクチャを用いた仮想実験システムが容易に構築されることが検証された。通常の個別のソフトウェア開発に比べて、工期が伸びることが期待されたが、実際には大差ないことが確認された。コンポーネントアーキテクチャは計算シミュレーションにおいてはソフトウェアメーカが採用しつつあり6)、今後、高速に浸透していくことが期待される。本研究により、コンポーネント化された部品をビジュアルワークベン上で試行錯誤しつつ、材料設計を行うことができる環境のプロトタイプが示された。
参考文献
1) Graham Hamilton Ed., Java Beans API Specification, Sun Microsystems,
1997.
2) Thaddeus B. Massalski Ed., Binary Alloy Phase Diagrams, Second Edition,
ASM International 1990.
3) Yoshitsugu Oono and Aritomo Shinozaki, Cell Dynamical Systems, Forma,
4, 75-102, 1989.
4) W. Craig Carter, Stephen A. Langer and Edwin R. Fuller Jr., The OOF
Manual: Version 0.004, NIST, Jan 8 1998.
5) CORBA 2.1 Specification, OMG, Sep 23, 1997.
6) C2WebBuilder,http://www.msi.com/weblab/webbuilder/info/,
Molecular Simulations Inc. 1998.