我想做双向Model2Model转换。两种型号都是基于EMF / eCore的。实际上我更希望一个模型是另一个可编辑的视图。
我有什么选择? 可以使用哪些工具和转换语言以及它们的限制是什么?
答案 0 :(得分:2)
M2M是最难的。行业实力工具很少见,很多学术界的东西。如果你已经开始使用M2M语言,请查看ATL,它也应该支持ecore。否则你可以看一下Xtend,它是为模型到文本而制作的,但你可以滥用它,它应该比普通的java更舒服。如果你的研究在这里看看基于Scala的转换
答案 1 :(得分:2)
有比EMF更多的转换工具,它有点疯狂......
对于元模型到元模型转换,模型不是很相似:
如果元模型非常相似,你只需要调整一些东西,那么有针对这种类型的迁移/更新的工具:
您也可以使用EMF Java API直接操作元模型和模型。
我要补充一点,如果你正在做任何真正的EMF工作,你需要阅读EMF: Eclipse Modeling Framework。它也可以在Safari中找到。我强烈推荐Safari,每月39美元,你几乎可以获得所有可以使用的开发电子书。
答案 2 :(得分:2)
如果你坚持做双向M2M转换(所谓的Bxs),那么就知道有一个活跃的研究人员社区更新了wiki:http://bx-community.wikidot.com。 如果您访问它,您会发现它们列出了一堆适合Bx转换的工具http://bx-community.wikidot.com/relatedtools。
我过去使用过ECHO,它提供了基于KodKod约束求解器的QVT-R实现。
绝对值得一试。
答案 3 :(得分:0)
由于您特别要求进行双向模型转换,我必须说您没有选择权。为了使它成为claer,添加到你从Ed Willink获得的答案,现有的M2M转换语言(AFAIK)都不支持双向模型转换。 如果您仍然对此感兴趣,那么QVTr和QVTc执行引擎的工作开始变得很有希望:QVTd Project。