基于验证的软件架构演化分析与评估

来源 :东南大学 | 被引量 : 0次 | 上传用户:qq616009003
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
演化反映了“在演化实体或其组成元素的属性方面不断改进的过程”,而软件演化就是指软件系统或内部组成元素不断地改变来满足新的功能需求或属性需求。在现代软件系统的生命周期内,演化是一项贯穿始终的活动,系统需求的改变、功能实现的增强、新型算法的发现、运行环境的改变等等均要求软件系统具有较强的演化能力,这就要求能够保障系统的正确性。而随着软件架构的发展,作为软件生命周期中的早期设计产品,架构从全局和整体的角度为系统提供结构、行为和属性等信息,使得架构设计的演化结果的正确与否十分关键。本文重点关注对于软件架构演化的分析,以及对架构及架构演化的正确性验证。由于架构设计的复杂化,使得对架构正确与否的人工判断工作变得复杂化和难以保证准确性,而模型检验的方法能够有效地验证架构演化的正确与否,来完成这项工作。基于模型检验的工具Spin能够有效地实现对架构设计的正确性验证,但是其所需要的Promela模型无法进行直观的建模工作,不具有通用性,使得在此基础上的演化工作难以进行。因此,这需要我们建立一个架构模型来帮助验证和演化分析工作。本文使用UML (Unified Modeling Language)作为架构描述的输入,针对于架构设计的正确性相关的UML顺序图,采用扩展层次自动机对其进行建模,作为验证和演化分析的基础。本文首先介绍了基于Spin的软件架构验证方法,将架构设计文档转换成扩展层次自动机模型,采用线性时态逻辑语言LTL对架构约束进行描述,从自动机模型和LTL生成Promela模型,采用Spin进行验证并获得单版本的验证结果。而后,论文描述了架构演化的过程,并在层次自动机模型的基础上详细分析顺序图中的各种元素,包括对象、消息和复合片段,从它们的各自操作出发,分析各个元素的演化方式和演化规则。而后,在此基础上提出了一个基于验证的架构演化分析和评估方法,从各个版本的验证结果中可以获取演化的信息,以及演化对架构正确性产生的影响,从而完成对演化的分析与评估工作。最后论文通过Hadoop和MVC两个实验,分别说明了在不清楚演化过程和清楚演化过程两种情况下,如何应用我们的方法进行分析与评估工作。
其他文献
随着社会的蓬勃发展,软件行业的激烈竞争也日益明显,人们对软件的质量要求也越来越严格。软件测试则是软件质量保证中的关键技术。一个软件系统在开发过程中以及研制完成后,
随着计算机网络在人类生活中的地位越来越重要,网络安全被放在了网络研究的一个重要的位置。管理网络、优化网络、维护网络已经成为了当今计算机网络研究的重要方向。有鉴于此
随着计算机技术和网络技术的发展,在高校数字化校园环境下存在各种管理信息系统,比如教务管理系统,科研管理系统、财务管理系统等。这些系统覆盖了学校大部分工作,成为学校教学、
分子动力学仿真是一种分子模拟方法,这种方法主要依靠牛顿力学来模拟分子体系的运动,计算体系的构型积分,并以构型积分的结果为基础进一步计算体系的热力学量和其它宏观性质。
集成了传感器、嵌入式技术、网络和无线通信四大技术而形成的无线传感器网络是一种全新的信息获取和处理技术。它能够协作地实时监测、感知和采集各种环境或监测对象的信息,并
随着计算机和网络技术的日新月异,无线通信网络从2.5G到3G的推进,世界进入了前所未有的信息化时代,科技服务成为当今企业信息化的重要内容。对于复杂多变的市场环境,开发伸缩性强
数字视频水印技术是目前信息安全领域研究的一个新方向,是一种可以在开放的网络环境下保护数字作品的版权、认证来源及完整性的新技术。创作者的创作信息和个人标志通过数字水
在汽车电子软件开发领域,基于模型的开发方式得到了越来越广泛的应用,而作为基于模型的开发方式的重要且不可或缺的组成部分,验证成为软件开发人员越来越关心的技术问题。本
无线网络技术的发展带动了手机网络游戏的发展。在各种网络游戏中,角色扮演游戏(RPG)吸引了越来越多的玩家,使游戏开发商获得了较好的商业利润。在J2ME平台上开发网络RGP游戏引
随着计算机软硬件的不断发展,3D游戏引擎的应用前景日趋广阔,它所能提供的通用且高效的图形处理能力逐渐被诸如计算机辅助设计、虚拟现实以及军事作战仿真等多个应用领域重视和