快速业务通道

使用EMF实现模型驱动开发,第1部分:创建UML模型并生成代码 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18

为定义关联,我们可以选中关联按钮,然后单击关 联的源( Forum )和目标( Member )。这样将打开关联属性设置对话框。在其中将名 字设置为 members ,确保仅仅选择了 changeable 和 containment,然后将上限设为 -1 。在第二个 Association End 选项卡中,取消选中的 Navigable,然后单击 Ok。对 Forum 和 Topic 也执行相同的操作,属性名称从 members 改为 topics 。取消选中的 navigable,从而创建一个无方向的关联,但我们想让其他属性都保持为双向。

按 照下表所示完成关联设置:

目标 关联 名称 特性 范围
Member Topic 1st Association topicsCreated changeable 0 到 1
2nd Association creator changeable 0 到 1
Topic Post 1st Association posts Containment, changeable 0 到 - 1
2nd Association topic changeable 0 到 1
Member Post 1st Association posts changeable 0 到 - 1
2nd Association author changeable 0 到 1

最后,我们要定义一个枚举类型,用于表示 topic 有多少 不同的类型。创建一个新的枚举类型,名字叫做 TopicCategory 。Literal 中加入以下 的内容:

ANNOUNCEMENT , value = 0

GUEST_BOOK , value = 1

DISCUSSION , value = 2

然后,为 Topic 定义一个新属性,叫做 category ,类型为 TopicCategory ,changeable,范围 0-1。如果您愿意的话,可以在 属性标签上对默认值进行修改,但我们将接受 ANNOUNCEMENT 的默认值。

图 2. 完成后的 UML 类模型

一旦 您完成了图 2 所示的 UML 类图,下一步就是创建一个 EMF 模型。为此,需要先创建一 个新的 EMF 项目( File > New > Project... > Eclipse Modeling Framework > EMF Project),并用 com.ibm.example.forum 作为该项目的名称(这 是插件名称的基础,因此我们遵从 Eclipse 插件的命名规范)。在下一个页面上,选择 Load from an EMF core model,然后单击 Next。从文件系统中加载 ecore 文件,它将 自动填充 Generator 的模型名。在最后一个页面上,单击包旁边的复选框,然后单击 Finish。这样就创建好了 EMF 模型,它的名字叫做 forum.genmodel。您可以从 使用生 成的 EMF 模型一节中了解到这个模型是什么,以及如何使用它。

使用EMF实现模型驱动开发,第1部分:创建UML模型并生成代码(3)

时间:2011-03-26 IBM Adrian Powell

用 XML Schema

创建 EMF 模型 XML Schema(XSD)的表现能力不如 UML 或带注释 的 Java 代码那么强大,例如,它不能表达出双向引用的关联。但是由于默认的的序列化 方法要使用到您的方案,因此 XSD 对定制序列化来说是最快的方法。如果您希望为模型 生成非常详细的 XML/XMI,那么 XSD 就是必然的选择。

清单 1. forum.xsd 的片 段

<xsd:simpleType name="TopicCategory">    <xsd:restriction base="xsd:NCName">    <xsd:enumeration  value=&

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号