« 2006年11月12日 | 2006年11月18日の投稿 |
2006年11月23日 » |
はじめての JUDE ユーザ会へご参加いただいたみなさん、ありがとうございました。
浅海先生がJUDEをDSLとして利用するという新たな活用例を示して頂き、その資料を
公開させて頂きます。
「Relaxer5におけるJUDE DSL」
JUDEをDSLエディタとして使う -- JUDE API 活用法
http://www.change-vision.com/ja/doc/jude_dsl.pdf
この発表には感動しました。
浅海先生は、
RDBは、「構造」(structure)であるのに対し、XMLやMindMapは「半構造」(semi-structure)である。これによって、要求や文章、のようなまだ構造になっていない曖昧なものを掴み取ることができる、
というのです。
XMLは、1つのデータに対して複数のスキーマをかぶせることによって、さまざまに読みとることができる。スキーマによっては読み飛ばしてもよい項目もでてくる。構造がスキーマによって完全に規定されているのに対し、半構造は、スキーマによってゆるやかに規定されており、アプリケーション固有にスキーマを規定し読むことができる。このような構造を半構造、というのだそうだ。
後でGoogleで調べてみると、「半構造インタビュー」という方法があり、これはあらかじめ用意しておいた質問項目をインタビューイーに聞くのだが、その場に応じてどんどん質問を変化させる手法だという。半構造を捉えることができるマインドマップがとても適している利用法だ。
構造であるRDBなどは「スキーマ」という「メタデータ」があらかじめ決まっており、その「メタデータ」に対して「データ」を蓄えるという方法である。これに対してマインドマップは、テンプレートのようなスキーマをあらかじめ決めておいてもよいし、その場でどんどんスキーマを変化させてもかまわない。すなわち、「メタデータ」と「データ」に明らかな区別がなく、場合によってはたまっていくデータを見ながらそれをメタデータ構造に反映することもある。両者の区別が曖昧なのだ。これは、マインドマップのインタビューや要求収集に使えるもっとも大きな特徴である。
さらに、浅海先生の主張は、
MDAの失敗は、言語をUMLに限っていることと、そしてアプリケーションのすべてのコードを自動生成できる、としたことだ。
と切った。
同じモデル駆動開発(MDD)であっても、UML以外のDSLも柔軟に使おうという姿勢、さらに、すべてではなくて出来る部分だけ自動生成すればよいという割り切りがあれば、もっと現実的なモデル駆動開発ができる。例えば、アプリケーションを「データ」(ドメインモデル)と「プロセス」(ユースケース)に分解した場合、実はドメインモデルは非常に自動生成できる割合が高い(90%)。しかし、ユースケースの方はほとんど自動生成できない(10%)。しかし、たとえば、「画面遷移」のように、自動生成しやすい部分も存在している。自動生成できる部分に関しては、ドメインにあったDSLを使うのがよく、マインドマップのような半構造が、モデル作りに適する場面が多く存在するのではないか、
という趣旨だ。
そこで、DSL としてのマインドマップの利用を始めてトライしている。デモでは、新聞記事をマインドマップでまとめ、そこからクラス図、Javaコードを自動生成する例を見せて頂いた。JUDEのマインドマップAPIを活用した始めての公開例である。
ITPro の連載が漸く終了した。ぼくの後を引き継いで精力的に書いてくれた懸田さんに感謝である。
特に、彼はTRICHORDという製品を開発しながら、それを分かりやすいコンセプトで表現する、という大きな命題を担ぎながらの連載だった。また、開発チームの開発手法も、ここで書かれている通りのアジャイル型のアプローチを採った。(しかし、これを「アジャイル」という欧米からのレッテルを貼るのを、最近どうかと思っている。)
最終回、とても印象的なしめくくりだったので、一部引用したい。
変化は,制御するべきものではない。その存在を受け入れ,うまくつきあっていくべきものである。もっと言えば,「味方につけるべきもの」とも言えるかもしれない。少なくとも筆者は,「変化」をそのようにとらえる必要があると考えている。
さらに、そこから日本人論を展開し、
自然と人間の関係を考えるに当たって,元々日本人は変化に柔軟に適応し,制御できない対象と折り合いをつけて共生するのが得意な民族であることを再認識した。Web 2.0時代に必要とされるのは,「抽象化された開発プロセス」だけではない。むしろ「個々のコンテキストに応じて柔軟に適応し,“変化を抱擁”できる開発に対する姿勢と行動」のほうが重要なのである。この点は,まさしく日本人の得意とするところであると思うのだが,いかがだろうか。
と結んでいる。まさに、このような姿勢がもしかしたら日本のソフトウェア開発に足らないものではないか、と思った。これを、「アジャイル」と言ってしまうとあたかも海外から来た手法のように思えるのだが、「個と対話」を中心にすえ、「行動してみて学ぶ」姿勢は日本の文化そのもののような気がする。
トヨタ生産方式や禅宗を引き合いに出すまでもなく、「日々の行動」から「意識と姿勢」を作り出し、そこからの「成長と共育」によって最終的な成果を創発する文化。それはとても日本的だと思うのです。
長い間、ご愛読ありがとうございました。
http://itpro.nikkeibp.co.jp/article/COLUMN/20061110/253350/
« 2006年11月12日 | 2006年11月18日の投稿 |
2006年11月23日 » |