已阅读5页,还剩51页未读, 继续免费阅读
(计算机应用技术专业论文)一种基于基数的领域特征模型检验方法.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一种基于基数的领域特征模型检验方法 摘要 基于基数( c a r d i n a l i t y ) 的领域特征建模是一种特殊的领域建模技术。该技 术通过引入特征基数、特征组基数、特征属性和特征图引用等技术对f o d a 乜1 ( f e a t u r e o r i e n t e dd o m a i na n a l y s i s 面向特征的领域分析方法) 方法进行了扩展。 基数机制允许在领域模型定制应用模型过程中,对领域模型中的特征和约束关系 进行复制,因此在应用模型中将存在同一特征的多个克隆体。采用基数思想将带 来以下两个问题:一个问题是特征间的附加约束关系语义缺失,从而导致依赖约 束检验应用模型的方法失效。另一问题是,在定制后的应用模型中,由于包含了 大量的特征和约束克隆体,造成应用特征模型庞大复杂,模型的正确性检验效率 明显降低。 针对目前基数特征模型验证中遇到的以上问题,参考领域特征模型检验方 法,结合附加约束关系在特征模型中的语义信息,本文提出基数特征模型检验方 法,解决了由基数机制引起的模型检验问题。本文主要研究为以下几方面。 对于语义缺失问题,首先通过对特征间的关系的分析,给出了特征间附加约 束的两个具体约束种类,即二元约束关系和复合约束关系。然后,根据约束关系 的完整语义在模型定制后所需求的信息,给出了两类附加约束关系的s c h e m a 定义 和约束表达形式。以便于本方法对特征模型进行检验。 针对克隆机制致使模型中存在大量的特征和附加约束关系拷贝,从而导致模 型检验效率较低的问题。本文依据特征的属性和选择状态对附加约束判定的影 响,利用无效附加约束关系的充分条件作为判定规则,在特征模型检验前筛除无 效附加约束关系,从而降低了模型检验的复杂度。 通过对附加约束的种类和语义分析,本文对两类附加约束关系分别提出了检 验规则,并给出了检验规则的形式化描述。为了进一步提高应用模型的检验效率, 降低模型检验的时间复杂度,本文引入了b d d ( 二元决策图) 机制。通过将附加 约束关系构建成b d d ,本方法在检验特征模型时,明显减少了在特征树中遍历查 找约束关系的次数。 关键字:附加约束;模型检验;基数特征建模;领域;二元决策图: a nc a r d i n a l i t y - b a s e dd o m a i nf e a t u r em o d e lv e r i f i c a t i o n m e t h o d a b s t r a c t c a r d i n a l i t y b a s e df e a t u r em o d e l i n gi sap a r t i c u l a rf o r mo fd o m a i nm o d e l i n g , w h i c he x t e n d st h eo r i g i n a lf e a t u r em o d e l i n gf r o mf o d a 2 】w i t hf e a t u r ea n dg r o u p c a r d i n a l i t i e s ,f e a t u r ea t t r i b u t e s ,f e a t u r ed i a g r a mr e f e r e n c e s t h em e c h a n i s mo f c a r d i n a l i t ya l l o w sf e a t u r ea n dc o n s t r a i nh a v i n gm a n yc o p i e si na p p l i c a t i o nf e a t u r e m o d e ld u r i n gc u s t o m i z a t i o nf r o md o m a i nf e a t u r em o d e l h o w e v e r ,t h em e c h a n i s mo f c a r d i n a l i t yb r i n g st w op r o b l e m si nt h ea p p l i c a t i o nf e a t u r em o d e lv e r i f i c a t i o n o n e p r o b l e mi st h a ta d d i t i o n a lc o n s t r a i n sa m o n g f e a t u r e sw i l ll o s et h e i ro r i g i n a ls e m a n t i c s a sar e s u l t ,w el o s et h ec a p a b i l i t yo fv e r i f y i n gw h e t h e rac u s t o m i z i n gr e s u l ti sav a l i d o n eb a s e do nt h ec o n s t r a i n sa m o n gf e a t u r e s a n o t h e rp r o b l e mi st h a tt h ee f f i c i e n c yo f a p p l i c a t i o nf e a t u r em o d e lv e r i f i c a t i o ni sd r o p p e dd o w nb yt h eg r e a td e a lo ff e a t u r e c l o n e sa n da d d i t i o n a lc o n s t r a i nc o p i e si nt h ec u s t o m i z a t i o n a c c o r d i n gt ot h ep r o b l e mw ef a c e di nt h ec a r d i n a l i t yf e a t u r em o d e lv e r i f i c a t i o n , r e f e r e n c e dd o m a i nf e a t u r em o d e lc h e c k i n gm e t h o d s ,a n dc o m b i n e dw i t ha d d i t i o n a l c o n s t r a i ns e m a n t i ci n f o r m a t i o ni nt h ec a r d i n a l i t yf e a t u r em o d e l ,t h ep a p e rp r o p o s ea l l d o m a i nf e a t u r em o d e lv e r i f i c a t i o nm e t h o d t h em e t h o dr e s o l v e st h em o d e lc h e c k i n g p r o b l e mc a u s e db yt h ec a r d i n a l i t ym e c h a n i s m t h em a i nc o n t r i b u t i o no ft h ep a p e ri s a sf o l l o w s b yt h ea n a l y s i so fr e l a t i o n s h i pb e t w e e nf e a t u r e s ,t h ep a p e rs p e c i f i ct w ot y p e so f a d d i t i o n a lc o n s t r a i na tf i r s t ,n a m e l yb i n a r yc o n s t r a i n t sa n dc o m p o s i t ec o n s t r a i n t s a n d a c c o r d i n gt ot h ei n f o r m a t i o nt h a tr e q u i r e db yt h ei n t e g r i t yo fa d d i t i o n a lc o n s t r a i n t s s e m a n t i ci nc u s t o m i z e df e a t u r em o d e l ,t h ep a p e rg i v e st h es c h e m ad e f i n i t i o na n dt h e f o r m so fe x p r e s s i o nc o r r e s p o n d i n gt ot w ot y p e so fa d d i t i o n a lc o n s t r a i n t s f a c i l i t a t e t h ev e r i f i c a t i o no ff e a t u r em o d e lu s i n gt h em e t h o d f o rt h es e c o n dp r o b l e m ,b a s e do n t h ei m p a c to fa d d i t i o n a lc o n s t r a i nj u d g m e n tw i t hc h a r a c t e r i s t i c so ff e a t u r ea n d i i s e l e c t e ds t a t u s ,e m p l o y e dt h es u f f i c i e n tc o n d i t i o no fi n v a l i dc o n s t r a i na sc r i t e r i o nr u l e , t h em e t h o de x c l u d ei n v a l i da d d i t i o n a lc o n s t r a i nr e l a t i o n s h i pb e f o r ef e a t u r em o d e l c h e c k i n g t h u sr e d u c et h ec o m p l e x i t yo fm o d e l v e r i f i c a t i o n t h ep a p e rp r o p o s e sv a l i d a t er u l e sa n df o r m a ls p e c i f i c a t i o nc o r r e s p o n d i n gt w o t y p e so fa d d i t i o n a lc o n s t r a i n t s i no r d e rt of u r t h e ri m p r o v et h ec h e c ke f f i c i e n c ya n d r e d u c et i m ec o m p l e x i t y , t h ep a p e ri n t r o d u c e st h eb d d ( b i n a r yd e c i s i o nd i a g r a m ) m e c h a n i s m k e y w o r d s :a d d i t i o n a lc o n s t r a i n ;c a r d i n a l i t yf e a t u r em o d e l i n g ;m o d e lv e r i f - i c a t i o n ;d o m a i n ;b i n a r yd e c i s i o nd i a g r a m ; i i i 独创声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含未获得 ( 逵;翅遗查墓丝重墨挂型虚明鲍! 奎栏亘窒或其他教育机构的学位或证书使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 学位做作者签名韩鬃咨签字啸冲年月7 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,有权保留并 向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人 授权学校可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用 影印、缩印或扫描等复制手段保存、汇编学位论文。同时授权中国科学技术信息 研究所将本学位论文收录到中国学位论文全文数据库,并通过网络向社会公 众提供信息服务。( 保密的学位论文在解密后适用本授权书) 签名噼蒙侈 签字嗍砷年多月7 日 导师签字: 签相期净;月7 日 一种基于基数的领域特征模型检验方法 1 绪论 1 1 引言 尽管在过去的十几年中,软件工程的研究已经使得软件开发的成功率大大提 高,但是随着软件系统的规模和复杂性不断增加,软件生产效率和质量滞后于软 件产业的客观需要,使得“软件危机”依然没有得到解决。软件复用思想为解决软 件危机,提高软件质量和软件生产效率提供了有效的解决途径。领域特征建模方 法便是软件复用思想的体现方式之一。该方法不仅包含了共性可复用软件资产, 同时还包含了特性的可复用软件资产。并且领域特征建模方法对以上两种可复用 软件资产进行管理,从而为软件复用提供了有力的支持。 领域工程的核心是关注“如何生产出特定领域内可供复用的软件资产”。领域 ( d o m a i n ) 是指一组具有相似或相近软件需求的应用系统所覆盖的功能,即同一 行业内所有相似的业务系统。由于此类系统具有极高的相似性,以及几乎完全相 同的主要业务流程,所以在同一领域内的软件复用活动获得成功的几率较大。领 域工程的开发可以被划分为3 个阶段:领域需求分析建模、d s s a 设计 ( d o m a i n s p e c i f i cs o f t w a r ea r c h i t e c t u r e ) 、领域实现和通用构件开发。每个阶段 的研究成果都可以作为复用资产直接参与到应用软件开发过程中。 f o d a 2 1 ( f e a t u r e o r i e n t e dd o m a i na n a l y s i s 面向特征的领域分析方法) 是最 早被提出的领域工程方法,得到了广泛认可,该方法由卡耐基梅隆大学软件工 程研究所于1 9 9 0 年提出,并且已经具有明确的定义,当前有多个组织对f o d a 方 法进行了扩展。其中,采用x m l 描述的基数特征建模思想通过引入特征基数、 特征组基数、特征属性和特征图引用等技术对f o d a l 2 l 方法进行了扩展,实现的 建模工具包括f m p t 3 】和) a f e a t u r e 【4 1 。基数描述了模型中特征和特征组可以被克隆 的次数。实践证明:基数思想有效维护了特征模型的完整性,同时对应用模型生 成提供了可变性支持。但是,基数思想的引入也带来一些问题。首先,基数破坏 了原特征模型中附加约束关系的语义完整性。其次,大量特征和约束的克隆体将 导致应用模型异常庞大复杂,降低了特征模型的检验效率。甚至造成部分方法不 可用。因此,保证领域特征模型中的约束关系在转换到应用模型后语义完整,以 一种基于基数的领域特征模型检验方法 及对定制后特征模型整体的正确性进行高效检验,是目前基数特征建模方法能否 实现实际应用的关键问题。这一问题不仅具有重要的理论意义,还具有重大的使 用价值。 1 2 国内外相关研究进展 特征模型中的约束( c o n s t r a i n ) 关系描述了特征间的静态依赖关系,因此在 参考文献【3 】 4 】【5 】【6 】【7 】【8 】中很多方法利用约束关系作为模型正确性的判断标准。 过去的研究关注于领域特征模型的正确性,对领域特征模型的全部定制结果,即 应用特征模型和部分定制结果的正确性检验方面的研究较少。 1 2 1 特征模型的检验 m i k em a n n i o n 在文献【9 】提出基于可变性的一阶逻辑检验方法,该方法使用 一阶逻辑命题封装特征间的约束关系,将特征模型转化成命题公式,并把独立的 系统封装成为一组需求的集合。正确的特征模型必须满足所有的需求。文中提供 了以p r o l o g 编写的工具用于检验模型正确性和统计正确模型的个数。 文献【8 提出基于判别式的特征模型剪裁方法,判别式对应了特征模型中的 可选特征。该方法关注精化关系和构造引入的约束关系,并且完全采用树形结构 描述特征模型。利用特征模型中的前置条件和后置条件检验特征模型的正确性。 文献【6 】关注特征在绑定过程中的正确性检测。该方法将特征分为3 种状态b o u n d ( 绑定) 、r e m o v e d ( 剪裁) 和u n d e c i d e d ( 未决策) 。主要利用特征定制过程中 ( 如编译阶段,安装阶段,装载阶段、运行阶段) 不同绑定状态间的转化关系作 为判断依据进行模型检测,并在文献【1 0 】中利用b d d 【3 2 】( b i n a r yd e c i s i o nd i a g r a m 二元决策图) 实现了模型检测算法。 以上方法发并没有采用基数思想,所应用的检验环境只是领域模型,并不能 对特征定制模型进行检验,同时也没有考虑附加约束关系的表达。 文献【3 】【4 】在基于基数的特征建模工具中,利用x m l 描述了特征间的约束关 系,对特征模型的正确性进行检验。在约束满足性检验方面,两个工具都利用 x p a t h 检验l 描述的配置( c o n f i g u r a t i o n ) 正确性,不仅检验了简单约束条件, 而且检查了复合约束条件。f i v i p 提供的检测工具通过将约束关系转换为引用变 2 一种基于基数的领域特征模型检验方法 量,实现了对约束关系检测,利用已经决策的变量推测未决策变量值,检测约束 集合是否存在解并计算解的数量。f m p 还实现了约束的传递性检测。x f e a t u r e 将 特征间的约束分为两类检测,分别为l o c a lc o m p o s i t i o nr u l e s ( 本地复合规则) 和 g l o b a lc o m p o s i t i o nr u l e s ( 全局复合规则) 。本地复合规则描述了同一父特征的 所有子特征集合间的约束,即特征组内的约束关系。全局复合规则描述了特征图 不同部分的非相邻特征间的约束关系。x f e a t u r e 利用s c h e m a 描述了l o c a l c o m p o s i t i o nr u l e s ,用x s 曜序将g l o b a lc o m p o s i t i o nr u l e s 编码,最后利用x p a t h 实 现了模型检验。 这两种方法均采用基于基数思想的领域特征模型为应用环境,其不足之处在 于,两种方法都没有考虑到附加特征的语义缺失问题,同时对特征间的约束关系 划分不够明确,没有能够将附加约束进行分类。造成对特征模型的定制结果检验 时约束关系数量庞杂,检验效率低。 1 2 2 附加约束的检验 在领域特征模型中包含了一个或多个特征图,特征图将特征组织成树形结 构,在采用基数和树形结构描述的特征模型中,并不能表达所有的特征约束关系。 这种不能被基数和特征模型树形结构表达的约束关系称为附加约束关系【3 1 。 c z a m e c k i 在文献 1 1 】中提出了特征克隆概念,即基数思想。由于特征在 c o n f i g u r a t i o n ( 配置,一个配置对应领域特征模型的部分定制结果) 中可能出现 多个克隆版本,因此在特征模型中的附加约束关系映射到配置后,所依赖的源特 征和目标特征具有多个克隆体,导致特征模型定制结果所包含的附加约束关系语 义缺失【1 2 1 。 b a t o r y 1 3 】提出基于l 1 m s ( l o g i ct r u t hm a i n t e n a n c es y s t e m s ) 的s 砌法检 查特征模型的一致性,并且利用约束传递算法推断配置选择结果。该方法具有优 良的智能选择性,但是,需要首先将约束转化为c n f ( c o n j u n c t i v en o r m a lf o r m 合 取范式) 。该方法关注于特征模型的检验,并没有考虑到特征的克隆,对配置中 的附加约束并没有提供检验机制。 c z a m e c k i 在文献【1 2 】中提出了采用o c l f l 4 1 ( o b j e c tc o n s t r a i n tl a n g u a g e ) 语言 完整的描述了附加约束。该方法首先将特征模型转化为u m l 类模型后,再利用 3 一种基于基数的领域特征模型检验方法 o c l 语言描述附加约束。虽然该方法能够完整的描述附加约束,但是需要首先经 过模型转换步骤,导致特征模型定制过程中,部分定制结果无法进行检验。 文献【1 0 】提出了一种对克隆特征模型中附加约束的语义描述。分析了解决附 加约束语意缺失需要解决的两个问题,一是在特征和其子特征克隆后,那些附加 约束关系可以被保留。二是附加约束所依赖的特征被克隆后,附加约束如何转换 以适应克隆特征上下文环境。并给出了完整语意描述的两种模式,即生成模式和 匹配模式。该方法解决了附加约束关系的完整语义描述问题,但是并没有采用附 加约束关系对特征模型定制结果进行检验。 1 2 3 基数特征建模 目前较成熟的基于x m l 的特征建模工具是f m p 和x f e a t u r e 。f m p 是由加拿大 渥太华大学g e n e r a t i v es o f t w a r ed e v e l o p m e n t 实验室开发,基亏:e c l i p s e 平台的特征 模型编辑和配置插件,该工具源代码已经开源,提供了全球c v s 更新功能。 x f e a t u r e 由o n d r e jr o h l i k 和a l e s s a n d r op a s e t t i 设计,并且e s a ( e u r o p e a ns p a c e a g e n c y 欧洲航天局) 提供支持和管理,目前该工具被扩展应用至i j e t h 自动化控制 实验室的a s s e r t 项目中。x f e a t u r e 也是e c l i p s e 平台的特征建模插件,同时该工 具支持自定义元模型。 由于f m p 检验模型操作更简便,并且实现了开源,因此本文选择以f m p 作为 研究和实验平台,利用应用特征模型中的附加约束关系进行特征模型定制结果检 验,最终实现模型正确性的检验。 1 3 主要研究内容与研究意义 针对上节中相关国内国际研究的不足,本文通过对特征模型检测方法和各类 附加约束的分析,以附加约束关系检验为基础,实现特征模型定制结果检验。主 要研究内容将涉及以下几个方面: 首先,结合特征模型中的各类约束关系,参考c z a m e c k i 在文献 1 2 】中利用 o c l 语言对附加约束的描述,本文从附加约束的语义完整性和约束检测需要的依 赖条件出发,采用x m ls c h e m a 对附加约束进行完整性定义。为随后解析x m 啪 征模型和附加约束检验提供基础,便于特征模型检测。 4 一种基于基数的领域特征模型检验方法 其次,提出应用模型中附加约束检测规则,不仅利用约束语义完整性实现了 对简单类型附加约束关系的有效检验,而且对复合类型的附加约束关系进行了深 入分析。解决了由复合类型附加约束关系引入的子特征组递归检验问题。首先通 过筛选去除无效的附加约束关系,降低了模型检验复杂度。然后针对分类后的附 加约束关系的语义,提出附加约束关系检验规则。最终实现了特征模型定制结果 正确性的检验。 最后,针对基数特征模型中附加约束关系和特征存在大量克隆,导致模型检 验效率低的问题,本文通过引入b d d ( 二元决策图) 机制,实现并提高了特征 模型检验效率。其中附加约束关系向b d d 转换是构造二元决策图和实现特征模 型检验的基础,本文给出了b d d 的构造方法。 通过研究附加约束对模型整体的影响,本文探讨了附加约束的语意缺失产生 原因和附加约束的完整语义应包含的信息。利用开源特征建模工具f m p 作为研究 环境,通过采用s c h e m a 对附加约束关系进行定义和描述,并对附加约束关系分 类检验,为特征模型定制即生成应用模型提供技术支持,保证了特征模型的完整 性和正确性。 1 4 论文组织结构 本文给出了附加约束关系的具体种类,并提出一种基于附加约束关系的特征 模型检验规则。在对附加约束关系的语义缺失分析基础上对现有x m ls c h e m a 进 行了完善。以此为基础,通过将附加约束关系映射为b d d 实现了特征模型检验, 并对实例进行了应用实验。全文安排如下: 第一章绪论部分主要介绍了课题的研究背景,国内外研究现状和发展动态, 文章的主要研究内容和研究意义以及本文的组织结构。 第二章,介绍了特征领域工程的思想和主要建模方法。首先介绍了领域工程 的概念和开发过程,以及领域工程与应用工程的关系。由于目前多数特征建模方 法是对f o d a 的扩展,因此简要介绍了f o d a 的领域分析过程。然后介绍了特征 建模方法、特征的概念、领域特征模型结构、特征间的约束关系种类。最后介绍 了领域工程与应用工程的关系。 第三章,介绍x m l 描述的基数特征建模方法和对语意缺失问题的分析。首 5 种基于基数的领域特征模型检验方法 先,介绍基数概念和特征克隆思想,分析了克隆特征与原特征间的关系。其次, 介绍了x m l 特征建模方法。再次,详细分析了附加约束关系语义缺失问题,分 析了该问题对特征模型的影响。通过特征间约束关系的分类,提出具体附加约束 关系的种类,并给出附加约束关系语意缺失问题的解决办法。最后,利用x m l s c h e m a 定义了具有完整语义的附加约束关系 第四章,在分析附加约束关系种类和各类约束关系语义的基础上,提出了附 加约束检测规则。首先,通过筛选去除无效约束关系,降低了模型检验复杂度, 提高本方法的执行效率。其次,分别对简单类型和复合类型的附加约束关系给出 检验规则,同时解决了附加约束关系的递归检验问题。然后,通过b d d 对本文 检测方法进行了实现,给出了附加约束关系构造b d d 的主要原则,通过构造b d d 降低了附加约束关系的扫描次数,提高应用模型检验效率。最后,利用电子商务 和e m a i l 特征模型进行了验证,并简单分析了本方法的执行效率。 第五章总结和展望,对本文的研究工作进行了总结,并提出了下一步需要做 的研究与工作。 6 一种基于基数的领域特征模型检验方法 2 特征领域建模技术 2 1 领域工程 领域工程被认为是目前解决软件危机的有效途径。软件复用的实践应用和研 究证明,特定领域内的软件复用活动更容易获得成功。在领域工程的实践过程中, 应用面向特征方法对需求单元的封装和复用思想被领域分析建模方法广泛采用。 特征思想首先在f o d a 方法中提出,目前多种领域分析方法对特征模型的结构做 了扩充和修改。下面介绍领域工程相关概念、特征领域开发方法以及特征领域模 型的概念和结构。 2 1 1 领域工程开发过程 领域n 钔( d o m a i n ) 是指一组具有相似或相近软件需求的应用系统所覆盖的功 能区域。也可以理解为同一行业内所有相似的业务系统。由于具有极高的相似性, 以及几乎完全相同的主要业务流程,所以领域工程通过提取出领域中的共性需 求,生产出通用的软件产品,然后根据不同的应用环境进行定制拼装,从而实现 软件工厂化开发。 领域工程是为领域覆盖的相似应用系统建立核心软件可复用资产的过程。特 定领域的软件复用是一种系统化、工程化的系统开发过程。核心可复用资产主要 包括三部分:领域需求、领域架构和领域可复用构件。在领域思想体系中,应用 软件开发主要依赖领域工程中生产出的核心可复用软件资产,进行的系统架构设 计和组件组装的开发过程和活动。 领域工程开发过程分为以下三个主要阶段: ( 1 ) 领域分析阶段:领域分析是领域工程的起始步骤,也是领域工程的基础。领 域分析阶段的主要目标是抽取领域内的共性问题域,获得领域的共性需求, 建立领域模型。领域分析通过收集与领域专家会谈得到的领域知识,领域中 相关的文件、以及技术资料等信息,确定领域范围的边界。从而确定特定领 域必须具备的领域需求,可变的领域需求、可替代的领域需求,从而建立充 分完整描述了特定领域内各项系统特性的领域模型。 7 一种基于基数的领域特征模型检验方法 ( 2 ) 领域设计阶段:领域设计阶段的软件复用产品是领域需求模型,即领域体系 结构。领域需求模型是满足领域需求的特定领域体系结构和构件划分,是适 应领域中多个系统族需求的一个高层次的系统设计。由于领域需求模型包含 的领域需求具有一定的可变性,因此领域系统体系结构和构件划分也应该相 应地具有一定的柔性侧。 ( 3 ) 领域实现阶段:领域实现阶段以领域需求模型和领域体系结构为基础,提取 和组织领域复用资产。这些可复用资产可能通过两种途径得到,一是通过重 新分析领域内的应用得到,另外一种途径是从现有领域构件库中提取。领域 实现阶段得到的领域体系结构将领域需求信息映射到领域可复用构件。领域 实现阶段的可复用的软件资产包括:领域体系结构、领域描述语言d s l ( d o m a i ns p e c i a ll a n g u a g e 特定领域语言) 和代码构件等。 领域工程是一个逐步精化、不断反复的系统化软件开发过程。在领域工程实 施的每个阶段都可能跳回到前面的阶段中,对前期所得到的分析结果进行完善和 修改,再返回并继续本阶段的分析和组织。在修改完善的前阶段基础上再继续进 行本阶段的开发。 2 1 2 领域分析方法 领域分析n 翻是领域工程的起始阶段也是领域工程的基础。领域分析主要负责 收集、组织、标识、表示特定领域中的领域知识、专家知识和相关信息,从而支 持领域中的软件复用。领域分析方法是一种以软件复用为目的,系统化地寻找和 收集领域需求的技术。 领域需求方法主要包括以下几种:卡内基梅隆大学软件工程研究所提出的 f o d a ( f e a t u r eo r i e n t e dd o m a i na n a l y s i s ) 方法;贝尔实验室提出的面向家族的 抽象、规约和翻译( f a m i l y o r i e n t e da b s t r a c t i o n ,s p e c i f i c a t i o n ,a n dt r a n s l a t i o n , f a s t ) 1 1 6 】的领域工程方法;a r a n g og u i l l e r m o 提出的d s s a 1 7 1 方法;韩国浦项科 学与技术大学kc k a n g 团队提出的f o r m 1 8 】方法;以及北京大学提出的青鸟面 向对象的领域工程方法;惠普实验室综合f o d a 方法和r s e b ( r e u s e d r i v e n s o f t w a r ee n g i n e e r i n gb u s m e n ) 方法提出的f e a t u r s e b l 2 1 方法等 随着软件复用研究的不断深入,特征建模成为了领域分析的重要方法。目前 8 一种基于基数的领域特征模型检验方法 主流的领域分析方法包括: ( 1 ) 面向特征的领域分析方法f o d a :f o d a 方法通过领域分析员与用户和领域专 家之间的交互,确定上下文模型,然后依据上下文模型产生领域需求模型。 实现领域共性和可变性需求的提取,兼顾功能需求和质量需求。f o d a 方法 发站在用户角度,强调对领域中主要的和个性的特征进行标识。该方法支持 体系结构和功能层上的复用,采用一般到特殊、聚合到分解、参数化建模的 模式。包括3 个阶段:上下文分析阶段、领域建模阶段、体系结构建模阶段。 ( 2 ) f a s t ( 面向产品族的抽象、规格说明和转换方法) :f a s t 方法以软件产品 线开发为应用背景,覆盖了整个软件产品线开发过程。f a s t 包括如下目标: 一是对软件产品线进行抽象,另外提供语言描述,并生成必要的工具以支持 描述语言向文档和软件产品的转换。f a s t 方法分为以下四个阶段:1 、利用 领域共性与可变性分析方法收集并分类特定领域的信息和知识。2 、定义决策 模型。3 、设计应用模型语言( a m l - a p p l i c a t i o nm o d e l i n gl a n g u a g e ) 。4 、 实现软件产品线领域。 ( 3 ) 特定领域软件架构设计方法d s s a :d s s a 倾i 重于描述应用系统中包含的构 件、构件之间的接口,说明了如何将系统功能分配到构件和构件之间。而框 架是d s s a 的部分实现,支持基于d s s a 的应用系统的开发。d s s a 不仅提供 了可复用软件组件的框架,还可以实现设计理论体系和具有适应性结构的组 织。领域实现阶段的主要行为是定义需求翻译机制,将需求映射到由可复用 构件构造的系统。 f o r m ( 面向特征的复用方法) 是著名的基于特征的领域开发方法。该方法 首先提出了用特征模型开发领域体系结构和可复用构件的思想。从而将f o d a z j 法的特征建模过程扩展到设计与实现阶段。f o r m 方法虽然全面系统的阐述了基 于特征的领域工程和应用工程开发过程,但是该方法主要关注特定领域知识的组 织和建模,所以仅适用在具有成熟分析结构的领域内软件复用。其次,虽然对领 域体系结构的设计提出了一些指导性原则,但是这些指导原则针对不同的特征间 关系分别提出,缺少综合的领域体系结构设计方法。再次,该方法缺少可操作的 具体执行过程,没有考虑复用成本和复用效率因素。 9 一种基于基数的领域特征模型检验方法 2 1 3 领域工程与应用工程的关系 与领域工程相对,把开发单个应用系统的过程称为“应用工程”。它们之间的 关联表现在以下两方面 一方面,领域工程通过对应用工程的现有产品即应用软件系统的分析,得到 如需求规约、设计、实现等信息,作为主要信息的来源。领域工程的各个阶段又 对应用工程的相应阶段进行软件产品描述和抽象。领域工程的产品包括领域需求 模型、d s s a ( 领域体系结构) 、可复用构件三种。同时领域工程还提供了对本 领域中新应用系统开发的支持。 另一方面,领域工程和应用工程具有相同的问题空间和任务。主要包括,从 复杂的信息源中提炼软件需求;对需求规约的表示;表示设计模型;进行系统结 构设计;构件的开发过程;在需求规约、设计和实现之间保持逻辑关联等;如何 对需求描述、设计和实现进行演化等。图2 1 表现了领域工程与应用工程之间互 相依赖的关系。因此,领域工程在产品、行为、开发步骤等很多方面都能够和应 用工程进行类比。 需求分析建模 : 体系结构 :匦孽塑 匝五h 量塞星型卜 哥( 竺兰h 对 : : d s s a :d o m a i n s p e c i f i cs o f t w a r ea r c h i t e c t u r e ,特定领域的软件体系结构 a s s a :a p p l i c a t i o n s p e c i f i cs o f t w a r e a r c h i t e c t u r e ,特定应用系统的软件体系结构 图2 1 领域工程和应用工程的关系 2 2 特征领域建模的基本概念 2 2 1 特征 特征术语常出现在领域工程、特征交互问题、特征驱动的软件开发、软件再 工程等若干研究方向和实践中。特征的定义瞄l 可以划分为两种类型,较早提出 1 0 一曼霸 一 领一舞i一裂 一习竺 ij系一:窗一 嚷一 一种基于基数的领域特征模型检验方法 的f o d a 、f e a t u r s e b 2 i 等方法从外延出发,认为特征是软件客户或用户可见、 可感知的软件特点。另外一种从内涵出发的定义,认为特征是一组相互关联的软 件需求。因此特征涵盖了由系统整体概念到具体功能细节的所有需求。本文采用 北京大学高可信软件技术教育部重点实验室给出的特征较全面的定义,定义如 下: 特征定义【挖】:就内涵而言,特征是一组具有相对紧密关联的单个需求构成 的单元;就外延而言,特征是一种利益相关者价值的软件特点。 从需求规约的组织结构角度来看,特征被视为需求空间内的基础单元,特征 实现了对需求的分割、划分和组织方式。特定领域内的的特征及特征间的相互关 系构成了领域的需求空间;从特征的内涵而言,特征本身体现了系统具有的某种 特点或能力,反映了需求获取的参与者对系统的理解和要求;从特征的外延而言, 一个特征可能是一种功能性的需求封装,也可能是对系统质量属性的要求,或者 是外部环境对系统的客观要求条件。 特征及特征交互的概念最初应用于电信领域,后来人们发现特征理论完全适 用于其它软件开发领域,从而开创了特征工程的研究领域。特征工程涉及软件开 发生命周期的各个阶段。领域特征建模可以看做是领域工程结合特征思想的延 伸,领域特征建模以特征作为需求空间基本模块,同时研究特征对软件生命周期 各个阶段的作用和影响。 2 2 2 特征的分类 领域分析中的特征就是指系统中的属性和特点。这些属性和特点对那些与该 系统交互的实体而言是有意义的,或者是直接产生作用的。因此特征具有多种分 类方法。 按特征之间的相互关系以及领域中特征的可选择性,特征可以分为3 类【2 】: 强制性特征( m a n d a t o r y ) ,是指必须被选择的特征,代表了领域中的核 心属性和特点,构成了领域的基础结构; 可选特征( o p t i o n a l ) ,是指有零到多个可供选择的特征,代表了在某些 系统中不一定存在的属性和特点; 可替换的特征( v a r i a n t ) ,是指至少要有一个被选择的特征,代表了不同 一种基于基数的领域特征模型检验方法 系统对同一属性和特点的不同处理和表示。 按特征的内容可分为如下3 类: 功能相关特征( o p e r a t i o n a l ) ,指系统能够完成的主要功能; 环境相关特征( c o n t e x t ) ,指系统差异点产生的原因和系统使用的背景 要求; 表示相关特征( r e p r e s e n t a t i o n ) ,指从用户角度或者其它相关应用角度 所观察到的系统信息。 传统的应用系统开发过程中,往往需要使用多种模型对系统需求和结构进行 描述,并选择一种模型将其它的模型紧密联结在一起。例如面向对象方法使用 u c m ( u s ec a s em o d e l ) 将其它的模型联结在一起。而在领域工程中,特征模型 取代了用例模型具有的中心地位。特征模型通过采用细化和抽象机制,对领域中 相关应用的所有描述领域需求的特征进行分类,从而建立了关于领域体系结构和 可重用构件的高层抽象视图。特征模型与用例模型具有一定的相似性,他们最终 目标都是获取用户的需求。用例模型与特征模型的差别在于,用例模型是面向用 户的,针对应用系统功能的与非功能特点进行描述,而特征模型是面向重用者的, 表达了领域中进行新系统构建时,可使用的复用软件资产。 2 2 3f o d a 方法 由于目前基于特征的领域建模过程多是对f o d a 方法的扩展,因此下面简 单介绍f o d a 方法。f o d a 是由s h o l o mc o h e n 等人开发的一种领域分析方法, 来源于软件工程协会( s e i ) 的领域分析项目。f o d a 为定义了基本领域分析过 程,并为创建了特定的软件产品,用于将来的使用。 f o d a 方法最早包含三部分:场景分析( c o n t e x t a n a l y s i s ) 部分、领域建模 ( d o m a i nm o d e l i n g ) 部分、体系结构建模( a r c h i t e c t u r em o d e l i n g ) 部分。然而 领域工程的整体概念将f o d a 产品与体系结构建模结合的过程统一划分为领域 设计的一部分。因此f o d a 主要包含前两部分。 1 场景分析( c o n t e x ta n a l y s i s ) 部分 f o d a ( 面向特征的领域分析) 方法在场景分析部分确定领域的范围和边界。 在定义的领域范围内产生出特定的领域产品,领域产品为场景模型( c o n t e x t 1 2 一种基于基数的领域特征模型检验方法 m o d e l ) 。f o d a 方法利用场景分析的结果和领域数据、领域专门技术、工程约 束等要素一起限制了领域的范围。在特定领域的场景分析阶段,f o d a 方法确定 了外部元素和指定领域之间的关系,并对这种关系中存在的特性和可交性进行分 析。这些可变性与特性主要包括:领域中的应用系统具有的不同运行操作环境和 数据请求等。最后通过利用场景图( c o n t e x td i a g r a m ) 和结构图( s t r u c t u r ed i a g r a m ) 对分类后的上述关系进行统计和表达。 2 领域建模( d o m a i nm o d e l i n g ) 部分 对于边界确定的领域,面向特征的领域分析( f o d a ) 的领域建模部分将会 对领域中共性和特性的需求进行标识和建模。需求的特性和共性刻画了特定领域 中的问题空间。它将促进对具体应用软件领域中应用需求和领域知识的理解。 领域模型( d o m a i nm o d e l ) 是面向特征领域分析建模阶段得到的产品,领域 模型由3 个部分组成:信息模型( i n f o r m a t i o nm o d e l ) ,特征模型( f e a t u r e sm o d e l ) , 操
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- PGM岗位专业能力测试题
- 码头供电照明系统施工方案
- 景区滑索运维员安全操作规程
- POI骨质疏松年度筛查标准化方案共识
- 2025-2026学年广东省揭阳市初中历史七年级期末下册高分通关黑金试题(详细参考解析)
- Oracle数据库综合考试题(含答案)
- 冠脉旋磨术后血管痉挛长效预防方案共识
- 零部件喷涂涂装操作工规程
- 纯水管路安装工安全操作规程
- 上尿路尿路上皮癌诊疗中国专家共识(2026版)
- 2026版高考英语一轮总复习素养提升必修第二册Unit4HistoryandTraditions新人教版
- 血液透析过程中的风险评估
- 江苏省徐州市2024-2025学年七年级上学期期中考试数学试卷(含答案)
- 证券经营机构数据报送接口规范(初稿)
- 毕业设计(论文)-基于S7-200 PLC自动扶梯控制系统设计
- 项目经费包干制管理制度
- 校园饮食配送管理制度
- 《人工智能概论-面向通识课程》全套教学课件
- 岩溶区人类活动与溶洞生态系统影响评估-洞察阐释
- HRVSDN中压软启动使用手册中文1
- 临夏州东乡县教育系统引进人才笔试真题2022
评论
0/150
提交评论