问题标签 [ecore]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
798 浏览

emf - EMF 比较两个模型

我想比较两个符合给定 ecore 元模型的模型,如下所示:

如果我运行此代码,我会收到错误Package with uri '/uri/of/the/package' not found,这是元模型的 URI。我尝试通过右键单击然后注册ecore模型Register EPackages,但没有成功。我在做什么错?`我如何注册包(我更喜欢静态但动态也可以)。

0 投票
1 回答
229 浏览

java - Ecore Modeling Project unavailable

I have been following these guides:

and after installing EcoreTools and EMF SDK I want to create an "Ecore Modeling Project". Unfortunately it is unavailable in the overview in file->new->other I only get "Ecore Tools Project", but that doesn't appear to be the same. I also tried the Eclipse Modeling Package, same problem there.

Am I missing something?

0 投票
0 回答
306 浏览

java - 在 EMF 中导入 AnyType 元素

我正在使用 Eclipse 建模框架 (EMF) 构建 XML 导入器。为此,我让 EMF 从我的 XSD 元模型生成一个 Ecore 模型,并从 Ecore 模型生成相应的 Java 类。现在,我正在阅读符合我的 XSD 架构的 XML 文件,但遇到了以下问题:为 XSD 架构中定义的所有类型创建对象实例效果很好,我得到了一个不错的 Java 对象(实例)层次结构,但我可以无法创建“AnyType”元素的实例。所以说我有以下 XML:

XMLFile并且Version是在 XSD 架构中定义的类型;我可以实例化生成的XMLFileJava 对象,它具有对Version我也可以实例化的对象的引用。它甚至有对 的引用AdditionalInformation,但是因为AdditionalInformation已经xs:anyType在 XSD 模式中声明了类型,所以AdditionalInformationXMLFile指向的引用EObject本身没有引用(所以我不能向它添加它的子节点),并且不能向EObject. 这是我设置这些引用的代码:

因此,当我注意到这不适用于 EObjects 时,我创建了一个AnyType对象(参见上面的代码),因为本文说这就是 AnyType 对象的用途。但是,我也不能设置AnyType对象的引用:

这会引发异常:

我很困惑。对象不AnyType应该这样做吗?允许任意数量的AnyType孩子?您知道如何将 XML anyType-hierarchies 转换为 EMF 生成的 Java 实例吗?

PS:我阅读https://www.eclipse.org/forums/index.php/t/536670/http://www.eclipse.org/modeling/emf/docs/presentations/EclipseCon/EclipseCon2006_EMF_XML_Binding.pdf徒劳无功。

0 投票
1 回答
199 浏览

java - ECore 反射和交叉引用

为了了解上下文,我目前正在研究 ecore 到 java 模型的转换。实际上,我正在阅读一些 ecore 文件并生成一个字符串,该字符串恰好是一个有效的 java 接口源代码。

例如,这是我的代码生成工作流程。

项目A.ecore:

定义一个 EClass 'A'

项目B.ecore:

定义一个从 'A' 继承的 EClass 'B',使用对 a.ecore 的交叉引用来访问它。

我首先从这些 ecore 生成 projectA.ecore 的接口:

现在我想为 projectB.ecore 做同样的事情并获得以下接口:

为此,我需要检测使用交叉引用访问的 A 和 EClass 并在 projectA.ecore 中进行一些分析,以生成有效的接口扩展、包导入...

我在 ecore 反射 API 中环顾四周,但没有找到一种清晰明了的方法。这可能吗?是的,怎么样?

编辑:技术细节

我正在使用这种代码加载ecore:

GenerateAlgebra 是专用于 .ecore 到 String 转换的类。从技术上讲,它是使用 Xtend 开发的(https://github.com/manuelleduc/ecore-oa/blob/master/fr.inria.diverse.ecorealgebragenerator/src/fr/inria/diverse/objectalgebragenerator/popup/actions/GenerateAlgebra.xtend)。

0 投票
1 回答
332 浏览

java - 在 EMF 中定义 EEList 类型属性时出错

在 Eclipse 中,我试图将一个列表添加到我的 EMF 模型中。在 .ecore 模型中:

  • 我在 EMF 中的模型中添加了一个新类“MyClass”
  • 然后给这个类添加一个属性“MyList”,设置这个属性的EType为EEList<>
  • 然后将列表元素的 dataType 设置为 EString。

但是,当我尝试打开该模型的 genmodel 时,会出现一条错误消息:“属性 'MyClass.MyList' 不是瞬态的,因此它必须具有可序列化的数据类型”。

我究竟做错了什么?

提前致谢。

0 投票
1 回答
62 浏览

eclipse - 在 xtext 的自动代码生成期间创建访问文件

我将一个 dsl (A) 翻译成另一个 dsl (B) 在 xtext 中创建。

A 的代码生成看起来像

错误是然后我调用URI.createPlatformResourceURI('transformed.wp')文件找不到。

如何访问文件“transformed.wp”。

这个想法是在生成代码后将 A 的部分 emf 模型复制到 B 的模型中。

0 投票
0 回答
34 浏览

eclipse - Eclipse 生态建模

想象一下,您在一家中型 IT 公司工作。在过去的几个月里,员工人数显着增加。因此,您的老板喜欢拥有公司流程的模型。因此,他为您分配了实现软件系统的任务,该系统使您能够对流程进行建模。在第一次分析中,您发现了以下约束:

  • 流程具有名称、状态并包含多个工作步骤或子流程。基本上,子流程与流程相同。

  • 状态可以具有以下值:计划、进行中、完成、失败。每个工作步骤都有一个持续时间、一个优先级(高、中、低),并且知道它的前任和后继。

  • 此外,每个工作步骤都可以有多人负责该步骤。

  • 负责人可分为内部员工和外部员工。所有员工都有姓名、身份证和电子邮件地址。除此之外,内部员工也有房间号。

  • 因为您想改进整个工作流程,所以您假设每个工作步骤都属于一个流程或子流程。

  • 每个流程和子流程都能够计算其持续时间。

  • 此外,每个子过程或过程都有一个或多个结果。

任务: 将给定信息建模成类图。这样做,也尊重信息隐藏的原则。

我已经这样定义了我的建模。我想知道人与工作之间会有什么样的关系(组合。聚合或关联)?我将如何以正确的方式做出决定?

在此处输入图像描述

0 投票
1 回答
273 浏览

bpmn - 简单的 BPMN 生态核心元模型

我正在尝试通过简化由 OMG 规范构建的模型来构建自己的简单 BPMN ecore 元模型,而元素之间的依赖关系几乎没有变化。

这是我自己的元模型:在此处输入图像描述

请您给我任何指导以确保我的元模型是正确的吗?

0 投票
1 回答
344 浏览

eclipse - 在 Eclipse DSL 工具中创建新的 Xtext 项目会导致开箱即用的错误

我已经下载了 Eclipse DSL Tools,Neon.2 版本。我创建了新的 Xtext 项目。

新的 Xtext 项目

我单击完成,我的工作区中有一堆项目:

在此处输入图像描述

但是,我对 GenerateL.mwe2 文件有一个开箱即用的错误:

在此处输入图像描述

错误:

文件中也有错误build.properties说:

这是文件:

如何解决这些错误?

0 投票
1 回答
37 浏览

emf - 在示例反射编辑器中加载模型时出错

我可以在 .model 文件中打开我的 .model 文件Exeed Editor。但是当我想打开它时,Sample Reflective Editor它有以下错误。我应该怎么办? 在此处输入图像描述