网站大量收购闲置独家精品文档,联系QQ:2885784924

一、历史背景 多年来一直困扰程序技术研究领域.docVIP

一、历史背景 多年来一直困扰程序技术研究领域.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、历史背景 多年来一直困扰程序技术研究领域.doc

  一、历史背景 多年来一直困扰程序技术研究领域   一、历史背景      多年来一直困扰程序技术研究领域的一个根本问题是计算机程序难写、难读、易错、难以维护,致使软件生产率很低。对比之下,计算机应用的发展及硬件生产率的提高却非常快,很不匹配,针对这个问题,30多年来,程序技术的研究可分为三个阶段 。      1. 高级语言时期。从60年代初起,人们认识到, 为了解决程序难写、难读、易错,难以维护的困难,应将书写程序所用的程序语言与在计算机上执行的机器语言区分开来。后者主要表示程序如何执行,即“怎么做”(ho缸n )。这是比高级算法语言更能直接表示“做什么 的涵义,且更抽象更少表示“怎么做 细节的程序语言。它们多从某种形式语义理论转化而来.如数理逻辑、抽象代数、形式文法或可计算理论等。它们与高级算法语言有本质的不同。对于它们,事实上不存在将其描述自动转换成可有效执行的机器语言程序的编译方法。(ii)程序设计方法论的研究。即找出如何设计-t确程序的好方法。这方面的探索虽然很多,最为人们接受的一种则是逐步求精方法,即先从表示程序涵义的抽象描述出发,逐步精化,晟后得到一可有救执行的正确程亭。 中国大学排名   与程序设计方法及语言的台理结构相对应,还有另一影响大型软件可靠性的因素,即(iii)大型软件开发计划的组织与管理,包括各个环节的文档资料等。以上三方面的的探索,构成了70年代结构程序设计研究的主要内容。到70年代末,微机终端出现,使计算机本身有可能成为支撑上述三方面工作的辅助手段。从而使程序技术研究进入一新的时期。      3.自动程序设计时期。这方面的工作是从实现程序设计的各环节中某些自动化软件工具开始的,逐步发展到覆盖整个软件生命周期各部分,以一致的方法为依据,将各部分工具集成为统一的环境,以支撑软件开发的全过程。这就是所谓计算机辅助软件工程环境(即CASE环境)。近年来,一方面由于影响软件生产率很大的程序可重用性研究要求程序应有精确的形式语义界面,另一方面由于CASE环境规模及复杂度大到一定程度后,如其中各种工具没有统一的形式语义界面则既难引用亦难由不同工具组成功能更强的工具,故基于形式语义的CASE环境日益成为人们注意的新方向。   XYZ系统就是在这样的条件下提出的。它是最先提出并是唯一完成了的基于时序逻辑的CASE环境。它由二个方面构成,一方面是作为核心的时序逻辑语言xvz/E}另一方面是由依据多种方法及软件工具组成的CASE环境。它的另一特色是能适应多种程序设计方式      二、时序逻辑语言xvz/EXYZ/E      既是[ylaflna—Pnueli意义下的线性时间时序逻辑系统又是一程序语言。事实上,它是一系列化语言族(XiliehuaYuyanZu) 它以统一的程序框架表示串型或并发的过程性算法、抽象描述及产生式规则,还可以表示常见高级语言及多种图形语言(如数据流图,PAD图,Petri网等)的操作语义。其基本结构称为单元,具有如下的形式下面讨论几个问题(1)形式语义方法很多,为什么XYZ系统独选时序逻辑?关于时序逻辑的优点,L.Laml~t在1983年FFLP巴黎大会上已谈了很多,此处不拟一一重复.我只想指出如下的事实:不但一般程序工对一阶逻辑都比较熟习,而且,事实上时序逻辑中新增加的算子,都与常见高级语言中某些结构有直接的对应,比如下一时刻算子。$O”对应着状态转换的一步,二目算子。$u”与。$isra的UNITY中“性质”也是用一层时序算子来表示的 不过.由此又产生另一问题t经过这样的限制之后,XYZ/E中的单元是否仍能有一般时序逻辑公式同等的表示力?我们已经证明,存在一机械的方法将任给的一时序逻辑公式转换成等值的XYZ/E中一组单元 因此,XYZ/E中单元具有足够强的表示力。XYZ/E的另一特色,即用统一的单元框架可以表示出申型的或并发的过程性算法、抽象描述及产生式规则·此外.还可表示出常见高级语言及图形语言的操作语义。这一功能是一般时序逻辑公式所难以做到的。(3)在前面谈到XYZ/E的单元框架可以表示出多种程序结构,这一特色在程序设计方法论方面有什么重要意义?(a)逐步求精方法是一由抽象描述到可有效执行的算法程序的多层转换过程,因此,在中间各层中必然出现抽象程度逐渐减弱而程序细节逐渐增加的程序 这不同层次的程序如用不同语言来描述,则将遇到一个问题,即如何验证(甚至说明)其语义一致性?由于这个原因,经过多年研究,专家一致承认,还是用统一的语言表示各层的描述为好。但到现在止.除XYZ/E外,尚未见到另一逻辑语言能做到这一点。故这种表示力正是XYZ/E的长处所在。(b)近数年来,基于知识的程序设计颇受人注意。在这样的程序中必然需要将表示算法的部分与表示知识的部分渗合运行。显然. 如果能用统一

文档评论(0)

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

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

1亿VIP精品文档

相关文档