基于Event-B的软件需求形式化建模技术的研究

来源 :电子科技大学 | 被引量 : 13次 | 上传用户:xmg11860
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在传统的软件开发过程中,通常采用非形式化或半形式化方法作为软件需求描述的手段,但是非形式化方法和半形式化方法都无法避免自然语言描述方式为软件需求描述带来的缺陷和错误,所以传统的软件开发方式无法在需求分析阶段确保软件需求的正确性。传统的软件需求建模方式,如UML建模的目的是在需求分析阶段描述软件系统的功能,并不提供验证软件需求描述正确性的方式,然而形式化的软件需求描述方式却提供了在需求阶段确保软件需求描述正确性的方法。形式化方法以严格的数学理论为基础,应用数学的手段来设计、模拟和分析软件系统,建立像数学公式那样精确的软件系统模型,再以模型验证作为检测软件系统模型正确性的手段,通过验证的软件系统模型具有准确性、确定性的特点,从而避免了软件系统在需求阶段的缺陷和错误,达到了确保软件系统质量的目的。为了避免非形式化方法和半形式化方法为软件需求描述带来的二义性和不一致性,本文采用Event-B形式化规约语言作为建立软件系统模型的描述语言,首先阐述了在Rodin平台下,利用Event-B形式化规约语言建立软件模型的步骤和方法,然后讲述了基于Rodin平台验证模型的全过程,主要内容包括以下几个方面:1.研究了传统软件工程方法为软件开发带来的弊端以及形式化软件需求描述方法的特点和形式化方法的研究现状。2.研究了Event-B模型的结构和精化技巧,首先介绍了Event-B模型的两个主要组成部分context和machine的特点以及二者之间的联系,然后讲述了常用的精化技巧,包括事件精化和状态精化,最后简要介绍了Rodin平台的功能。3.研究以树型文件系统为例构建并验证Event-B模型的步骤和方法,首先建立一个树型文件系统的抽象模型,然后再利用逐步精化的方式采用各种精化技巧依次向抽象模型中添加树型文件系统的属性和功能,达到扩大和丰富模型的目的。4.研究基于Rodin平台的Event-B模型的验证方式,讲述了与Event-B模型验证密切相关的证明义务、推理规则和证明策略等内容以及树型文件系统模型的证明过程,帮助形式化软件开发人员更好的理解模型证明和Rodin平台。5.结束语部分总结了本文的研究成果和对未来工作的展望。本文基于Event-B形式化方法,以树型文件系统的软件需求获取为实例详细地展示了用Event-B作为形式化方法基于Rodin平台建立树型文件系统模型的过程中如何描述树型文件系统的功能和属性,并验证建立的树型文件系统模型的正确性,阐述了用Event-B形式化方法描述软件需求建立并验证模型的全过程。
其他文献
燃油供输系统是飞行器中最为重要的一套系统,相当于人体的血液循环系统。实时、准确地获取燃油供输系统中各油箱燃油状态,燃油的整体分布情况对飞行器运行状态的把控和油路系统
随着现代微机的发展,串行通信机制也有了很大程度的发展。尤其是串行接口通信速率有了很大提高,并且在异步接收发送器中增加了FIFO控制寄存器,设置了先进先出缓冲区,使得整体性能
  本文对遥感图像数据在目前主流空间数据库Oracle9i和ArcSDE中的存储方式、存储机制进行了深入的剖析,分析比较了他们的优劣。在此基础上,通过实验分析和验证,提出了一套遥感
  当前,随着3G通讯技术、移动通信设备的发展和应用,基于移动设备的三维图形计算也有较大的需求,如手机上的三维游戏应用等。本文正是在目前还没有丰富的研究和应用的背景下,并
伴随着世界新军事变革的暴风骤雨,信息化建设的浪潮正在世界军事领域咆哮奔涌,军队信息化建设是当前军事领域最为复杂、最具活力的系统工程。 各个部队都将面临着前所未有
随着Internet技术的迅猛发展,网络安全也显得日益突出。在传统的安全策略无法满足日益苛刻的安全需求的情形下,入侵检测产生了。入侵检测作为网络安全一个重要组成部分,已成
论文首先描述了EAI平台与辽宁新一代运营支撑系统(NGOSS)的关系,然后重点讨论了整体系统的设计思路以及EAI平台在其中必须着重关注的问题同时给出了设计思路和设计要点.
随着集成电路设计复杂度的与日俱增,而芯片的更新换代速度也在不断加快,使得集成电路芯片的验证越来越困难。传统的芯片验证主要是基于仿真模拟的验证,其验证周期长,无法做到全覆
本文依据动态规划理论,研究建立了一个公交车调度的动态规划模型,同时给出了该模型的评价指标.并通过实例对模型进行了验证,实验结果表明,该模型是有效的.本文首先分析了国内
Web缓存是一个提高Web性能非常有效的方法,它可以位于网络的不同位置:客户端,代理服务器端,服务器端。研究表明Web缓存命中率可以达到30%-50%。Web缓存可以大大提高Web系统的