EMF:Ecore模型

简介:

MDSF:特定领域建模 DSM(Domain Specific)介绍中提到过Ecore是EMF的元元模型,要使用Eclipse来做DSL,则必须先大致了解一下Ecore,本篇将对Ecore进行概要的描述。

简单的Ecore元模型子集

Ecore本身是一个简单的小的UML子集

  • EClass:领域类,它有名称,一个或多个属性,一个或多个引用
  • EAttribute:领域类的属性,属性有一个名称和类型
  • EReference:在领域类之间建立的关联,有一个名称,一个布尔值标识是否包含,还有一个引用指向的目标类
  • EDataType:属性类型,例如int或者对象类型

Ecore模型示例

  • 类图

  • 对应的Ecore模型 

Ecore模型类继承关系

  • EObject
    EMF的每个模型对象EObject都是Notifier,它维护了一个Adapter列表,可以把Adapter作为监听器加入到模型的这个列表中。org.eclipse.emf.common.notify.Adapter接口由EditPart实现。

Ecore structural features

 


 本文转自 jingen_zhou 51CTO博客,原文链接:http://blog.51cto.com/zhoujg/517029,如需转载请自行联系原作者





相关文章
|
存储 人工智能 机器人
ChatGPT:竟然精通ENVI IDL、ArcGIS等软件!
ChatGPT:竟然精通ENVI IDL、ArcGIS等软件!
136 0
【Word】获取SCI文献中高清EMF格式图片的方法
【Word】获取SCI文献中高清EMF格式图片的方法
241 0
|
文件存储
2.将Blender模型导入到Creator中
2.将Blender模型导入到Creator中
480 0
|
Java Android开发
EMF介绍系列(八、模型的验证)
在ecore模型里可以详细的定义各种类型、属性和方法,但对于像“每个类别里至少有两种产品”这样的限制就无能为力了。为此,EMF提供了一套验证框架(Validator Framework)用于解决这个问题,在ecore文件里特定的方法可以被识别为验证方法并生成用于验证的代码。
1538 0
|
Android开发 uml
EMF介绍系列(一、EMF与MDA)
接触Eclipse一段时间的朋友应该都听说过EMF这个名字,EMF是Eclipse Modeling Framework的缩写,它是Eclipse的一个重要的子项目,如果翻译成中文就是“Eclipse建模框架”。
1637 0
|
Java Android开发 数据格式
[Eclipse]GEF入门系列(八、使用EMF构造GEF的模型)
GEF的设计没有对模型部分做任何限制,也就是说,我们可以任意构造自己的模型,唯一须要保证的就是模型具有某种消息机制,以便在发生变化时能够通 知GEF(通过EditPart)。在以前的几个例子里,我们都是利用java.beans包中的PropertyChangeSupport和 PropertyChangeListener来实现消息机制的,这里将介绍一下如何让GEF利用EMF构造的模型(下载例子,可编辑.emfsubject文件,请对比之前功能相同的非EMF例子),假设你对EMF是什么已经有所了解。
1537 0
|
Java 测试技术
EMF介绍系列(三、定制应用程序的基本方法)
借助EMF的帮助,不用亲自编写一行代码就可以生成一个完整的应用程序,你是不是对EMF有些感兴趣了?不过生成的应用程序看起来都像是从同一个模子里出来的,即 一个多页编辑器,一个大纲视图和属性页,这当然无法满足所有人的需求。
1305 0
EMF+GEF的属性页问题
最近有朋友问使用EMF作为GEF模型时,如何在选中editpart时在属性页里显示属性的问题。是的,因为GEF是这样判断是否填充属性 页的: public Object getAdapter(Class key) {     if (IPropertySource.
1344 0
EMF介绍系列(六、自定义命令)
EMF生成的应用程序里,用户的发出的每一条命令都是可以撤销(Undo)的,例如修改了产品的价格,按一下撤销按钮就能恢复原来的价格,当然还可 以通过重做(Redo)再回到新的价格。为了实现这个功能,应用程序里维护了一个用于存放命令的类似栈的数据结构(CommandStack),每一条执 行过的命令都被存放在那里,需要撤销时取出最近一条命令进行撤销。
1423 0