论文研究-可复用MOF元建模框架的研究.pdf

所需积分/C币:10 2019-07-22 21:16:10 600KB .PDF

在MDA场景下,元模型是实现平台无关模型和平台相关模型转换的核心。提出通过元层模型和模型层模型的DownUp机制给出可复用的MOF元建模框架。元建模框架由MOF BootStrap模型自举,并且内置MOF Model,此框架可在任意多层元建模中复用。此外,给出了模型工程模型和模型迁移剪枝算法,并提出了采用模型工程统一对象空间实现模型实例复用的方法。此框架的研究对于指导具体建模工具的实现有重要意义。
计算机应用研究 2007年 加 startstate属性ε这种方式护展的特点是需要修改元模型昃型被编辑后,基于这个模型Up后的元樸型也将随之发生改 模型后进行扩展,所以这种方式又被称为重型扩展( Heavy-变,而基于修改前元模型实例化的模型元信息将会出现不 weight Extension 致,进而下一层模型的元信息也是不一致的,这就需要编辑后 (4)标记元模型,实例化 的模型在卬注册时执行一个模型迁移算法,我们把它称为 个标记表达了一个独立的信息块,它能被关联给任意数Down-Up的模型迁移同步剪枝算法。模型迁移剪枝算法的结 目的模型元索,一个模型元素能被关联许多标记。一个标记采果是给出实例化模型扩展关系中一致的模型。例如图1所示 用字符串名称—值对(Name-alme)的方式描述。具体模型处的模型,如果M2昃的 Attribute模型元素被删除,那么 Attribute 理时可以忽略或使用这些标记,这样可以提供给建模个灵活和Clas的聚合关系也将被删掉,通过执行模型迁移同步剪枝 的需求,在没有重定义元模型的情况下,提供了元樸型元索的算法,M1层的Name和 Client的Name的关系链将被修剪掉 动态扩展。 同时运行时模型M0的Cint对象不会有名字 cLient,这样保 上面四种方式是创建新的建模语言的主要方法,这四种方让了UML元建模和UML建模过程中模型的一致性。由于模 法还可以联合使用以进行模型扩展,如重型扩展+轻型扩隈簣型迁移同步剪枝算法在模型迁移过程中保让了元层模型和模 略、 Profile+标记策略等 型层模型的·致性,进而能够在元层和模型层间以统的、无 MOF2规范不直接支持Prle的机制,所以基于第一级建层次限制的和一致的式进行元建模。 模方式不能使用Pile机制(可以通过重型扩展建立 Profile 剪妓算法是个递归过程,它不断修剪下一层模型,直到没 元模型,如UML元模型,在新的模型中使用 Profile,如UML模有下一层模型为止,此算法在模型修改重新注册时被激活。剪 型),可以采用其他三种方式进行模型层的实例化 枝算法处理流程如下: 2.5模型层模型的Up (1)取出被修改模型的所有直接卜层模型,如果下层模型 元模型的Up过稈将模型昃樸型提升为元层模型,将模刑为空,转(4)。 层元素对象注册到统一对象空间。一个模型工程屮的不同元 (2)对每个下层模型,遍历模型的每个模型元素类型是 层模型和模型层模型都有着实例化和被措述的关系,统一对象否出现本层模型元素,如果没有出现,则删除下层模型元素及 空间保存模型工程中所有模型对象以及它们的实例化关系。 相关关系,转(1),否则转(3)。 统一对象名称空冋在模型对象维度屏蔽了模型元素名称, (3)判断此模型元素关系是否有修改或删除,如果有,则 给可复用元建模框架的 MOF Capabilities来的语义歧义和除下层模型元素相关关系,转(1);否则,如朱还有下层模 通过复用MOF的元对象设施 Capabilities构造尢限制元层的模 型,转(2),台则转(1)。 型。邇过模型扩展机Dwm一个模型,如果这个模型需要作 (4)退出。 为另一个模型的元模型,就需要模型的Up机制注册到相应的 下面是通过扩展 OCl( Object Constraint Language)实现 元模型层。如图5所示,在模型对象空间的纬度,所有元层或的模型剪枝算法 Context Modelproject 模型层的对象元素都是模型实例维,而所有的模型对象均注册 Operation pruning Model( modifiedModel MOF: Package) 到模型工程的统一对象空间。新建模型选择元模型及元模型 Iel elements: Sel(MOF: P k age)=SeIf. directed Dow nModels 对象均通过统一对象空间访问,而元层的对象约束来自于各层 if elements->is Empty() then return 模型实例维的相关约束。采用统一对象空间和模型实例空间 维使得元建模框架自身也是复用已有建模实例和相关模型的 select( not ocllsKindOf( MOF: Relationship))-> collect(e: MOF: Package I Capabilities if not modifiedModel-> include(e. element)ther e. eraseElement AndRelationship(e element 论一△日 elf. pruning Model(e) elements->select( ocllsKindOf( MOF: Relationship))-> MOF. Pack if not modificdModcl-> includc(c. clement) then ,rr;; Relal ionship (e. element self. pruning Model(e) 型日 图5模型对象到元层的注册原理 Context package Down过程是模型维的视角,是模型到模型的扩展;Up过 Operation erase Element AndRelationshipe: MOF:: Element 程是对象维的视角,是对象到对象的分类和集屮,是各种模型 self. erascAlIRelationship(self-> select(p MOF: Element I p e)->relationships 对象到统一对象空间的注册。 sclf. crascelemcnt( c) 3模型迁移同步剪枝算法 将该算法应用于图1的模型中,如果在M,层删除Ari 在 Down-UI的元建模框架屮,统一的元层和模型层结构bute模型元素,那么通过剪枝算法,有M1层巾Name属性将被 是框架可复用的基础。只有保持元层和模型层模型的一致性剪掉,M。层的对象名宁也会被剪掉。通过模型同步剪枝算法, 才能复用Down-Up元建模框架。但是,在Down过程产生的模保证了上下层模型的一致性。 下转第135页)

...展开详情
img

关注 私信 TA的资源

上传资源赚积分,得勋章
    最新推荐