IPA


IPAトップ





平成15年度未踏ソフトウェア創造事業(未踏ユース)  採択案件評価書


 




1.採択者氏名


代表者

鎌田 長明(東京大学大学院)

共同開発者

石川啓、葛上昌司、成岡優、田島知幸、吉田 憲吾(以上東京大学)千保 理(東京大学大学院)



2.担当プロジェクト管理組織


 (株)創夢



3.委託支払金額


 3,000,000円



4.テーマ名


 XMLを利用した教育コンテンツフレームワークの開発とその利用



.関連Webサイトへのリンク


 なし  



6.テーマ概要


 教育指導要領の改定を背景として,学校教育は人員不足に直面している.それと同時に教育の質もまた問われている.人を増やせない状況で学校教育を洗練化・緻密化する一つの手段は,教師のノウハウと教材の電子化による効率化とをミックスすることである.電子化によって教育を支援するためには,教材が旧来の紙ベースの管理から電子化した管理に移行する必要があるが,現状では教材が利用しやすい形で電子化されていない.

 本プロジェクトでは,教育コンテンツを電子化・自動化するフレームワークとその記述形式を提示し,その実装例を作成する.これによって,教材コンテンツを紙と電子ベース両方で利用することができるようになり,自動生成教材の分業作成が可能になる.また,これを利用したオーサリングシステム,および教材作成をコラボレーションすることのできるツールを開発する.

具体的には,

 (1) 設問の自動生成のためのフレームワークとXML記述形式の開発
 (2) 自動生成フレームワークを利用したエディタの開発
 (3) 教材のオーサリングツールの開発
 (4) 設問作成 (特に自動生成設問) のコラボレーションシステムの開発
 (5) コンテンツの基礎となるエンジンの試作

の5項目を実行する.




7.採択理由


 似たようなものが世の中にないとは言えないような気がするが,構造をオープンにした形で実現することには意味があるだろう.採択時点の例示だけでは,まだ「おお,使いたい!」と言わせるような説得力を感じることはできなかったが,これは開発期間中に新たな展開もあり得ると期待したい.異例に大人数のプロジェクトなので,知恵は出るだろう.また,実際に使われるようになるための展開力もこの人数なので期待したい.PMの個人的な好みではあるが,基幹言語にLispが採用されているのもグー.


 

 
8.成果概要(中間報告時)
 

 
 要約すると,教育コンテンツ自動生成のためのXML (EduML) の定義と,教材オーサリングシステムの主要部分,自動生成のためのエンジンの基本部分が完成し,教育コンテンツを作成するための構造化エディタのプロトタイプを作成したことになる.システムの基礎固めを幅広く行なっているので,ほとんどのサブシステムが部分完成という状態である.

 そのため,ここでは提案では詳しく述べていないシステムの全景について少し詳しく紹介する.

(1) 設問の自動生成のためのフレームワークEduMLとエンジン

 EduMLは,論理構造を重視した設問の作成を可能にするフレームワークである.このフレームワークでは記述形式としてXMLを全面的に採用する.生成例として,四則演算や,図形情報の生成が考えられる.

 設問は「演算エンジン」「制約条件」「ひな型」「スタイルシート」に分離され,それぞれを定義するためにXMLが利用される.ただし,「演算エンジン」はXMLをSchemeに変換して実行する.これらのモジュールの意味は鎌田 図1を見るのが一番わかりやすい.なお,「スタイルシート」は上記の3要素から生成された設問をレイアウトするためのものであり,XSLおよび独自形式で記述される.これを記述することによって,出力をPDFにすることで紙媒体で使用したり,HTMLにすることでWBTに利用することも可能となる.

(2) 自動生成フレームワークEduMLを利用したエディタ

 EduMLが広く利用されるためには簡便化が必要である.「演算エンジン」はプログラムで書かれるためプログラムを学ばなければ結局利用できないが,これは一部の業者やイニシアティブユーザが開発すればよい.しかし,「制約条件」や「ひな型」はプログラムの知識がなくても教材を作る能力があればよいため,一般ユーザも作成可能である.これを支援するエディタをJava 言語で開発する.

 

四則演算エンジンを利用した設問作成例図

 

鎌田 図1 四則演算エンジンを利用した設問作成例

 

(3) 教材のオーサリングシステム

 上記のフレームワークを利用したWeb ベースのオーサリングシステムである.これは,ユーザである教師が設問のひな型群の中から設問を選んで教材の作成を指示すると,任意の形で教材を手に入れることができるものである.

(4) 設問作成 (特に自動生成設問) のコラボレーションシステム

 上記のフレームワークとエディタとオーサリングシステムを組み合わせたコラボレーションシステムである.これは,ユーザー管理機能,バージョン管理機能,掲示板を備えたWebベースのシステムである.コラボレーションの対象となるのは主に「演算エンジン」「制約条件」「ひな型」「設問セット」の4つである.これも鎌田 図2を見ると一目瞭然だろう.

コラボレーション概念図

鎌田 図2 コラボレーション概念図

 

(5) コンテンツの基礎となるエンジンやスタイルシートの試作

 システムのみ完成しても意味がないので,コンテンツの基礎となるいくつかのエンジンを幾つか試作する.既に,加減算の自動生成システムはマクロの形ではないが完成しているので,これをマクロに移植する形で開発される.また,エンジンを実際につかったスタイルシートやコンテンツを作成する.

 

 
9.PMコメント(中間報告時)
 

 
 さすがに人数が多いだけあり,大きなシステムイメージがどこも抜かりなく攻められている.未踏ユースでは前例のないコストパフォーマンスのよさ(?)である.中間報告書も全プロジェクトの中のトップ3に入るきっちりしたものだった.

 いいアイデアは一杯あるが,中でもいろいろなレベルのユーザがコラボレーションできるようにするために,部分システムのつなぎをXMLという芯を通すことで可能にするというアイデアが,今風でとてもよい.一見膨大でバラバラになりそうなふうに思えてしまうが,実はちゃんと筋が通っている.しかも,少し高度な計算を要するところ (XML→XML変換を行なう演算エンジン) は一旦XMLをSchemeに変換してから計算するというところが,XMLの筋を通しながら高い機能を実現しようという卓抜なアイデアである.

 PMはまだ現場を訪問していないが,基礎部分が完成して,ユーザに使えるイメージが浮び上がってきそうな段階で,いろいろコメントをしたいと思っている.

 採択理由にも書いたが,こういうプロジェクトにLispが裏方でちゃんと使われていることに (元来Lisperであるところの) PMはとても喜びを感じている.また,Lispの宣伝のタネが一つ増えた.その意味で鎌田君たちに大いに感謝したい.

 最終的な完成度がどの程度のものになるのかまだ見えないが,これは期待が高まってきた.


10.成果概要(終了時)


 中間成果の各部の厚みと完成度を全体に増したものが最終成果である.中間成果と重複した感じの記述になるが,一応列挙しておく.

(1) オーサリングシステム開発およびコラボレーションシステム開発

 このシステムはMVC (Model View Controler) の3層構造になっており,データ管理部分,コントローラ部分,ビュー部分,CGI部分に分かれている.機能追加を容易にし最適な言語やライブラリ部分を利用できるように,全体はRuby言語で開発されている.テストはクラスごとの単体テストを行ない,安全性を高めた.ユーザ管理,教材のリスト機能,教材の出力機能,管理のための各機能などが実装された.


(2) XML演算エンジン開発

 XML演算エンジンは,基本的にXMLからXMLへの変換を行なうものである.こういったXML->XML変換エンジンとして,XSLTなどが挙げられるが,そのような変換機構の多くが計算や複雑な変換制御などを記述することができない.また,できたとしてもその記法は繁雑であり,非互換的である.

 今回のプロジェクトでは,Dynamic EduML(後述)をStatic EduML(後述)に変換する際,そういった複雑な計算(たとえば,計算問題の生成)を行なう必要があり,それら標準的な規格のみでは,対応できないことが予想された.

 したがって,これらXML->XMLへの変換部を(R5RS)Schemeで自主開発することによって,さまざまな自動生成に対する要望を吸収し,互換的に動作させる.このような条件を満たすため,以下を開発した.

・ XMLreader (XMLからS式への変換)
・ XML->XML変換フレームワーク
・ XMLwriter (S式からXMLへの変換)

 これと並行して,自動生成用の幾つかのエンジン (加減乗除,三角形などの図形) を開発した.これらのテストのためにScheme用のTestUnit 'Suchet' を開発した.また,処理系に縛られないために環境非依存実行環境SKLibを開発した.

(3) EduMLの策定とエディタの開発

 EduMLはコンテンツの配布形式であるStatic EduMLと,エンジンなどの動的部分を含むDynamic EduMLに分れている.Static EduMLは,文章データ部分と装飾データ部分に分れておりこの2つを利用することで,HTMLやPDFなどに変換することができる.Dynamic EduMLは「演算エンジン」「制約条件」「ひな型」「スタイル」に分離され,それぞれを定義するためにXML が利用されている.ただし,エディタがEduMLの機能を十分に実装できないため,EduMLに変換可能な限定的なEduMLを定義した.

 このEduMLエディタの大まかな構造を鎌田 図3に示す.

 

Uploaded Image: struct.png

 

鎌田 図3 EduML用エディターの大まかな構造

 

 ビュー側から何か操作を加えられた際には,その操作をCommandとしてカプセル化し,中央のCommandExecutorに渡す.CommandExecutorはこれを受けとった順に処理して,モデルを書き変える.今回の開発では,この設計によって短時間,少人数での開発が可能となった.EduMLエディタの特徴は以下の通り.

 ・ 一つ一つのプリミティブなコマンドを厳格にテストすることによって,それらを組み合わせた時にも,正当性を確保する.よって複雑な操作を簡単かつ正確に記述できて,バグを減らすことができる.
 ・ コマンドの再利用がしやすい.
 ・ 破壊動作は全てCommandExecutorにて行なわれるから,万が一バグが混入したときにこれを追跡しやすい.
 ・ Executorを介すことで,マルチスレッドに対応できる.
 ・ コマンドに逆操作を持たせることで,undo,redo,複数のコマンドをまとめて実行するときのエラーからの復帰が可能になる.

 EduMLエディタのスクリーンショットを鎌田 図4に示す.これは国語の問題(?)をつくっている途中で,出力のスタイルを指定しているところである.実際にこれを用いて小学3〜4年生の算数の問題を50問程度作成した.

 成果は http://SmartTA.net/http://sourceforge.jp/ などで公表する予定.

 

Uploaded Image: WS000003.JPG

 

鎌田 図4  EduMLエディタのスクリーンショット




11.PM評価とコメント(終了時)


 後期の最大の進展はEduMLエディタであろう.ここにはかなりのリキが入った印象である.現場の教師が使うにはもう少し柔らかいインタフェースにしないといけないと思うが,ともかく多くのユーザが使えるようにするためのシステムの一番入口部分の (あえて言うが) プロトタイプができたので,今後は開発が加速すると思われる.もとより短い期間で,これほどの大きなプロジェクトが簡単に完成することは期待してはいけない.

 このプロジェクトの特徴は,基礎アーキテクチャのデザインが緻密で,かつかっちりしていることである.そのため,水面下の作業量が多く,最終成果として表に浮び上がって見えるものが少なめに感じられる.その点で多少損をしてしまっているが,鎌田君たちのプロジェクトはこれからも続行していくので,もうすぐ世の中で注目されるソフトウェアとなることが期待される.

 基礎固めはほぼ終了したので,鎌田君たちが言うようにこれからは現場の教員たちとのコラボレーションによって,アプリケーションソフトとしての完成度を上げる,コンテンツを充実させていくことが肝要である.実際,鎌田君たちからは,9月にテスト公開の研究を踏まえ,学校向けのテストサービスを開始すると聞いている.そして,1年間で徐々にコンテンツを増やし,最終的には2005年4月から学校・塾向けの商用サービスとして提供できるようにする予定とのこと.このように商用サービスも視野に入れていることは,このプロジェクトの推進力を裏付けているものとして高く評価したい.

 ところで,このシステムの設計思想を「繰り返し型」ドリル以外の領域まで広げられるのかどうか,そのあたりに次の大きなチャレンジが残っていると思う.




  ページトップへ   






  Copyright(c) Information-technology Promotion Agency, Japan. All rights reserved 2004