簡介
交談循序程式(英語:Communicating sequential processes,縮寫為CSP),又譯為 通信順序進程、 交換訊息的循序程式,一種形式語言,用來描述並發性系統間進行互動的模式。最早起源於東尼·霍爾在1978年發表的論文。通信順序進程高度影響了Occam的設計,也影響了如Limbo與Go等程式語言。
歷史
通信順序進程最早出現於東尼·霍爾在1978年發表的論文,但在之後又經過一系列的改善。在出現之後,就成為描敘並發程式設計中常用的形式語言。
並發性
在計算機科學中, 並發性(英語:Concurrency)是指在一個系統中,擁有多個計算,這些計算有同時執行的特性,而且他們之間有著潛在的互動。因此系統可進行的運行路徑會有相當多個,而且結果可能具有不確定性。並發計算可能會在具備多核心的同一個晶片中複合運行,以優先分時執行緒在同一個處理器中運行,或在不同的處理器執行。
一些數理模型已經為解決一般的並發計算問題而發展,包括Petri網、進程、PRAM模型和參與者模式。
形式語言
在數學、邏輯和計算機科學中, 形式語言(英語:Formal language)是用精確的數學或機器可處理的公式定義的語言。
如語言學中語言一樣,形式語言一般有兩個方面:語法和語義。專門研究語言的語法的數學和計算機科學分支叫做 形式語言理論,它只研究語言的語法而不致力於它的語義。在形式語言理論中, 形式語言是一個字母表上的某些有限長字元串的集合。一個形式語言可以包含無限多個字元串。
Occam
Occam,一種並行性程式語言,主要基於交談循序程式的程式代數,以及它的許多特色而實作。它的名稱來自於奧卡姆的威廉提出的奧卡姆剃刀(Occam's razor)原則。
類似於Pascal,Occam也是一種指令程式編程的程式語言。這個語言於1983年出現,由英國計算機科學家David May,以及Inmos的科學家,在東尼·霍爾提供顧問意見後,共同研發而成。