2011-09-16 12 views
0

EMFでは、ユーザーはUML図を描くことができ、UMLモデルをJavaコードに変換することができます。私の知る限り、EMFには、UMLモデルのユーザー描画をキャプチャする独自の内部データ構造があります。そして、私がしたいのは、UMLモデルを、図面ではなく、UMLメタモデル(クラス、パッケージ、属性など)を表すEMFの内部データ構造を使用してコード化することです。同様に、Eclipse-EMFの内部データ構造を使用できますか?

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

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

ありがとうございます。

答えて

0

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

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

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); 
関連する問題