問題タブ [pi-calculus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
computer-science - ミルナーの円周率計算では、複数のプロセスが同じチャネルから読み取るときの評価セマンティクスは何ですか?
ミルナーの円周率計算では、複数のプロセスが同じチャネルから読み取るときの評価セマンティクスは何ですか?
ルールはそう言っている
!x(a). P | ?x(b) Q ~> P | Q[a/b]
しかし、次のような状況はどうですか
!x(a). P | ?x(b) Q | ?x(c) R
?
stm - JAVA で STM を使用して円周率計算を実装する
JAVA で pi-calculus を実装したいと考えています。同時実行のために、Deuce STM ライブラリを使用しています。JAVA 構文を変更するのは難しいので、注釈付き変数と汎用関数/クラスを使用する予定です。
たとえば。
したがって、チャネルはこのクラスのインスタンスになります。
これらのチャネルを介してプロセス間の相互作用を可能にするためにプロセスをモデル化する方法について混乱しています。
ヘルプ/提案はありますか?
ありがとうございました。
type-safety - デュースSTM型は安全ですか?
並列プロセスを管理するためにDeuce STMを利用する円周率計算用のJavaライブラリを作成しました。
さらに、ライブラリの型安全性を証明したいと考えています。
Deuce STM ライブラリは型安全ですか? はいの場合、同じリンクをいくつかいただければ幸いです。
occam-pi - occam でプロデューサー プロセスを終了 (毒) する最も簡単な方法は何ですか?
私の occam-pi アプリケーションには、次のように定義された実行時間の長いプロデューサープロセスがあります。
c
から増加するチャンネルの値を送信しstart
ますstep
。完全な例はこちらから入手できます。
これはうまく機能し、無限ループはCSP では慣用的であると信じるようになりました。問題は、消費アルゴリズムが終了したときに発生します。この例では、コンシューマが終了するとデッドロックが発生します。
ここで説明するTAGGED.INT
プロトコルは、プロセスのネットワークをシャットダウンする問題を解決しようとしますが、私の現在の理解では、主な仕事がチャネルで送信しているプロデューサーを終了する簡単な方法はありません。プロデューサーを停止させる唯一の方法は、ある種のコントロール チャネルと出力のブラック ホールを使用することだと思われます。
完全な動作例はこちらから入手できます。これの問題は、コードがはるかに読みにくいことです-主観的であることは知っていますが、ソフトウェアエンジニアリングにとって重要です-元の意図は元の意図に比べて複雑です。オッカムの剃刀とは相反するようだ!
JCSP 、C++CSP2、およびpython-cspを使用すると、プロセスのネットワークをシャットダウンするためにチャネルを明示的にポイズニングできます。何らかの理由で、これを行うために occam を論争させると、コードがシャットダウン ロジックで汚染され、非論理的に見えます。
問題は、例のcontrol
ように明示的なチャネルを使用せずにプロデューサー プロセスを終了する方法があるかどうかです。
編集:
このメーリング リスト アーカイブ ( Poison ) には、このトピックに関するより多くの情報が含まれている可能性があります。これはかなり古いものです (> 10 年)。それ以来、何か変わったことはありますか、それともこれがoccam-piで「プロセスの終了」を達成するための最良の方法ですか?