|
並列Javaとは KRoCプロジェクトがスタートして2-3年した頃にオランダのTwente大学とKent大学が共にJavaへのプロセスモデル、並列モデル導入に注目し始めた。オブジェクト指向の言語はオブジェクトを参照して更に新しいオブジェクトを生成するには向いているが、プロセスモデルは非常に弱い。 確かにその通りでoccamの場合は一切OSレベルの操作を考えなくても並列のモデルが構築できる。Twente大学のGerald
Hilderinkはoccamのコンストラクター(SEQ,
PAR, ALT, PRI, etc)を導入したCTJ(Communicating
Threads Java)を開発した。これは当時ヨーロッパでは大変な興奮が起こった。 JCSP/CTJは微妙に異なるが背景にあるCSPモデルは同じである。ここで強調しなくてはならない点はJCSP/CTJはJavaのClass Libraryライブラリであり特殊なJavaではないことである。両者の比較はNan C. Schallerの資料が参考になります。 JCSP/CTJは米国の大学教育で認識されつつあります。CMU,
USU、 Colgate-U、
RIT、Pace-U等で実施されています。USUのDyke
Stilesの様にoccamのハーネスをJCSPに移植することはJavaを並列化する際に非常に重要なコンセプトです。
|