Home

Overview 

Overview1

Overview2

Overview3

Overview4

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Overview-3

 

CSPモデルの動作原理

 

CSPモデルではプロセス間に共有メモリなどのデータを共有する領域がありません。プロセス間のデータの授受は、チャネルを介した通信で行われます。しかも、チャネルの中のデータの流れは一方向でバッファがありません。ちょうど右図のようにAさんが一方的に話している時の電話に似ています。電話にはバッファがありませんのでAさんのメッセージは、Bさんが聞くしかありません。

 

 

 

 

 

 

 

 

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

もし、Bさんが不在の場合、FAX通信とは異なりAさんは待たされることになりますが、CSPモデルのプロセス間通信でもまったく同じ動作になります。プロセスAがチャネルにデータを送信しようとした時、プロセスBがレディ(受信準備完了)状態でなければ、プロセスAはプロセスBがレディになるまで待たされます。

 

 

 

 

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

 

以上のようにCSPモデルのチャネルは、

 

    バッファがない

    データの流れは、一方向

    一対一接続

 

を原則としています。このおかげでモデルがシンプルで取り扱いやすくなっています。

 

 

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

 

 データを送信するプロセスAとそのデータをチャネル経由で受信するプロセスBから成る並列プログラムがあったとします(右図)。送信側から見ると、チャネルにはバッファがないので受信側がレディになるまで待たされます。そして、データを送信しているときは、受信側がそのデータを受信していることになりますので、送信と受信は論理的に同時に動作していることになります。

 

 

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

 

 同様に受信プロセスから見ると受信側は、送信プロセスがレディ状態になるまで(データが送信されるまで)受信待ちになります。データを受信しているときは、送信側が送信している時になります。

 

 

 

 

 

 

 

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

結局、チャネルで接続されたプロセスは、互いに独立して動作できるがデータの送信受信は論理的に同時であると言えます。データを同時に送受信する時点で、この二つのプロセスは、同期すると言います。このようにCSPモデルの並列プロセスは、チャネルを介したメッセージパッシングにより同期がとられながら進行します。また「チャネルからデータの入力」や「チャネルへの出力」でプロセスの進行が停止したり起動されるので「CSPモデルは、チャネルドリブンである」とも言われます。

 

 

したがってCSPモデルではメッセージの送信のタイミングによりプロセスの起動や停止が簡単にできます。例えば、「0.2秒ごとに温度を計測すること」と「0.5秒ごとに圧力を計測すること」を同時に処理する計測システムなどは、右図のように設計できます。温度計測プロセスはチャネルからデータが来たら温度を計測するようにします。圧力計測プロセスも同様です。そしてControllerプロセスから起動したいタイミングで各チャネルにデータ(起動メッセージ)を送信することによって二つの計測プロセスを自由なタイミングで起動させることができます。

CSPモデルは、特にリアルタイム性が要求される計測制御システムなどと相性が合います。

 

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

 

--- 前頁 ---

              ---  次へ ---

Copyright 2007 CSPJAPAN. ORG. All Rights Reserved