- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[哲学]1前言
计算机科学(基础理论) : 相对稳定 计算机的工程、技术、应用 : 无处不在, 花样翻新 e.g. 智能网技术(陈院士) 纯科学像跳高, 越高越好 ! 我们培养的是跳远选手 (越广泛应用越好) 没有一定的跳高能力和身高 ? 跳不远 ! 技术: 如 高科技泳衣, 撑杆跳的杆子 。。。 * * 科学实例:1)回答了哪些问题可以计算、哪些不可计算;计算模型(一种数学机器)是什么样的。 2)布尔代数为开关电路设计提供了理论基础; 技术实例:程序设计技术、各种硬件技术、并行处理技术等 * * 形式语言:通过人们公认的符号,表达方式所描述的一种语言,是一种通用语言,没有国籍之分。 Chomsky于1956年提出了一种用来描述语言的数学系统。人们把用一组数学符号和规则来描述语言的方式称为形式描述,而把所用的数学符号和规则称为形式语言。 形式语言,只是从语法上研究语言。它是抽象的数学系统,用于模拟程序设计语言的语法,或者是并不很成功地模拟自然语言如英语的语法。 文法和自动机分别从生成和识别的角度去表达语言,且被证明是等价的。 形式化方法的意义在于它能帮助发现其它方法不容易发现的系统描述的不一致,不明确或不完整,因此形式化方法是提高软件系统,特别是safety-critical系统的安全性与可靠性的重要手段. 引言: 形式化方法可以分为形式化描述和建立在形式化描述基础之上的形式化开发。形式化的描述就是用形式化的语言(具有严格的语法语义定义的语言)做描述。形式化的软件开发,就是用形式化的语言来描述软件需求和特征,并且通过推理验证来保证最终的软件产品是否满足这些需求和具备这些特征。这样的验证当然得建立在严格的语法语义的基础之上的。在实际应用中,这是不容易做到的。形式化方法研究的目的就是希望能够提供更好的理论、方法和工具,扩大形式化方法的应用范围和使用价值。 形式化方法的意义在于它能帮助发现其它方法不容易发现的系统描述的不一致,不明确或不完整,有助于增加软件开发人员对系统的理解,因此形式化方法是提高软件系统,特别是safety-critical系统的安全性与可靠性的重要手段.最早的形式化方法是逻辑与逻辑推理,它的目标是使推理机械化.从广义上讲,这一目标受到许多挫折.比如说逻辑系统的不完备性(incompleteness)、逻辑系统的不可判定性(undecidability)、自动推理的难处理性(intractability).但是在一些实际应用上,逻辑方法和自动推理还是起着非常大的作用. 早期形式化方法在软件验证的应用是串行程序的验证,后来随着软件研究和应用的发展,逐渐多样化.比如用逻辑和代数方法描述软件,用逻辑推理来验证软件(即描述软件的这些逻辑公式)的性质.又比如用进程代数描述并发软件,用模型检测方法验证这些软件的性质.近年来,由于认识到形式化方法重视的是严谨性,而这些方法与常用的软件方法差别很大,逐渐有许多结合图形化软件方法、面向对象方法和形式化方法的工作.以上所述几个方面(即程序验证,定理证明,模型检测,图形化方法和形式化方法相结合)的内容虽然不尽一样,但密切相关.定理证明与模型检测互为补充,各有所长.对于复杂的软件系统的验证,最好是能够结合多种方法的使用.这些方法对高可信软件开发方法的探索和应用都极为重要。 形式化方法与软件可靠性: ? 随着软件的广泛应用,特别是软件在尖端领域的应用,软件可靠性成为一个非常重要的问题。软件的可靠取决于两个方面,一个是软件产品的测试与验证,另一个是软件开发的方法与过程。对简单的软件开发,我们的经验是先有对软件的要求,然后对软件进行设计,然后是编写程序,最后是对程序进行测试,如果测试出错则对软件进行修改,然后再测试,直至对程序满意为止。对复杂的软件系统,总的过程基本还是这样,只是各个阶段也相应复杂一些。比如说,软件的要求可能需要从多方面进行描述,软件的设计需要从多方面考虑,程序的编写需要分成多个单元,对于测试来讲也就有单元测试和总体测试的分别。有些软件的要求难以一开始就完全清楚,而更改软件要求会对软件设计以及其他大量已经完成或正在进行的工作产生很大的影响,因此有些软件开发方法和过程就需要提供反复修改软件要求的便利。 形式化方法在软件开发中能够起到的作用是多方面的。首先是对软件要求的描述。软件要求的描述是软件开发的基础。比如说一般非形式化的描述很可能导致描述的不明确和不一致。如果描述的不明确和不一致导致设计,编程的错误,将来的修改所要付出的代价就非常大了。如果导致的错误没有被发现,则影响程序的可靠和使用。形式化方法则要求描述的明确性,而描述的不一致性也就相对易于发现。其次是对软件设计的描述。软件设计的描述和软件要求的描述一样重要。形式化方法的优点对
您可能关注的文档
最近下载
- 三峡左岸电站#~#机组压力钢管的制作与安装(二)的论文.doc VIP
- 网络安全集成项目投标方案(安全设计-实施方案-售后服务方案).docx
- 《面向智能仓储的AGV物流小车结构设计》8000字(论文).doc
- 日本横河WT210230说明书.pdf VIP
- 中国武器装备大全课件PPT.pptx
- 3500词(带音标)——完整打印版 .pdf VIP
- 七年级上册语文第一单元作业设计 (优质案例41页) .pdf VIP
- 2025年度检验科生物安全培训上岗考核试题(含答案).docx VIP
- DB62T 3031-2018 通风与空调工程施工工艺规程.docx VIP
- 《华为薪酬体系》课件.ppt VIP
文档评论(0)