著者
Kenneth C. Cox, Gruia-Catalin Roman
タイトル
Visualizing Concurrent Computations
書籍
VLWS91
ページ
18-24
日時
October 1991
出版
IEEE Computer Society Press
コメント
並列計算をグラフィック表示するためにproof-based visualizationという手法とSwarmという言語 を使用している。
Pavaneは共有空間における通信/計算を統合した 並列計算モデル``Swarm''\cite{Roman:visualization} をベースに作成れている。 BALSAZEUS のようなアルゴリズムアニメーションシステムと異なり、 プログラム中に表示プリミティブを埋め込むのではなく 計算に使われている共有データへのアクセスにより可視化を行なう。 また可視化計算の実行は逐次的に行なわれるのではなく、 あらかじめ記述された規則を共有空間内データが満たすと 実行が発火されるようになっている。 (宣言的アプローチという)
Swarmは共有データ空間を使用した並列計算モデルで、 Linda(共有空間を使用する点)、 UNITY(型式的記述、証明に重点を置いている点) などの影響をうけている。
Swarmは共有データ領域(dataspaceと呼ぶ) を用いて通信/計算を行なう。 データ空間はタプル空間(tuple space)、 トランザクション空間(transaction space)、 同期関係}(synchrony relation)の 3部分から構成される。 データ空間の要素は名前と値の列の組で構成される。 (e.g. has_label(P,L), Label(P)) トランザクション空間の要素には規則と動作が記述されており、 タプル空間内のデータ(タプル)が規則にマッチすると 記述されている動作が発火される。トランザクションの動作としては 通常の計算の他、タプル空間のタプルの生成/削除を指定できる。 同期関係というのは複数のトランザクションの動作が同時に発火することを 保証するためのものである。 初期状態として適当なタプルとトラザクションを与えると、 規則にマッチするトランザクションが順次発火することにより 計算が遂行されていく。
★Pavaneにおけるプログラム視覚化★
データ空間内の要素の状態がプログラムの状態を示すと考えられるので、 これを表示する。 要素の集合を直接表示に写像するのは複雑なので、簡単な写像を 多段(3段)にして可視化を行なう。
タプルの集合を単に空間(space)と呼び、空間から空間への 写像をトランザクション規則で表現する。
論文では、ネットワーク接続されたノードが メッセージによってアクティブ/インアクティブになるという計算を Pavaneによる記述でアニメーション表示した例を示している。
概要
Lindaを使用した場合と同様、共有空間を使用したモデル では視覚化が簡単にできると思われる。割とよくできたシ ステムのように思われた。
Swarmはそれ自体言語であり、 式の評価や関数呼び出しなどの汎用プログラミング 言語機能を持っている(はずである)。 例えばCで書いてあるプログラムをPavaneで可視化することはできない。 (計算モデルや証明可能性という前堤がくずれてしまう) デモビデオのような画面を作るにはグラフィックライブラリを使っている はずであるがそれとのリンクがどうなっているかを隠している。 LindaやCellulaなどのようなモデルでは 通信プリミティブをCのような汎用手続き型言語から使用できるので その方が可視化には便利だと思う。
3層に分離して抽象化したとはいってもやっぱりノウハウとかアドホック のかたまりのようである。本当に意味があるのかどうか疑問。 (増井 1991/11/21)
感想
G. C. RomanとK. C. Coxの開発したPavaneは 宣言的記述によるアルゴリズムアニメーションシステムで ソフトウェアプローブ挿入の手間を必要としない. (小池氏bit別冊記事)
カテゴリ
VLWS91, Animation, Visualization
Category: VLWS91 Animation Visualization
Organization: IEEE Computer Society
Comment: 並列計算をグラフィック表示するためにproof-based
        visualizationという手法と<a href="Roman_Swarm.html">Swarmという言語</a>
        を使用している。
        <br>
        Pavaneは共有空間における通信/計算を統合した
        並列計算モデル``<a href="Roman_Swarm.html">Swarm</a>''\cite{Roman:visualization}
        をベースに作成れている。
        <a href="#Brown_BALSA">BALSA</a>や
        <a href="#Bronw_Zeus">ZEUS</a>
        のようなアルゴリズムアニメーションシステムと異なり、
        プログラム中に表示プリミティブを埋め込むのではなく
        計算に使われている共有データへのアクセスにより可視化を行なう。
        また可視化計算の実行は逐次的に行なわれるのではなく、
        あらかじめ記述された規則を共有空間内データが満たすと
        実行が発火されるようになっている。
        (宣言的アプローチという)
        <br>
        Swarmは共有データ空間を使用した並列計算モデルで、
        <a href="Galernter_Linda3.html">Linda</a>(共有空間を使用する点)、
        <a href="Chandy_UNITY.html">UNITY</a>(型式的記述、証明に重点を置いている点)
        などの影響をうけている。
        <br>
        Swarmは共有データ領域(dataspaceと呼ぶ)
        を用いて通信/計算を行なう。
        データ空間はタプル空間(tuple space)、
        トランザクション空間(transaction space)、
        同期関係}(synchrony relation)の
        3部分から構成される。
        データ空間の要素は名前と値の列の組で構成される。
        (e.g. has_label(P,L), Label(P))
        トランザクション空間の要素には規則と動作が記述されており、
        タプル空間内のデータ(タプル)が規則にマッチすると
        記述されている動作が発火される。トランザクションの動作としては
        通常の計算の他、タプル空間のタプルの生成/削除を指定できる。
        同期関係というのは複数のトランザクションの動作が同時に発火することを
        保証するためのものである。
        初期状態として適当なタプルとトラザクションを与えると、
        規則にマッチするトランザクションが順次発火することにより
        計算が遂行されていく。
        <br>
        ★Pavaneにおけるプログラム視覚化★<br>
        データ空間内の要素の状態がプログラムの状態を示すと考えられるので、
        これを表示する。
        要素の集合を直接表示に写像するのは複雑なので、簡単な写像を
        多段(3段)にして可視化を行なう。
        <br>
        タプルの集合を単に空間(space)と呼び、空間から空間への
        写像をトランザクション規則で表現する。
        <br>
        論文では、ネットワーク接続されたノードが
        メッセージによってアクティブ/インアクティブになるという計算を
        Pavaneによる記述でアニメーション表示した例を示している。
Bibtype: InProceedings
URL: http://swarm.cs.wustl.edu/pavane.html
Booktitle: VLWS91
Author: Kenneth C. Cox
        Gruia-Catalin Roman
Pages: 18-24
Month: oct
Title: Visualizing Concurrent Computations
Comment1: Lindaを使用した場合と同様、共有空間を使用したモデル
        では視覚化が簡単にできると思われる。割とよくできたシ
        ステムのように思われた。
        <br>
        Swarmはそれ自体言語であり、
        式の評価や関数呼び出しなどの汎用プログラミング
        言語機能を持っている(はずである)。
        例えばCで書いてあるプログラムをPavaneで可視化することはできない。
        (計算モデルや証明可能性という前堤がくずれてしまう)
        デモビデオのような画面を作るにはグラフィックライブラリを使っている
        はずであるがそれとのリンクがどうなっているかを隠している。
        Lindaや<a href="Yoshida_Cellula.html">Cellula</a>などのようなモデルでは
        通信プリミティブをCのような汎用手続き型言語から使用できるので
        その方が可視化には便利だと思う。
        <br>
        3層に分離して抽象化したとはいってもやっぱりノウハウとかアドホック
        のかたまりのようである。本当に意味があるのかどうか疑問。
        (増井 1991/11/21)
Year: 1991
Date: 2003/08/01 04:59:52
Comment2: G. C. RomanとK. C. Coxの開発したPavaneは
        宣言的記述によるアルゴリズムアニメーションシステムで
        ソフトウェアプローブ挿入の手間を必要としない.
        (<a href="http://www.vogue.is.uec.ac.jp/~koike/">小池氏</a>の
        <a href="http://www.vogue.is.uec.ac.jp/~koike/papers/bit/bit.html">bit別冊記事</a>)
Address: Kobe, Japan
Publisher: IEEE Computer Society Press