チューリングについて書こうと思ったが、意味論だとか計算論だとか、抽象的な話が連続して続くと読むほうがつらいだろうと思い、2つほど具体例を先に話そうと思う。
ということで、今回は議事録のXMLという具体的な話をする。XM(eXtreme Meeting)というミーティングのプラクティスコンセプトをmojix,ringo,teraoka,niwatori,okkunらと一緒に考えている。
XMは、XP(eXtreme Programing)にちょっとだけ似ているけれども同じではない。XMのメインプラクティスは「議事録ドリブン」というもので、会議の目的自体を議事録を作成することと定義し、議事録を中心にプロジェクトを動かしてしまうというものだ。詳しくは、XMのWEBページがしばらくするとオープンするだろうと思うので、そっちを参照してほしい。
XMの支援ツール[Galapagos](ringo命名)は、今年の未踏ソフトウェア創造事業に採択されていている。Galapagosは議事録作成環境とプロジェクト全体のワークフローを網羅するXMのプロトタイプソフトウェアだが、XMML(eXtreme Meeting Markup Language)というXMLを中心に、データフローができている。
会議をすると、洋の東西を問わずよくあることだが、
1.何を決めなくてはいけないかはっきりしない
2.会議が時間切れで、大事な話ができない
3.何が決まったかはっきりしない
4.誰がいつまでに何をしなければならないかはっきりしない
5.言葉の意味がはっきりしない
ということが頻発する。
それぞれ
1.Agenda(議題)や会議のゴールがはっきりしないまま会議が始まる
2.Agendaの優先順位がはっきりしないまま会議が始まる
3.結論がはっきりしないまま会議が終わる
4.todoがはっきりしないまま会議が終わる
5.用語の定義がはっきりしないまま議論が行われる
ために起こるものだ。
XMMLでは、これらをXMLとしてきっちり定義することによって、
1.会議の最初にはAgendaとその優先順位が明確になっていないとそもそも会議が始められない
2.会議の結論やtodoがはっきりしていないと会議が終了できない
というValidationを可能としている。
具体的にXMLのスキーマのfragmentを見てみると(開発中のためリリース時のXMLと異なるかもしれないが)、
<todo id="00002" priority="3" parent="00001" title="blogを毎日書く">
<description>XMLと社会契約論に関係について書く</description>
<who>鈴木健</who>
<fromDate>2004/9/15</fromDate>
<toDate>2004/10/15</toDate>
<where>あらゆるところ</where>
<how>PICSY blogにできるだけ毎日UPする</how>
<status>実行中</status>
</todo>
のような感じのXMLになり、このうち、title(何を),who(誰が),toDate(いつまでに)やるかは必須項目となる。
todoの他にもagenda,goal,conclusion,opinion,termなどのタグがあり、そのタグの粒度で検索やvalidation(型チェック)が行われる。
XMというプラクティスにおいては、会議の副産物として議事録が作られるのではなく、議事録を作ることが会議の目的であると定義される。なので、プロジェクターの画面を共有して、会議の参加者全員で議事録を共同開発していくということになる(このへんはペアプログラミングに似ている)。
実はGalapagos自体は、組織と土地から人々を開放するという全体的な構想の一部なのだが、今日はその話はしない。
さて、ここまでXMMLという議事録のXMLについて見てきたが、Wordで書かれたこれまでの議事録と何が違うのだろうか。
例えば、Wordの議事録で、
色は青にしたほうがよい
と書かれていた場合と、XMMLで、
<conclusion>色は青にしたほうがよい</conclusion>
と書かれていた場合を考えると、前者はいかような意図にでも取れるのに対して、後者は「『色は青にしたほうがよい』というのは結論である」という意味が明確である。
このように、われわれが日常に書く文章というのは意味や意図が不明確なまま書かれるが、インラインとしてこれらの文書にタグ付けをすることによって、意味を明確にすることができるのだ。
RDBに含まれるようなデータスキーマ、XMLにするとメッセージ型のデータスキーマは、帳票や入力フォームと呼ばれるモノによって入力されてきた。それらは大量のデータではあるが、我々が普段書いているテキストのほんの一部にすぎず、ほとんどのテキストは意味づけされていないのである。
ドキュメント型のテキストをいかにしてXML的に意味づけしていくかは、未開拓のこれからとても熱い分野なのである。