认真学习原著,深入理解Pi演算.docVIP

  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文档。上传文档
查看更多
认真学习原著,深入理解Pi演算.doc

认真学习原著,深入理解Pi演算-- 对Pi演算书中问题的解释(4)最近网友提出学习Pi演算书中的问题,我根据自己的理解做些解释,同大家讨论。由于前面已有三篇相关的博文,故称此篇为“对Pi演算书中问题的解释(4)”。 先来看看这次网友的提问:我最近在看林惠民老师翻译的《通信与移动系统π演算》一书,但看到3.4节(顺序进程表达式)时,有几个问题没有搞懂,希望能得到您的指点(问题在附件里),谢谢!只是a1,…,an的一个缩写记号,并无什么特别的意义。凡遇到的地方,你就把它看作是a1,…,an的一个缩写即可。至于这些ai是否允许有相同的名字,这个记号本身并无明确规定,需要时要做另外的说明。例如书中在说到{/}P时,说“里的每个位置上名字各不相同”,但是对于却并无此要求,即意味着可以有相同的名字出现。 书的3.4节,要建立一个“顺序进程标号迁移系统”。它的动作集合顺序进程Ρ seq。顺序进程…等表示)。顺便说一句,这种引入进程标识符和进程(递归)定义的方法是作者早期定义Pi演算的方法。在作者后来Pi演算的正式定义中就不用此法了。 本书的结构由浅入深,先从顺序进程讲起,先引入进程标识符和进程定义式,再讲并行、通信和重复算子,最后证明用并行、通信和重复算子可以表达进程标识符和进程定义式(见书的第9.5节)。于是在最后Pi演算的正式定义中就不用引入进程标识符和进程定义式了。 关于顺序进程P ?::=A a1,…,an |∑i∈Iαi.Pi?,右端含有两项,其中的αi除了它们都表示的是名字以外,没有什么关系。在A a1,…,an中是作为进程的参数出现的,在∑i∈Iαi.Pi?中是作为和项的前缀(标号、动作)出现的,显然不一样,区别相当大。可能要举些例子就清楚了。如B a1,a2 ,A b1,b2,b3,c1. B a1,a2 + c2.A b1,b2,b3都是顺序进程BNF)类似的方法。他假定读者已经熟悉巴克斯范式,知道如何用范式生成所定义的表达式集合(终极符号表上的字的集合)。所以他并没有严格地按照巴克斯范式的规范来写出具体的细节。他给了读者进一步具体补足细节的空间。作为读者,则必须知道如何去做。例如,我们可以如下具体表达顺序进程顺序进程…|Z 《小写字母》::= a|b|…|z 《数字》::= 0|1|…|9 《和式》::= 0 |《带前缀式》|(《和式》+《带前缀式》) 《带前缀式》::=《名字》.《顺序进程∑i∈Iαi.Pi当I是空集时,就相当于空进程0,当|I|=1时就相当于单项的带前缀式。后面是一般情况。这里圆括号是为了避免结构上的歧义性而引入的。在不产生歧义的情况下允许省略。 注意要区分巴克斯范式中的三种符号:终结符,是最终在表达式中出现的符号,如上述的 、、,、0、.、+、(、)、以及大小写字母、数字等;非终结符,只在生成表达式时使用,最终不在表达式中出现,上面用《》括起来表示,如《进程标识符》、《名字列表》等;元语言符号,是用来定义巴克斯范式所用的符号,如 ::= 、|等。 圆括号和尖括号。对于每个在表达式中出现的进程标识符,都要给出一个进程定义式:A(a1,…,an) PA,圆括号只在此类进程定义式中出现,表示a1,…,an是进程表达式PA中自由出现的互不相同的名字。而尖括号是作为终结符在进程表达式的进程标识式中出现的,其中的名字可以允许相同。两者有明显的区别。另外圆括号还在进程表达式的和式中出现,是为避免结构上的歧义性而引入的,与名字无关,不会引起混淆。 结构同余。它的英文原名是Structural congruence ,直译是结构等同或结构等价的意思。 进程表达式是用来表达系统状态的,而有些表达式虽然形式不同可是表达的却是同一个状态,直观地说,结构同余就是在表达式集合上建立的一个等价关系,使表达同一状态的表达式都相互等价。“同余”这个词源于自然数按某模数等价m=n (mod k),当且仅当m,n被k除时余数相同。所以那里等价就是同余。不过congruence在这里只有等价的意思,译成同余容易产生别的误解。不如译成“结构等价”较好。 例如,(a.A+b.B)和(b.B+ a.A)结构同余,(0+a.A)和a.A结构同余等。还有一类同余,是如果在进程表达式P中含有进程标识式A,则按照进程定义式:A() PA求出一个进程表达式{/}PA,令Q是把P中的A替换为{/}PA所得的结果,则P同Q结构同余。 可证结构同余是等价关系,即它满足自反律(对任何表达式P,P同P结构同余)、交换律(对任何表达式P、Q,若P同Q结构同余,则Q同P结构同余)和传递律(对任何表达式P、Q、R,若P同Q结构同余,Q同R结构同余,则P同R结构同余)。严格地说所建立的标号迁移系统的顺序进程P seq关于结构同余等价关系的等价类。{a/c

文档评论(0)

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

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

1亿VIP精品文档

相关文档