最近は、Kodougu のモデリング言語設計機能の、多重度が多のメタ属性に関する実装を行っています。ちょっとわかりにくいですが、UML のクラス図に登場する属性や操作を実現するための構造を作っているという感じです。
スクリーンショット(単なる画像です。)
なぜか、属性が中央寄せになってる! orz
こういうのは、普通のモデリング言語として実装する場合は簡単なのですが、メタモデリング言語として実装しようと思うと、いろいろと難しくなります。主に表記の自由度に関する難しさで、メタモデル上は多重度多のメタ属性として表現できても、パッケージに含まれるクラスや、クラスに含まれる属性や操作のように、メタモデル的には似たような構造でも表記はまったく異なる場合があります。モデリング言語設計機能の開発には、極力このような自由度を保持しつつ、実装が複雑にならないよう気をつけて実装しなくてはなりません。
・・・愚痴モードですが。(^^;
再来週くらいにはこの実装をアップロードしたいところですが・・・。