2024-03-29T01:33:49Zhttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_oaipmhoai:ipsj.ixsq.nii.ac.jp:000160252022-10-21T05:24:51Z00581:00899:00901
並列処理システムのための言語についてOn a Language for Parallel Processing Systemsjpn論文http://id.nii.ac.jp/1001/00016025/Journal Articlehttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_action_common_download&item_id=16025&item_no=1&attribute_id=1&file_no=1Copyright (c) 1983 by the Information Processing Society of Japan新潟大学工学部情報工学科東京工業大学工学部情報工学科宮村, 勲榎本, 肇本論文は プログラムの生産 理解 修正を容易にするような新しい並列処理言語について述べている.この目的を達成するため プログラムに人工的な制約を課さず プログラムの構造が問題の論理構造を静的に反映できなければならない.プログラム・テキスト中に問題の階層構造を表現するため process resource procedure function という4種類のモジュールを用意し それらの任意の入れ子を可能にした.共有変数に起因するデッドロック問題を避けるため 変数のスコープはそれが宣言されたモジュールだけに制限する.モジュール間の相互作用はパラメータ転送 メッセージ交換 resource を用いて行われる.process の動作は 通常動作と例外的事象に対する動作に分けて記述される.例外的事象とは他モジュールから緊急メッセージを受信することである.そのようなメッセージは常時受信可能である.また メッセージ交換の相手は静的と動的の両方で制限される.resourceは共有objectに対するアクセスを制御する.resource procedure 間の並列動作の可能性は 個々の手続きとは分離して静的に記述する.個々の手続きが呼び出されるときの前提条件も分離して静的に記述される.非決定的表現として if文 do文 while文の三つを用意する.これらはDijkstraの提案したgarded commandに基づくが guard に入出力文のどちらでも書けるように拡張されている.本言語の有効性を明らかにするため フィボナッチ数列を計算するprocedureと Readers/Writers問題のプログラム例を示している.AN00116647情報処理学会論文誌2456146211983-09-151882-77642009-06-30