可信软件技术的若干研究

来源 :南京大学 | 被引量 : 0次 | 上传用户:yaya1717
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机应用的日益普及和深入,软件系统的规模和复杂性不断增大,研制可信软件技术以提高软件系统的质量已经成为十分重要和迫切的需求。   软件开发生命周期可以分为需求分析、设计、实现、测试和发布等多个阶段,在开发过程的不同阶段中创建的软件制品主要包括模型和代码,这两者是对系统不同层次的抽象,软件开发过程就是构造模型并在此基础上最终实现代码的过程。可信软件技术涉及软件分析、测试、验证、监控和容错等多个方面,其应用贯穿于整个软件开发生命周期,本文针对软件模型和代码,重点研究形式验证、精化、监控和容错等相关技术。   在软件开发过程中,模型是需求分析阶段和设计阶段的重要制品。确保需求模型和设计模型之间的一致性,这是本文关注的第一个问题(模型级)。本文关注Web服务领域中服务需求模型和设计模型之间的消息流一致性验证问题。   在软件开发过程中,模型转换是构造模型的重要途径,前一步模型是生成后一步模型的基础,保证转换前后模型的一致性(即模型转换的正确性)是软件开发中的重要问题。本文在为对象和构件系统提供形式建模支持的前提下,研究了支持正确模型转换的有效实现,这是本文关注的第二个问题(模型级)。   从模型到代码的转换和生成是一个从高层抽象到低层实现的映射过程,软件在模型级是可信任的并不说明其在代码级也是可信任的,为此需要在软件开发过程中加入针对代码的分析、测试和验证活动。然而,针对代码的分析、测试和验证活动经常受到代码规模和复杂性的制约,因此在软件运行阶段增加监控和容错手段是提高系统可信性的有效途径,这是本文关注的第三个问题(代码级)。   本文围绕上述问题展开研究工作,具体内容和结果如下:   1.面向Web服务的建模与验证。采用UML顺序图构成基于场景的规约、WS-BPEL作为Web服务的描述语言,提出了一种面向基于场景规约对Web服务消息流进行分析与验证的方法:首先,对WS-BPEL消息流进行分析并将其自动抽象为基于Petri网的模型;同时,为了缩小状态空间、提高验证效率,在不影响消息交互顺序的前提下,对WS-BPEL源码和基于Petri网的模型分别进行化简,即面向基于场景规约将与验证无关的活动和元素删除;最后,通过遍历基于Petri网的模型来验证WS-BPEL消息流与基于场景的规约之间的一致性(消息交互顺序的存在/强制一致性)。   2.对象和构件系统形式模型的转换实现。在模型驱动的软件系统开发中,开发过程是一个渐进的增量式过程,软件系统的开发过程是由一系列构造正确模型并保证模型转换正确性的步骤组成的。保证模型转换的正确性是软件开发中的重要问题,本文关注的是模型转换中不同抽象层次之间模型的一致性。关系演算rCOS能够为对象和构件系统提供形式建模支持并证明模型转换的正确性,这是本文工作的理论基础。在总结基于rCOS模型的开发过程的基础上,实现了基于元模型的模型转换架构,并使用模型转换语言QVT来实现经rCOS证明的正确的模型转换。   3.基于多核平台的软件监控与容错途径和工具支撑。在总结软件监控和容错基本原理的基础上,提出基于多核平台的软件监控和容错途径,并给出其实现框架。在该框架下,监控和容错任务通过多线程技术来实现,并通过操作系统提供的语言API接口映射分配到不同的核上运行。进一步开发了工具McC++/Java使得上述途径和框架能够在C++/Java中得以实现。McC++/Java通过在C++/Java中引入专用注释标记支持自动地向多核平台映射分配监控和容错任务,从而在C++/Java程序中屏蔽了向多核平台映射分配监控和容错任务的技术细节,减轻了软件开发人员的负担,提高了相应的编程效率。
其他文献
随着计算机网络技术的发展,人们的生活也越来越依赖计算机网络。由于计算机网络本身的设计缺陷和开放性特点,网络安全问题变得日益严重。入侵检测技术是继“防火墙”、“身份认
近年来,随着互联网的快速发展,人们所面临的信息量呈爆炸式增长,传统的信息处理方式受到了极大的挑战。在此背景下,推荐技术作为目前最有效的信息过滤手段之—受到了越来越多的关
本论文基于深度学习的方法对问答领域的两个重要的问题进行了相关的探索与研究。第一个研究问题是问题意图层次分类,对于类别为层次结构的问题意图,设计模型充分利用类别间的层
传统的数据管理模式下,用户自己购买硬件软件,自己管理数据。在经济全球化的今天,一方面,用户的数据量急剧增长;另一方面,用户对数据管理的要求越来越高。这使得传统的数据管理模
研究表明,数字集成电路(IC: Integrated Circuit)测试模式下的功耗可能达到正常功能模式下功耗的两倍以上。因此,如何有效降低数字IC的测试功耗已经成为近年来学术界与工业界普
随着软件技术的发展,静态开发模式已经不能满足需求。以组件的形式开发出来的软件具有结构清晰、易于定制、便于动态扩展等特点,在Linux平台和手持移动设备上已经得到了广泛的
数据挖掘是近年来迅速发展的信息处理技术。数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息
在中文信息语言处理领域里,以大规模真实文本为基础的语料库研究和知识自动获取越来越受到重视,建设大规模高质量的语料库成为首要的任务。然而由于现阶段语料库的建立,需要
随着互联网应用和用户的飞速增加,猛增的域名查询量对根服务器和CN顶级域名(TLD)服务器造成了越来越大的负载压力。从降低根服务器和CN TLD服务器的负载、提高域名解析的性能
面向对象分析与设计系统在当今软件企业中有着非常广泛的应用,它有目的地把系统分解为模块策略,并将设计决策与客观世界的认识相匹配,为复杂度越来越高、规模越来越大的软件系统