当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:15:00  来源:本站整理

操纵EMF举行元建模:生成具体、可重用的Java代码片段[Java编程]

赞助商链接



  本文“操纵EMF举行元建模:生成具体、可重用的Java代码片段[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

EMF 是 Eclipse 平台的主要部份,并且是一些相关技术和框架的底子,比方 Eclipse Visual Editor、SDO、XSD 和 UML — 此中的很多技术都被集成到 Rational® Application Developer 和 WebSphere® Business Modeler 等 IBM® 平台中.目前,EMF 已经吸取了很多 Java 技术特点,比方列举范例、注释和泛型.

在大大都文档和教程中,EMF 都被用于建模数据 和接口(比方 EMF 发行文档中的 Library 和 Books),而不用于建模行为.当然,还有一些针对数据对象生成的默许办法实现,但这些实现触及到模子元素之间的关系.并且,将 EMF 用作 “元模子” 的经过归档的示例非常少 — 除了 Eclipse Foundation 文章 “Modeling Rule-Based Systems with EMF”— 但是这个示例并没有展示若何扩大 Ecore 元模子.

最后,利用和扩大 EMF JET 模板的历程也没有被很好地举行归档.此外,JET Editor 项目近来已经迁移到另一个 Eclipse 项目(M2T)上.本文旨在澄清这些问题,并使您可以在 EMF 上下文中利用动态模板实现更多的功效.因此,本文假定您对 EMF 有基本的理解.

为什么要扩大 Ecore 元模子?

Ecore 毕竟是什么?

Eclipse Modeling Framework (EMF) 是 Eclipse 的一个建模框架.按照 Eclipse Foundation 的定义,核心 EMF 框架包含一个描写模子的元模子(Ecore)和模子的运行时支持,包含更改告诉、对默许 XMI 序列化的长期性支持和用于对 EMF 对象履行通例操作的反射 API(reflective API).换句话说,Ecore 定义核心模子的构造,而核心模子定义开辟人员用于保护利用程序数据的模子构造.

Ecore 元模子是一个强盛的工具,可用于计划模子驱动架构(Model-Driven Architecture,MDA),后者可以作为软件开辟的起点.普通情形下,我们定义利用程序范围内的对象(EClass 范例)、对象属性以及它们之间的关系.我们还利用 EOperation 模子元素定义属于这些对象的特定操作.默许情形下,EMF 将会为这些操作生成骨架 或办法签名,但是我们必须返回并实现这些操作,常常要反复地重新编写近似的逻辑.

但是,假如我们想在模子中指定某种肆意的实现行为该怎么办呢?一种办法是增添基于文本的注释(EAnnotation 范例),以建模对象并在代码生成期间注释模板中的这些注释.关于这种办法的超卓示例,可以查阅 Eclipse Foundation 文章 “Implementing Model Integrity in EMF with MDT OCL”.但是,正如这篇文章中所描写的,我们的目标不是考证模子元素,而是对实现本身举行建模,以使任何具体的模子可以重用这些元模子元素.为此,我们需求扩大 Ecore 元模子.

扩大了的元模子

本文附带了一个高度简化的用来扩大 Ecore 的编程式模子.它不是一个完好或联贯的元模子或框架;严峻来说,它是一个元素的原型调集,用于演示利用 EMF 对代码实现举行元建模的本领.图 1 显示了我们的扩大元模子示例 EcoreX 的快照,下面是每个元素的简短描写.

图 1. EcoreX 模子

EcoreX 元素

EPackageX 扩大 EPackage

这是 Ecore 元素 EPackage 的一个简单 “标志” 扩大,没有任何附加属性.这个元素是必须的,因为在默许情形下,元素 EPackage EMF 编辑器插件不答应将 EClass 的子类作为子元素增添(参阅下面的 EClassX).通过供应一个可扩大 EPackage 的模子元素,代码将会自动生成,从而答应将一个 EClassX 子元素增添到 EPackageX 中.


  以上是“操纵EMF举行元建模:生成具体、可重用的Java代码片段[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 操纵EMF举行元建模:生成具体、可重用的Java代码片段
  • 操纵EMF Query查询EMF模子
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .