已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国防科学技术大学研究生院学位论文 摘要 m d a ( 模型驱动体系结构) 将软件系统的模型分离为平台无关模型p i m $ 口平台相关模 型p s m ,通过转换规贝q 将它们统一起来,以这样的方式试图来摆脱软件需求变更、系统复 杂度增加所带来的困境,同时在模型层次达到统一,也很好地解决了软件的复用和互操作 问题【1 1 。模型转换是m d a 的关键技术之一,它的标准正在制定。在标准出台前,各m d a 工具厂商仍需使用自定义的模型转换方法。 模式描述了业务应用中重复发生问题的共性,以及该问题的解决方案的核心【5 】。模式 在平台无关模型、平台相关模型以及代码模型中均有体现,且这三种模型中的模式遵守一 定的对应关系。典型的电子商务应用的特征是a c i d 事务,负责处理大量的数据,但是在数 据上只进行相对简单的计算。对于这类特定领域,模式模型的转换规则是可预定的,为这 类应用设计基于模式的模型转换框架是可行的。 本文研究了m d a 基于模式的模型转换技术,设计并实现了一个基于s e r v l e tm v c ( 模型 视图控制) 架构的电子商务开发平台模型转换框架原型系统。论文的重点工作如下: 首先,研究了模型转换相关技术,重点讨论了基于模式的模型转换技术的开发流程和 原理; 接着,分析了典型的电子商务应用特点,提出了常用的电子商务应用表处理模式,详 细阐述了电子商务应用中基于模式的模型转换的原理: 最后,重点设计并实现了一个电子商务开发平台模型转换框架原型系统,详细讨论了 该系统的核心实现技术,给出了模式实例化、模式检查匹配、对象模型转换为关系数据库 模型等关键机制的实现算法,并对一些设计的难点问题进行了探讨和分析。 关键词:模型转换模式m d a 电子商务应用 国防科学技术大学研究生院学位论文 、, a b s t r a c t a c c o r d i n gt om o d e ld r i v e na r c h i t e c t u r em e t h o d o l o g y , s o f t w a r ed e v e l o p m e n tw i l lb ed r i v e n b yat h o r o u g hm o d e l i n gp h a s ew h e r ef i r s tap l a t f o r mi n d e p e n d e n tm o d e l ( f i m ) o ft h eb u s i n e s s l o s i ci sc o n s t r u c t e d ,f r o mw h i c hp l a t f o r ms p e c i f i cm o d e l s ( p s m s ) i n c l u d i n gd e t a i l so ft h e u n d e r l y i n gs o f t w a r ea r c h i t e c t u r ea r ed e r i v e db ym o d e lt r a n s f o r m a t i o n s i ns u c haw a y , m d a u n i f i e sm o d e l so fd i f f e r e n tl e v e lb ym o d e lt r a n s f o r m a t i o na n dt h u se n a b l e st oq u i c k l ya d d r o s s c h a n g i n gr e q u i r e m e n t s ,a g g r e s s i v es y s t e mc o m p l e x i t ya n dp r o d u c t i v i t yg o a l sw i t h o u ts a c r i f i c i n g s o f t w a r er e u s a b i l i t ya n di n t e r o p e r a b i l i t y m o d e lt r a n s f o r m a t i o ni st h ec o r eo fm d a , b u ti t s s p e c i f i c a t i o ni sb e i n gc o n s t i t u t e d m d at o o lp r o v i d e r se n d e a v o rt od e f i n et h e i rc u s t o m i z e d s o l u t i o nf o rm o d e lt r a n s f o r m a t i o nb e f o r et h eo m g sf o r m a lm o d e lt r a n s f o r m a t i o ns p e c i f i c a t i o n i st ob eb r o u s h ti n t ou s e p a t t e r nd e s c i r b e st h ec o m m o n p r o p e r t i e so fr e c u r r i n gb u s i n e s sa p p l i c a t i o np r o b l e m sa n dt h e e s s e n t i a l i t yo ft h es o l u t i o n st ot h e s ea p p l i c a t i o n s p i n , ,p s m sa n dc o d em o d e la l le m b o d y a p p l i c a t i o np a t t e r n sa n dp a t t e r n si nt h e ma r ec o r r e s p o n d i n g e - b u s i n e s sa p p l i c a t i o n sc o m m o n l y b e a rac h a r a c t e r i s t i co fa c i dt r a n s a c t i o n ,w h i c hh a sam a s so fd a t ab e i n gp r o c e s s e db u td o e s c o n c e n t r a t es i m p l ec o m p u t a t i o n t h e r e f o r ei ti sf e a s i b l et od e f i n et r a n s f o r m a t i o nr u l e sa n d d e s i g n am o d e lt r a n s f o r m a t i o nf r a m e w o r kf o rt h e s ek i n d so fa p p l i c a t i o nd o m a i n t h i sp a p e rc o n d u c tr e s e a r c ho np a t t e r n b a s e dm d am o d e lt r a n s f o r m a t i o nt e c h n o l o g y , a n d am o d e lt r a n s f o r m a t i o np r o t o t y p es y s t e mf o rm v c - b a s e de - b u s i n e s sa p p l i c a t i o nd e v e l o p m e n t p l a t f o r m ,i sd e s i g n e da n di m p l e m e n t e d t h ee m p h a s e so ft h i sp a p e ra r ea sb e l o w : f i r s t ,t h ep a t t e r n - b a s e dm o d e lt r a n s f o r m a t i o nt e c h n o l o g yi si n t r o d u c e d ,a n dt h ed e v e l o p m e n t p r o c e s sa n dt r a n s f o r m a t i o np r i n c i p l e so fi ta r ei l l u s t r a t e d t h e n ,a n a l y s e so ft h ec o m m o ne - b u s i n e s sa p p l i c a t i o nc h a r a c t e r i s t i ca r em a d o ,a n do n e p a t t e r nw i t hhj i g hf r e q u e n c ya p p l i c a t i o ni ne - b u s i n e s sa p p l i c a t i o nd e v e l o p m e n t ,n a m e l yt a b l e p r o c e s s i n gp a t t e m ,i sp r e s e n t e d b e s i d e s ,t h i sp a p e ri l l u s t r a t e st h ee s s e n t i a lo fp a t t e r n b a s e d m o d e lt r a n s f o r m a t i o na p p l i e di ne - b u s i n e s sa p p l i c a t i o n a tl a s t ,t h i sp a p e rf o c u s e so nt h ed e s i g na n di m p l e m e n t a t i o no fap a t t e r n - b a s e dm o d e l t r a n s f o r m a t i o nf r a m e w o r kp r o t o t y p es y s t e m ,w h i c hi s d e s i g n e df o rm v c b a s e de - b u s i n e s s a p p l i c a t i o n t h ec o r ei m p l e m e n t a t i o nt e c h n o l o g yo ft h ef r a m e w o r ki sd i s c u s s e d ,a n dt h e a l g o r i t h m so fs o m ek e ym e c h a n i s m s ,s u c ha st h ep a t t e r ni n s t a n t i a t i o n ,p a t t e r nd e t e c t i o na n d m a t c h ,o b j e c tm o d e lt r a n s f o r m a t i o nt or e l a t i o n a ld a t a b a s em o d e le t c a r ep r e s e n t e d s o m ed e s i g n d i f f i c u l t i e sa r ed i s c u s s e di nt h i sp a p e rt o o k e y w o r d s :m o d e lt r a n s f o r m a t i o n ,p a t t e r n ,m d a ,e - b u s i n e s sa p p l i c a t i o n l l 国防科学技术大学研究生院学位论文 , 图目录 图1 5 图1 6 图1 7 图1 8 图1 9 图2 0 图2 1 图2 2 图2 3 图2 4 图2 5 图2 6 图2 7 元模型转换3 利用x s u 避行模型转换3 m d a 中各个标准与对应的j 2 e e 平台标准之间的关系9 模型驱动的软件开发过程1 0 基于模式的模型转换1 1 电子商务应用简单原型1 4 业务处理模式的抽取1 5 系统结构、解决方案、领域三者关系1 8 把映射参数关联到p i m 1 9 s t r u t s 的m v c 模型2 0 基本的c o c o o n 流程2 1 w e b 应用m v c 模式2 2 基于模式的模型转换过程的逻辑视图2 4 模型转换框架类图2 6 模型转换框架用例2 6 模型转换的交互过程2 7 模型转换框架插件结构2 7 模式元模型:2 9 关系数据库元模型3 0 模式实例化过程3 2 c o m p o s i t e 模式的u m u 馍型3 6 零件实例的u m i 模型一3 7 c o m p o s i t e 模式的抽象模型,显式表示所有语义3 7 表处理c o m p o s i t e 模式的模式元模型4 0 t r i g g c r ;疗法元类定义4 0 c o m p o s i t e 的方法a d d 的流程。4 2 项目向导协调模型转换过程4 7 i i i l 2 3 4 5 6 7 8 9 加n 佗”h 图匾匾卧匾图图图图图图图图图 国防科学技术大学研究生院学位论文 表目录 表1 检查用户模型中包含的模式成分算法3 4 表2 模式存储3 8 表3c o m p o s i t e 模式元模型的j a v a 对象表示4 0 表4 单表上的操作在s e r v l e t 平台的程序模板4 2 表5c o m p o s i t e 模式零件实例模型的e c o r e 模型表示4 3 表6 解析自定义s q l 度本获得关系数据库的p r i m a r y k e y 元数据4 4 表7 对象模型转换到数据库模型的对应关系4 5 表8 根据数据库信息生成关系数据库模型元素的j a v a 对象4 6 表9e b p s e r v l e t p r o j e c t 对项目信息的配置4 7 表1 0 零件实例的c o m p o s i t e 模式实例化4 8 表1 1 零件p a r t 表对应实体的s e r v l e t 访问数据库的代码4 9 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意。 学位论文题目: 曳王耍叠孟发壬鱼史基王搓盎鲍搓型蕴拯握袈丛塞生塞理 学位论文作者签名: i 4 丞! 兰日期:二。牛年,z 月上7 日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权 国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子 文档,允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学位论文题目:塾直叠匠发圣盒生基王搓奎数搓型转选捶苤盟壅生塞理 学位论文作者签名 作者指导教师签名 日期:加仁年肛月2 尸日 日期:加牛年他月;口日 国防科学技术大学研究生院学位论文 1 1 1 应用背景 , 第一章绪论 1 1 课题背景及意义 随着现代信息技术的迅猛发展,利用互联网进行信息交流,已经成为企业发展必不可 少的需求。软件开发过程中,不断变化的市场环境和商业模式,导致需求变更、系统复杂 度增加,系统开发难度也随之增加,使采用传统开发方法的开发人员不知所措,若考虑软 件复用、支持互操作等更高层次的要求,开发人员更是不堪重负。传统的电子商务系统的 开发周期长、软件开发成本居高不下、维护困难。提供高效,低成本,易维护的电子商务 开发平台,能针对不同企业需求开发出可扩展的电子商务系统,是一个迫切需要解决的问 题。 m d a ( 模型驱动体系结构) 将软件系统的模型分离为平台无关模型p i m 和平台相关 模型p s m ,通过转换规则将它们统一起来,以这样的方式试图来摆脱需求变更、系统复杂 度增加所带来的困境,同时在模型层次达到统一,也很好地解决了软件的复用和互操作问 题。m d a 以模型为中心的思想得益于其定义的一整套标准。u m l 3 1 、m o f 2 1 、x m l l l 5 】、 c w m l 4 】等一系列标准分别解决了m d a 的模型建立、模型扩展、模型交换、元数据交换 等方面的问题。不幸的是,作为m d a 关键技术之一的模型转换,其标准正在制定,在等待 标准出台前,各m d a 工具厂商仍需采取不同策略,提供自定义的模型转换方法。 模式描述了业务应用中重复发生问题的共性,以及该问题的解决方案的核心。它基于 统一标准、原则和实践经验,在软件的开发过程中可视为通行的规范。模式在平台无关模 型、平台相关模型以及代码模型中均有体现,且这三种模型中的模式遵从一定的对应关系。 典型的电子商务应用的特征是a c i d 事务,负责处理大量的数据,但是在数据上只进行相对 简单的计算。对于这类特定领域,转换规则是可预定的,为之设计模型转换框架是可行的。 因为电子商务应用并不着重于精深的计算,可以为这类应用中典型的部分建立精确的业务 逻辑模型。同时,a c i d 事务遵循一定的模式,从中可抽象出可复用的业务模式。在此基 础上定义相应的模型转换规则,使得模式模型能自动转换到实现系统。基于模式的模型转 换框架免除了用户对这些常用业务的手工开发和维护,同时提供扩展业务应用模式的功 能,将极大地提高电子商务开发的效率,具有很大的经济价值和研究意义。 1 ,1 2 相关技术的研究现状 模型转换是指按照变换定义从源模型到目标模型的自动生成【1 l o 目前国内外对于m d a 转换技术的研究主要集中在两方面 7 1 8 1 1 川【1 0 1 1 2 引。一方面研究如何 第1 页 国防科学技术大学研究生院学位论文 提供模型定义和转换的高自动化工具,通常是针对特定领域的,其复杂的转换规则是可以 预定义的。这方面通常由专用c a s e ( c o m p u t e r - a i d e ds o f t w a r ee n g i n e e r i n g ) 工具实现。另 一方面关注于研究和实现通用的m d a 模型转换框架,它通过配置扩展来支持模型到不同平 台实现的转换。针对广阔的应用领域实现m d a 的解决方案。 o m g 组织在文献【1 中按转换的自动化程度对模型转换方法进行了分类: 手动转换:手动将p i m 转换为p s m ,映射规则存在于程序员的大脑中; 对使用p r o f i l e 定义的p i m 进行的转换:转换之前,p i m 使用u m lp r o f i l e 标记平台 相关的信息,转换机制读取这些信息,转换到对应的p s m 。u m l 2 0 的p r o f i l e 扩展 机制【3 】包含了对转换操作的规范,转换规则由这些规范定义。 使用模式和标注的转换:模式可以用来定义模型映射,这种映射包含了模式和一 些标记,他们对应于模式中的元素。在进行转换时,先标记p i m ,然后将p i m 中 标记的元素根据模式来生成p s m 。 自动转换:如果一个p i m 包含所有的实现信息,它不需要使用标记或者使用p r o f i l e 添加其他的标记,那么自动转换是可以实现的。 模型转换技术在传统a 峪e 工具和m d a 开发工具中均有体现。 r a t i o n a lr o s e 系列产品使用第二种方法【1 2 1 先对p i m 标记p r o f i l e ,p r o f i l e 中定义了 到实现平台的模型对应关系。 a r c s t y l e r l 2 2 】和o d t i m a u 采用第三种方法( 矧。 a r c s t y l e r 使用标记将一种模型映射到其他模型、源代码、脚本( 如测试、编译、部署脚 本) 。模型转换规则被捆绑在一起称为m d a - c a r t r i d g e s ,它是a r c s t y l c r 的核心特性之一。 标记是轻量级的注解,可以包含平台相关的一些信息并被输l j m d a - c a r t r i d g e s 中去。由 于标记可以很容易地加入到模型中,也能很容易地从模型中删除,因此他们不会对模型造 成“污染“。架构师可以定义自己的模型转换规则,并分发给项目组成员使用,从而获得 极大的灵活性。 o p t i m a l j 针对不同的模型阶段定义了不同的模式。从p i m 到p s m 的转换使用技术模式, 因为从平台无关模型转换到了与实现技术相关的模型。从p s m 到实现的转换使用实现模 式,此时模型转换到了实现代码。 比较流行的模型转换技术目前有三种【6 】1 7 1 【8 】1 9 1 i o 】: 1 定义源模型到目标模型的元模型转换规则,即元模型的转换模型i ”。所有源模型到目 标模型的映射( 转换模型) 实际上是转换元模型的实例,源模型输入到转换模型中,输出 端得到目标模型,如图1 。 第2 页 国防科学技术大学研究生院学位论文 2 帅fj a v a c = i | 0 f 腓i 文档 接i s i o 乏篮萎r 他z :j 2 访问 技术接 f 图1元模型转换 2 利用u m l p r o f i l e 进行模型转换。u m l p r o t f l e 是利用u m l 的构造型( s t e r e o t y p e ) 和标 记值( t a g g e dv a l u e s ) 进行扩展的机制【3 1 。用u m lp r o f i l e 对u m l 进行了扩展之后,相当于 得到了一种新的建模语言,一般它是针对某个专用的建模领域的。它的优点是完全兼容 u m l ,并且可以用传统c a s e z 具处理。它的缺点是扩展能力有限,不如直接用m o f 定义 全新的建模语言灵活。因此有人称u m l p r o f i l e 为轻量级扩展,而称m o f 扩展为重量级扩展 【1 1 】。o m g 组织已经定义 t u m l p r o f i l e f o rc o r b a ,u m l p r o f i l ef o rf _ j b ,u m l p r o f i t ef o r e d o c 等元模型,还有很多的u m l p r o f i l e 正在制定之中吐 这些u m lp r o f i l e 通常会作为p s m 的建模语言,正是因为有了这些专用的p s m 建模语 言,从p 1 m 到p s m 的映射变得方便快捷。 3 _ 车0 用x s l t 进行模型转换和代码生成【1 0 】 x m l 是w 3 c 定义的标准,它提供了在网络环境进行结构化数据和文档交换的通用格 式。x s l t ( e x t e n s i b l es t y l e s h e e t l a n g u a g e t r a n s f o r m a t i o n s ,扩展样式语言转换) 也是由w 3 c 制定的标准,定义了x m l 文档的转换语言1 2 4 1 。 图2利用x s l t 进行模型转换 x m i 是x m l 元数据交换格式,是i 扫o m g 提出的标准,用于u m l 建模工具之间的数据 和元数据交换,并在多层分布式环境中提供元数据存储机制。由于x m i 作为模型的存储机 制得到普遍认可,x s l t 可以用来对模型进行转换。 第3 页 国防科学技术大学研究生院学位论文 图2 描述了利用x s l t 进行模型转换苦勺常用步骤。另外利用x s i t 可以方便地进行代码 生成以及逆向工程。 1 1 3 研究内容与意义 当前,模型驱动开发逐渐被接受。在国外,m d a 已经在企业应用尤其是w e b 数据库应 用中得到很好的发展。这类应用在数据上只进行相对简单的计算的特征使得m d a 的优点发 挥得一览无余。a r c s t y l e r 和o p t i m a l j 等m d a 开发工具主要也是用于构建数据库应用系统 的。因此,深入研究电子商务应用中常用的业务功能,抽象出可复用的业务模式,并定义 相应的规则,使得m d a 的模型能自动转换到实现系统,对于现在的电子商务应用开发非常 有益;更大的意义还在于,这些工作对于结合新的技术发展趋势为国家8 6 3 高技术计划“新 一代中间件技术”专题积累理论和技术经验能够提供积极帮助。 1 2 课题的主要工作 课题的工作主要包括以下四个方面: m d a 模型转换技术框架的研究 主要研究了与m d a 模型转换相关的基础性概念及其技术框架。通过分析m d a 开发流程 和技术实现的可行性,本文采用基于模式进行模型转换的m d a 技术。 电子商务应用的分析和研究 本文对电子商务应用环境进行研究,分析了通用的电子商务应用特点。通过分析电子 商务典型应用,结合技术实践和经验总结出电子商务应用中存在共性的处理逻辑,讨论了 基于模式的模型转换的可行性,给出了表处理模式的定义,并分析了电子商务开发平台中 基于模式的模型转换原理。为了更好地说明本文对电子商务系统的理解,提出了电子商务 应用系统的三种模型,分别对应m d a 中的p i m 、p s m 和代码模型。分析了s t r u t s 、t u r b i n e 、 c o c o o n 等已有开源项目的w e b 架构【1 8 】,针对电子商务应用提出基于m v c 的电子商务应用系 统软件架构。 电子商务开发平台基于模式的模型转换框架的设计 参考各个m d a 的开发工具和w e b 开发工具的特征,针对电子商务应用环境,本文定义 了电子商务开发平台模型转换框架的功能,从功能出发,提出了电子商务开发平台模型转 换框架的总体结构,对各模块进行了功能细分。 从基于处理模式的模型转换需要出发,本文结合电子商务应用特点与实践经验,设计 了一种模式元模型统一表示各种处理模式,并在模式元模型中设计了相应的结构以便管理 模式模型。模式元模型提供模式的实例化、检查和匹配、存储等管理功能,并以一个经典 的c o m p o s i t e 模式【1 4 l 为例子详细讲述了模式管理功能的原理,从而验证了模式元模型灵活的 语义表达能力。 电予商务开发平台基于模式的模型转换框架的核心实现 第4 页 国防科学技术大学研究生院学位论文 详细描述了模式模型的创建和管理、模式模型转换至l j s e r v l e tm v c 架构的核心实现。 通过对电子商务领域多种业务逻辑的分析,本文总结出电子商务应用中常用的表处理 模式,给出了模式的实例化模型,以及模式模型在s e r v l e t 平台p s m 的j a v a 程序模板。最后 给出映射程序、支撑模型中共性处理部分的程序代码的核心实现,以支持业务处理模型到 实现平台的自动转换。 1 3 论文结构 本文的结构如一f : 第一章为绪论。介绍了本课题的研究背景,阐明了本课题的研究内容和意义,并介绍 了在课题研究中所做的工作。 第二章为m d a 模型转换相关技术的研究。阐述了m d a 模型转换技术如何在电子商务开 发生命周期中提供全程支持,并对其中所包含的各个技术环节进行了简单讨论,着重讲述 基于模式的模型转换技术框架和原理,并研究了可利用的建模框架的特点。 第三章为电子商务应用的分析和研究。通过分析电子商务典型应用,结合技术实践和 经验总结出电子商务应用中存在的共性处理逻辑,给出了表处理模式的定义。为进一步缩 小业务建模和软件开发间的鸿沟,本文还分析了s t r u t s 、t u r b i n e 、c o c o o n 等已有的w e b 开源 架构【1 8 l ,针对电子商务应用提出基于m v c 的电子商务应用系统架构。 第四章为电子商务开发平台基于模式的模型转换框架设计。定义了模型转换框架的功 能要求,设计了满足功能需求的模型转换框架的总体结构。以基于模式的模型转换过程为 主线,详细描述了模式元模型和模式管理功能设计。在研究的基础上,对模式元模型和模 式管理等设计上的一些重点和难点问题进行了积极思考和探索。 第五章为电子商务开发平台基于模式的模型转换框架的核心实现。以基于模式的模型 转换过程为主线,阐述了各个模块的内部实现机制,讲述了建立模式元模型、模式管理、 处理模式模型从p i m 到实现系统的转换的实现。 第六章为结束语。对本文的工作进行了总结,并提出了下一步的工作展望。 第5 页 国防科学技术大学研究生院学位论文 第二章相关技术研究 2 1m d a 技术 m d a 技术主要包括以下几个方面: m d a 软件开发方法 m d a 模型转换 m d 邹萤漠技术 当谈论m d a 的时候,应该在脑海中存在着一个完整的m d a 框架,这个框架体现了m d a 的主要元素: 模型:以精确定义的语言对系统进行的描述; p i m :平台无关模型,描述了系统,但不涉及最终的实现平台: p s m :平台相关模型,描述了系统,并且包含最终实现平台的全部知识。 元语言( m e t al a n g u a g e ) :用来定义其他表述模型的语言和模型变换定义的语言; 语言( 1 a n g u a g e ) :精确定义的语言,用来表述模型; 模型转换定义:描述了源语言表述的模型如何变换到目标语言表述的模型。 有了这个完整框架,在研究讨论和实践m d a 时,就不容易变得无所适从,也有利于 对m d a 技术的准确定位。 2 1 1m d a 软件开发方法 软件系统开发是一个问题解决过程,其中需求可以被认为是相关领域有待解决的问题, 我们捕获需求、理解所面临的问题,提出问题的解决方案并实现它。模型驱动的开发方法 学关注的是对系统的建模,包括对模型的理解、设计、创建、维护和修改。 m d a 中的平台无关模型p i m 是对系统高层次的抽象,其中不包括任何与实现技术相 关的信息;平台相关模型p s m 是与特定平台相关的模型。在m d a 框架中,首先使用平台 无关的建模语言来搭建平台无关的模型p i m ,然后根据特定平台和实现语言的映射规则, 将p i m 转换以生成平台相关的模型p s m ,最终生成应用程序代码和测试框架。一个平台 ( p l a t f o r m ) 是多种技术的集合,提供了各种功能接口,它是专用的、与具体技术相关的( 例如 j a v a ) ,特定于软件提供商的( 例如微软的n e t 平台) 。平台无关( 平台相关) 是相对概念, 在这里指独立于( 相关于) 包括中间件在内的平台。 m d a 开发途径使得软件系统能够灵活地实现、集成、维护和测试,系统的轻便性、 互操作性和可重用性都是可以长期保持的,能够应对未来的变化。 第6 页 国防科学技术大学研究生院学位论文 2 1 2m d a 模型转换 从p i m 转换至i j p s m ,从p s m 转换到实现代码是m d a 设计思想的重要部分,模型转换 和映射的方法有多种。 m d a 模型转换的途径从实现方式角度可分为如下几种 标记( m a r k i n g ) 在转换之前选择了一个特定的平台,与这个平台对应有一个映射规则( m a p p i n g ) ,这 个映射规则包含一系列预先定义的标记( m a r k s ) 。这些标记用于给模型中的元素增加标注, 用于指导模型的转换过程。 元模型转换( m e t a - m o d e lt r a n s f o r m a t i o n ) p i m 模型使用平台无关的语言来说明,这种平台无关的语言使用平台无关的元模型 ( m e t a m o d e l ) 来描述。p s m 模型使用平台相关的语言来说明,这种平台相关的语言同样 使用平台相关的元模型描述。特定平台存在一个转换规则,按照此规则将平台无关的元模 型转换为平台相关的元模型,从而实现从p i m 生成p s m 的转换目的。例如,平台无关的 元模型是e d o ce c a 业务处理模型( e d o ce c a b u s i n e s sp r o c e s sm o d e l ) ,平台相关的 元模型是一个工作流引擎( w o r k f l o we n g i n e ) 的m o f 模型。转换规则是一个m o fq v t 转 换模型。转换过程由一个工具生成的转换引擎来完成,此转换引擎使用一对m o f 模型来 创建一个特定的转换引擎。 模型转换( m o d e lt r a n s f o r m a t i o n ) p i m 模型使用平台无关的类型来说明,这些类型可能是软件框架的一部分。p i m 中的 元素是这种平台无关的类型的子类型。p s m 模型傻用平台相关的类型来说鹳,p s m 中的 元素是平台相关类型的子类型。此选定的特定平台存在对应的转换规则,按照此规则将平 台无关的类型转换为平台相关的类型,从而实现从p i m 生成p s m 的转换目的。例如平台 无关的类型声明了各种平台通用的能力和特性,平台相关的类型可以是某个特定平台的合 成类,声明了这个特定平台类型提供的能力和特性。这种方式和元模型映射主要的不同 就是使用模型中指明的类型来进行映射,而不是使用元模型指明的概念来进行映射。 模型合并( m o d e lm e r g i n g ) m d a 有多种方法是基于模型的合并,最简单的一个例子就是采用模式进行模型转换, 而模式是模型合并的一种类型。 使用附加信息( a d d i t i o n a li n f o r m a t i o n ) 除了p i m 和平台相关的标记以外,还可以提供附加信息来指导转换的过程。例如:可 以指定一个特定的框架风格,也可以给c o n n e c t o r s 增加特定的服务质量的附加信息。通常 附加的信息吸收了设计者的特定认识,这些认识是对应用程序领域和平台知识共有的知 识。 第7 页 国防科学技术大学研究生院学位论文 2 1 3m d a 建模 软件系统良好的集成性、互操作性的关键是如何智能地使用和管理元数据,这些元数 据普遍存在于应用程序、平台、工具和数据库中。 m d a 以模型为中心的思想得益于其定义的一整套标准,包括元对象设施( m o f ,m e t a o b j e c tf a c i l i t y ) 、统一建模语言( u m l ,u n i f i e dm o d e l i n gl a n g u a g e ) 、公共数据仓库元 模型( c w m ,c o m m o nw a r e h o u s em e t a m o d e l ) 、x m l 元数据交换( x m i ,x m lm e t a d a t a i n t e r c h a n g e ) 。 m o f 不同的功能需要不同的建模结构集,m o f 放弃了把这些不同的建模结构集都合并为一 个集合的想法,使用一种一致的方法来描述语言结构,使各种元数据在模型层次达到统一。 m o f 可以描述u m l 的扩展或者其它未来可能出现的类u m l 的建模语言。m o f 的强大在 于它使得不同的元模型可以互操作,因为它提供了二种统一的方式定义这些元模型的建模 结构。 u m l u m l ;是s e 业建模标准,提供可视化的面向对象建模支持。u m l 被m d a 用来描述各种 模型。 c w m m d a 的系列规范中,c w m 用来对数据仓库( 包括关系型、非关系型、多层系统等冲的 元数据进行建模,它同时也是多层系统、异构系统间元数据实例交换的基础。理解c w m 元模型的系统可以使用与其元模型对应的格式进行元数据的交换。在m o f 的框架下, c w m 使得构建通用的数据模型变换引擎成为可能。 x m i x m i 定义了x m l 标记如何表示序列化的m o f 模型。 在o m g 的蓝图中,u m l 、m o f 、x m i 、c w m 等一系列标准分别解决了m d a 的模 型建立、模型扩展、模型交换、模型变换这几个方面的问题。o m g 试图通过标准化的定 义,扩大m d a 的应用范围。同时通过这样一个可扩展的建模语言环境,i t 厂商可以自由 实现自己的建摸语言,以及语言到可执行代码的映射,然而无论采用何种实现技术,都必 须处于o m g 的标准化框架之下。 上述标准与对应的j 2 e e 平台标准之间的关系如图3 所示。 m d a 元建模是指使用m d a 规范中提供的元模型,定义一种用户需要的建模结构来表达 用户需要的模型的语法和语义【儿l 。m d a 提供在不同抽象层次上的建模支持,并提供灵活的 方式让用户建立自己所需的建模结构即建模语言。建立一种新的建模语言有四种方法【l l l : 第8 页 国防科学技术大学研究生院学位论文 图3 m d a 各个标准与对应的j 2 e e 平台标准之间的关系 定义u m l p r o f i l e 一 通过m o 瞳接对u m l 的元模型扩展 使用m o f 的建模结构建立新的元模型 上述方法的各种混合形式 各种方法均有其利弊。第一种方法不会改变u m l 的元模型,大多数c a s e i 具支持u m l p r o f i l e 扩展,因此定义的元模型可以被这些建模工具支持。直接扩展u m l 元模型以及建立 新的元模型的方法都有可能使建立的元模型不能被其它c a s e i 具认可。一部分建模语言 是采用定义u m lp r o f i l e 并且定义新的元模型的混合方式来建立的,因此可以在其他c a s e 工具中使用,而且充分利用了m o f 的灵活的建模能力。 2 2 基于模式的模型转换技术 比较多种m d a 模型转换技术,本文发现基于模式的模型转换方法,与电子商务中经常 用到的处理模式思想吻合。由于对电子商务应用领域中的模型和元模型的定义尚未完善, 对于电子商务模型采用模型转换或者元模型转换的模型转换途径并不合适。对于基于模式 的模型转换途径,可以针对电子商务中的典型的共性处理模式,抽取出作为所需模型转换 的各种预处理模式。在基于m d a 技术的电子商务开发平台的研究与实现中,本文采用m d a 基于模式的模型转换技术。 2 2 1 模型转换在m d a 开发过程中的作用 m d a 的生命周期与传统的方式看起来区别并不大,具有相同的开发阶段。主要的区别 在于各个阶段的设计工件的不同,m d a 的设计工件是形式化的精确模型,能够被机器所理 解。 m d a 技术开发过程的核心是模型的建立。m d a 的开发流程如图4 所示。 第9 页 固回固 国防科学技术大学研究生院学位论文 、 ,7 蒜、,7 i 、,7 特宣辑壤、 ,7平白 、 ,、, 、 图4模型驱动的软件开发过程 首先,使用平台无关模型p i m 以一种最方便于支持业务逻辑应用的角度对系统进行建 模。p i m 是对系统的一种高层次的抽象,与具体的实现技术无关。在此过程中,可以根据 客户需求和其它因素对p i m 进行精化,以使得它能够更加精确地描述一个系统。 然后,p i m 可以被转换到一个或者多个特定平台的p s m ,对于每种特定的实现平台都 会生成独立的p s m 。p s m 是针对用户选择的实现技术和平台,对系统量身定制的模型。例 如,e j bp s m 是对使用e j b 结构的系统的建模。它包含一些e j b 相关的信息,例如t h o m e i n t e r f a c e ”e n t i t yb e a n ”s e s s i o nb e a n ”等。关系数据库p s m 包含名称如”t a b l e c o l u m n ” ”
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024至2030年中国学生用床数据监测研究报告
- 高中物理第6章电磁现象与电磁波第2节磁感应强度课件粤教版必修第三册
- 2024至2030年中国压力源数据监测研究报告
- 2024至2030年中国刷丝数据监测研究报告
- 2024年中国金属女士表市场调查研究报告
- 2024年中国旁插扁袋除尘器市场调查研究报告
- 2024年中国尼龙膜折叠式滤芯市场调查研究报告
- 2024年中国儿感退热宁口服液市场调查研究报告
- 工学项目绘制简单形体的三视图
- 儿科疾病防治-儿科疾病预防治疗
- 九年级历史与社会上册复习提纲
- 系统思维与系统决策:系统动力学智慧树知到期末考试答案2024年
- 2024年康养政策项目申请报告范稿
- MOOC 美国文学经典-北京第二外国语学院 中国大学慕课答案
- 瓜蒌薤白半夏汤的药效学研究
- 2022版义务教育(信息科技)课程标准(附课标解读)
- 小学人教四年级数学四年级(上)平行与垂直
- 钛合金在人体健康中应用课件
- 汽车维护保养与安全驾驶课件
- 《银行对公业务》课件
- 肺心病患者的健康宣教
评论
0/150
提交评论