並行制約プログラミング
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/09/26 14:14 UTC 版)
歴史
1970年代初めに生まれた論理プログラミングの考え方は、その宣言的な性格を活かしつつより表現力を大きくするため、一般的な制約を扱うように拡張され、Prolog Ⅱ(1980)やProlog Ⅲ(1987)、IBMのJafferやLassezらが1987年に発表した制約論理プログラミングスキーマCLP(X)に基づいた各種言語などに発展していった。[1]
それと並行して、論理プログラミングでの導出時のゴールをプロセス、ゴール間で共有する論理変数を通信チャネルと見なす、van Emdenとde Luceanaらの論理プログラミングのプロセス的解釈(1979)[2] から、ガード付きコマンドの考えに基づいたガード付きホーン節でプロセスの生成や通信を表現する並行論理プログラミングの考え方が生まれた。ShapiroのConcurrent Prolog(1983)[3] や上田によるGHC (1985)[4] やKL1などの様々なプログラミング言語や各種のプログラミングテクニックが開発され、また第五世代コンピュータプロジェクトで並列マシンのオペレーティングシステムや言語処理系、さまざまな応用プログラムの作成に利用された。
1987年にMichael Maherはより抽象化された並行論理プログラミングの論理的解釈を与え、並行論理プログラミングでの通信と同期とを制約ストア(変数値に関する部分情報の格納場所)と受信したい情報との含意(implication)の関係として定式化した[5] 。Vijay Saraswatらはこれらの解釈を特定のデータ領域に限定しない制約全般に広げ、より一般化された並行制約プログラミングの計算理論が整備された。[6][7]
並行制約プログラミングはその後さらに拡張され、離散変化を扱う時間並行制約プログラミング(Timed Concurrent Constraint Programming)や、離散・連続の両変化を扱うハイブリッド並行制約プログラミング(Hybrid Concurrent Constraint Programming)などが生まれた。
- ^ Jaffar, J., and Maher, M.J., Constraint Logic Programming: A Survey
- ^ van Emden, M. H., and de Lucena, G. J. Predicate logic as a language for parallel programming
- ^ Shapiro, E. A subset of Concurrent Prolog and its interpreter
- ^ Ueda, K. Guarded Horn Clauses
- ^ Michael Maher. Logic semantics for a class of committed-choice programs
- ^ a b Saraswat, V. A. Concurrent constraint programming languages
- ^ Saraswat, V. A., Rinard M. and P. Panangaden. Semantic Foundation of Concurrent Constraint Programming
- ^ Saraswat, V. A., A brief introduction to linear concurrent constraint programming
- ^ Fagesa F., Ruetb P. and Soliman S., Linear Concurrent Constraint Programming: Operational and Phase Semantics
- ^ Frühwirth T., Introducing Simplification Rules. Internal Report ECRC-LP-63, ECRC Munich, Germany, October 1991, Presented at the Workshop Logisches Programmieren, Goosen/Berlin, Germany, October 1991 and the Workshop on Rewriting and Constraints, Dagstuhl, Germany, October 1991.
- ^ Frühwirth T., Theory and Practice of Constraint Handling Rules. Special Issue on Constraint Logic Programming (P. Stuckey and K. Marriott, Eds.), Journal of Logic Programming, Vol 37(1-3), October 1998.
- ^ 上田 和紀,加藤 紀夫, 言語モデルLMNtal
- ^ Saraswat V., Kahn K., and Levy J. Programming in Janus
- ^ Kahn K., and Saraswat V., Actors as a Special Case of Concurrent Constraint Programming
- ^ Janson S. and Haridi S.,Programming Paradigms of the Andorra Kernel Language Logic Programming: Proceedings of the 1991 International Symposium 1991.
- ^ Smolka G., The Oz programming model
固有名詞の分類
- 並行制約プログラミングのページへのリンク