4 协议形式描述语言.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 第四章 协议形式描述语言 exam1: process two-slot-buffer[i,o]:= hide m in buffer[i,m]|[m]|buffer[m,o] where process buffer[input,output]:= input;output; buffer[input,output] endproc endproc * * 第四章 协议形式描述语言 上述LOTOS的进程定义可化作CCS表达形式。将two-slot-buffer[i,o]记作P,buffer[i,m]记作A,buffer[m,o]记作B,那么双缓冲通道表示为: (1)式等效于hide语句(hide m等效于/m),A和B的定义包括在process buffer[input,output]定义中。利用CCS的扩展规则,(1)式变成: * * (4)式和(5)式就是外部观察者所见到的双缓冲通道的特征。(4)式和(5)式反过来用LOTOS描述成互相嵌套的进程(exam2)。 Exam2: Process two-slot-buffer[i,o]:= i;Q[i,o] endproc process Q[i,o]:= o;two-slot-buffer[i,o] []i;o;Q[i,o] Endproc 我们已用CCS的代数变换法则证明了exam1和exam2是完全观察等价的。 第四章 协议形式描述语言 * * 第四章 协议形式描述语言 4.3.3 抽象数据模型 与程序设计语言无关的数据模型叫做抽象数据模型,它描述一类具体的数据类型(由不同的程序设计语言实现的)的数学模型。例如逻辑值“真”或“假”,程序设计语言可实现为{true,false}或{T,F}或{0,1}。又例如,两数相加可表示为plus(a,b),或(a+b),或(ab+)等不同形式。抽象数据类型由数据目标或载体(data objects,或data carriers)集合和与之相关的操作定义以及操作性质说明形成。数学上,一种抽象数据类型就是一种代数。 Exam3: Type nat-number is Sort nat Opns o:0-nat Succ: nat - nat Endtype 这里,关键词type之后的nat-number为定义名(definition name),而sorts之后nat为类型名。一个定义引用其他定义时用定义名,说明一个变量的类型时用类型名。关键词opns的表达式说明可施加于该类型的操作,nat-number定义的是自然数类型nat,可施加于nat类型数据的操作是o和succ。o操作的含义是:0是自然数类型;succ操作的含义是:自然数类型的数的后继数(successor)也是自然数类型. 上面的Opns操作只是声明了个操作,同时指明了各操作从定义域到值域的关系。 * * 第四章 协议形式描述语言 一个定义引用另外一个定义的目的有两个:对一个已有的类型进行扩充,或将几个定义合成一个新定义。 Exam4: Type enrich-nat-number is nat-number with Opns _+_:nat,nat-nat Eqns forall x,y:nat Ofsort nat x+0=x; x+succ(y)=succ(x+y); endtype 这里,enrich-nat-number是nat-number的扩充,类型名仍然是nat,opns之后_+_定义了一个扩充的操作“+”,它是二元操作;自然数+自然数仍然是自然数。关键词eqns说明自然数三个操作(0,succ,+)的性质。关键词forall说明对于所有自然数x和y,关键词ofsort说明等式两边的数据类型。 * * 第四章 协议形式描述语言 为了进一步理解抽象数据类型的定义方法,举自然数队列为例。 Exam5: Type nat-number-queue is nat-number with Sorts queue Opns create:-queue add:nat,queue-queue first:queue-nat Eqns forall x,y;nat,z:queue Ofsort nat first(create)=0; first(add

文档评论(0)

kehan123 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档