一个基于COP的控制类系统软件可靠性保障方法的研究与实现

来源 :南京大学 | 被引量 : 0次 | 上传用户:nfx0123
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件技术的不断发展,控制类软件系统正广泛地应用于家用,办公,医疗等领域,应用本身对软件可靠性的要求也越来越高。环境上下文信息是控制类软件设计和开发时考虑的主要因素,面向上下文编程方法针对控制类软件开发的这一特点为开发控制类软件提供了良好的支持。但是用户对控制类软件可靠性的需求随着软件应用上下文环境的变化可能需要得到增强,此时软件的行为就需要改变以满足新的可靠性需求。面向上下文编程方法通过增加新的行为变体定义,使得软件可以在指定的上下文环境下改变软件行为,但是这种传统的方法还存在一些不足之处:1)行为变体定义之间的冲突问题。可靠性增强引入的行为变体定义与原有的行为变体之间可能存在对同一共享资源的操作而导致共享资源状态的不一致性,导致这类问题的行为变体定义之间存在冲突关系,例如车辆控制系统中定义停止马达转动的行为变体和定义使马达转动的行为变体之间就存在着冲突关系。冲突关系需要被检测出来用于协调存在冲突关系的行为变体的并发执行。但是目前的COP语言没有提供相关的语法元素用于检测冲突关系。2)存在冲突关系的行为变体并发执行的协调问题。可靠性增强引入的行为变体如果同原有的行为变体存在冲突关系,则需要协调并发执行的流程,包括执行的顺序以及执行过程中的中断现象。目前的COP语言没有对上述问题提供准确、简洁的支持。COP语言可以使用宿主语言提供的机制,如Java的多线程机制,但是在编程时需要用户编写相关的代码,因此不利于用户专注于设计与编码同可靠性增强功能相关的行为变体。为了解决上述问题,为可靠性控制软件的开发与软件的可靠性增强提供良好的支持,本文对COP的研究现状和已有研究结果进行了分析,针对一个现有的COP语言EventCJ在控制类软件开发与可靠性增强方面存在的问题进行了相关研究。本文的主要贡献如下:1)本文提出了一个基于COP的可靠性控制软件开发框架和原型系统。本文在现有的EventCJ基础上,通过引入行为变体冲突检测与处理方法和行为变体运行协调机制来解决EventCJ中存在的行为变体定义约束问题和行为变体并发运行问题,并在此基础上实现了一个原型系统用于可靠性开发框架的实际应用。2)本文提出了行为变体冲突检测方法。针对行为变体定义缺乏约束的问题,本文定义了行为变体的冲突关系,并在此基础上提出了冲突检测方法,并提出了根据冲突检测结果得到最大冲突集的方法。3)本文提出了行为变体运行协调机制。针对行为变体并发运行问题,本文根据冲突关系和相对优先级来协调行为变体的并发执行。针对行为变体并发造成系统不一致性的问题,本文提出了通过保存和恢复中断上下文的方法来解决这一问题。
其他文献
朴素贝叶斯算法(Naive Bayes)是一种基于统计理论的分类算法,其在各种分类任务中有着广泛的应用。针对当前需要对海量的数据进行分类和用于训练的带标记的样本数据非常匮乏等
不同平台上的资源共享和协同工作是目前制造企业应用和实现CSCW技术面临的主问题,尤其是CAD/CAM技术作为对国民经济最有实际经济效果的新技术之一,实现CAD/CAM系统资源的代享
面向对象方法学是近年来迅速发展的一个研究.它设法使问题空间同解空间尽可能的一致.面向对象的方法包括面向对象的分析、设计和实现.利用面向对象方法分析系统,分析更接近问
报告共分三章.第一章研究子结构迭代法中二阶非自共轭椭圆方程内边界预条件子的构造.子结构迭代法,又名Schur补方法,属于非重叠型区域分解方法.此时所谓Steklov-Poincare算子
随着计算机技术与网络计算的发展和应用的普及,计算机应用已由传统的单机或部门级Client/Server应用发展为企业级、多个企业间多层Client/Server应用.该文介绍了多层Client/S
软件体系结构是近年来软件工程界的热门研究领域之一。在软件体系结构设计过程中,经常要碰到的问题是如何从抽象的高层体系结构逐步过渡到底层 的体系结构直到最后的实现。
该文主要研究XYZ系统在多媒体领域的应用问题.XYZ系统是一个以增强软件可靠性和提高软件生产率为目的的程序开发支撑系统,它由时序逻辑语言(TLL:Temporal Logic Language)XYZ
该文在第一部分中首先综述了网络安全方面所遇到的问题,详细论述了网络攻击的一些手段.针对这些攻击方法,讨论了TCP/IP体系结构按层次结构提供的相应的安全机制,并探讨了防范
为了给软件测试人员提供一个型号软件仿真测试环境,研究人员研究与开发了一套型号软件外部接口系统仿真软件.该系统通过和测试人员的交互,实现多种不同型号弹载机软件外部接
本设计的研究与实现说明了Servlet的可移植性,面向对象性,实现了操作的分布,计算的分布的分布式计算。Java Servlet技术是Sun在前不久推出的面向服务器端的,与Applet相对应的技术