Home

Overview 

Overview1

Overview2

Overview3

Overview4

CSPモデルプログラミング   CSPJAPAN.ORG – 2008

Home   Overview  JCSP   CSP for .NET(C#)   C++CSP2   OCCAM   Links

 

  

 

Overview-4

 

CSPモデルの潮流

 

C.A.R. Hoare1978年にCSPを発表以来、CSPモデルは今日の計算機科学の発展に多大に貢献したことは周知の事実ですが、ここで、プログラミングの側面に的を絞ってその発展過程を振り返ってみようと思います。

CSPモデルに基づいた世界初の並列処理言語“OCCAM”とその専用並列処理用プロセッサ“Transputer”がC.A.R. Hoareの指導のもと開発に成功したのが1980年代初頭です。このOCCAMTransputerの組み合わせにより初めて実用的でスケーラビリティに富んだ並列処理システムが出現しました。当時、世界的に脚光を浴び日本国内でも様々なところで製品にも採用されましたので懐かしく思う方も多いかと思います。このOCCAMTransputerシステムがCSPモデルプログラミングの原点になります。

 

 

 

 

 

 

 

説明: 説明: 説明: D:\CSPJAPAN_HomePage\cspjapan_Ver2_111021_Pre_UpLoad\overview\overview_04_image001.gif

 

 

 並列処理言語OCCAMの名称のは、William Occam ( 12801349、イギリスの哲学者)に由来しています。“オッカムの剃刀“という格言で有名です。「実体は必要以上に増やしてはならない」あるいは「物事は簡単にせよ」という思想ですが、OCCAM言語の哲学「プログラムをシンプルに保つ」そのものを象徴しています。

 

説明: 説明: 説明: D:\CSPJAPAN_HomePage\cspjapan_Ver2_111021_Pre_UpLoad\overview\overview_04_image002.gif

 1987年当時の平均的なパソコンに利用されていたプロセッサは、16bit10MHz 程度ですが、TransputerT800)は、既に32bit30MHzを誇っていました。この何十台、何百台ものTransputerが高速リンクで直接接続されOCCAM言語で同時に動いたのですから驚きです。

 さらに、革新的な次世代Transputer“T9000”(200MIPS)の開発が開始されましたが、製造会社の移管などで開発の遅れが目立つようになりました。

 

 

説明: 説明: 説明: D:\CSPJAPAN_HomePage\cspjapan_Ver2_111021_Pre_UpLoad\overview\overview_04_image003.gif

 

1990年には、CSPを用いた設計開発手法(今で言う形式手法を用いた設計開発)に対して“Queen’s Award 1990”を受賞しています。T800FPUOCCAMで記述し動作検証まで行ったそうです。

1990年代半ばに、残念なことにTransputerの開発が断念されます。しかし、OCCAMコンパイラーの方はソースコードがKENT大学に買い取られKRoCKent Retargetable occam Compiler)として再開発されることになりました。OCCAMの正統なコンパイラーとしてLinux上で利用できます。現在、バージョン1.4です。

 

説明: 説明: 説明: D:\CSPJAPAN_HomePage\cspjapan_Ver2_111021_Pre_UpLoad\overview\overview_04_image004.gif

 

 

1999年には注目すべき100JAVAライブラリーが、同じくKENT大学からリリースされました。OCCAMと同等の機能を実現するCSPクラスライブラリーです。CSP for JAVAの意味を込めてJCSPと呼ばれています。JAVA言語でCSPモデルに基づく並列・分散プログラムが簡単に書けます。現在は、LAN上にプロセスを分散配置しネットワーク上にCSPモデルを実現できます。

 また、2000年には第16回京都賞をC.A.R.Hoareが受賞(先端技術部門)しています。

同じくKENT大学からC++用のCSPクラスライブラリが2003年にリリースされています。

 

説明: 説明: 説明: D:\CSPJAPAN_HomePage\cspjapan_Ver2_111021_Pre_UpLoad\overview\overview_04_image005.gif

 

 

 

 

マイクロソフトの.NET Framework用のCSPクラスライブラリがCSP.NETという名称でコペンハーゲン大学で開発されていましたが、2007年に“JIBU”という名称で対応プラットフォームを拡張して発売になりました。.NET対応の他、JAVA用、C++用、Delphi用があります。また、2008年には、オーブンソース化されています。

 

これらのライブラリなどをプラットフォームごとに整理すると下図のようになります。 

説明: 説明: 説明: D:\CSPJAPAN_HomePage\cspjapan_Ver2_111021_Pre_UpLoad\overview\overview_04_image006.gif

 

説明: 説明: 説明: D:\CSPJAPAN_HomePage\cspjapan_Ver2_111021_Pre_UpLoad\overview\overview_04_image007.gif

            CSPライブラリなどの守備範囲

 

JCSPCSP for .NET(JIBU)C++CSPおよびOCCAMのインストール方法からプログラミング手法などは、各ページを参照してください。CSPモデルの基本的考え方は、すべて同じです。使い慣れた言語で気軽にCSPモデルプログラミングに挑戦してはいかがですか?

 

--- 前頁 ---

              

Copyright 2007 CSPJAPAN. ORG. All Rights Reserved