




已阅读5页,还剩63页未读, 继续免费阅读
(计算机科学与技术专业论文)面向构件部署与配置的模型语义保障机制研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国防科学技术大学研究生院硕上学位论文 摘要 作为软件复用的一种重要手段,构件技术成功的将软件开发过程的焦点由传 统从零开始的代码编写转移到对已有构件的组装和配置,这就对传统以代码为中 心的软件开发工具提出了新的要求。如何为开发者提供有效便捷的组装与配置工 具,已成为构件化开发的研究热点。 模型驱动开发是一种利用模型来简化系统开发的新型软件开发方法。结合成 熟的模型转换和代码生成技术,模型驱动开发过程能够成功地屏蔽掉底层的技术 细节,使得开发者能够更为专注的面对所要解决的问题。当前,基于模型驱动思 想,以可视化建模的方式实现构件软件的配置与部署已经成为一种提高构件开发 效率的有效手段。 在以上两个背景之下,本文基于已有的研究成果,从领域相关建模语言的角 度出发,重点研究了如何通过有效的模型语义保障机制,提高现有基于模型的配 置部署工具的效率。文章的具体工作包括: ( 一) 深入研究了领域相关建模的基本概念和关键技术。重点研究了领域相 关建模中的语义概念和机制,从模型的静态语义和动态语义两个层面研究了现有 语义保障技术。 ( - - ) 提出了一个遵循o m g 部署与配置规范的语义框架v d c s f 。该框架在 抽象层面上定义了面向部署与配置工具进行模型语义保障的基础结构和公共机 制,层次化的定义了部署与配置建模环境中的静态语义约束机制和动态语义映射 机制。 ( 三) 基于v d c s f 框架,设计和实现了部署与配置建模环境的静态语义约束 部件和动态语义映射部件。静态语义约束部件基于对象约束语言实现了模型的构 建时验证功能,确保了用户模型的有效性;动态语义映射部件以模型解释的方式 实现了部署与配置相关元数据的自动生成。 ( 四) 构造一个实际用例,验证了语义部件的功能。 主题词:构件,部署与配置,模型驱动,建模语言,模型语义 第i 页 国防科学技术大学研究生院硕士学位论文 a b s t r a c t a sa n i m p o r t a n ta p p r o a c h o fs o f t w a r e r e u s e ,c o m p o n e n tt e c h n o l o g yh a s s u c c e s s f u l l yc h a n g e dt h ef o c u so fs o f t w a r ed e v e l o p m e n tp r o c e s sf r o mc o d i n gf r o m s c r a t c ht oa s s e m b l i n ga n dc o n f i g u r i n gt h e e x i s t i n gc o m p o n e n t s i tb r i n g s ag r e a t c h a l l e n g ef o rt h et r a d i t i o n a lc o d e c e n t r i cs o f t w a r ed e v e l o p m e n tt 0 0 1 a n di tm a k e s c r e a t i n gm o r eu s e f u lt o o l sf o rc o m p o n e n t b a s e dd e v e l o p m e n tar e s e a r c hh o t s p o t m o d e ld r i v e nd e v e l o p m e n t ( m d d ) i san e wp a r a d i g mw h i c hu t i l i z e sm o d e lt o s i m p l i f yt h es y s t e md e v e l o p m e n t l e v e r a g i n gm a t u r em o d e lt r a n s f o r m a t i o na n dc o d e g e n e r a t i o nt e c h n o l o g y ,m d dc o u l dm a s kt h eu n d e r l y i n gt e c h n i c a ld e t a i l sa n dm a k e d e v e l o p e r sf o c u s e dm o r eo nt h ep r o b l e mt ob es o l v e d n o w a d a y s ,b a s e do nt h em d d c o n c e p t ,a s s e m b l i n ga n dc o n f g u r i n gc o m p o n e n t - b a s e ds y s t e mb yv i s u a l i z e dm o d e lh a s b e c o m ea l le f f e c t i v em e a nt oi m p r o v et h ee f f i c i e n c yo f c o m p o n e n td e v e l o p m e n t i nt l l ec o n t e x to fa b o v ec h a l l e n g e s b a s e do ne x i s t i n gw o r ko nd o m a i ns p e c i f i c m o d e l i n gl a n g u a g e ,t h i st h e s i sf o c u s e so nh o wt oi m p r o v et h ee f f i c i e n c yo fm o d e l b a s e d a s s e m b l ya n dc o n f i g u r a t i o nt o o lt h r o u g hp r o t e c t i o nm e c h a n i s mo f m o d e ls e m a n t i c s t h ec o n t e n to ft h i st h e s i sc a nb eg e n e r a l i z e da sf o l l o w s : f i r s t l y ,t h i st h e s i sm a k e sa ni n d e p t hs t u d yo ft h eb a s i cc o n c e p ta n dk e yt e c h n o l o g y o fd o m a i n s p e c i f i c m o d e l i n g ,c o n c e n t r a t i n g o nt h es e m a n t i c sm e c h a n i s mo f d o m a i n - s p e c i f i cm o d e l i n gl a n g u a g e s e c o n d l y ,t h i st h e s i sp r e s e n t sav i s u a ld e p l o y m e n ta n dc o n f i g u r a t i o ns e m a n t i c s f r a m e w o r kc o n f o r m i n gt ot h eo m gd & c s p e c i f i c a t i o n t h ef r a m e w o r kh i e r a r c h i c a l l y d e f i n e dt h es t a t i cs e m a n t i c sc o n s t r a i n tm e c h a n i s ma n dt h ed y n a m i cs e m a n t i c sm a p p i n g m e c h a n i s mf o rd & cd o m a i n t h i r d l y ,b a s e d o nt h ed e f i n e ds e m a n t i c sf r a m e w o r k ,t h i st h e s i s g i v e sa n i m p l e m e n t a t i o no ft h es e m a n t i cc o n s t r a i n tm o d u l ea n dt h em o d e li n t e r p r e t a t i o nm o d u l e t h es e m a n t i cc o n s t r a i n tm o d u l ec a l l v e r i f y t h eu s e rm o d e l w h i l et h em o d e l i n t e r p r e t a t i o nm o d u l ec a ng e n e r a t ed & cm e t a - d a t af r o mu s e rm o d e la u t o m a t i c a l l y f i n a l l y ,ac o n c r e t ea p p l i c a t i o ni sm o d e l e dt ov a l i d a t et h ef u n c t i o n a lc o r r e c t n e s so f t h et w o i m p l e m e n t e ds e m a n t i c sm o d u l e s k e y w o r d s :c o m p o n e n t ,d e p l o y m e n t m o d e l i n gl a n g u a g e ,m o d e ls e m a n t i c s a n dc o n f i g u r a t i o n ,m o d e l d r i v e n , 第i i 页 国防科学技术大学研究生院硕士学何论文 表目录 表2 1o c l 中的不变式、前置后置条件1 9 表2 2o c l 与o b j e c t - z 语言比较2 2 表4 1部署与配置平台无关模型划分及描述3 5 表4 2g m e 约束的可绑定事件。3 6 表5 1 模型解释器划分4 3 表5 2 模型解释器框架代码4 5 表5 3b o na p i 扩展机制。4 6 表5 4i d l 文件模板示例4 9 表5 4j b u i l d e r n o d e 模板5l 表6 1o c l 约束效果对比5 5 第1 i i 页 国防科学技术大学研究生院硕士学何论文 图1 1 图1 2 图1 3 图1 4 图2 1 图2 2 图2 3 图2 4 图2 5 图2 6 图2 7 图2 8 图2 9 图2 1 0 图2 1 1 图2 1 2 图2 1 3 图3 1 图3 2 图3 3 图3 4 图3 6 图3 6 图4 1 图4 2 图4 3 图4 4 图5 1 图 图 图 图 2 3 4 5 图目录 软件开发中抽象层次演化一3 模型驱动架构模型转换一4 基于领域建模的模型集成计算过程。4 可视化部署与配置工具v d c t o o l 结构5 领域相关建模应用过程。9 领域相关建模过程与m o f 的层次对应关系1 0 元建模的两种框架结构1 1 d s m l 五元组模型1 4 抽象语法、具体语法及其映射关系。1 5 语义的领域特征性1 6 静态语义约束机制1 7 u m l 类图表达能力示例l8 c l a s s s t u d e m 类图实例19 o b j e c t - z 类模式语法结构一2 0 u m l 类图的o b j e c t - z 说明一2 l 基于v i s i t o r 模式的解释器实现2 4 基于元解释器的解释器实现2 4 v d c s f 设计目标2 7 d & c 规范中c b s d 的各个阶段的示意图2 8 v d c s f 体系结构2 9 v d c s f 静态语义约束机制3 0 v d c s f 与m o f 层次对应关系3l g m e 的体系结构3 2 约束模块设计流程3 4 基于g m e 可视化约束表达3 6 构件实现元模型中的约束实现。3 7 构件组装元模型中的约束实现3 9 构件化开发过程中的元数据4 2 j a v ab o n 类层次结构。4 4 b o n 接口扩展机制一一4 6 s t r i n g t e m p l a t e 模板库典型应用一一一4 7 部署与配置模型解释器包4 8 第1 v 页 国防科学技术大学研究生院硕士学位论文 图5 6i d l c i d l 生成器实现类图4 8 图5 7 域生成器实现类图5 0 图6 1飞机导航应用结构5 2 图6 2c o n t r o l - p u s h d a t a p u l l 交互模式5 2 图6 3n a v i g a t i o n 实例接口及构件定义模型5 3 图6 4 n a v i g a t i o n 实例组装模型5 4 图6 5 n a v i g a t i o n 实例目标域模型5 4 图6 6n a v i g a t i o n 实例部署计划5 4 图6 7o c l 语义约束模块检验5 5 图6 8 构件接口及实现代码生成测试5 6 第v 页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意。 学位论文题目:亘自拉佳叠墨皇配量盟搓型适墓堡睦扭剑盈窀生塞理 学位论文储张4 啦吼棚7 年j l 肿日 学位论文版权使用授权书 本入完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权 国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子 文档,允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文 ( 保密学位论文在解密后适用本授权书。) 学位论文题目:亘囱煎往塑墨生酲量鲍搓型适墓堡睦扭剑堑窀复实熟 学雠文作者擀:雀盐日期:叫9 年i 2 月弓口日 作者指导教师签名: 窒臣至翌 日期:力,夕年肛月弓矿日 国防科学技术大学研究生院硕士学位论文 第一章绪论 1 1 课题背景 随着计算机技术的迅速发展和广泛应用,人们对于软件开发的效率和质量有 了更高的要求。作为一种重要的软件复用手段,构件技术成功地将软件开发过程 的焦点由传统从零开始的代码编写转移到对于已有构件的组装、配置与部署【l 】。基 于已有构件,开发者可以“即插即用”地快速构造系统。这对于提高软件开发效 率及软件质量具有重要意义。 然而,传统的开发工具主要关注以编码为中心的开发过程( 如编译,调试等) , 对于以组装为中心的构件系统开发过程( 如组装,配置等) 缺乏有效的工具支持。 对于构件组装、配置及部署过程所涉及的大量元数据,目前大多数开发者仍然以 手动方式完成,开发过程也以a d h o e 方式进行,导致开发效率严重损失1 2 】。特别 的,随着大型分布实时嵌入式系统( d r es y s t e m ) 的广泛应用,软件的规模和复 杂度不断增大,软件的运行环境也趋于多样异构,构件系统的部署与配置面临空 前严峻的挑战【3 】。如何为开发人员提供便捷高效的组装、配置工具,已经成为亟待 解决的重要问题。 模型驱动开发是一种以模型为中心的新型软件开发模式,它可以较好的解决 与大规模系统相关的组合、集成等问题【4 j 。在模型驱动开发中,模型是高层的系统 抽象,这有利于开发者将更多的精力集中在所要解决的问题,而非与问题本身无 关的计算技术及环境。通过与成熟的自动化模型检验、转换及代码生成技术相结 合,模型驱动开发最终可以实现快速的应用系统设计、构建与验证,从而缩短整 个软件产品的生产周期。 尽管模型驱动开发技术与构件化开发技术关注于软件开发的不同方面,但近 些年来,越来越多的研究集中于如何有效结合二者【5 】,形成技术合力,力求在保证 软件质量的前提下进一步促进软件开发效率的提升。本课题即在此背景下关注于 如何使用模型驱动思想,来解决当前构件系统开发过程中所面临的工具效率问题。 1 2 1构件化软件开发方法 1 2 背景技术 软件构件化思想最早是由m c l l r o y 于19 6 8 在n a t o 软件工程会议上发表的文 章( ( m a s s p r o d u c e ds o f t w a r ec o m p o n e n t ) ) 中提出的。随着分布式计算、i n t e r n e t 及 基于构件的开发技术的发展,出现了若干新的软件构件的定义。卡内基梅隆大学 第1 页 国防科学技术大学研究生院硕士学位论文 的b r o w n 和w a l l n a u 将构件定义为一个非、1 7 _ 儿的、几乎独立的、可替换的系统组 成部分,它在定义完善的体系结构中实现某一清晰的功能 6 1 。对象管理组织( o b j e c t m a n a g e m e n tg r o u p ,o m g ) 则给出了如下定义:构件是一个物理的、可替换的系统 组成部分,它封装了实现体并且提供了对一组接口的实现方法。目前普遍接受的 一个定义是:构件是一个带有契约化接口和现实上下文依赖的组装单元,它能被 独立发布并且可以被第三方组装r 。 构件通常比传统对象具有更大的粒度,这种特性使得构件能够复合多个对象 的功能,对外提供服务。可以从两方面来理解构件技术,一是“构 ,强调其构 造性和组装性;二是“件”,体现了封装性和信息隐藏性。与传统的计算服务模 式不同,分布式构件之间的关系是对称的,不同构件之间可以位置透明、语言独 立和平台独立地互相发送消息、请求和提供服务。构件封装了业务逻辑,构件与 构件之间通过端口进行交互。 基于构件的软件开发( c o m p o n e n t b a s e ds o f t w a r ed e v e l o p m e n t ,c b s d ) 把应 用业务和实现分离,即逻辑与数据的分离,提供标准接口和框架,使软件开发方 法变成构件的组合,因此,c b s d 是一种以接口为中心、面向行为的设计的软件开 发方法学。 当前,主流的构件模型或构件技术的包括s u n 的e j b ,微软的 c o m d c o m c o m + ,以及基于o m g 的c c m 构件技术。微软的产品局限于 w i n d o w s 操作系统平台,s u n 的e j l 3 则局限于j a v a 语言,而基于c o r b a 平台的 构件技术c c m ,则继承了c o r b a 的设计理念,具有跨操作系统、跨硬件平台、 跨语言等强大的互操作能力和集成能力。除此以外,c c m 还具有相对完整和先进 的构件模型,其对称的接口定义和对所需服务及策略的清晰描述,为构件重用、 应用组装提供了良好支持。相比之下,c c m 的标准化、兼容性较高,但其复杂度 和开发难度要明显高于e j b 以及c o m 系列技术。 1 - 2 2 模型驱动开发技术 计算机软件系统的本质目的是使用计算机解决( 或辅助解决) 现实世界中的 问题。从这个角度来说,软件开发过程可以看被划分为问题的解决以及解决的映 射两个部分:问题的解决是指针对实际问题提出与计算机实现技术无关的解决方 案;而解决的映射过程则是将解决方案用具体的计算机语言进行表达与实现,以 便在计算机上执行解决方案。半个多世纪以来,随着计算机技术不断发展,软件 编程语言经历了最初的面向机器指令的汇编语言、面向过程调用的编程语言( 如c , p a s c a l ) 和面向对象的编程语言( 如c + + ,j a v a ) ,其目的就是为了不断提升抽象 层次( 如图1 1 所示) ,屏蔽更多与底层相关的计算技术细节,从而使得软件开发 第2 页 国防科学技术大学研究生院硕士学位论文 者将更多的精力放在如何解决i j 题,而不被实现技术纠缠【引。 f 一燮卿= k 蕃;,一一l 森件i,一一。7l 曩警象层次的提f臣豳o 刮一一函摩妇1 龛 图1 1 软件开发中抽象层次演化 以模型进行系统抽象的模型驱动开发( m o d e ld r i v e nd e v e l o p m e n t ,m d d ) 可 以看作是这一演化过程的延续【4 】。模型受欢迎是因为它能够很好地表述问题从而避 免陷入技术细节中。当技术变得越来越复杂的时候,模型是提高软件生产力的必 需手段。模型的另一个好处是可以让程序员和问题领域的专家使用同样的表述方 法,这有助于团队成员间的沟通。因此,我们可以把使用模型看作弥合技术和业 务之间缝隙的方法。模型驱动开发对于提高软件开发效率及软件生产率具有重要 作用,b i l lg a t e s 认为“可视化建模将成为未来十年最重要的创新改革,将以5 0 0 比率的提高现有软件生产率1 9 1 ”。 在模型驱动开发中,模型被用来表示系统的各个元素及其之间的关系,并作 为系统开发各个阶段的输入或输出,贯穿始终。模型不再仅仅是一种描绘系统、 辅助沟通的工具,而且是开发过程的产品。目前,比较受关注的模型驱动开发方 法分两类:模型驱动架构( m o d e l d r i v e na r c h i t e c t u r e m d a ) 与模型集成计算( m o d e l i n t e g r a t e dc o m p u t i n g ,m i c ) 。 模型驱动架构m d a 是由o m g 组织提出的应用模型技术进行软件开发的方法 和标准体烈1 0 i 。m d a 以o m g 建立的各种标准为基础,实现将业务逻辑和支撑平 台技术相分离。通过m d a 及相关标准建立的平台独立应用可以被实现于c o r b a 、 j 2 e e 、n e t 等平台之上。m d a 将软件模型分为三个大类:计算无关模型 ( c o m p u t a t i o ni n d e p e n d e n tm o d e l c i m ) 、平台无关模型( p l a t f o 眦i n d e p e n d e n t m o d e l ,p i m ) 和平台相关模型( p l a t f o r ms p e c i f i cm o d e l ,p s m ) 。c i m 是基于计算 无关视角使用领域专家所熟悉的术语所建立的系统模型,它不包括系统结构的具 体细节,也不包含软件建模的知识。p i m 描述了系统的功能和结构,但是并不包 含与具体实现技术相关的细节,通常使用u m l 作为建模语言。p s m 描述了系统 的实现技术,以及所有实现的细节,可以被转换为具体的代码。p i m 、p s m 以及 第3 页 国防科学技术大学研究生院硕士学付论文 代码之i 日j 的关系如图1 2 所示。m d a 的核心l 、u j 题是建立精确的p i m 以及实现p i m 到p s m 的模型转换。 图1 2 模型驱动架构模型转换 模型集成计算m i c 】的基本思想是使用领域相关模型( d o m m ns p e c i f i cm o d e l , d s m ) 表示软件系统中的元素及其之间的关系。不同于m d a ,它强调建模语言是 领域相关建模语言( d o m m ns p e c i f i cm o d e l i n gl a n g u a g e ,d s m l ) ,而不是使用 u m l 进行系统建模。d s m l 本身也可以被看作是模型,因此d s m l 可以称之为元 模型。m i c 的应用周期起始于d s m l 的构建。元模型描述了该领域的抽象语法、 静态语义和可视化的规则。一旦建立好d s m l ,就可以在领域相关设计环境中进 行领域建模,结合模型解释器完成代码级的系统开发。不同的应用领域可以有不 同的d s m l ,d s m l 通过相应的元建模工具进行构造。图1 3 展示了领域相关建模 的应用流程。 图1 3 基于领域建模的模型集成计算过程 第4 页 国防科学技术大学研究生院硕上学位论文 作为模型驱动开发的两种趋势,不管是m d a 还是m i c ,其核心思想郜包括 模型表达、模型转换解释两个方面。模型表达( 建模) 目的是为了提高抽象层次, 屏蔽低层计算环境相关细节,从而简化问题的解决;而模型转换解释则是为了将 便于人理解的模型系统转换为可以被实际计算机系统运行的应用代码及其配置。 不同的是,m d a 使用u m l 作为系统建模语言,而m i c 使用为特定领域打造的 d s m l 进行系统建模。相对而言,d s m l 在面向问题领域的建模能力方面较u m l 更强,因为在领域相关建模中,开发者可以基于预先定义好的领域内概念进行建 模,从而进行更好的领域知识复用。因此使用基于领域概念的m i c 过程,较基于 u m l 的m d a 过程而言,可以更好的提高软件生产率。本文所涉及的部署与配置 工具即以m i c 思想为基础。 1 3 课题基础 为了简化基于构件的应用系统的开发过程,国防科大计算机学院6 1 3 教研室 基于模型集成计算与领域相关建模的思想,依据o m g 部署与配置规范( d & c s p e c i f i c a t i o n ) 设计并实现了一个可视化部署与配置工具v d c t o o l 。v d c t o o l 提供 包括构件设计、组装、打包、配置及部署计划等多个视图以便构件化应用系统的 ,设计建模。本课题即在v d c t o o l 现有研究基础上进行扩展研究。 m e t a - m o d e ll e v e l m o d e ll e v e l 图1 4 可视化部署与配置工具v d c t o o l 结构 如图1 4 所示,v d c t 0 0 l 的核心部件是一个基于o m g 部署与配置规范的部署 及配置元模型,即面向标准化构件开发的领域相关建模语言。作为元模型的一个 实例,用户模型是在元模型的规范和约束下建立的。图1 4 右侧分别显示了 v d c t o o l 的元模型片段和用户模型范例。 1 4 研究动机 模型驱动开发工具的首要任务是引导用户快速建立符合规范的用户模型,同 第5 页 国防科学技术大学研究生院硕士学位论文 时应当提供相应的模型转换工具将用户所建立的系统模型映射为可以被实际运行 系统使用的代码或配置。v d c t o o l 在此两方面都均有所不足: 1 ) v d c t o o l 的元模型仅仅依靠图形化u m l 类图进行刻画,由于u m l 语言 缺乏对于语义约束的精确表达能力,因此在该元模型的规范下所建立的用户模型 不能完全保证其合法性。 2 ) v d c t o o l 缺乏相应的用户模型解释部件,即缺乏配置与部署相关元数据的 自动化生成功能。因此用户所建立的系统模型无法运行于实际依赖的底层平台。 从建模语言的概念来看,v d c t o o l 的第一点不足可以看作是建模语言中静态 语义( 或结构性语义) 的缺失,第二点不足则可以看作是建模语言中动态语义( 或 执行语义) 的缺失。因此本课题以建模语言的语义机制作为切入点,研究领域建 模语言中的语义保障机制,以期利用现有成熟的语义保障技术,实现相应的语义 功能部件,提高v d c t o o l 工具的开发效率。 1 5 研究内容与贡献 本文从构件化开发思想和模型驱动开发思想出发,基于已有研究可视化 部署与配置工具v d c t o o l ,针对该工具在语义机制所存在的不足,进行了建模语 言的语义保障机制研究,设计并实现了相关的语义约束映射部件。这对于提高可 视化部署与配置工具的效率具有重要意义。具体的研究内容包括: 1 ) 深入研究了领域相关建模的基本概念和关键技术。重点研究了领域相关建 模中的语义概念和机制,从模型的静态语义和动态语义两个层面研究了现有语义 保障技术。 2 ) 提出了一个遵循o m g 部署与配置规范的语义框架v d c s f 。该框架在抽 象层面上定义了面向部署与配置工具的模型语义保障的基础结构和公共机制,层 次化的定义了部署与配置建模环境中的静态语义约束机制和动态语义映射机制。 3 ) 设计并实现了静态语义约束部件和动态语义解释部件。构造了基于对象约 束语言的静态语义约束部件,实现用户模型的“构建时纠错,在用户建模时确 保用户模型的合法性;实现了基于模型映射理论的用户模型解释器,完成配置与 部署相关元数据的自动化生成功能。 4 ) 基于具有语义约束和映射功能的v d c t o o l 设计实现了一个典型用例 飞机导航n a v i g a t i o n ,对语义功能部件的可用性进行了验证。 1 6 论文结构 本文共分为七章,各章内容概述如下: 第6 页 国防科学技术大学研究生院硕士学位论文 第一章为绪论。给出了课题背景及相关背景技术,介绍分析已有研究并阐述 了研究动机,概述了研究成果及贡献。 第二章为相关技术研究。围绕领域相关建模技术、及建模语言中的语义机制 展开,给出了静态语义和动态语义的概念,总结分析了现有静态语义约束技术和 动态语义解释技术。 第三章为部署与配置语义框架。结合通用建模环境工具g m e ,提出了一个具 有静态、动态两层语义保障功能的部署与配置工具框架。 第四章为静态语义约束模块的设计与实现。阐述了基于对象约束语言的静态 语义约束模块的设计原则以及实现方法。 第五章为动态语义解释部件的设计与实现。阐述了基于模型映射机制的动态 语义解释部件的设计原则以及实现方法。 第六章为实例验证。利用课题所完善的工具,构建具体应用场景,对语义保 障模块进行功能验证并进行相关分析。 第七章为结束语。对目前的工作进行总结,并对日后的工作及前景进行展望。 第7 页 国防科学技术大学研究生院硕士学位论文 第二章相关技术研究 本文的核心工作是基于可视化部署与配置工具v d c t o o l 而进行的,v d c t o o l 的核心设计思想是利用元建模技术实现一个面向构件化软件开发的领域相关建模 环境。本章紧紧围绕课题所涉及的领域相关建模技术以及领域相关建模语言的语 义展开,研究了相关概念和技术,作为后续工作的基础研究。首先研究了领域相 关建模技术的基本概念及研究现状。其次描述了领域相关建模语言模型、语义定 义及语义分类。最后,对基于元模型的静态语义约束技术以及基于模型解释理论 的动态语义映射技术进行了深入研究。 2 1 领域相关建模技术研究 2 1 1 领域相关建模 随着模型驱动开发技术及其相应开发环境的不断发展和普及,模型正取代计 算机程序成为软件开发过程中的主要产品,导致产生出越来越多的建模需求。尽 管通用建模语言( u n i f i e dm o d e l i n gl a n g u a g e ,u m l ) 的出现在一定程度上满足了 软件系统的建模需求,但是仍然不能满足大量针对特定领域的建模需求。作为通 用的建模语言,u m l 倍受诟病的原因包括【1 2 】: 到目前为止,u m l 建模工具( 包括r o s e ,旧o o 等) 所能生成的代码都 还是程序框架而已,与生成完整应用系统还有较大的差距。 u m l 作为通用建模语言,其所包含的大部分概念( 比如类、对象、属性 和操作) 都来自面向对象编程,而不是应用系统的问题域,这导致u m l 中的概念与问题域中的概念存在一定的差距。 u m l 虽然是通用建模语言,但是它也并非万能,不同领域可能需要不同 的建模语言。 因此人们需要根据应用系统( 领域) 的需要建立自己的建模语言及其建模环 境和工具。这种建模语言就被称作领域相关建模语言( d o m a i n s p e c i f i cm o d e l i n g l a n g u a g e ,简称d s m l ) 。领域是指一组具有相似或相近需求和功能的应用系统 所覆盖的区域【1 3 】。d s m l 直接刻画了领域内的核心基本元素及其之间的关联,因 而与u m l 相比,d s m l 具有更加具体的问题域抽象。大量的工程实践表明,领域 相关建模比基于u m l 的m d a 效率高出5 1 0 倍【9 】【1 4 】。正如b o o t h 等人所说:“当 建模的概念能够直接映射到领域概念而不是计算机技术概念,m d a 的全部价值才 能全部体现【1 5 】”。领域相关建模之所以如此有效,主要得益于如下两个优点:首 先,d s m l 被设计为直接面向问题领域,对于领域建模人员来说,d s m l 更容易 第8 页 国防科学技术大学研究生院硕士学位论文 学爿和使用;其次,领域建模语言被限定为特定领域,所以从领域模型自动生成 代码相对比较容易。 作为领域相关设计的核心模块,d s m l 刻画了领域建模的基本要素,因此 d s m l 可以看作是领域模型的抽象。如果从模型的观点来看待d s m l ,那么d s m l 可以看做是模型的模型,即元模型。换句话说,元模型可以用来定义了领域架构。 定义领域建模语言的过程被称作元建模。 图2 1 为领域相关建模的应用流程【i6 1 ,它开始于一个应用领域的元建模阶段。 元模型通常是正式的规范,主要描述了该领域的抽象语法、静态语义和可视化的 规则。一旦元模型建立完毕,就可以通过元层转换构造出相应的领域建模设计环 境。领域相关设计环境通常包括用于建立领域模型的编辑器、用于检验模型合法 性的约束器以及完成模型映魁劝能的解释器。编辑器、约束器的主要职责是可视 化地引导用户建立正确合法的领域模型。模型解释器则负责将领域模型映射到运 行平台,即根据领域模型自动化的生成代码及配置文件。如果由于需求的不同需 要进行应用演化,那么只需要在领域设计环境中对领域模型进行相应调整。如果 问题域( 问题环境) 有所改变与演化,那就需要重新返回元建模阶段,进行领域 元模型调整。因此领域相关建模技术可以同时很好的应对应用和领域的变化。 应用领域 演化应用演化 一1 l 一一一一斥v x i i 弋崞 i i ii 一 ,j, i 0 乡。 、芝 f 簇型赢藉i r j 图2 1 领域相关建模应用过程 领域相关建模与o m g 所提出元对象管理机制m o f 1 7 】的模型层次有着明确的 对应关系。m o f 本身包含一个由实例层( m 0 ) 、模型层( m 1 ) 、元模型层( m 2 ) 和元元模型层( m 3 ) 组成的四层结构,用于表达模型的抽象级别。m o f 中相邻两 个层次是精化与泛化的关系,例如,m 1 层是m 2 层的实例化,而m 2 层是m 1 层 的抽象化。m 3 层是可以自描述的,因此不存在m 4 。在领域相关建模过程中,领 第9 页 国防科学技术大学研究生院硕士学位论文 域专家所建立的领域元模型处在m 2 层,由领域建模人员所建立的领域模型对应 m 1 层,而由模型解释器自动化产生的代码、数据则属于m 0 层,由此,领域相关 建模过程可以看作是基于m o f 结构的两层建模( m 3 专m 2 元建模,m 2 - ) m 1 用户 建模) 和一层映射( m 1 专m 0 代码生成) 。 图2 2 以网络结构建模为例展示了领域相关建模过程与m o f 的对应关系。首 先,元元模型层定义了元模型层和基本要素,如定义诸如a t o m 、m o d e l 、c o n n e c t i o n 这样的元建模元素类型。其次,领域专家抽象出领域概念,选取合适的元建模元 素来表达网络结构域中的基本元素及其关系,即领域元模型。例如定义h o s t 、r o u t e r 和n e t w o r k 来表示主机、路由器和网络的概念,定义l i n k l 、l i n k 2 来分别表示主 机与路由器之间的连接关系以及路由器和网络之间的连接关系。其中,元模型层 的h o s t 是a t o m 类型的实例,元模型层的r o u t e r 和n e t w o r k 是m o d e l 类型的实例, 而l i n k l 和l i n k 2 则属于元模型中c o n n e c t i o n 类型。然后,领域建模人员根据领域 建模语言( 即元模型) 建立领域模型,即利用领域概念构建领域应用。例如选取 合适的类型,实例化出h o s t a 、r o u t e r a 、r o u t e r b 及n e t w o r k a 组装出如图所示应 用模型。最后,在应用模型建立完成以后,使用模型解释器自动化生成与应用相 关的代码、数据或配置信息。 数磊靠码及回句 图2 2 领域相关建模过程与m o f 的层次对应关系 2 1 2 元建模技术现状 型 解 释 面向特定领域进行建模的思想很早就已经出现,众所周知的领域建模成功案 例包括r a t i o n a lr o s e 在可视化软件建模上的运用、m a t l a b s i m u l i n k 在信号处理上 第1 0 页 国防科学技术大学研究生院硕士学位论文 的运用和l a b v i e w 在仪器使用上的运用。然而这些案例中建模环境的构造过程通 常极其复杂,且构造方法不具有通用性与可复制性,因此很长段时间内,领域 建模设计方法难以广泛高速的应用f l8 1 。直到最近,元建模技术的突飞猛进,才使 得领域相关建模技术受到广泛关注。 领域相关建模的最终目的是要为用户提供可用的建模语言和工具。手工为每 个不同的应用领域打造建模语言和建模工具代价昂贵,因此,当前关于领域相关 建模的研究主要集中于构造可重用的元建模工具框架,方便领域开发者建立元模 型、刻画描述领域相关建模语言,同时能够提供( 以配置或直接生成的方式) 可 用的特定领域的建模环境。 ( 1 ) 元建模工具框架结构 当前,支持构建领域建模语言和领域建模环境的元建模工具可以划分为两类 框架结构【1 2 】。第一类框架以通用建模工具为核心( 如图2 3 左) 。首先,通用建模 工具本身被用来定义元模型,以刻画某种建模语言。一旦元模型建立完毕,元模 型会被用来配置通用建模工具本身,使得通用建模工具可以支持构建元模型所定 义的领域模型。也就是说,通用建模工具既能提供元模型的建模环境,又可以通 过元模型配置成为领域模型的建模环境。在此模式下,元建模环境本身也是通过 元元模型配置方式得到的。此类框架的优点是通用建模工具可以被配置为同时支 持多种建模语言,有利于多种建模方法的集成。这种工具以学术界的通用建模环 境( g e n e r i cm o d e l i n ge n v i r o n m e n t ,g m e ) 为代表。 领域专家 开发人员 基 于 建 模 工 具 生 成 器 访问 创建领域元模型 一生成一 图2 3 元建模的两种框架结构 另一类框架结构中则不包含一个通用的建模环境( 如图2 3 右) 。通过建模工 具生成器建立元模型以刻画建模语言,但是它并不会生成通用建模工具的配置文 档,而是直接生成支持该建模语言的建模工具。在此模式下,元建模环境和领域 建模环境是独立的。此种方式的优点在于可以给用户提供一个独立的工具,有利 第11 页 员ni 躇 一锋一 家 蝴庶 颁 成 生 国防科学技术大学研究生院硕士学位论文 于对建模工具的定制、修改和提高。此类工具以基于e c p l i s e 平台g e m s ( g r a p h i c a l e c l i p s em o d e l i n ge n v i r o n m e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第12课 我喜欢发言说课稿-2025-2026学年小学心理健康苏教版一年级-苏科版
- 20.3电磁铁 电磁继电器说课说课稿 -2025-2026学年人教版物理九年级下学期
- 本册综合说课稿-2025-2026学年小学心理健康四年级上册川教版
- 综合复习与测试说课稿-2025-2026学年高中生物北师大版2019必修1 分子与细胞-北师大版2019
- 人教版高中地理必修二4.3《传统工业区与新工业区》教学设计
- 2025年经济学家财富测试题及答案
- 智能制造孵化园合作协议及生产设备租赁合同
- 物业管理承租人租赁服务协议
- 供应链金融合同风险管理建议
- 股权激励计划终止与离婚股权分割国际协议
- 商用厨房设计汇报
- 战术搜索教学课件
- 教科版五年级科学上册第一单元《光》测试卷及答案(含四题)
- Linux操作系统基础任务式教程(慕课版)课件 任务4 使用Linux操作系统中的硬盘
- 自控系统报警管理制度
- 口腔服务5S管理
- 保安投诉管理制度
- 2025年高考江苏卷物理真题(原卷版)
- 【公开课】种子植物+第2课时课件-2024-2025学年人教版生物七年级上册
- 2024年贵州贵州贵安发展集团有限公司招聘笔试真题
- 人教部编版四年级上册语文第1单元(看拼音写词语)
评论
0/150
提交评论