複製鏈接
請複製以下鏈接發送給好友

OCCAM

鎖定
Occam語言是根據C.A.R.Hoare提出的CSP(Communicating Sequential Process)語言模型而設計的一種併發程序設計語言,0ccam語言是用14世紀英國牛津哲學家William of occam的名字命名的。William of occam有這樣一種哲學觀點:任何問題,用最簡單的方法能解決的途徑是最好的途徑。簡明性是Occam語言的特點。
中文名
OCCAM
外文名
OCCAM
人    物
William of occam
相同系統
計算機
觀    點
用最簡單方法解決問題

OCCAM基本信息

Occam語言是根據C.A.R.Hoare提出的CSP(Communicating Sequential Process)語言模型而設計的一種併發程序設計語言,0ccam語言是用14世紀英國牛津哲學家William of occam的名字命名的。William of occam有這樣一種哲學觀點:任何問題,用最簡單的方法能解決的途徑是最好的途徑。簡明性是Oceam語言的特點。
Oeeam語言與Transputer芯片是同時相互對應進行設計開發的,因此它們之間的結合所獲得的效率,是一般語言望塵莫及的。可以這樣説,Occam語言對於Transputer系統設計的作用,就如同布爾爾代數對於邏輯門電路設計的作用。Occam程序中的進程,可以映射到一個Transputer系統的有關Transputer單元中去,用Occam語言為一個併發系統所編的程序,實際上起着該Transputer系統的操作系統的作用。
Occam語言是建立在併發和通信基礎上的新的併發編程語言,它把一個併發系統描述成一組併發進程,進程間通過命名通道來實現通信。
大量的調試工作在Transputer開發系統(如TDS2)中用軟件手段來完成,避免了通常多處理器在硬件上進行調試的麻煩。隨着Occam語言在不同機型中的實現,Occam還可用在其他芯片組成的系統中。 [1] 

OCCAM定義和類型和範圍

Occam同Pascal等其他高級語言一樣,要求程序中用到的每一個項都要有一個類型和每一項類型在某進程使用它之前進行定義。Occam不允許程序員定義新的類型。
(1)名字:Occam中名字的長度不限,但它必須以字母表中的字母開頭。名字的其餘部分可由字母、數字和字符構成。大小寫在Occam中區分識別,所以fred和Fred是兩個不同的名字。
(2)數據類型:變量可有多種數據類型。下面是Oceam中經常使用的數據類型:
INT——整型
BYTE——0和255之間的整數,經常用以表示字符
B00L——邏輯值TRUE或FALSE。
(3)通道類型:通道的類型為“CHAN OF類型”。對通道傳送的值,要對其數據類型和數據結構進行定義。我們把通道看作只傳送單數據類型的單個值,就像變量一樣。
傳送單個整型值的通道可定義為:
CHAN OF INT chan3:
其中INT定義通過通道chan3的數據類型。chan3的類型是CHAN OF INT。
(4)字符和字符串:Occam沒有任何CHAR或STRING類型來表達字母、字符或字詞。Occam中字母、字符用BYTE類型的數來表達,字符串用BYTE類型的數組來表達。
(5)布爾類型:通過測試比較運算符的運算,產生布爾值。
(6)常量:給某常數定一個名字,可通過“VAL類型名字IS值”來定義。
(7)作用域:在Occam中,變量、通道和其他命名項都是屬於某個進程的,進程緊跟在對應的命名項的定義後面。 [1] 

OCCAM進程

一個進程可以認為是執行一段程序,它啓動、執行一定的動作,然後中止或結束。
Occam語言有三個基本進程;
(1)賦值進程:變量:=表達式
將表達式的值賦給變量。
(2)輸出進程:通道!表達式
將表達式的值輸出到通道。
(3)輸入進程:通道?變量
將從通道輸入的值賦給變量。
Occam語言還有兩個特殊進程:SKIP和STOP。SKIP進程開始執行後不做任何動作就結束。STOP進程開始執行後不再向下執行也不終止,稱之為中止。 [1] 
參考資料
  • 1.    張德富 倪南編著,並行程序設計語言和模型,南京大學出版社,1994年07月第1版,9-11