今日は、Kodougu のメタメタモデルについて考えていました。Kodougu はモデリングツールであると同時に、モデリング言語の設計を行うメタモデリングツールでもあります。

今、プロトタイプの開発を行っていますが、以下のようなメタメタモデルを考えています。

1167823889_20070103.png

■ 補足
Mataelement のインスタンスの例を挙げると、クラスやユースケースです。

メタメタモデルというと、UML 2.0 の Infrastructure や、UML 2.0 をベースにした EMF(Eclipse Modeling Framework)を思い浮かべます。そういったものと比較すると、Kodougu のメタメタモデルはかなり低機能です(笑)。UML 2.0 の Infrastructure を理解するにも、EMF を使いこなすにもかなりの熟練を要求されるため、敷居が高いです。Kodougu ではできる限り単純なメタメタモデルを持たせることで、モデリング言語設計の敷居を下げたいと考えています。
# そうは言っても、メタメタとか言っている時点で十分敷居は高いですが。

それでも、メタメタモデルの段階でも継承とパッケージくらいは入れないと、使い物にならなさそうですね・・・。

うーん、悩ましい。

Posted by あかさた
Wink というソフトを使って、Kodougu の動作を Flash 形式動画にしてみました。以下を参照してみてください。

最新の Kodougu の動画

キャプチャの速度が追いついていないため、かなりかくかくとした動きに見えると思いますが、実際にはかなり滑らかに動作します。もっとも、要素を動かしても線がついてきていないのは、ご愛嬌ということで。(^^;

クライアントは JavaScript、サーバーは Ruby on Rails です。心配だったクライアントのパフォーマンスはそこそこいけそうなので、ホッとしています。

■ 参考
Wink
http://www.debugmode.com/wink/

Posted by あかさた
2006年度下期未踏ソフトウェア創造事業キックオフミーティングで私が発表した内容をさっくりとまとめました。PDF が好きではないので、PPT を PNG 変換した画像をそのままアップロードするという暴挙を行っています。あしからず。(^^;

■ 発表の概要とイントロダクション
表紙
発表の概要
イントロダクション
自己紹介
Kodouguとは?

■ Kodougu を開発する背景
表紙
ポジショニングマップ
Web であることの意味
モデルはどこに?
モデリングの実際
まとめ

補足しますと、ここではなぜ Kodougu を開発するのか説明しています。Web で動作するモデリング言語のシンタックスやセマンティクスを持ったモデリングツールが存在しないこと、モデル情報が Web から切り離されてしまっていること、(UML のような)特定の専用言語だけではシステム開発におけるモデリングを満たせないことを説明しています。

■ Kodougu とは?
表紙
あらためて Kodougu とは?
モデリング機能とは?
モデリング言語設計とは?
ノーテーションとセマンティクス
シンタックス
ストラクチャ
Kodougu のアーキテクチャ
Kodougu のロードマップ
本プロジェクトの成果物
質疑応答

補足しますと、ここでは Kodougu はどのようなものか説明しています。少しわかりにくいですけど。Kodougu には、以下のような特徴があることを説明しています。
・ trac のような Web アプリに組み込める
(当然、Web なのでコラボレーション機能ありです。チャット感覚でモデリングできるようにします。)
・ モデリング言語設計機能がある。
モデリング言語の以下を設計することができます。
  ノーテーション
  セマンティクス
  シンタックス
  ストラクチャ
・ クライアントは JavaScript、サーバは Ruby on Rails で構成されている
(私の趣味全開とか言わないように。^^;)
・ 来年から順次公開していく予定

■ いいわけ(^^;
手抜き・・・をしたつもりはないのですが、ほかの人と比べると結果的にはかなり手抜きっぽく見えるプレゼンになってしまいました。orz
きれいな資料を作れるようになりたいなぁ・・・。

あと、フィードバック歓迎です。(^^/~~

Posted by あかさた
昨日は、未踏のキックオフミーティングに行ってきました。私も質疑応答含めて 30 分ほどプレゼンをしました。

発表者を含めて参加者は 30 人位でした。皆さんレベルが高いしプレゼンはうまいし、ちょっと場違いなところに来たかも。(苦笑)プレゼンで気になったのは、やはり YARV と葵でしょうか。メジャーですからね。

うわさでは、キックオフミーティングは PM から辛口のコメントがあると聞いていたのですが、それほどじゃなかったような気がします。

2ch に千葉 PM が採択した案件について以下のようなことが書かれていました。
ちょっと堅実過ぎて夢を感じない。まあ、間違い無く動くものはできそうだが。(2ch 「【文句言う人】未踏ソフトウェアX【作る人】 」より)

今日のプレゼンを聞いたら、上記もいい意味で納得。千葉 PM が採択した案件は、ほかと比較してもゴールがしっかりと見えていると思います。短期プロジェクトだからこれは結構重要です。ただ、悪く言えば「夢を感じない」ですし、大化けもそんなにないかも・・・。(特に私の案件。^^;)

■ 私のプレゼンについて
Kodougu とはどのようなものかを紹介。あまりうまくは話せませんでしたが、どのようなものを作るのか雰囲気は伝わったものと信じています。(^^; プレゼン資料は、後で内容を少し整理してからこのブログに載せます。

プレゼンで受けた指摘事項は以下のとおり。
・ Kodougu を使いたくなるようなウリをもっとはっきりさせてほしい
・ JavaScript だと遅いから Flash の方が良いのでは?

・・・何とかします。orz

JavaScript のパフォーマンスについては何とかする自信があるのですが、Kodougu のモデリング機能は Web チャットみたいなもの(ほかのクライアントの変更を即時に反映するという観点で)なので、Comet のようなものが欲しいかも。でも、実装している余裕はないなぁ・・・。

Posted by あかさた
もちろん、描画そのものはクライアントで行いますけどね。

先日も書きましたが、モデリングツールのように複雑なものをブラウザ上で描画する際には、SVG や VML を使う必要があります。私が悩んでいるのは、SVG や VML をどこで生成するかです。Client(JavaScript)で生成するか、Server(Ruby)で生成するか。

Client で生成するメリットは、(おそらく)Server に負荷が集中しないことです。SVG や VML を出力するだけなら、負荷という観点ではそれほどの影響がないような気もしているのですが。Server で生成するメリットは、描画ロジックを Server に置けるので、Client なしでも描画が行えることです。Server が定期的に画像ファイルを所定の場所に出力するなんてことができそうです。書いたモデルを blog に張るような場合は、モデルを変更できる必要性がないので、静的コンテンツにしたい場合が多そうです。
あ、後もうひとつメリット発見。私は JavaScript よりは Ruby の方が慣れています。(^^;

うーん、どうしたもんだろ。

Posted by あかさた
未踏に提案した Kodougu の競合になりそうなソフトである Gliffy を少し調べてみました。Visio が Flash になったような感じです。無料でも使えますが有料版を使うと、既存の wiki に組み込んだりもできるようです。

Gliffy
http://www.gliffy.com/

Kodougu はこれにかなり近いソフトウェアになるはずです。ただし、Gliffy はお絵かきのしやすさを重要視していますが、Kodougu は Eclipse Modeling Framework などと一緒で、モデリング言語を設計できるという点が違います。ただ、これだけだと非常に取っ付きが悪いツールになりそう(EMF を使える人ってどれくらいいるんだろう)なので、とっつきやすいソフトにしないとなぁ・・・。

と、あれこれ考えながら来週の未踏キックオフのネタを考えていたりします。

Posted by あかさた
ようやく IPA から未踏の採択通知が書面で来ました。これまではメールだけだったので、ドッキリじゃないかと心配していました。(笑)
採択理由もわかったので、これで安心して開発に打ち込めそうです。(IPA との契約と会社関係の整理がつくまではそんなに安心できないですが。)

2006/12/15(金)にキックオフとしてプレゼン大会(?)をします。そこで私もしゃべる予定なので、ご都合のつく方(って平日昼間なんで無理だろうと思いますが)は、ぜひご来場ください。

2006年度下期 黒川・千葉・並木・斎藤4PM合同キックオフ

Posted by あかさた
いつ書こうか迷っていましたが・・・。

2006/11/17 付けで未踏ソフトウェア創造事業に採択されました。千葉PMで「Web上で動作するモデリング環境 Kodougu の開発」というテーマ名です。今の私の力で成果が上がるのか若干不安なところもありますが、せっかく採択されたわけですから、全力を尽くしたいです。

今後の身の振り方は上司と相談中。私の環境が激しく変化することだけは確実です。

Posted by あかさた