问题标签 [emf-compare]

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 投票
0 回答
115 浏览

eclipse - 比较 UML 模型时,EMF 比较工具无法识别“nestedClassifier”

我们尝试使用 Eclipse 中的 EMF 比较工具来比较以下 UML 模型:

通过遵循 EMF 比较文档: http: //www.eclipse.org/emf/compare/documentation/latest/developer/developer-guide.html#Comparison_Scope 我们为 UML 比较编写了以下类:

在课堂中,我们两次加载了相同的 UML 模型,因此,比较的两个模型完全相同。但是,输出结果表明两种模型之间存在一些差异:

预期的输出应该表明两个 UML 模型之间没有差异。似乎 EMF 比较不支持“nestedClassifier”比较。有什么方法可以用来改进我们的 EMF 比较类来解决这个问题?

0 投票
3 回答
798 浏览

emf - EMF 比较两个模型

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

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

0 投票
1 回答
157 浏览

java - 在结构上相同的对象上使用 EMF 比较时如何获得正确的差异,这些对象根据 == 不同?

下面的跟进

假设我有这个简单的模型(Xcore 语法):

我现在有三个 A,创建如下:

当我尝试像这样比较它们时:

我期望在B__FOOEAttribute 上获得一个属性更改,但是对于A__BS. 我认为这是因为 EMF 如何处理平等,而 A 和 B 在技术上是不同的。

我如何实现我得到“正确”的差异?

跟进 1

我在一个新的工作区中重新创建了这个示例,但是我向 A 和 B 类型添加了一个 UUID(就像我的“真实”模型一样),这可以按预期工作。现在要找出为什么我的“真实”模型不...

0 投票
1 回答
98 浏览

java - EMF 以编程方式比较 uml 文件的本地历史记录

我正在尝试将 uml 文件与其本地历史进行比较。是否可以以编程方式进行?

0 投票
1 回答
68 浏览

java - 检索由 EMF 比较计算的 ADD Diff 中的“值匹配”

我对 EMF 相当陌生,最近开始使用 EMF 比较来计算两个模型之间的差异。目前,这些差异只是简单地打印到控制台,我尝试从中检索所有有用的信息。

当我打印一个 ADD Diff 对应于例如添加 aneAttribute时,它看起来像这样:

我要检索的是MatchSpec与我的 value属性匹配的ReferenceChangeSpec. 但是,我似乎无法在ReferenceChangeSpec文档中找到相应的 getter。我曾尝试查看 Diffs 的 GitHub 代码,尤其是Diff.toString(),但它并没有让我更进一步,这就是我寻求您帮助的原因。

0 投票
0 回答
40 浏览

java - 启动 EMF 比较比较时违反加载程序约束(以及用于模型比较的适当工具。)

我想对几个主题有所了解:“EMF 比较”“模型到模型比较”

我试图实现两个 XMI 模型之间的比较,它们彼此不同(i)第一个是输出模型,它是我在输入元模型的实例上运行的转换的结果,(ii)第二个是一个实例(符合输出元模型),我创建它以表示转换后正确的预期输出形式应该是什么(又名预言模型)。

我尝试使用“EMF 比较”来实现多个不同的输出模型(我在对多个不同的输入模型运行转换后得到)和 oracle 的“正确”模型之间的比较,目的是验证我提出的转换。

但是,每当我尝试运行“与 -> 相互比较”时,我都会收到以下错误消息并且没有结果:

我试图删除 /.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi 并重新启动我的工作区。然而,问题持续存在。

而且我还验证了没有冲突的 Guava 版本(实际上我没有安装 guava,所以我尝试安装它,但没有解决问题),我还尝试安装 Orbit 插件,因为它被推荐给我它也没有帮助,因为同样的错误仍然存​​在。我的问题是:

(i) 根据我的描述,使用 EMF 比较是否适合我的要求?如上所述,我需要将每个输出模型与相同的 oracle 模型进行比较,并得到一个分数或其他东西来决定转换是否给出了正确的输出。(ii) 如果是,是什么导致了这个问题,我该如何解决?(iii) 如果不是,什么是合适的工具或插件来实现我的需要?

另一个可能有点超出问题范围的问题是: (iv)我看过将输出模型与预言机进行比较并将这些结果分类为超空间和超车道(误报、误报等)的作品),之后,他们计算他们的方法的精度和召回率。最终,基于此,他们将评估他们提出的转换的正确性。但是,我找不到关于如何自己实现这一目标的适当文档(以学术实验的方式)。谁能向我提供有关如何进行适当比较并评估我的转换有效性的指导或文档?

先感谢您。问候。