0

EMF では、ユーザーは UML ダイアグラムを描画でき、その UML モデルを Java コードに変換できます。私の知る限り、EMF には、ユーザーが描画した UML モデルをキャプチャするための独自の内部データ構造があります。そして、私がやりたいことは、図面ではなくコーディングによって UML モデルを作成することです。つまり、UML メタモデル (クラス、パッケージ、属性など) を表す EMF の内部データ構造を使用することです。お気に入り、

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

これは可能ですか(EMFでも可能ですか)?とにかく、OMG の標準 UML 仕様を正確に反映する堅牢なデータ構造を使用したいと考えています。

前もって感謝します。

4

2 に答える 2

0

EMF は、UML だけでなく、モデリング全般をサポートするように設計されたモデリング フレームワークです。

特にUMLを求めている場合、EMFの上に構築されたそのような実装が実際にあります。UML2をチェックしてください。

于 2011-09-22T21:07:29.750 に答える
0

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);
于 2011-09-22T12:34:18.920 に答える