欢迎来到天天文库
浏览记录
ID:19454857
大小:34.50 KB
页数:8页
时间:2018-10-02
《安全软件理论与软硬件协同设计可行性研究报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、安全软件理论与软硬件协同设计可行性研究报告一、项目定义1.项目名称安全软件理论与软硬件协同设计2.项目领域本项目属于基础产业和高新技术领域,涉及计算机软件与理论,系统芯片设计及计算机应用等学科。二、项目背景1.项目背景软件可靠性一直是计算机界关心的关键课题,1967年欧洲软件工程先驱者Floyd提出用归纳断言法来验证程序的正确性;1969年图灵奖获得者Hoare提出使用程序公理系统来验证程序的性质。七十年代的典型程序语言的数学理论并不涉及程序的规范说明,因此不能用于软件的设计和开发。同时期的工作包括着重于程序性质的后验证的方法,被用于一些常用算法的
2、分析与正确性证明,但缺乏支持规范分析和指导安全软件设计的演算技术。长期以来国际上不少软件公司投入了大量的人力、物力和财力探索软件设计可靠性技术。设计严格安全软件系统需要解决下述二项关键技术问题:●建立程序和软件规范的演算系统,在软件开发生命周期各阶段均使用数学演算技术来建立软件设计和开发文档。●设计完整的演算法则用来指导下述关键开发任务:(a)从用户需求导出软件系统各部件的规范说明;(b)从部件的规范说明演算出低层软件模块过程的功能说明。在软件设计中用数学理论来指导严格安全软件系统设计,包括:●同一数学框架中处理程序和软件规范;●用符号演算实现程序
3、和软件规范间的演算;●用谓词演算验证设计方法的正确性;●用代数方法从软件部件的抽象规范说明推算出低层次程序模块各个过程的规范说明。学科负责人自1985年起对设计严格安全软件的完备演算理论进行了深入研究,取得了重大突破。主要创新点有:●演算理论强调了设计正确软件的开发方法和使用数学演算来支持从软件到程序代码的转换;●首先提出程序分解算式并第一次提出了求解规范方程的演算法则;●首次给出程序设计语言的一套完备的代数定律;●首先给出并证明由抽象数据类型产生具体数据类型的完备演算法则;●首次为海量并行程序语言BSP语言建立指称语义和代数转化方法。主要学术成果
4、包括:●首次建立规范的数学模型,并发现求解规范方程(X;Q)>S和(P;X)>S的演算法则;●创建基于“上下仿真映照对”数据精化完备理论;●创建程序代数(He-Hoare代数),并用它来支持编译器原型的设计和证明;●提出编程统一理论和连接各类程序理论的数学法则。软件演算理论和数据精化规则被誉为是面向模型软件开发的一个里程碑,是国际标准规范语言Z的精化理论基础,是欧洲系统设计语言B的软件开发方法的理论及基础。学科负责人还参与了包括欧共体“硬件编译器”项目在内的若干国际项目的研究,在前面理论工作的基础上,提出了“软硬件混合计算系统”这一研究方向,同时,
5、在欧洲创立了协同设计研究方向,是1996年协同设计程序委员会主席。这里提出的协同设计系统与原先的设计方法不同,如高速铁路的硬件控制系统,可采用可编程器件,应用软件方法开发一个高速铁路的控制系统模型,看是否达到要求。若不行,只要修改所开发的软件(可由软件描述直接产生硬件的线路图),直到设计出一个满意的模型化的高速铁路,再实际生产。另外,象西门子公司的自动读电表的硬件控制系统,汽车上的导航控制系统,洗衣机自动控制的芯片等硬件系统的特点是:要使硬件价格便宜,设计时间短,又要保证硬件设计系统准确无误,这导致原先的设计方法很难满足这种要求。事实上,尽管已有若
6、干工作,但迄今为止,软硬件混合系统的分析和设计是一个困难的课题,这是现代控制系统的复杂性和可用芯片发展速度的局限导致的。目前常用的硬件描写语言(例如VHDL和VERILOG)允许设计者在抽象设计的不同层次间进行自由的混合,在低层设计方面,如:基本电路(例:晶体管、门电路、寄存器)分层的、结构化的网链;在高层设计方面,如:设计操作的行为表达。但实际上缺乏行为语句。多数设计方法依赖于仿真器的支持,设计中的问题通过多次使用仿真程序来发现,因而开发周期和产品的可靠性都受到了很大的限制。近年来也有应用计算逻辑方法来验证微处理器的正确性的尝试,包括高阶逻辑验证
7、工具HOL、函数编程和抽象状态机等技术。然而此类形式的技术不能用来替代传统的仿真技术。目前急切需要的是一个基于形式化方法的设计技术,包括使用仿真技术来支持整个设计的可视化和开发过程。形式化的法则可以让硬件工程师来选择各类设计参数和细节结构,而最后产品的体系结构仍然由工程设计人员来确定。有关想法还被应用到各种计算范例中(例:用OCCAM写的程序和硬件的微代码),同时CSP理论得到了充分的发展,提供了自动工具(OCCAM转换系统)。该系统被用于T800浮点单元的开发中,使T800提前一年完成。在工业界,模拟很大程度上被认为与验证是同义的,设计过程经常遵
8、循由规范得到实现的过程,二者可通过一系列的输入来进行模拟,模拟可以重复进行,这样,错误之处将得以发现、改正。1993年至1
此文档下载收益归作者所有