今日は未踏のミーティングに行ってきました。今日のミーティングの議題は、下期採択プロジェクトの進捗報告、これからの開発の展望の説明、上期の成果発表会の段取りについてでした。

(私の未踏プロジェクトについてはこちらを参照してください。)

私に関係する内容としては、進捗報告とこれからの展望の説明なのですが、進捗はいいとして、これからの展望の説明にはまってしまいました。(--;
# 千葉先生に結構ツッコまれました。orz

私のプロジェクトのミソは、実装技術的な難しさとメタモデリング言語設計の難しさにあると私は考えていますが、メタモデリング言語がどのように落ち着いていくのかがいまいちうまく説明できませんでした。ノーテーションの説明はできたものの、シンタックスと構造、セマンティクスのところは玉砕。orz
わかりやすいサンプルがあるとわかりやすいというアドバイスをいただいたので、そういうものをそろえて一度考え直す必要がありそうです。今月中にやりたいところです。
# ちなみにキックオフ時と比較するとちょっとトーンダウンしている(=広げてた大風呂敷が小さくなってきた)と言われたのは秘密です。(笑)

私の説明技術不足もさるところながら、考慮できているところとできていないところのムラがあることも問題です。来月からは時間も取れることだし、もっともっと頭を使って考えないと。

こういっちゃなんですが、最近、仕事中いかに頭を使っていないか思い知らされることが多いです。意識して頭を使っていきたいものです。

Posted by あかさた
昨日は、未踏のプロジェクト管理組織(私と IPA との間の契約管理をしてくれる方々)と飲んできました。私のプロジェクトのプロジェクト管理を担当してくださっている八角研究所には、2006 年度下期の未踏で採択された方がいて、私と似た領域(モデリング)をされている方がいるので、その方を交えながら飲んでいました。飲みながら、ベンチャーのビジョンとか、モデリングとは何ぞや、中国ってどうよみたいな話題をしゃべっていました。


Posted by あかさた
未踏プロジェクトの Kodougu を SourceForge に登録しました。まだほとんど何も出来上がってないですが・・・。

SourceForge.net - Kodougu Project
https://sourceforge.net/projects/kodougu/

SourceForge.jp ではなく、本家に登録しました。もともと、未踏の提案でも日本国内だけにしませんよという内容にしていたこともありますが、本家では Subversion が使えるという点も大きいです。日本でも、ベータ運用みたいなことは始まっているようですが。

やはり最大の難関は、英語でプロジェクトの説明文を送付することでした。SourceForge.net(.jp でも同じですが)では、登録する際にプロジェクトが SourceForge に登録するにふさわしい内容(※)であることを説明するために、数十行くらいの英作文を求められるのです。

私の英語能力は近似値 0(TOEIC の点数とか素で言えないくらいです)なので、30 分くらいで作った英文なんて読まれすらされないと思っていましたが・・・無事登録されたようです。よかった。

あとは、Kodougu の Web サイト(兼デモサイト)を作らないとな~。

※ そんなにたいしたものではなくて、公序良俗に反しないとか、オープンソースのプロジェクトかどうかとか、そもそもどういうプロジェクトかとか、そういうことをちゃんと説明できれば問題ありません。私の英語力からすると、未踏の提案を出すよりも難関だったことは秘密です。(オイ)

Posted by あかさた
今日は、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 あかさた
私は下期採択ですが、昨日は千葉PMの上期採択のミーティングに行ってきました。上期のほうは、2 月に終了するということで、今は成果発表会の打ち合わせをされているようです。上期の方も、半年強かけて出した成果ですから、それなりの発表会を打ちたいらしく、真剣な討論を重ねていました。

千葉PMの成果発表会というと、2005年度のものはかなり大々的なイベントが打たれた(まつもとさんやひがさんを呼んだらしい)ようなので、上期の成果報告会もぜひ行ってみたいところです。

■ 参考
2006 年度上期未踏ソフトウェア創造事業 公募結果
http://www.ipa.go.jp/jinzai/esp/2006mito1/koubokekka.html

■ 2005 年度成果発表会の模様
Java派とRuby派,「世界を目指す基盤ソフト」の開発者が一堂に:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230973/

mt.kmtz.net
http://mt.kmtz.net/archives/2006/02/17_pm.html

秋元@サイボウズラボ・プログラマー・ブログ
http://labs.cybozu.co.jp/blog/akky/archives/2006/02/ipa_pm_1.html

未踏ソフトウェア創造事業 千葉PM 成果報告会 - Ruby 2.0の新仮想マシンYARVとは?
http://journal.mycom.co.jp/articles/2006/02/28/yarv/

Posted by あかさた
私にしては珍しく、朝早く(5時くらい)起きてしまいました・・・。

さっくりと VML(Vector Markup Language)を調査しました。SVG から調べていない理由としては、とりあえず IE で動かそうという気になったということもありますが、実は仕様書が VML の方が読みやすかったからだったりします。(^^;

VML は SGML をベースにした言語みたいです。したがって、ぱっと見 HTML に近いですし、レイアウトには CSS を使ったりします。まだ試していませんが、HTML に埋め込むと、JavaScript を使って DOM にアクセスできるみたいなので、prototype.js とかで Ajax で更新とかもできそうです。Kodougu でもうまく実装すれば JavaScript の Code をほとんど書かずに済むかも・・・。
(実装方針としては、サーバーで VML/SVG を出力して、JavaScript では Event 処理だけを記述する感じです。)

おや、Google Maps でも VML がかなり使われているらしいです。
http://eto.com/d/0503.html#VML

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 あかさた