Shared Questionnaire System 2.0 の開発

Slides:



Advertisements
Similar presentations
Word で XML マニュアルを編集 し、 XML を自動組版する 1. XML の自動組版概要 2. Word での原稿入力 アンテナハウス株式会社 2004/09/03.
Advertisements

オープン&ビッグデータ活用・地方創生推進機構 事務局 オープン&ビッグデータ活用・地方創生推進機構 評価版ツールの状況報告 平成26年度第3回 技術委員会 資料3-1.
データベースの基礎知識 ACEESS の基本操作. データベースの基礎知識 データベース  特定のテーマや目的に毎のデータの集合体 データベースソフトウェア  データベースを作成、管理するソフトウェアの総 称 Oracle(Oracle) IBM(DB2) Microsoft(SQL Server)
情報処理 第8回第8回第8回第8回. 目次 (1) スタイルの利用 – スタイルの概要 – スタイルの適用 (1) – 「スタイル」ウィンドウを開く – スタイルの適用 (2) – スタイル適用のセオリー – すべてのスタイルを表示 – スタイルの書式を変える (1) – スタイルの書式を変える (2)
クリックすると、 [SourceEditor2.0] の インストール / 更新・起動 クリックすると、 [MarkReader2.0] の インストール / 更新・起動 クリックすると、 [MarkReader2.0] の インストール / 更新・起動 SQS ホームページ
オープンソースCMS「ZOMEKI」を利用した 業務システムの開発手法
Global Ring Technologies
7-1.WEKOコンテンツ 一括登録 マニュアル Version2.5
情報基礎A 情報科学研究科 徳山 豪.
SQS 2.0 の開発 Shared Questionnaire System 久保 裕也
Shared Questionnaire System 2.0 の開発
HG/PscanServシリーズ Acrobatとなにが違うのか?
情報処理 第8回.
2017/3/2 情報処理 第8回.
Shared Questionnaire System 2.0 の開発
情報処理 第7回.
Flashプレイヤーを使った動画配信 情報工学科 宮本 崇也.
1 インストール・起動する 「SQS」で検索 SQSホームページ 動作環境 JavaSE 6以上 (JRE6)
Shared Questionnaire System2.0の開発
NC-2 情報通信基礎実験 WEBデザイン基礎実験 (2日目) 担当:清水,田代 副手:浦辺,石井.
デジタルポートフォリオ作成支援ツール PictFolio 使用マニュアル
2017/3/7 情報処理 第8回.
ファイルやフォルダを検索する ①「スタート」→「検索」→「ファイルとフォルダ」とクリックする。
TeX で数式を書くための PowerPoint アドイン Ver. 0.1 (2007/5/30)
情報教育の推進について 神奈川県立川崎北高等学校.
早稲田大学大学院理工学研究科 情報科学専攻修士2年 後藤滋樹研究室 坂本義裕
Digital Network And Communication
Webサイト運営 09fi118 橋倉伶奈 09fi131 本間昂 09fi137 三上早紀.
共同ローカリゼーション フレームワーク 井上 謙次.
アプリケーション共有機能 〈参考〉 (図1) (図2)
PowerPoint初級編 院内研究発表入門.
「調査1.0」から「調査2.0」へ SQS:Shared Questionnaire System2.0の開発
HTTPプロトコルとJSP (1) データベース論 第3回.
Webを利用した授業支援システムの開発 北海道工業大学 電気電子工学科 H 渋谷 俊彦.
サイト運営者へむけて、CMS管理画面をつかって サイト運営していく方法を紹介します。
サーバー立ち上げ記 2009/5/23
XSL-FO + MathML MathML表示、PDF生成、SVG生成
基礎プログラミング演習 第1回.
Java ソフトウェア部品検索システム SPARS-J のための リポジトリ自動更新機能の実現
ホームページ作成・更新講座 夏のコンピュータ学習会 画像
第8章 Web技術とセキュリティ   岡本 好未.
情報コミュニケーション入門b 第10回 Web入門(1)
情報コミュニケーション入門b 第10回 Web入門(1)
事務所における情報化の問題点 データが所内で共有されていない、各課ごとに個別に利用されている
情報コミュニケーション入門e 第11回 Part2 Web入門(1)
2019/2/24 情報処理 第13回.
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
IoT活用による糖尿病重症化予防法の開発を目指した研究
JXTA Shell (1) P2P特論 (ソフトウェア特論) 第4回 /
7-3. 移行データ登録簡易マニュアル Version 1.0
Presented by なんでも作るつたい(隊)
平成25年度オープンデータ実証実験 自治体行政情報実証(概要)
情報コミュニケーション入門b 第11回 Web入門(2)
情報コミュニケーション入門e 第12回 Part1 Web入門(2)
資料2-2 平成26年度 第2回技術委員会資料 次年度検討テーマ案
JavaScriptを含んだHTML文書に対する データフロー解析を用いた構文検証手法の提案
地方公共団体オープンデータ推進ガイドラインの概要
情報を持つ人が直接発信する FreeStyleWikiを 使った学校Webサイト
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
ISO23950による分散検索の課題と その解決案に関する検討
TeX で数式を書くための PowerPoint アドイン Ver. 0.1 (2007/5/30)
演習1に関する講評 ~ 業務仕様を書く難しさ ~
QRコードを用いた演習用紙の効率的な電子コンテンツ化
情報コミュニケーション入門e 第12回 Part1 Web入門(2)
Microsoft SharePoint Online の Web サイトを カスタマイズする方法
TeX で数式を書くための PowerPoint アドイン Ver. 0.1 (2007/5/30)
資料3-2 平成26年度 第3回技術委員会資料 次年度テーマの検討
異種セグメント端末による 分散型仮想LAN構築機構の設計と実装
(別紙1) 提案書雛型 令和元年度 沖縄型テレワーク実装推進調査 ー提案書ー                        (日付)                        (企業名)                        (連絡先等)
地理情報コンテンツ・データベースコンテンツ新規作成
Presentation transcript:

Shared Questionnaire System 2.0 の開発 IPA 2007年度I期「未踏ソフトウェア創造事業」竹田PM 中間発表会@湯布院 Shared Questionnaire System 2.0 の開発 久保 裕也 hiroya@cuc.ac.jp 千葉商科大学 政策情報学部 専任講師 慶應義塾大学SFC研究所 上席研究員 http://sqs-xml.sourceforge.jp/

SQSとは何か?

XMLファイル(XHTML/XForms) マーク読み取りツール MarkReader 問題意識・仮説 調査結果・情報公開 XMLファイル(XHTML/XForms) アンケート設計ツール SourceEditor CSV形式ファイル 自由記述欄画像ファイル 集計結果 表形式データ XSL-FO処理 マーク読み取りツール MarkReader 印刷原稿PDF アンケート 印刷原稿PDF アンケート 回答用紙 調査票スキャン 画像フォルダ/ 画像ファイル 印刷原稿PDF 印刷・配布・ 回答・回収

共有された調査支援システム・調査票の共有システム 「正」の字を書いてアンケートの集計をするのにウンザリしてませんか? 調査票を作るのに苦労していませんか? SQS(Shared Questionnaire System)は、「普通紙マークシート方式による調査票作成・読み取り集計ソフトウェア」です。 SQSを利用するためには、特別な機材は必要ありません。 PC、白黒プリンタ、ドキュメントスキャナがあればOKです。 SQSは、小中高校の先生などをエンドユーザとして、全国的な導入が始まっています。 インストール・利用は、とっても簡単です。 SQSは、無償・自由な利用が可能です(ApacheLicense)。

SQS1.0 SQS SourceEditor SQS MarkReader 調査票の雛形(調査手法)の選択 調査票の論理的構造のデザイン 各種メディアに対応した 調査票表現の生成 SQS MarkReader 普通紙マークシートでの調査支援 集計処理の自動化 簡易的な分析機能の提供

SQS2.0 SQS SourceEditor2.0 SQS MarkReader2.0 eXsed : 自己記述的に 拡張可能なXMLエディタ (eXtensibility by Self-Description) SQS MarkReader2.0 eXigrid: Pure P2P分散並列 画像処理のためのグリッドフレームワーク (eXtensible Image Processing Grid)

SourceEditor 1.0-backport 「素人にも利用しやすい」 XMLエディタを核とする 調査票エディタ

クリックすると、 インストール/更新・起動

起動までの手順 Webブラウザからの アクセス JNLPファイルのダウンロード・解釈 アプリケーション起動 またはデスクトップ上からの起動 必要に応じて: JREの取得・インストール 必要なjarファイル群のダウンロード Jarファイルのコード署名証明書の承認 デスクトップアイコン・メニューの作成の確認 アプリケーション起動

参考: コード署名証明書の購入: Verisignの場合 コード署名証明書を購入して維持していくためは, 毎年,94,500円の料金を振り込み,毎年,実在証明のための登記簿謄本や印鑑証明などの書類を送付し,毎年,責任者のところにかかってくる電話待ちをしてもらう段取りをする,といったコストがかかる. Verisignの場合,個人や任意団体に対しては,コード署名証明書を販売していない. 多くのオープンソースプロジェクトには,法人としての組織実体が無いので,少なくともVerisignからは買うことができない.

Web上から、 「.sqsファイル」をダウンロード SQSホームページから 「ドキュメント」のページをアクセス。 さらに、上から3つめ、 「サンプルファイル」 SQS SourceEditorで利用・生成されるファイルのサンプル をアクセス。 「SQSを用いた調査票を作成実習のための素材」のうち、  「SQS Sourceファイル」を、デスクトップに保存。 このファイルを開いてみると、XHTML2.0+XForms1.0の内容であることが分かる。

XForms ※FormControl部分のみ DublinCore + XForms ※FormControl部分のみ XHTML2 いろいろ ∥ 調査文脈・調査過程 記述言語 “SQS Source”

SourceEditor画面上に、 「.sqsファイル」をDrag&Drop ココへ!

アウトライン上 での選択で、 「編集対象ノード」を指定して編集(undo/redo) 編集用GUIは ノードの種類 ごとに作成・ 入れ子状に 表示内容が 編成される タブで複数の ファイルを 切り替え・ 同時編集 (ファイルを超えた Cut/copy&paste) アウトライン 形式で 階層的に ノードを表示・ 選択・編集 (cut/copy&paste)

画面構成 左側: ノードツリー画面 右側: ノードエディタ画面

編集要素と出力結果の対応 見出し 段落 注意書 設問

ノードエディタの選択方法 SourceEditorに 組み込まれた ノードエディタの カタログ Key: XMLのパターン※ Value: ノードエディタ SourceEditor利用者によって選択された ノード群(「DOM構造の部分木」のリスト) 選択されたノード群に対する ノードエディタの リスト 対応するノードエディタが存在しない場合には、SourceEditorが自動的に 生成したノードエディタを 対応づけられる ノードエディタは、 ノードの親子関係に応じて 入れ子状に構成・配置される ※現在の実装では、XMLパターンは、 単一階層の「名前空間:要素名」にマッチする

PDFで印刷原稿をプレビュー 127.0.0.1でローカルな Webサーバを起動し、 動的に生成したコンテンツに 適切なContent-Typeを付けて 渡すことで、Webブラウザの 設定を通じ、環境非依存的に ファイルを表示できる。 PDF生成には、Apache FOP (XSL-FO: TeXに類似のXML電子組版エンジン)を 利用。

XSLTによる変換 XHTML{ XForms{ SQS } } XHTML{ XHTML Table{ XForms Select{ SQS } } XHTML{ XHTML Table{ SVG{ SVG Metadata{ XForms } } FO{SVG { SVG Metadata{ XForms Select } } } PDF + SVG Print{ SVG { SVG Metadata{ XForms Select } } } XForms対応 ブラウザでの利用に。 XForms要素を表組みでレイアウト・ 設問をcheckbox型にフラット化 旧来のHTMLフォームへの 変換元となるものとして。 XForms要素をSVG形式に変換 (もともとのXForms要素を  SVG Metadataとして保持) Page mediaでのXForms実装はSQS以外には存在しない。そこで 実装上の作法を、独自に提案。 FOボキャブラリはマイナー。 HTMLでいけるところは、 なるべくHTMLで。 XHTML要素をFO形式に変換 ページ構造に流し込み FOをPDF形式に変換 別途、SVG Print形式データの雛形を作成し、Metadataを格納 FOのPDFレンダラをhackして、 SVGを配置するPDF座標を横取りし、 対応するSVG Print形式データを完成、PDFに添付

生成されたPDFへの添付ファイル 生成された PDFファイル .sqmファイル : SQS Master    調査票からマーク欄・自由記述欄を    抽出して処理するためのデータ .sqsファイル : SQS Source    このPDFファイルの元となった    調査票定義データ クリックすると、 添付ファイル一覧 が表示される

.sqmファイルの中身: SVG Print + svg:metadata <svg:svg …> <svg:pageSet> <svg:masterPage> <svg:metadata> … </svg:metadata> <svg:page> <svg:g>  </svg:metadata>

画像処理タスクの分散並列化を行う イントラネット用グリッドを核とする マークシート読み取りアプリケーション MarkReader2.0 画像処理タスクの分散並列化を行う イントラネット用グリッドを核とする マークシート読み取りアプリケーション

Drag&Dropで入力 Source フォルダ ココへ! 処理 出力 index.html Result フォルダ

Sourceフォルダの内容 調査票の印刷原稿 として用いた 1ページ1ファイルで 調査票の画像をスキャン 「名前で並べ替え」ると、 回答者順・ページ順に並ぶようにする まとめてひとつの フォルダに入れる  調査票の印刷原稿  として用いた  「PDFファイル」を   集計用のタネとして   フォルダに同梱する 回答者一人分は、 連続したファイル名 になるようにする

Resultフォルダの内容 フォルダ内の ファイルの目次 ★MarkReader  での処理後に: このフォルダ内の画像から 切り出された自由記述欄 index.html Sourceのフォルダ名に-RESULTを付けたフォルダ名で、 同じ階層に作成される このフォルダの 選択式設問の回答を集約した 表形式データ

SQS MarkReaderからの出力 自由記述式設問 ⇒画像ファイル  として切り出し (自動) ⇒文字データに  打ち込み直し (手作業)

SQS MarkReaderからの出力 択一選択設問 →円グラフ(自動生成) 複数選択設問 →棒グラフ(自動生成)

バッチ処理(1): 異なる種類の調査票の一括処理 まとめてひとつの フォルダに入れる H19年度 期末試験/国語の試験 数学の試験 英語の試験 H19年度 期末試験 国語の試験 「国語の試験」の印刷原稿として用いた「PDFファイル」 集計用のタネ

バッチ処理(1): 異なる種類の調査票の一括処理 フォルダ内の ファイルの目次 このフォルダ内の画像から 切り出された自由記述欄 フォルダ内の ファイルの目次 index.html index.html 数学の試験 英語の試験 H19年度 期末試験-RESULT 国語の試験 このフォルダ内の 選択式設問の回答を 集約した 表形式データ

バッチ処理(2):同じ種類の 調査票の階層ごとでの処理 まとめてひとつの フォルダに入れる 国語の試験/3年C組 3年A組 3年B組 国語の試験 3年C組  調査票の印刷  原稿として用いた  「PDFファイル」   集計用のタネ

バッチ処理(2):同じ種類の 調査票の階層ごとでの処理 このフォルダ内の画像から 切り出された自由記述欄 フォルダ内の ファイルの目次 index.html 3年A組 フォルダ内の ファイルの目次 3年B組 index.html 国語の 試験-RESULT 3年C組 このフォルダ以下の 選択式設問の回答を 階層的に集約した表形式データ このフォルダ内の 選択式設問の回答を 集約した 表形式データ

以前の処理結果を活かした 「差分的処理」 Resultフォルダ内の、 隠しフォルダ以下にキャッシュを作成: 前回までの処理結果を キャッシュとして保持。 メモリ消費量の低減。 大規模調査に対応。 次回以降は、Sourceフォルダ内で更新されたものだけを 差分的に処理。 処理の効率化・高速化をもとに、Sourceフォルダの 監視・随時処理モードを実現。 index.html 3年A組 3年B組 国語の 試験-RESULT 3年C組 .cache

「学校のコンピュータ教室など、  PCがたくさんある部屋をつかって、  MarkReaderをたくさん起動すると、  グリッドで分散並列処理してくれたら、  いいのになぁ…」

P2P方式で実現しました。 ※マスタとスレーブを同じプロセス内に実装 マスタ: マルチキャストでセッション広告・鍵を配布。 分散BlockingQueueにPageTaskを詰め込んだものを、 RMIサービスとして公開。 PageTaskを、リース時間をつけてタスクとして供与、 リース時間が切れたら再リース。 スレーブ: マルチキャストされる広告をもとにマスタを発見、 RMI接続。 セッション鍵を用いて、マスタ上の分散BlockingQueueを共有。 polling して PageTaskの取得ができるまで待つ。 PageTaskを取得したら、求められた処理を実施し、 そのマスタに結果を返却。 一定時間、マスタからの反応が無い場合には接続を切る。

グリッド化のメリット MarkReaderを複数台のマシン上で起動しておくと、 マシンの台数に比例して処理速度が高まる。処理速度の上限は、主として、マスタとなるマシンのハードディスク書き込み性能に依存する。 マスタとスレイブの役割関係は固定的ではなく、セッション処理状況によって動的に変化していく。 グリッド内のMarkReaderがセッションを解しするとマスタになる。 任意の複数台のマシンそれぞれがいつでも同時にマスタになれる。 それ以外のマシンはスレイブとして仕事を分担する。 こうしたグリッド内でマスタとスレイブは、相手と自分の状況やネットワーク切断状況を検知しながら、賢く自律的に動作する。

マスタ スレーブ Engine PageTaskProducer PageTaskQueue ResultManager PageConfig マスタ スレーブ PageMaster Engine PageTaskProducer PageTask ResultEvent PageTaskQueue ResultManager ResultEventSource MulticastAdvertisementService SessionService ResultEventFilter ResultEventHandler RMI ResultEventHandler multicast group ResultEventHandler MulticastDiscoveryService PageTaskExecutorManger PageTaskEventExecutor PageTaskEventExecutor PageTaskExecutor

汎用XMLエディタを 自己反映的に拡張可能なXMLエディタを SourceEditor 2.0-dev 汎用XMLエディタを 自己反映的に拡張可能なXMLエディタを

eXsedの中核技術 XAR : eXsed Annotation for RelaxNG XGUIML(仮) XARtoXGUIML RelaxNG文書内のRelaxNGパターンの子要素として記述するannotation情報。そのパターンをGUIで編集する際のGUI生成用属性を記述する。 XGUIML(仮) XMLを用いてGUIを記述するための言語・GUIレンダリングエンジン。 XUL, Thinlet, SwiXML, XAML, xfy などで、先行事例多数。 独自に開発するか、いずれかの実装を組み込で利用するかは要検討。 XARtoXGUIML XSLTスクリプト。RelaxNG+XARをXGUIMLに変換する。 このとき、XARは最低限もしくは全く記述されていなくても、 最低限のXGUIMLが生成できるようにする。 Vocabulary Connection/xfyに類似(対象のメタレベルが異なる)。

eXsed(えくせっど):自己記述的に拡張可能なXMLエディタ

XMLインスタンスの編集・ XMLスキーマの指定

XMLスキーマ内に GUI用アノテーション(XAR)を埋め込み (必要に応じて) Convention Over Configuration

XARtoXGUIML: XSLTで(RelaxNG+XAR)を変換し、 XMLによるGUI定義を生成 Code Generation XSLT

XGUIML: XMLによるGUI定義により、 XMLエディタ機能を実現

自己記述:エンジン内部動作用のXML インスタンスをも、編集可能とする

SQSのコンセプト 2種類の「共有」

SourceEditorとMarkReaderを 「キラーアプリ」として、 インストールベースを、 地道に、ひたすら稼ぐ。 (トロイの木馬的な戦術) SourceEditorとMarkReaderを 「キラーアプリ」として、 インストールベースを、 地道に、ひたすら稼ぐ。

2種類の「共有」の導入 1.「アンケートシステム」の共有化 × 2.「調査票の共有」のシステム Shared Questionnaire System 1.「アンケートシステム」の共有化 オープンソース・ソフトウェアとしてのSQS × 2.「調査票の共有」のシステム   オープンな調査コンテンツの処理系としてのSQS

共有:流通・再利用 ネットワーク経由で取得した「調査票の本文」を、コピー・貼り付けしたり、一部を書き換えたりすることで、簡単に新しい「調査票」を作れるようになる。 社会的に調査ニーズの高い・品質の高い調査票が、繰り返し使われることで、より洗練されるとともに、その調査結果が蓄積し、客観的な評価のための比較に用いることができるようになる。

「アンケートシステム」の共有化 オープンソースソフトウェアとしての開発提供 要求:学校現場によるボトムアップな「カイゼン」 学校ごとの目標設定 校長を中心とした現場マネジメント 地域の特色を活かした学校づくり   → 現場組織の自律性・主体性を活かした学校カイゼン 解決方針:JavaWebStart(リッチクライアント)でのバイナリ配布 サーバ側での処理内容の軽減 クライアント側での利用内容の「リッチ」化 オープンソース実装のリッチクライアント化 → 「いつでも・どこでも・だれでも使える」システム 実施内容:開発コスト・再配布コスト削減 Apache License Version 2の採用

「調査票の共有」のシステム オープンな調査コンテンツ処理系 要求:調査コンテンツの社会的共有の促進 → 末端の現場組織のタコツボ化を防ぐ    オープンなカイゼン知識の共有 教育委員会などによる調査票の雛形配布、調査項目の一部共通化 学校の説明責任としての調査票データ(調査プロセス)の公開 解決方針:調査コンテンツを記述するスキーマのオープン性の実現   → プロプライエタリではない、標準スキーマ・語彙の採用 XHTML, XForms, XSL-FO, SVGなどのXML標準 内部的仕様を公開することで、コンテンツと処理系それぞれの部品化・再利用を促進 実施内容:処理系のオープンソース実装の開発と提供  → コンセプト実証・参照用実装として利用

学校評価の役割の3層構造化 調査手法 (調査の手法・ 調査項目の雛形)の提供 調査票 調査結果 それぞれの 学校現場 調査手法 (調査の手法・  調査項目の雛形)の提供 文科省・教育委員会・ 大学・研究機関・NPO それぞれの 学校現場 (学校評価の実施担当教員・  校長・教頭) 学校評価への回答者 (教職員・児童生徒・ 保護者・地域住民など) 課題への取組を共通化・ 特色化 調査票 (何を・どのように  調査するのかの  デザイン)の記述・調査実施 調査結果 (回答内容・  現実はどうなって  いるのかのデータ)への反映

文部科学省行政への反映 2005年9月:中央教育審議会・義務教育特別部会(第33,34回) 「科学的な手法」であるというコメントを受ける。 2006年4月:「学校の第三者評価等に関する研究計画に関わる事業案の公募」 文部科学省からのヒアリングを受け、募集内容に影響を与える。 「事業成果物はフリーソフトウェアとすること」との文言が盛り込まれる。 2006年8月:「学校評価ガイドラインに基づく評価実践研究推進地域及び協力校の指定」・「コンピュータ等を有効に活用した効果的な処理方法の研究」部門 岩手県奥州市における「学校評価の事務的負担を軽減する「学校評価支援システム(SQS)」の有効な活用と普及・拡大」が採択される。

SQS2.0の意義 eXsed, eXigrid いずれも、SQSとは独立の、 ソフトウェアとして有効に利用され得る。 XML、P2Pの潜在力を引き出す SQS2.0の実装は、eXsed, eXigiridのメリットを最大限に活かす形となる。 共有と再利用の効率化、運用のカジュアル化 SQS2.0をきっかけに、社会が変わる。 ボトムアップな「データ経営」の考え方が普及する マニフェストにもとづく地方自治・市民自治が実質化する

終了後の展望 XML → Paper Test + Web Based Test 分散的な自由記述欄のテキスト化・ソーシャルブックマーク化 紙の上でもE-learningを学べるようする 分散的な自由記述欄のテキスト化・ソーシャルブックマーク化 災害時の被災者支援情報共有など 次世代Semantic Webにおける大規模確率推論のデータソース 実際の社会調査に基づいて「風が吹けば桶屋が儲かる」かどうかを検証

SQSホームページ ありがとうございました http://sqs-xml.sourceforge.jp/ 開発ブログ http://sqs.cmr.sfc.keio.ac.jp/tdiary/ ありがとうございました