今日は、Kodougu のメタメタモデルについて考えていました。Kodougu はモデリングツールであると同時に、モデリング言語の設計を行うメタモデリングツールでもあります。
今、プロトタイプの開発を行っていますが、以下のようなメタメタモデルを考えています。
■ 補足
Mataelement のインスタンスの例を挙げると、クラスやユースケースです。
メタメタモデルというと、UML 2.0 の Infrastructure や、UML 2.0 をベースにした EMF(Eclipse Modeling Framework)を思い浮かべます。そういったものと比較すると、Kodougu のメタメタモデルはかなり低機能です(笑)。UML 2.0 の Infrastructure を理解するにも、EMF を使いこなすにもかなりの熟練を要求されるため、敷居が高いです。Kodougu ではできる限り単純なメタメタモデルを持たせることで、モデリング言語設計の敷居を下げたいと考えています。
# そうは言っても、メタメタとか言っている時点で十分敷居は高いですが。
それでも、メタメタモデルの段階でも継承とパッケージくらいは入れないと、使い物にならなさそうですね・・・。
うーん、悩ましい。