2007/2 ~ 2007/4 の Kodougu の開発戦略をここに記述します。

○ モデリング機能開発
リスクは二つです。「マルチブラウザ対応」と「どれくらいの UI を実現するか」です。4 月末までにはベータ(機能拡張は基本的に終了)の状況にします。

・ マルチブラウザ対応
本プロジェクトでは、FireFox, IE を対象とします。

まず、4 月末までに FireFox 版を作成し、ブラウザ依存になる箇所(VML, SVG の実装依存の箇所とJavaScript の実装依存の箇所)を切り出し、マルチブラウザ対応の準備を完了します。

IE 対応は 5 月以降です。SVG の実装状況によっては、Safari や Opera も対象とする可能性はありますが、やはり 5 月以降です。

・ どれくらいの UI を実現するか
いわゆる Jude や EA のようなリッチな機能を完全にブラウザ上で実装することには限界があります。4 月末までにはブラウザ上で実装できる機能のうち、必要と思われるものを全て実装します。

○ モデリング言語設計機能開発
・ ノーテーション及びシンタックス
リスクは二つです。一つは、「どれくらい設定できれば十分なのか」、もう一つは「どのような UI が適切なのか」です。

現在は DB に直接 Ruby のコードを入れてこれを実現していますが、4 月末までに、メタモデリング機能の用途を明らかにして、これらのリスクの解決に着手している状態にします。

・ ストラクチャ
リスクは二つです。一つは、「メタモデリングに必要なストラクチャを十分に準備できるか」、もう一つは、「メタモデルの変更点を既存モデルにどのように反映させるか」、です。

4 月末の時点では、前者を解決し、後者の実装を開始したいと考えています。

・ セマンティクス
特にリスクはない(メタモデルの説明を文章や絵で説明できれば OK)ので、4 月末までにセマンティクスを記述する機能で欲しいものを列挙してから実装します。

○ そのほか
・ Web ページの構築
4 月末までには実施します。(できれば、3 月上旬には行いたい。)

・ 国際化
4 月末までは対象としません。5 月以降に国際化及び地域化(日本語、英語)を実施します。

○ 2007/5 ~ 2007/7
・ 積み残したリスクの解決
・ マルチブラウザ対応
・ 国際化
・ 安定化、リファクタリング
・ マニュアル等のドキュメント整備
・ 宣伝活動(?)
・ コミッタの募集
・ 要望の収集

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

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

私に関係する内容としては、進捗報告とこれからの展望の説明なのですが、進捗はいいとして、これからの展望の説明にはまってしまいました。(--;
# 千葉先生に結構ツッコまれました。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 あかさた
昨日は、未踏のキックオフミーティングに行ってきました。私も質疑応答含めて 30 分ほどプレゼンをしました。

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

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

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

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

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

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

・・・何とかします。orz

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

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

Gliffy
http://www.gliffy.com/

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

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

Posted by あかさた