`
yiliner
  • 浏览: 214860 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

GMF:基于Reference的连接

    博客分类:
  • GMF
XML 
阅读更多

GMF中的Link有两个,分别是基于Type的和基于Reference的。对于前者,在ecore模型中有一个类对应这个连接,创建一个连接即创建了该类的一个实例,试想,如果一个模型比较复杂,有很多连接时,这种方法要在模型中要为连接建立很多与业务无关的类,使得模型非常复杂;对于后者,没有必要为每个连接在ecore中建立一个类,而是设置该连接对应的Reference即可。下面用一个school的模型来说明基于Reference的连接的建立方法,这个模型非常简单,如下图(用gmf插件生成的对应school.ecore的school.ecore_diagram):一个学校里边有很多老师和学生,每个老师会指导多个学生,这里的指导关系是Teacher类的一个Reference,名字为tutoringStudents,我们打算在GMF编辑器中用Node来表示老师和学生,老师对学生的指导关系用Link来表示。

    该模型命名为school.ecore, 然后生成school.genmodel,再按照常规方法建立school.gmfgraph, school.gmftool.
    最后建立最关键的school.gmfmap,首先为mapping元素建立两个Top Node Reference,分别对应Teacher和School,然后建立代表老师指导学生关系的link mapping,其属性页中各项按照下图指定值:
   
    注意,Domain meta information中前三项都空着,只在最后一项中指定代表该连接的Reference即可。Validate无错后,生成school.gmfgen,在生成Diagram code,最后运行效果图如下:

      看一下保存semantic model的school文件: 

<?xml version="1.0" encoding="UTF-8"?>
<School:School xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:School="http://example.School">
  
<teachers name="ProfessorLi" tutoringStudents="//@students.0 //@students.1"/>
  
<students name="Tom"/>
  
<students name="Mary"/>
</School:School>
分享到:
评论

相关推荐

    gmf:Go Media框架

    转到FFmpeg绑定 安装 先决条件 当前的master分支支持从1.6开始的所有主要的Go版本。 编译/安装FFmpeg 构建最新版本的ffmpeg,可从获得有一个必需的选项,默认情况下处于禁用状态,您应该打开:-- --enable-shared ...

    gmf 1.7 最新版的gmf

    2. **图形编辑器生成**:基于定义的模型,GMF能自动生成图形编辑器的代码,包括图形的绘制、布局以及与模型数据的交互。 3. **图元工厂**:GMF提供图元工厂,用于创建和管理图形元素,包括形状、连接线等,这些元素...

    15 分钟学会 Eclipse GMF

    1. 模型(Model):存储数据的结构,基于Ecore定义。 2. 图形模型(Diagram Model):表示模型的可视化表示,包括形状、连接线等。 3. 节点模型(Node Model):图形模型中的具体元素,如形状。 4. 连接模型(Edge ...

    GPT 和 GMF:GMP 和 GPT 模型的 Matlab 代码的矢量化版本-matlab开发

    GMP 和 GPT 模型的 Matlab 代码的矢量化版本。... 测试示例(Matlab 代码): n = 86400; %% 转基因食品dmjd = 55055*ones(n,1); dlat = 0.6708665767*ones(n,1); dlon = -1.393397187*ones(n,... 抽动[gmfh,gmfw] = gmf

    GMF EMF

    GMF(Generic Modeling Framework)是Eclipse Modeling Framework (EMF)的一个扩展,它提供了一种通用的方法来构建基于模型的应用程序。GMF旨在简化图形用户界面(GUI)的开发,特别是那些涉及图表编辑和可视化任务...

    GMF实例解析(PDF版)

    ##### 升级法安装GMF:便捷与挑战并存 GMF作为Eclipse建模项目的一部分,其安装过程涉及多个组件(如EMF、GEF、QVT、JET、UML2、OCL等),手动安装不仅繁琐且易出错。考虑到GMF对Eclipse3.3及其以上版本的要求,...

    GMF数据表建模例子

    1. **GMF简介**:GMF是一种模型到模型(M2M)和模型到视图(M2V)的转换框架,它基于Eclipse Modeling Framework (EMF) 和 Graphical Editing Framework (GEF)。GMF简化了创建自定义图形编辑器的过程,通过生成代码...

    GMF教程.doc

    【GMF教程】GMF(Graphics Modeling Framework)是Eclipse平台下的一个图形建模框架,用于构建基于模型的图形编辑工具。本教程是基于英文教程的实践与翻译,旨在帮助读者理解并掌握如何使用GMF创建一个Mindmap编辑器...

    图形建模框架GMF综述

    GMF是基于EMF和GEF的,它在两者的基础上提供了更为高级的功能和服务,主要包括: - **模型驱动的开发**:GMF提供了一整套模型驱动的开发环境,允许开发者通过图形界面定制自己的领域模型。开发者可以定义模型中的...

    GMF Tutorial中文版

    教程基于GMF的2.0M4版本,随着GMF的持续发展,教程内容也会不断更新以涵盖最新的功能。有兴趣的读者可以从指定链接下载示例工程源码及相关内容。 GMF的系统需求包括Eclipse 3.3,但需要注意的是,为了使Eclipse正常...

    GMF实例解析.pdf

    GMF,全称是Graphical Modeling Framework,是Eclipse建模项目中的一个重要组成部分,它建立在GEF(Graphical Editor Framework)和EMF(Eclipse Modeling Framework)之上,为开发基于图形界面的编辑器提供了一种更...

    gmf-runtime-2.1.2.zip

    4. **交互性**:GMF提供了丰富的交互功能,如拖放、连接线、多选等,使用户可以方便地操作图形元素。 5. **可扩展性**:GMF设计灵活,允许开发者通过插件系统扩展其功能,适应各种特定需求。 6. **与Eclipse集成**...

    org.eclipse.gmf.rar

    《深入解析Eclipse GMF RAR技术》 在软件开发领域,Eclipse是一个广泛使用的集成开发环境(IDE),而GMF(Graphical Modeling Framework)则是Eclipse社区提供的一款强大的图形建模框架。本文将深入探讨GMF中的RAR...

    Eclipse插件 GMF

    GMF的核心理念是基于模型驱动的开发(Model Driven Development, MDD)。在这个框架下,开发者首先定义一个领域特定的语言(Domain Specific Language, DSL),然后利用这些DSL来创建模型,最后通过GMF将这些模型...

    行业分类-设备装置-基于GMF的可视化建模平台.zip

    《基于GMF的可视化建模平台》 在IT行业中,可视化建模是一种高效的设计和开发工具,它通过图形化的方式帮助开发者理解、设计和实现复杂的系统。本资料包聚焦于“行业分类-设备装置”,介绍了一个基于GMF(Graphical...

    GMF 开发文档

    **GMF (Graphical Modeling Framework)** 是一种基于Eclipse的框架,用于构建图形编辑器。它为开发人员提供了创建和定制图形用户界面(GUI)的功能,使得创建复杂的模型变得更加简单。 #### 二、GMF项目开发流程 #...

    一个简单的GMF实例

    3. **生成代码**:基于你的模型,GMF会自动生成编辑器的大部分代码,包括图形表示(RCP视图)、编辑操作以及数据模型到图形的映射。 4. **实现细节**:尽管GMF自动生成了大部分基础结构,但你可能还需要编写一些...

Global site tag (gtag.js) - Google Analytics