XMI にシリアル化された UML ダイアグラムを読み取る必要があります。UML XMI を便利に読み取ることができるライブラリはありますか? モデル内のクラス/パッケージ/メソッド/属性テストなどを反復処理するメソッドがいくつかあることを意味します。
EMF を試しましたが、UML を含む XMI をインポートする方法を示すチュートリアルが見つかりません。NSUML/NSMDFも見つけましたが、ドキュメントへのリンクが壊れています。
あなたが望むものは存在しないと思います。私が知っている XMI をインポートするすべてのツール (私の XMI 変換サービスを含む: http://modeling-languages.com/content/xmi2-tool-exching-uml-models-among-case-tools ) は、XMI ファイル全体を解析して動作します。対応する UML モデルをメイン メモリに作成します。次に、モデルにクエリを実行して UML 要素にアクセスできます。
XMI モデルを反復するには、XML ライブラリを使用して、関心のある XMI ファイルの部分を簡単に選択できます。
Transforming XMI to HTML を見てください。これは、XSLT と XMI を使い始めるのに役立ちます。
読み取ろうとしている UML のバージョンによって異なります。見つけた NSUML パッケージは、UML 1.3 でのみ動作します。NetBeans メタデータ リポジトリ( MDR) はハンドル UML 1.4 および UML 1.5 を読み取ります。これはスタンドアロン ライブラリ (ArgoUML が使用するもの) として使用できるため、NetBeans は必要ありません。UML 2.x の場合、Eclipse EMF & UML2 ライブラリーが唯一の選択肢だと思います。EMF は依存関係ですが、実際に必要なのは UML2 のものです。MDR や NetBeans と同様に、Eclipse は必要ありません。ArgoUML は、UML 2.x のサポートに Eclipse ライブラリを使用します。
ArgoUMLは、XMI をその UML モデルにインポートし、Java、C++、C#、PHP4、および PHP5 用のコードを生成できます。
EMF を使用して XMI/UML を読み取るには、UML の ECore モデルを検索、生成、または記述する必要があります。それらのいずれかを取得したら、UML を操作するためのメモリ内クラスを生成し、他の EMF インフラストラクチャを活用できます。
しかし、より簡単な方法は、Eclipse MDT プロジェクトによって開発された UML2 インフラストラクチャーを使用することかもしれません。(私の推測では、内部で EMF を使用しており、UML2 の ECore モデルがどこかにあると思います。)
あなたが探しているのは、メタデータを記述するための MOF とメタデータを転送するための XMI を実装する JMI (「Java メタデータ インターフェイス」) の Java 仕様です。
残念ながら、私は現在 JMI の実装を自分で探していますが、suns JMI ページは少し古くなっているようです。バージョン 6 では、netbeans によるオープン ソースの実装が削除されたようです。