1

私が Scala で開発しているアプリケーションの一部は、EMF/UML モデルと、これらのモデルに対して定義された OCL 式を読み取って解析する必要があります。私の OCL 式は、これらの EMT/UML モデルに対して定義されたほとんどのクエリ式です。

私の質問:

1) EMF/UML モデルを読み取って解析するための API オプションは何ですか?

2) EMF/UML モデルで OCL 式 (クエリ) を解析および評価するための API オプションは何ですか。

4

1 に答える 1

1

EMF と UML を使い始めるには、少なくとも次の jar への依存関係が必要です。

  • org.eclipse.emf.common
  • org.eclipse.emf.ecore
  • org.eclipse.uml2.uml

次に、次のコードを使用して最初の EMF モデルをロードできます。

File file = new File("path")
ResourceSet resourceSet = new ResourceSetImpl();

// Register the various metamodels that will be used, here we are using UML
resourceSet.getPackageResgitry().put(UMLPackage.NS_URI, UMLPackage.eINSTANCE);

// Load the resource
URI uri = URI.createFileURI(file.getAbsolutePath());
Resource resource = resourceSet.getResource(uri, false);

// Iterate on the content of the whole resource
TreeIterator<EObject> iterator = resource.getAllContents();
while (iterator.hasNext()) {
    EObject eObject = iterator.next();
}

EObjects (EMF 基本要素) での OCL コードの解析と評価はもう少し複雑になります。詳細については、OCL のドキュメントと wiki を参照してください: https://wiki.eclipse.org/OCL#Example_Code

于 2015-04-30T07:46:19.227 に答える