【问题标题】:Can I use Eclipse-EMF's internal data structure?我可以使用 Eclipse-EMF 的内部数据结构吗?
【发布时间】:2011-09-23 05:07:29
【问题描述】:

在 EMF 中,用户可以绘制 UML 图,并且可以将 UML 模型转换为 Java 代码。据我所知,EMF 有自己的内部数据结构来捕获用户绘制的 UML 模型。我想做的是通过编码而不是通过绘图来制作 UML 模型,即通过使用 EMF 的内部数据结构表示 UML 元模型(类、包、属性等)。喜欢,

UmlClass myClass = new UmlClass();
UmlAttribute myAttr = new UmlAttribute();
myClass.addAttribute(myAttr);

这可能吗(即使是 EMF 也不行)?无论如何,我想使用一个完全反映 OMG 标准 UML 规范的健壮数据结构。

提前致谢。

【问题讨论】:

    标签: uml eclipse-emf


    【解决方案1】:

    EMF 是一个建模框架,旨在支持一般建模,而不仅仅是 UML。

    如果您特别关注 UML,那么确实有这样一个构建在 EMF 之上的实现。查看UML2

    【讨论】:

      【解决方案2】:

      没有完全反映 OMG 规范的类,但 EMF ECore 是模型的元模型。因此,您可以使用 EMF ECore 做您想做的事情。 http://www.eclipse.org/modeling/emf/docs/#overviews 有很多文档和一本好书。该链接有一张图片和该书的链接。

      一个例子:

      EcoreFactory ecoreFactory = EcoreFactory.eINSTANCE;
      EClass myClass = ecoreFactory.createEClass();
      myClass.setName("MyClass");
      EAttribute myAttr = ECoreFactory.createEAttribute();
      myAttr.setName("myAttr");
      myAttr.setEType(EcorePackage.Literals.ESTRING);
      myClass.getEStructuralFeatures().add(myAttr);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-11-21
        • 2021-11-04
        • 2015-11-01
        • 2022-01-10
        • 2020-11-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多