更新时间:2022-08-25 16:46
Occam语言是根据C.A.R.Hoare提出的CSP(Communicating Sequential Process)语言模型而设计的一种并发程序设计语言,0ccam语言是用14世纪英国牛津哲学家William of 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还可用在其他芯片组成的系统中。
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中,变量、通道和其他命名项都是属于某个进程的,进程紧跟在对应的命名项的定义后面。
一个进程可以认为是执行一段程序,它启动、执行一定的动作,然后中止或结束。
Occam语言有三个基本进程;
(1)赋值进程:变量:=表达式
将表达式的值赋给变量。
(2)输出进程:通道!表达式
将表达式的值输出到通道。
(3)输入进程:通道?变量
将从通道输入的值赋给变量。
Occam语言还有两个特殊进程:SKIP和STOP。SKIP进程开始执行后不做任何动作就结束。STOP进程开始执行后不再向下执行也不终止,称之为中止。