一种基于EMF模型的在GEF中判断创建连接线有效性的方法

简介: 结合目前比较受欢迎的 EMF(Eclipse Modeling Framework)和 GEF(Graphical Editing Framework)技术,提出了一种在图形化开发中创建连接线时普遍适用的验证方法. 最后给出了一个创建 连接线时动态 Schema 验证的例子,并根据 Schema 的定义列出创建连接线的真值表。针对该真值表的每 项进行验证,保证不符合 Schema 定义规则的模型对应的图形之间不能创建连接线,降低了 Schema 验证 和修改的复杂性。

一种基于 EMF 模型的在 GEF 中判断创建连接线有效性的方法

在 Java 中进行图形化工具的开发传统的方法是直接使用 AWT 或者 Swing,这种方法在处理图形化开 发的细节上(图形的创建/删除、放大/缩小、拖放和撤销等)一般比较复杂;图形化设计和后台模型的对 应关系都需要开发者自己定义,没有统一的标准,这样很难进行维护;AWT 或者 Swing 开发的图形界面 跟 Windows 界面的风格不一致,让一直使用 Windows 的用户很难接受。 EMF 和 GEF 技术作为 Eclipse 工程的一部分,分别用来进行模型的代码生成和图形化工具的开发。其中 GEF 简化了对图形的处理,开 发人员不必把主要精力放在图形的处理上;提供了一个基于 MVC(Model-View-Controller)结构的图形 化开发框架,有效地维持了图形和模型之间的对应关系;基于SWT,图形的风格跟Windows的一样。因此, 采用 GEF 进行图形化开发可以提高开发效率的同时保证了可扩展性。

EMF 和 GEF 介绍

EMF

EMF 是一套 Java 的框架,可以用于创建基于结构化模型的工具和其他的应用程序。对于引入的面向 对象的模型,EMF 可以帮助你快速地将你的模型转换为高效、正确和容易定制的 Java 代码。 EMF 使用 的模型定义的标准格式是 XMI(XML Metadata Interchange),有四种方式可以将你自己创建的模型转换 为XMI格式:

使用文本或 XML 编辑器直接创建 XMI 文档;

将使用 Rational Rose 等建模工具创建的模型导出,生成 XMI 文档;

使用带有模型特征注释的 Java 接口;

使用 XML Schema 来描述模型的格式。

GEF

GEF 可以方便开发者从一个现成的模型来创建一个功能丰富的图形化编辑器,提供了一个基本框架来 构建多种应用,比如说:状态图、GUI 编辑器、类图编辑器和状态机等。 GEF 包含了两个插件: org.eclipse.draw2d 和org.eclipse.gef。 其中 org.eclipse.draw2d 为显示的图形提供了布局和描述 的工具集;org.eclipse.gef 使用了 MVC 的架构,提供了控制器(比如: EditPart )来操作各个模型和 视图。

GEF工作原理

GEF 采用的是 MVC 架构,其架构图如图1所示。GEF一般和 EMF 结合使用,EMF 负责生成模型。MVC 的各个部分都是树状结构的,并且是一一对应关系。其中 EditPart 充当控制器的角色,里面可以使用各 种 EditPolicy,而 EditPolicy 的具体实现有时需要调用 Command 工具集类;而通过 draw2d 绘制的图 形充当视图的角色。 具体的工作流程为:

EditPartFactory 会针对每个模型创建一个对应的EditPart;

在每个 EditPart 内部会创建与模型对应的视图,即显示的图形;

当模型的属性改变后,会通知 EditPart 它的属性变化情况;

EditPart 会根据模型属性的变化更新视图的显示;

时间: 2024-09-27 07:11:00

一种基于EMF模型的在GEF中判断创建连接线有效性的方法的相关文章

LogMinner:一种基于EMF和STAF的日志分析工具

简介: 大型软件在运行过程中会产生大量的各种各样的日志信息,测试人员常常要分析大量的冗长的 日志,而这些日志又往往分布在不同位置的不同平台的主机的不同目录中,使得测试中的日志分析工作繁 复.乏味,为了方便测试人员快速分析日志,本文的作者开发了一个基于EMF和STAF技术的日志分析工具 ――LogMinner. 1. 概述 分布式异构软件系统的测试人员常常要分析大量的日志,例如安装日志,数据库日志等等,这些日志 分布在不同位置的不同操作系统的主机上,测试人员为了分析这些日志需要奔波于实验室各台机器

基于反射机制的EMF模型比较

简介:本文基于 EMF(Eclipse Modeling Framework)模型反射机制,实现 了一种 EMF 模型对象比较的方法,并展示如何使用该算法得出对象的匹配程度 .首先设定对象的待比较字段列表.对其中的每个字段,获取并比较对象的字段 值.在比较的过程中,该算法将组合数据类型(如自定义类.列表)的比较分解 为其子数据类型的比较.模型比较的结果是一个差异项列表,作为后续应用的基 础,可以被用于版本控制.模型导入 / 导出等场景中. EMF 和 Ecore 简介 Eclipse Model

LSF-SCNN:一种基于CNN的短文本表达模型及相似度计算的全新优化模型

本篇文章是我在读期间,对自然语言处理中的文本相似度问题研究取得的一点小成果.如果你对自然语言处理 (natural language processing, NLP) 和卷积神经网络(convolutional neural network, CNN)有一定的了解,可以直接看摘要和LSF-SCNN创新与技术实现部分.如果能启发灵感,应用于更多的现实场景中带来效果提升,那才是这篇文章闪光的时刻.如果你没有接触过NLP和CNN,也不在担心,可以从头到尾听我娓娓道来.有任何问题,欢迎交流. 1. 摘要

一种基于MapReduce的并行聚类模型

一种基于MapReduce的并行聚类模型 顾瑞春  王静宇 在对海量数据进行聚类的过程中,传统的串行模式局限性越来越明显,难以在有效时间内得出满意结果的问题,本文提出一种基于Hadoop 平台下MapReduce框架的并行聚类模型.理论和实验结果证明该模型具有接近线速的加速比,针对海量数据具有较高效率. 一种基于MapReduce的并行聚类模型

一种基于云平台的下一代互联网新型迁移模型

一种基于云平台的下一代互联网新型迁移模型 黄灿灿  朱永庆 分析现有接入网络在向IPv6迁移过程中所遇到的各种问题,设计一种新型的基于云平台的下一代互联网迁移模型.该模型通过在城域网边缘部署云计算平台给用户提供虚拟双栈主机,从根本上解决现有接入网络中海量设备以及千万级CPE改造升级所产生的问题,同时,优化了城域网P2P流量模型,极大地减缓了接入网压力. 一种基于云平台的下一代互联网新型迁移模型

使用EMF Query查询EMF模型

EMF 是 Eclipse 组织推出的建模框架.它能够帮助我们将模型(UML, XSD等)转换成为健壮且功能丰富的Java 代码.通过使用 EMF,我们编写的程序能免费的获得一个健壮的模型层,它通常比我们自己手工编写的模型层更为健壮.事实上,有很多商业产品都使用了 EMF 来作为其模型层.由于 EMF 的广泛使用,Eclipse 组织为其推出了众多的周边模块. 1 介绍 由于EMF(全称Eclipse Modeling Framework)在Java阵营中的广泛使用,用户迫切的需要更多基于EMF

访问XML数据的三中基于树模型||基于游标||流式API比较

xml|比较|访问|数据|游标 无处不在的 XML 除了可以表示结构化和半结构化的数据之外,XML 还有许多其他特性,使其成为一种被广泛采用的数据表示格式.XML 是可扩展的,与平台无关的,并且由于其完全采用 Unicode 而支持国际化.XML 是基于文本的格式,因此,用户可以根据需要使用标准的文本编辑工具读取和编辑 XML 文档. XML 的可扩展性表现在多个方面.首先,与 HTML 不同,XML 没有固定的词汇表.相反,用户可以使用 XML 定义特定的应用程序或行业专用的词汇表.其次,与使

基于RBAC模型的权限管理系统的设计和实现

摘要:提出了基于RBAC模型的权限管理系统的设计和实现方案.介绍了采用的J2EE架构的多层体系结构设计,阐述了基于角色的访问控制RBAC模型的设计思想,并讨论了权限管理系统的核心面向对象设计模型,以及权限访问.权限控制和权限存储机制等关键技术. 关键词:权限管理系统:角色:访问控制:RBAC模型:J2EE:LDAP 0 引言 管理信息系统是一个复杂的人机交互系统,其中每个具体环节都可能受到安全威胁.构建强健的权限管理系统,保证管理信息系统的安全性是十分重要的.权限管理系统是管理信息系统中可代码重

基于DOM模型的JAXP解析XML

对于XML解析通常分为两种: 1.DOM解析(Document Object Model,文档对象模型),该方式是W3C 组织推荐的处理 XML 的一种方式. 2.另一种是SAX(Simple API for XML). 当然IBM公司后面退出了JAXB,基于JavaBean的XML解析方式,不过本文描述的是DOM模型解析原理以及使用Java内置的API(JAXP---Java API for XML Processing)通过DOM模型来解析XML,因为JAXP作为JavaEE规范中的一种技术