[发明专利]软件代码的自动开发无效
申请号: | 201110444258.7 | 申请日: | 2011-12-27 |
公开(公告)号: | CN102541553A | 公开(公告)日: | 2012-07-04 |
发明(设计)人: | 薛东海 | 申请(专利权)人: | 苏州铭星科技股份有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 215000 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件 代码 自动 开发 | ||
技术领域
本发明涉及基于软件的代码开发方面的方法及其实现,例如,该方法可以用于诸如航空电子设备的系统的控制。
背景技术
这些年来,随着为了提供更加复杂的控制操作而对软件的依赖的增长.在硬件中控制功能的基于软件的实现变得越来越复杂.这导致了要开发非常大量的软件代码,以备复杂的控制操作之用。
一个这样的示例是,开发用于诸如Euro fighter的现代战斗机的航空电子设备系统内的实现的软件代码.这种飞行器的性能特性在于其运行在空气动力学非稳定的状态下。这需要大量极端复杂的计算机软件的帮助。这种软件的开发和认证可能是非常耗时的过程。就Euro fighter而言,飞行控制系统己经开发了12年以上。己知的是,包括用于安全关键系统的软件在内,没有软件可以被绝对地证实为没有差错或故降。过去已经发生的基于陆、海和空实时和非实时系统的众多的引人关注的失败证实了这一结论。因此,这就需要广泛的认证过程,以确定软件在所有情况下都以所期望的方式运行。当初始开发软件时,以及随后对软件或软件运行其中的系统进行修改的任何时候,都需要这种认证。这有助于确保软件的运行方式被认证为是正确的。
对软件的需求从系统规范导出。一旦软件需求已被最终确定,就可以将规范写为软件需求的数学描述。然后开发软件代码以准确地反映所述规范。尤其是对于安全关键软件,这是通常由手工完成的非常辛苦的过程。这是开发任何软件的非常低效的方法。
大约20年前,出现了一种称作形式方法(FM)的软件开发的数学方法,其是用于确保软件代码将准确地反映规范的潜在方法.FM使用了写为数学描述的形式规范.从这种形式规范可以通过各种数学技术来产生精确地实现所述形式规范的软件代码。这种数学技术可以经受证明— 一种称作验证的技术。不过.由于FM非常难于理解,FM尚未开发成广泛可用的格式,还主要在学术界使用。FM使用了非常难理解的数学分支,这可能导致了人们不愿使用,从而没能获得更广泛的认可。尤其是,提供证明是非常费力、耗时并且极端需要技巧的过程。此外,FM即使对于小的应用程序都是笨拙的,并且由于缺少从业者而受到阻碍,这进而使得它的实施成本昂贵。
上面的后果就是厂商明显不愿利用软件来实现安全关键过程。不过,在过去的几年中,在自动化软件开发领域中工作有所进展。尤其是,Malvern, Worcs, England的Defence Evaluation&Research Agency(DERA)已经开发了用于自动推导形式验证的飞行控制规则代码的工具。该方法被用于验证Eurofighter的飞行控制系统代码。它通过使用现有的商业软件包生成Simulink模型来运行。Simulink形成了称作MATLAB的商业软件包的部分,MATLAB'是MathWorks Inc.的产品。Simulink'模型是软件需求的数学描述.Simulink,自动地生成SPARK Ada代码,SPARK Ada是计算机编程语言。Simulink`模型还由称作ClawZ的工具使用,以自动地用称作“Z”的数学语言生成形式规范。ClawZ是由DERA开发的工具,其用于在Simulink模型与“Z”之间对控制规则模型的表达式进行翻译。接着对采用“Z”和SPARK Ada的形式规范进行比较,按照要求改变SPARKAda,以使用ProofPower内的一致标记工具构建一致变量:这是自动完成的。ProofPower是Lemma 1 Ltd的产品.一致标记工具接着生成修改过的SPARK Ada作为可编辑的文件和验证条件(VC ).通过使用Proof Power的定理证明器部分,就可以对VC是数学上“真”进行软件工具辅助的数学证明。这进而证实了修改过的SPARK Ada代码是形式规范的正确描述,因此也是Simulink模型的正确描述,或者相反。很多证明工作都是自动进行的.
与上述独立地,还有一些工作是利用基于状态的建模来开发商业软件包,状态模型根据软件需求来开发.
状态模型的概念最好通过示例来解释;这里所选的示例是飞行器的喷气发动机上的推力反向器的示例.推力反向器的状态模型将利用对应的“规则”列表对推力反向器可能占用的每个“状态”进行建模〔例如,状态1:未工作;状态2:部分工作;状态3:完全工作〕,所述“规则”控制着每个状态内的许可动作和每个状态间的过渡。同样的原理还可应用于软件代码的开发和操作。
发明内容
因此,提供了一种用于根据需求生成验证的软件代码的方法,该方法包括以下步骤:
i.使用软件以生成需求的状态模型;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州铭星科技股份有限公司,未经苏州铭星科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110444258.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于OWL用户模型的互动社区信息精准推送系统
- 下一篇:导电橡胶