特征模型的组合验证方法及其基于BDD的实现

来源 :北京大学 | 被引量 : 0次 | 上传用户:TORO_123
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件复用是解决软件危机的有效途径。实现软件复用的一种可行办法是在特定的应用领域内组织实施可复用资产的生产活动,即领域工程。特征建模是领域工程中捕获可复用需求的一种重要技术手段。它将软件需求组织为特征,并以特征为基本单位建立需求层的复用模型。在开发新的应用软件时,可以方便地通过对领域特征模型的定制(对一组可选择的特征进行绑定或删除的操作),实现有效的、大粒度的复用。   特征模型定制中的一个重要问题是验证问题。对特征模型的验证有两个目的:第一,在定制活动前,检查出特征模型的约束之间可能存在的冲突;第二,在对特征模型定制之后,检查出定制决策导致的冲突。   在已有的关于模型检查的研究中,形式化验证技术一般包含三个方面:待验证模型的形式化表述、待验证性质的形式化表述和验证模型是否满足性质的方法。在特征模型形式化验证的研究中,前两方面的问题在很大程度上已经被解决,但特征模型形式化验证方法的研究尚存在不足。研究者一般认为,既然可以一组用命题逻辑表达式表示特征模型的约束,那么可以直接使用第三方逻辑引擎(如SAT-solver,SMV)验证这组命题逻辑表达式是否满足验证准则。然而,第三方逻辑引擎一般是为通用的问题设计的,并不会为特征模型做任何优化。实践表明,在特征模型规模不太大时,这些方法就会发生指数爆炸。   本文提出了一种对特征模型的组合验证方法。其基本思想是将特征模型验证问题分解为较小的子问题,然后以组合的方式对这些小问题进行验证。本文论证,特征模型验证问题的复杂度不是与特征数量成指数关系,而是与一个称作最大独立非平凡特征子集的集合的基数成指数关系。我们用c代表这个集合的基数,用n代表特征的数量,那么本文的方法将特征模型验证问题的复杂度从0(2n)改进为0(n)+0(2c)。直观上,在实际可能构造出的大规模的特征模型中,c必然远小于n。   本文的主要工作包括:(1)提出对特征模型的一种组合验证方法,并给出其正确性的证明:(2)基于第三方逻辑引擎BDD,使用该方法实现特征模型的验证器;(3)设计了测试用例生成算法,对方法的效率进行了评估。
其他文献
产品线工程技术在软件行业的广泛运用,使产品线家族的软件产品的开发周期缩短,开发质量大幅提高。产品线工程的一个重要特点是产品开发平台和相关文档系统的复用。本文为产品线
随着软件开发的工业化,软件建模越来越成为开发过程中一个不可缺少的环节。MDA的出现将软件开发的重点转向了模型,模型成为了软件开发的核心制品。如何有效的进行自动化的模
由于信息技术的快速发展,越来越多的新兴网络多媒体服务应运而生,例如网络视频和可视电话等。而这些多媒体服务具有数据量大,传输比率高,实时性强等特点。传统的信息表达以及传输
学位
随着信息技术的飞速发展,信息已成为全社会的重要资源,而网络检索正是我们获取信息或资源的重要手段。以Google为代表的第二代搜索引擎搜索的出现使网络检索变得非常方便,然
程序员在日常编写和维护代码时,常常需要参考一些文档和其他代码。特别是在近来软件外包和人员流动日趋普遍的情况下,新接手项目的程序员需要花费大量时间来寻找需要参考的文
随着计算机性能的日益提高,以及数字化技术的飞速发展,越来越多的研究者,把关注的目光投向了多媒体文件的存储和应用。近年来,由于电影工业的飞速发展,每年都有数以千计的影
学位
随着信息技术的不断发展,软件的应用领域愈加宽广,软件规模日益扩大,企业内部的遗产系统和散布于互联网上的开源项目也在不断增加。为了降低软件项目的开发成本,提高软件的开发效
随着近10年来的迅速发展,计算机已经深入人们生活的方方面面。其中,计算机辅助教学(CAI)已经极大地改变了传统的教育教学方式,提高了教师的教学效果和学生的学习兴趣。但是传统
粒子群优化算法是一种模拟鸟类群体行为的智能优化算法,现已成为进化算法的一个新的重要分支。粒子群算法思想直观、实现简单而且具有很高的执行效率,自提出以来,受到国内外
一个城市的供水系统中如果发生了污染事件会给社会带来巨大的损失。管网中发生的污染事件能使其中自来水的水质指标变化发生明显的异常。在供水管网中部署传感器网络能够实时