(计算机应用技术专业论文)基于模型驱动架构的数据仓库系统研究.pdf_第1页
(计算机应用技术专业论文)基于模型驱动架构的数据仓库系统研究.pdf_第2页
(计算机应用技术专业论文)基于模型驱动架构的数据仓库系统研究.pdf_第3页
(计算机应用技术专业论文)基于模型驱动架构的数据仓库系统研究.pdf_第4页
(计算机应用技术专业论文)基于模型驱动架构的数据仓库系统研究.pdf_第5页
已阅读5页,还剩68页未读 继续免费阅读

(计算机应用技术专业论文)基于模型驱动架构的数据仓库系统研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 数据仓库技术在决策支持系统中发挥着关键的作用,它对决策支持系统提供一些商 业信息,从而提高策能力。然而,构建数据仓库仍然是一项富有挑战性和复杂性的任务, 主要是因为数据仓体系结构中的不同层次( 例如e t l 层,数据建模层) 具有不同的功 能,从而导致每一层的设计理念及构建技术不同。基于每一层的设计现已存在很多的构 建方法。但是,这些方法都没有考虑把数据仓库作为一个集成的整体来设计。由平台无 关模型( p i m ) ,平台相关模型( p s m ) ,代码( c o d e ) 驱动开发的模型驱动体系架 构( m d a ) 就是为解决分布、异构系统的集成问题而提出的下一代解决方案。 数据建模是数据仓库的构建过程中最为关键的技术环节,它直接决定数据仓库构建 的成败。多维数据模型在数据仓库,多维数据库和o l a p 上有广泛的应用。一方面,多 维数据模型更加接近于人们分析数据的方式;另一方面,多维数据模型简单的结构能够 提高我们预测最终用户需求的能力。 本文主要研究基于m d a 的方法利用u m l 的扩展和c w m 进行数据仓库多维数据 模型的建立,以及利用q v t 规范的r e l a t i o n 语言进行制定转换规则,通过支持q v t 2 0 的开源工具m e d i n i q v t 实现p i m 模型到p s m 模型的自动转换,并且,在e m f 框架下, 建立并实现了从p s m 到s q l 的转换机制。从而实现了以模型为基础的模型驱动开发过 程。最后基于某钢铁企业采购系统的采购价格差异分析主题进行了数据仓库建模实现。 实践表明,利用此方法开发的系统不但在开发效率上较传统的过程开发方法提高了,而 且模型的建立都是是基于国际标准建立的,从而使模型更加具有规范性,可以很好地实 现不同模型之间的共享,同时,也有利于模型的重用和维护。 关键词:多维数据建模;模型驱动架构;u m l 扩展;公共仓库元模型;查询视图转换 大连交通大学t 学硕十学位论文 a b s t r a c t d a t aw a r e h o u s e sp l a yac e n t r a lr o l ei nc u r r e n td e c i s i o ns u p p o r ts y s t e m sb e c a u s et h e y p r o v i d ec r u c i a lb u s i n e s si n f o r m a t i o n t o i m p r o v es t r a t e g i cd e c i s i o n m a k i n gp r o c e s s e s h o w e v e r ,b u i l d i n gad w i ss t i l lac h a l l e n g i n ga n dc o m p l e xt a s kb e c a u s ei tc o n s i s t so fs e v e r a l i n t e r r e l a t e dc o m p o n e n t sw i t hd i f f e r e n tf u n c t i o n s ,d i f f e r e n td e s i g np i t f a l l s ,a n dd i f f e r e n t t e c h n o l o g i e s d i f f e r e n tm e t h o d sa n da p p r o a c h e sh a v eb e e np r o p o s e df o rt h ed e s i g no fe a c h d wl a y e r n e v e r t h e l e s s t h e s em e t h o d sd on o td e a lw i t ht h ed e s i g no ft h ew h o l ed wi na i l i n t e g r a t e dm o d e l i n gf r a m e w o r k m o d e ld r i v e na r c h i t e c t u r e ( m d a ) f r a m e w o r ki s t h e n e x t g e n e r a t i o ns o l u t i o n st ot h ep r o b l e mo fd i s t r i b u t e d ,h e t e r o g e n e o u ss y s t e m s i tc o n t a i n s p l a t f o r m 二i n d e p e n d e n tm o d e l ( p i m ) ,p l a t f o r m r e l a t e dm o d e l ( p s m ) a n dt h ec o d e ( c o d e ) m u l t i d i m e n s i o n a ld a t am o d e l i n gi st h ed a t eo r g a n i z i n gf o r mi nd a t aw a r e h o u s ea n di ti s a l s oak e yf a c t o ri nt h ed a t aw a r e h o u s ea p p l i c a t i o n o no n eh a n d t h em di sc l o s et ot h ew a y o ft h i n k i n go fd a t aa n a l y z e r sa n d ,t h e r e f o r e ,h e l p su s e r su n d e r s t a n dd a t ab e t t e r o nt h eo t h e r h a n d t h em dm o d e ls u p p o r t sp e r f o r m a n c ei m p r o v e m e n ta si t ss i m p l es t r u c t u r ea l l o w su st o p r e d i c te n du s e r s i n t e n s i o n s t i l i st h e s i sm a i n l yd e s c r i b e sh o wt ob u i l dt h ed i f f e r e n tm d am o d e l sf o rt h ed w r e p o s i t o r y b yu s i n ga ne x t e n s i o no ft h eu n i f i e dm o d e l i n gl a n g u a g e ( u m l ) a n dt h ec o m m o n w a r e h o u s em e t a m o d e l ( c w m ) t r a n s f o r m a t i o nb e t w e e np i ma n dp s mi sa l s oc l e a r l ya n d f o r m a l l y e s t a b l i s h e d b yu s i n gt h eq u e r y v i e w t r a n s f o r m a t i o n ( q v t ) l a n g u a g e , a n d i m p l e m e n tt h ea u t o m a t i ct r a n s f o r m a t i o nb e t w e e np i ma n dp s mb yt h eo p e ns o u r c et o o lo f m e d i n i q v t a tt h es a l t l et i m e ,t h i st h e s i sh a ss e tu pa n dr e a l i z e dt h et r a n s f o r m a t i o no fp s m t os q lc o d eu n d e re m ff r a m e w o r k ,t h u sr e a l i z e dt h em o d e ld r i v e nd e v e l o p m e n tb a s e do n m o d e l f i n a l l y ,ac a s es t u d yo ft h es u b j e c to fp u r c h a s e dp r i c ea n a l y s i si na i li r o nc o m p a n yi s p r o v i d e dt oe x e m p l i f yt h eb e n e f i t so fo u rm d af r a m e w o r k p r a c t i c eh a ss h o w nt h a tn o to n l y t h ed e v e l o p m e n te f f i c i e n c yo fd e v e l o p i n gt h i ss y s t e mu s i n gt h i sm o d e lh a si m p r o v e d ,b u t a l s o ,b e c a u s et h i sm o d e li se s t a b l i s h e db a s e do nt h ei n t e r n a t i o n a ls t a n d a r d sm o d e l i n g l a n g u a g e ( u m l ) ,s ot h em o d e li sm o r es t a n d a r d i z e d ,a n di sv e r yg o o da ta c h i e v i n gs h a r e b e t w e e nd i f f e r e n tm o d e l s ,a tt h es a m et i m e ,i ti sc o n d u c i v et or e u s ea n dm a i n t a i n k e yw o r d s :m dm o d e l i n g ;m d a ;u m lp r o f i l e ;c w m ;q v t 大连交通大学学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了文中特别加以标注和致谢及参考 文献的地方外,论文中不包含他人或集体已经发表或撰写过的研究成 果,也不包含为获得太整銮通太堂或其他教育机构的学位或证书而 使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在 论文中作了明确的说明并表示谢意。 本人完全意识到本声明的法律效力,申请学位论文与资料若有不 实之处,由本人承担一切相关责任。 学位论文作者签名:名声 菇, 日期:啪年z 月i 日 大连交通大学学位论文版权使用授权书 本学位论文作者完全了解太整銮通太堂有关保护知识产权及保 留、使用学位论文的规定,即:研究生在校攻读学位期间论文工作的 知识产权单位属太羹銮通太堂,本人保证毕业离校后,发表或使用 论文工作成果时署名单位仍然为太连褒通太堂。学校有权保留并向 国家有关部门或机构送交论文的复印件及其电子文档,允许论文被查 阅和借阅。 本人授权太董壅通太堂可以将学位论文的全部或部分内容编入 中国科学技术信息研究所中国学位论文全文数据库等相关数据库 进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论 、 又。 ( 保密的学位论文在解密后应遵守此规定) 学位论文作者签名: 毖p 接。 日期:) 伊兮年f 月f 弓日 学位论文作者毕业后去向: 工作单位: 通讯地址: 电子信箱: 导师签名: 育、也1 。 日期:) 四年f 工月7 日 电话: 邮编: 第一章绪论 第一章绪论 1 1 研究背景 数据仓库【l 2 j 是计算机和数据应用发展到一定阶段的产物。数据仓库技术是继数据库 技术之后为解决企业信息集成、支持数据挖掘、支持企业决策而发展起来的新一代信息 管理技术。数据仓库技术从逻辑上、物理上分布的多个数据库系统中抽取数据、集成信 息,并将集成后的信息存储在一个大规模的数据仓库中,从而来支持o a l p 、数据挖掘、 企业决策。 然而,构建数据仓库仍然是一个富有挑战性和复杂性的任务,主要是因为数据仓体 系结构中的不同层次( 例如e t l 层,数据建模层) 具有不同的功能【3 l 】,从而导致每一 层的设计理念及构建技术不同。基于每一层的设计现在已存在很多的构建方法。但是, 这些方法都没有考虑把数据仓库作为一个集成的整体来设计。 数据建模【6 】是数据仓库的构建过程中最为关键的技术环节,它直接决定数据仓库构 建的成败。多维数据模型在数据仓库,多维数据库和o l a p 上有广泛的应用。一方面, 多维数据模型更加接近于人们分析数据的方式;另一方面,多维数据模型简单的结构能 够提高我们预测最终用户需求的能力。近几年来,已有不少方法用于数据仓库的多维数 据建模,但是这些方法存在以下的不足: 1 ) 没有提供一个统一的、标准的机制。 就整个数据仓库系统而言,仅从单方面提供局部的解决方案,设计者很难从统一的、 整体的角度对数据仓库进行设计。 2 ) 建模产生的制品可复用性不高,且不利于数据仓库元数据i 日j 的交换。 数据仓库设计建模所产生的制品,是数据仓库元数据的一个重要来源。但是,由于 元模型的不同,这些元数据之间的共享和交换却难以实现或者要用很大的代价才可以实 现。 3 ) 有些方法无法从多维概念模型自动转换为逻辑模型。 模型驱动架构m d a ( m o d e ld r i v e na r i c h i t e c t u r e ) 的出现,有助于数据仓库设计中统 一性问题的解决。m d a 是一种运用模型来描述整个软件开发生命周期的新标准,它用 平台无关模型p i m ( p l a t f o i mi n d e p e n d e n tm o d e l ) 来说明系统的功能性,从而分离出了其 用平台相关模型p s m ( p l a t f o 咖s p e c i f i cm o d e l ) 说明的系统功能的实现部分1 3 】。m d a 的 框架使得用形式化的方法构建这些模型,以及模型之间的自动转换成为可能,这样就会 降低软件开发的成本,提高生产率。此外,m d a 还为系统的集成、交互、可移植、适 大连交通大学t 学硕十学位论文 应性和可复用性等方面提供了支持【4 1 。公共仓库元模型( c w m ) ,是一个用于数据仓库 及业务分析领域的开放标准。c w m 为元数据定义了元模型及基于x m l 的交换格式, 为解决数据仓库元数据的交互和集成问题指明了方向。 针对多维数据建模方法中存在的不足,本文着重研究了m d a 在数据仓库多维数 据建模中的应用。 1 2 研究现状 对于数据仓库的开发框架,过去一直是基于u m l l l 5 1 ( 统一建模语言) 和u p i 3 2 】( 统 一过程) 的,此开发方法强调通过一些u m l 扩展模型去构建数据仓库,而这些u m l 扩展必须去符合数据仓库的不同层面,例如数据仓库的多维数据建模,e t l 过程的建模, 以及源数据和目标数据的映射,这个u p 开发框架有一个比较明显的优点,那就是使用 了标准建模语言u m l 进行不同模型的建立,从而可以解决数据仓库不同构件的集成和 互操作问题。但是对于非专业人员来说此开发方法有点复杂,对于丌发者来说,他们至 少需要建立1 5 个图形。另一方面,u p 开发过程过于注重概念建模,而忽略了从概念模 型到逻辑模型的转换。 模型驱动架构( m d a ) 是一个通过模型驱动的标准开发框架,这个框架具有以下 的优点【5 】: 1 ) 把系统功能模型即平台无关模型( p i m ) 和平台相关模型( p s m ) 分开,从而使 得开发人员在这一阶段只需关注业务逻辑需求,无需考虑实现的技术平台。 2 ) 利用计算无关模型( c i m ) 定义系统需求模型。 3 ) 不仅利用了标准的语义进行建模,从而有利于不同模型的集成以及规范化,并 且提供了模型转换的规范性,以便于获得最后软件产品。 4 ) m d a 最重要的优点是对于开发过程来说,省时省力,从而提高了软件开发效率。 考虑到以上各个方面,基于m d a 的软件开发过程最先建立的是p i m ,即与实现技 术平台无关的模型,开发人员在这一阶段只需关注业务逻辑需求,无需考虑实现的技术 平台。建立p i m 之后,再考虑实现的技术平台,将p i m 变换成p s m ,在支持m d a 的 工具中,变换过程是可以自动实现的。最终将p s m 变换为特定平台上的完整的实现代 码,这个变换也是能够自动实现的。 对于最近几年提出的数据仓库系统的概念和逻辑模型设计的方法,可以作如下总 结: 1 ) 概念模型没有使用标准的符号( 如u m l ) 。如文献 7 】提出了一个数据仓库概念 设计的专用模型维度一事实模型,这样就要为此学习其相应的符号及表示法。 第一章绪论 2 ) 大多使用e r 图来表示概念或逻辑模型,如文献【8 提出了从操作源数据中构建星 型结构的方法。 3 ) 从概念模型到逻辑模型的转换没有规范化,过去通常是基于雪花模式( 或其变形) 的一种关联实现,并且没有实现自动转换,而且也没有给设计者提供一个与概念模型一 致的合适的逻辑模型。 1 3 本文工作 针对以上分析,本文着重研究在模型驱动框架下数据仓库多维数据建模方面,研究 工作包括: 1 ) 研究如何将m d a 与数据仓库多维数据建模的开发框架相结合,并给出多维数据 建模基于模型驱动架构的开发框架。 2 ) 提出了构建多维数据模型事实和维的数学定义方法,并从模型通用性上,给出了 简约的版类集合以及每个版类的自然语言描述约束,基于u m l 扩展进行多维数据p i m 元模型的建立,采用c w m 相关包中的元模型作为构建多维数据p s m 的元模型。 3 ) 研究基于q v t 的多维数据p i m 模型到p s m 模型的自动转换以及p s m 元模型到 c o d e 的自动转换。 4 ) 根据研究成果具体的介绍在基于模型驱动架构的数据仓库构建过程中,数据仓库 多维建模的开发过程。 1 4 文章结构 第一章绪论。讨论了论文的背景意义、国内外研究现状和研究目标。 第二章相关技术介绍。介绍了数据仓库与多维数据建模的基本概念,m d a 的概念 及核心标准。 第三章结合基于模型驱动架构的数据仓库研究框架,给出了基于模型驱动架构的多 维建模框架及研究技术路线。 第四章对多维数据模型维和事实进行了定义,提出了构建多维数据模型事实和维的 数学定义方法,并从模型通用性上,给出了简约的版类集合以及每个版类的自然语言描 述约束。基于u m l 的扩展机制建立了多维数据的p i m 模型,并将c w m ( 公共仓库元 模型) 规范中的关系元模型作为p s m 模型,利用q v t 规范中的r e l a t i o n 语言建立了一 套多维数据p i m 模型到p s m 模型转换的规则。 人连交通人学t 学硕十学位论文 第五章利用q v t 规范中的r e l a t i o n 语言,建立了一套多维数据的p i m 模型到p s m 模型转换的规则,并通过工具m e d i n i q v t 加以实现。并且,在e m f 框架下,建立并实 现了了p s m 到s q l 的转换机制。 第六章应用实例。通过某钢铁企业采购系统的采购价格差异分析主题的多维数据建 模应用实例说明和验证了m d a 在多维建模中的应用方法的有效性; 结论。总结本文的工作及进一步的工作; 最后是参考文献、附录和致谢。 4 第二二章相关技术介绍 2 1 数据仓库 第二章相关技术介绍 2 1 1 数据仓库的定义 目前,数据仓库尚没有一个统一的定义,著名的数据仓库专家w h i n m o n 在其著作 ( ( b u i l d i n gt h ed a t aw a r e h o u s e s ) ) 一书中给予如下描述:数据仓库( d a t aw a r e h o u s e ) 是一 个面向主题的( s u b j e c to r i e n t e d ) 、集成的( i n t e g r a t e ) 、相对稳定的( n o n - - v o l a t i l e ) 、反映历 史变化( t i m ev a r i a n t ) 的数据集合,用于支持管理决策。我们可以从两个层次对数据仓库 的概念予以理解,首先,数据仓库用于支持决策,面向分析型数据处理,它不同于企业 现有的操作型数据库;其次,数据仓库是对多个异构的数据源有效集成,集成后按照主 题进行了重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改。根据数 据仓库概念的含义,数据仓库p j 拥有以下四个特点: 1 面向主题。操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自 分离,而数据仓库中的数据是按照一定的主题域进行组织。主题是一个抽象的概念,是 指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系 统相关。 2 集成的。面向事务处理的操作型数据库通常与某些特定的应用相关,数据库之间 相互独立,并且往往是异构的。而数据仓库中的数据是在对原有分散的数据库数据抽取、 清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保 证数据仓库内的信息是关于整个企业的一致的全局信息。 3 相对稳定的。操作型数据库中的数据通常实时更新,数据根据需要及时发生变化。 数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某 个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的 查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。 4 反映历史变化。操作型数据库主要关心当前某一个时间段内的数据,而数据仓库 中的数据通常包含历史信息,系统记录了企业从过去某一时点( 如开始应用数据仓库的 时点) 到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做 出定量分析和预测。企业数据仓库的建设,是以现有企业业务系统和大量业务数据的积 累为基础。数据仓库不是静态的概念,只有把信息及时交给需要这些信息的使用者,供 他们做出改善其业务经营的决策,信息才能发挥作用,信息才有意义。而把信息加以整 查堑圣垩查童兰:兰竺圭兰堡兰三 理归纳和重组,并及时提供给相应的管理决策人员,是数据仓库的根本任务。因此,从 产业界的角度看,数据仓库建设是一个工程,是一个过程。 2 12 数据仓库的体系结构 数据仓库的关键是从许多来自不同的企业运作系统的数据中,提取出有用的数据, 进行清理阻保证数据的正确性,然后经过抽取( e x t r a c t i o n ) 、转换( t r a n s f o r m a t i o n ) 和装 载( l o a d ) ,即e t l t o l 过程,合并到一个企业级的数据仓库里,从而得到企业数据的一个 全局视图,在此基础上利用合适的查询和分析工具、数据挖掘工具、o l a p 工具等对其 进行分析和处理( 这时信息变为辅助决策的知识1 ,晟后将知识呈现给管理者,为管理者 的决策提供支持。数据仓库通用结构如图2l 所示i 。 h 图2 1 数据仓库体系结构 f i g21t h e f r a m e w o r ko f d a t a w a r e h o u s e 因此数据仓库系统是一个涉及领域很宽的,集收集、合并、分析和提取信息存取功 能为一身的解决方案,包括o d s ( 操作型数据存储:o p e r a t i o n a ld a t as t o r e ) 、e t l ( e x t r a c t t r a n s f o r m l o a d i n g ) 软件、数据仓库、数据集市、数据查询和报告、多维联 机数据分析、数据挖掘和可视化工具。从技术架构来讲,数据仓库系统主要由数据源、 数据建模、o d s ,e t l 、商业智能应用和元数据几个部分组成。 2 2 数据仓库中的多维数据建模 数据仓库的数据组织管理与存储的方式有别于传统的操作型系统,数据仓库存储设 计的基础多维数据建模也与规范化建模有所不同。将所需的业务维度合并到逻辑数 第一二章相关技术介绍 据模型中去,多维数据建模的名字由此而来。它是一种构造需求分析的业务维度和指标 的逻辑设计技术。这种模型已经被证明在查询和分析方面有很高的性能。 多维数据建模起始于一组基本度量事件为获得查询性能与易用性而制定的一整套 数据逻辑建模方法。在关系型d b m s 环境中,一般都要构造为每个离散度量值给定一 个记录的事实表。然后,该事实表被一组维度表所包围,维度表精确描述了在每个度量 记录的背景下所了解的内容。由于维度模型具有特征结构的缘故,经常被称为星型模式。 实践表明,维度模型由于具有可预见性和对称性等固有性质,而容易理解、可预见、可 扩展、并具有高度的抗特殊攻击的能力。维度模型是包括强有力的索引与聚集在内的许 多提高d b m s 性能的方法的基础。同时,维度模型也是通过使用一致性维度与一致性 事实,进行增量式与分布式数据仓库开发的基础。另外,维度模型还是所有o l a p 系统 的逻辑基础。 多维数据建模与第3 范式( 3 n f ,t h i r dn o r m a lf o r m ) 建模很不相同。3 n f 建模是一种 以消除数据冗余为追求目标的设计技术,被称为是规范化建模。在这里,数据被划分成 许多离散的实体,而每个实体形成关系数据库中的一个表。规范化建模对于操作型处理 性能的提高很有用处,但对于数据仓库的查询来说显得过于复杂。复杂的规范化模型也 不利于用户的理解和记忆。维度模型包含与规范化模型相同的信息,但采用一种将设计 目标放在用户的易于理解性、查询的高性能和修改的灵活性等方面的形式对数据进行封 装。维度模型的好处:简明性带来性能上的提高;表格数量的减少和富有意义的业务描 述符号的使用减少了出现误解的可能性;维度模型可以很自然地进行扩展以适应变化的 需要。 本文中会反复提到多维数据建模或者多维建模,因为多维数据建模的对象是多维数 据,所以在不做特殊声明的情况下本文中的多维数据建模和多维建模指的是同一个概 念。多维数据模型中引入了维、维分层和度量指标的概念,将信息在概念上视为一个立 方体。 多维数据建模的词汇表: 事实表:事实代表一个业务度量值。所有事实表有两个或者以上的外关键字,用于 连接到维度表的主关键字。如果事实表中的所有关键字都能分别与对应维度表中的主关 键字正确匹配,就可以说这些表满足引用完整性的要求。事实表要通过与之相连的维表 进行存取。 维度表:包含业务的文字描述,维度表有许多列( 属性) ,5 0 1 0 0 个列很常见。但 是行倾向于少。每个维度用单一的主关键字定义。维度表属性是查询条件、报表标签的 7 大连交通人学丁学硕十学位论文 来源,是使得数据仓库变得易学易用的关键。在很多方面,数据仓库不过是维度属性的 体现而已。数据仓库的能力与维度属性的质量和深度成正比。 维:人们观察数据的特定角度,是考虑问题时的一类属性。属性的集合构成一个维 ( 如时间维、机构维、经济类型维、隶属关系维等) 。 维分层:同一个维度还可以存在细节程度不同的各个方面的描述,如时间可以包括 年、季度、月份等。 维属性:维的一个取值,是数据项在某维中的具体值。 度量指标:立方体中的单元格,用以存放数据。 2 3 模型驱动架构( m d a ) 2 3 1m d a 的定义 早在1 9 8 9 年,为了解决跨平台的软件互操作问题,由软件技术供应商、开发者和 最终用户共同发起成立了对象管理集团o m g 。这个组织所提出的c o r b a 互操作标准 已经成为事实上的工业标准。然而,仅仅依靠孤立的接口标准所能达到的跨平台互操作 能力并不能满足需求,跨平台的软件互操作需要一个根本的解决方案。自从c o r b a 标 准制定以来,o m g 一直把它作为制订其他互操作标准的基础,因此这些标准很自然地 可以统一在对象管理体系结构o m a 之中。但1 9 9 7 年以来,随着一系列不基于c o r b a 的重要标准的发布,o m g 对于解决软件互操作问题有了新的认识。建模技术的逐步完 善使得软件互操作问题的解决方法不再仅仅局限于统一的接口标准,而是扩展到整个的 软件生命周期,包括商务建模、系统设计、组件的构造、组合、集成、发布和管理以及 更新。为了更好地挖掘众多建模标准的潜力,促进和规范建模技术的进一步发展,制定 一个清晰的体系结构势在必行。作为在软件互操作领域最有影响力的组织,o m g 于2 0 0 1 年7 月发布了模型驱动体系结构( m d a ) 。可以说m d a 的初衷是为了解决软件互操作问 题,但所带来的影响却将远远超越互操作领域【1 2 】。 2 3 2 模型与元模型 m d a 开发方法强调了“模型是m d a 关注点”的事实。那么,什么是o m g 组织定义 的m d a 开发方法中的“模型”( m o d e l ) 呢? 在m d a 标准中,一个模型是对一个系统的 功能、行为、性能及系统结构等因素的描述或表示,是对系统的功能、行为、性能及系 统结构等因素的形式化规约。换句话说,模型是以精确定义的语言对系统( 或系统的一 部分) 做出的描述。 8 第二章相关技术介绍 首先,模型是一种系统规约,这种规约可以是对结构的规约,也可以是对系统功能 或系统行为的规约;其次,这种规约必须是正式的,即必须使用一种严格定义没有歧义 的语言。所以一个模型必须和一种严格定义了语法和语义的建模语言绑定在一起。根据 模型的这种定义,程序代码也是模型。通常模型以图表或文本来表现,表现模型的文本 可以是模型语言,也可以是自然语言,图2 2 【3 】描述了模型和它描述的系统、表述它的语 言三者之间的关系。 语 袭述 言 译 图2 2 模型,语言和系统 f i g 2 2m o d e l ,l a n g u a g ea n ds y s t e m 不同领域的模型需要不同的建模结构元素:关系数据建模所需的建模结构元素包括 表、列、键等等。u m l 类建模所需的建模结构元素包括类、属性、操作、关联等等, 这些建模结构元素的集合也即元模型。不同领域的建模结构元素的不同造成了描述模型 的元模型各不相同。因为人们可以从不同的视角为系统建模,所以一个系统可能有很多 不同的模型,例如领域模型、业务模型、需求模型、分析模型等等。这些模型在细节处 各不相同,模型间的关系也多种多样。 以下是m d a 中的几种重要模型: 平台无关模型( p i m ) :平台无关是一个相对的概念,它意味着独立于某些特定的 执行和开发领域。平台无关模型是指具有较高的抽象层次,独立于特定的实现技术的模 型。p i m 建模是以如何很好地支撑与服务业务为出发点的。 平台相关模型( p s m ) :针对特定的实现技术,利用特定技术中可用的实现构造来 描述系统的模型。一个p i m 可以转换成一个或者多个p s m ,为每个特定的技术平台生 成一个p s m ,或者系统跨越了几种技术,一个p i m 可以对应于多个p s m 。, 代码:源代码对系统的描述。 计算无关模型( c i m ) :在这些模型之上,m d a 提出了计算无关模型c i m 。c i m 描述了在业务领域中的系统,以及在不涉及到如何构建系统细节的系统需求。这些需求 用c i m 来建模( c i m 可用u m l ( 如用例图) 建模) ,并可以追踪到实现它们的p i m 和 p s m 。 9 享 大连交通人学i :学硕十学位论文 2 3 3 模型转换 m d a 平台定义了p i m ,p s m 和代码等模型,接下来的工作就是将一个模型在不同模 型之间的转换。模型转换涉及模型变换、变换定义、变换规则三个定义,下面分别给出。 1 模型变换( ( m o d e lt r a n s f o r m ) :描述源模型( s o u r c em o d e l ) 至0 目标模型( t a r g e tm o d e l ) 的转换。 2 变换规贝, l j ( t r a n s f o r m a t i o nr u l e s ) :它是对源语言中一个( 或一些) 构造如何变化为目 标语言中一个( 或一些) 构造的描述。 3 变换定义( t r a n s f o r m a t i o nd e f i n i t i o n ) :它是一个或者一组变换规则,即变换定义 是变换规则的集合,这些规则共同描述了用源语言表述的模型如何变换为用目标语言表 述的模型。 m d a 中模型变换主要有以下六种情况( 如图2 3 所示【1 3 1 ) : 图2 3m d a 中的主要模型变换 f i g 2 3m a i nm o d e lt r a n s f o r m a t i o ni nm d a 1 c i m 到p i m 的变换 这主要是将描述系统功能的业务模型变换到分析模型,这种变换主要由系统分析设 计人员手工来实现。 2 p i m 到p i m 的变换 当模型在开发生命周期中进行改进、过滤或者特殊化,但是不需要任何与特定平台 相关的信息,那么将使用从p i m 到p i m 的变换。最常见的变换如从分析模型到总体设 计模型的变换。p i m 到p i m 的变换通常与模型求精相关,属于正向工程。 3 p i m 到p s m 的变换 从p i m 到p s m 的变换是基于特定平台特性的。因此,在建模过程中需要使用u m l 来描述平台的特性如将一个逻辑的组件模型变换到已有的业务组件模型( l t 如j z e e 平 1 0 第二章相关技术介绍 台的e j b ) 就是一种p i m 到p s m 的变换。在m d a 的实际应用中,变换工具可以根据不 同的变换规则将一个p i m 变换到多个不同的p s m ,对于每种特定的技术平台都会生成 独立的p s m ,并在这些p s m 之间生成桥接器,在这些p s m 之间建立联系。 4 p s m 到p s m 的变换 p s m 到p s m 的变换与特定平台模型的细化相关,是对p s m 的求精。当涉及到组件 实现与部署时,需要用到p s m 到p s m 的变换。比如说通过选择不同的服务配置对组件 进行封装,在封装完成以后,就要对组件进行初始化,选择目标机器,产生容器以及对 容器的配置等等。 5 p s m 到p i m 的变换 当从现有的实现模型中抽取出抽象的平台无关模型的时候,就需要用到p s m 到p i m 的变换。从软件工程的角度来看,这是一种逆向工程,一般很难做到完全的自动化。在 理想情况下,从p s m 到p i m 的变换结果应该与p i m 到p s m 的变换结果相对应。 6 p s m 到代码的变换 由模型生成最后的代码。现在已经开发出一些工具可以从u m l ( p s m ) 模型自动生成 代码的框架,如r a t i o n a l 公司的r a t i o n a l r o s e 。 2 4m d a 的核心技术 建模和模型映射技术是m d a 的核心,o m g ( o b j e c tm a n a g e m e n tg r o u p ) 定义了一系 列相关的建模标准。下面介绍其中的几个核心标准:元对象设施( m e t ao b j e c tf a c i l i t y , m o f ) ,统一建模语言( u n i f i e dm o d e l i n gl a n g u a g e ,u m l ) ,公共仓库元模型( c o m m o n w a r e h o u s em e t a m o d e l ,c w m ) ,x m l 元数据交换( x m lm e t a d a t ai n t e r c h a n g e ,x m i ) , 查询视图转换( q u e r y n i e w t r a n s f o r m a t i o n ,q v t ) 。 2 4 1 元对象设施( m o f ) m o f 1 4 】是o m g 的一个标准,它是一种面向对象的元一元模型,为规约面向对象元 模型定义了一种公共的抽象语言。m o f 用来定义面向对象元模型的基本元素、语法和 结构。以m o f 定义的面向对象元模型,可以通过交换元数据来实现互操作。 m o f 为各种元模型提供了一种通用的语言基础,使它们不再是孤立的,而是可以相 互映射,相互交换元数据,并相互理解。图2 4 表示了四层元数据结构,数据的语义由 模型来描述,模型的语义由元模型来描述,元模型的语义由m o f 来描述,m o f 则有自 描述的能力。从中可以看到,数据的语义可以在m o f 这一层次上被最终表达,而这种 表达是所有元模型的通用表达。通过m o f ,在所有元模型间就有了一种“通用语言”。 大连交通人学t 学硕十学位论文 m o f 为了支持各种类型的元数据,并可以在需要的时候添加新类别的元数据,采用 了四层元数据体系结构,即所谓的o m g 元数据体系结构,如图2 4 所示。 m 0 层是我们所需要描述的数据以及客观世界的对象,是m 1 层的实例。 m 1 层包括各类模型,是现实世界的抽象,是m 2 层的实例。元素有u m l 模型,数 据库模式等。 m 2 层为元模型,它是由m o f 定义的元模型。是m 3 层的实例,m 1 层的抽象,包 括u m l 元模型和c w m 元模型。 m 3 层为m o f 元模型,也被称为元一元模型,用来定义元模型。 图2 4 四层元数据结构 f i g 2 4f o u r - l e v e lm e t a d a t as t r u c t u r e 2 4 2 统一建模语言( u m l ) u m l 1 5 】是由软件公司、技术顾问和其他行业的公司甚至包括政府在内的各种组织一 同制定并支持的一个开放的建模语言标准。一个标准的、开放的语言可以免受技术供应 商的限制和约束。同时u m l 包含内在约定,可以让用户根据需要重新定制u m l 的模 型元素。 u m l 联盟于1 9 9 7 年向o m g 提交了u m l l 0 ,o m g 采纳了1 1 版本作为标准,并 接管了u m l 标准的维护工作,于2 0 0 4 年发布了u m l 2 0 。 u m l 的定义包括u m l 语义和u m l 表示法两个部分,即u m l 的图示法和元模型。 图是u m l 的语法,元模型是u m l 的语义,两者结合为u m l 提供了一套定义良好的语 法和语义。u m l 图示法定义u m l 符号的表示法,即规定了符号的外观及组合方式,为 1 2 第二i 章相关技术介绍 开发者或开发工具使用这些图形符号和文本语法,以及系统建模提供了标准。这些图形 符号和文字所表达的是应用级的模型,在语义上它是u m l 元模型的实例。 元模型是描述模型的模型,u m l 元模型在m o f 的四层体系结构中位于m 2 层,是 m o f 模型的实例。u m l 元模型确切地描述了各种u m l 模型的结构和语义。u m l 元模 型为u m l 的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,消除了 因人而异的表达方法所造成的影响。 一个u m l 模型由许多不同的模型元素组成,u m l 元模型就定义了这些模型元素的 特征,模型元素之间关联的方式及关联的含义。就是说,u m l 元模型设置了一组用于 规定如何建模的规则。u m l 元模型也是u m l 拥有可扩展的基础。利用u m l 元模型中 有关u m l 元素的定义,用户可以创建新的u m l 元素,也可以为已有元素附加新的属 性。由于m o f 具有自我描述性,u m l 也继承了这个特性,所以u m l 元模型也可以由 u m l 本身进行定义。 u m l 元模型是m o f 模型的实例。u m l 元模型具有和m o f 一样的结构,复用了它 一部分的定义。因为u m l 远不止为元模型建模,所以u m l 比m o f 包含了多得多的元 类,比如状态图、交互图所需的元类。 一般将u m l 用于m d a 中有两种情形:用于创建系统的模型和用于定义模型之间 的转换。 2 4 3 公共仓库元模型( c w m ) c w m 1 6 】是建立在u m l ,m o f ,x m i 这三种规范基础之上的。u m l 提供了一个表 示模型和元模型的语法和语义。m o f 标准定义了为元数据定义模型的一个可扩展结构, 并且提供工具为存取存储元数据的程序接口。x m i 标准使得可以以流或x m l 文件的形 式交换元数据。 c w m 是用来对数据仓库( 包括关系型、非关系型、多层系统等) 中的元数据进行建 模的规范,它为数据仓库、数据挖掘领域内的元数据定义了对应的元模型,为在分布式 异构环境下为数据仓库工具、数据仓库平台和数据仓库存储建立一个商务智能元数据的 交换机制。 每种产品表示元数据的方式不尽相同,他们都有自己的内部格式,因此它们之间元 数据的共享就必然存在障碍。c w m 代表了基于模型的在软件系统间交换元数据的一种 新途径。在多种产品间共享的元数据将会使用数据模型来表示,而这些数据模型则使用 c w m 元模型来精确描述。某种产品将自己的元数据( 使用内部格式表示) 导出为使用 大连交通大学t 学硕十学位论文 c w m 描述的元数据,另一种产品将其导入,构造出c w m 兼容的模型并映射到自己的 内部格式,这样就达到了元数据共享的目的。 c w m 是由若干互不相同但又紧密相关的子元模型构成,在c w m 中,如图2 5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论