関西地区

教育システム情報学会 2018年度学生研究発表会

サーバ連携によるデータの一括収集管理が可能な心理学実験用タブレットアプリの開発
Development of Tablet Application for Psychological Experiment
Which Can Bulk Upload Results to Server
徳田 直也*1, 小島篤博*2
Naoya Tokuda*1, Atsuhiro Kojima*2*1
大阪府立大学現代システム科学域

College of Sustainable System Sciences, Osaka Prefecture University*1*2

大阪府立大学

Osaka Prefecture University*2

Email: sza01187@edu.osakafu-u.ac.jp
あらまし：従来、デスクトップ型 PC を用いた心理学実験では PC の設置場所が限られられることから多人数に対して同時に実験を行うことが難しいといった問題点があった。これに対して、タブレット端末を用いることで教室等でも同時に多人数を対象に実験を行うことが可能になる。そこで本研究では、サーバとのデータ連携機能を持った心理学実験用タブレットアプリケーション StimTestC の開発を行う。これにより実験データの収集や、実験に用いるための刺激データやカスタマイズ用の設定がサーバで管理できるようになり、実験実地者は必要に応じて実験データを一括でダウンロードすることが可能になる。
キーワード：タブレット端末，StimTestC，サーバ連携，同時多人数, 心理学実験, データ管理

1.

はじめにタブレット端末の活用法の一つとして、心理学実験に端末を用いて実験を行うことが挙げられる。従来のデスクトップ型 PC を用いる心理学実験では、PC の設置場所が限られるなど同時に多人数で実験を行うことが困難であったが、iPad などのタブレット端末を用いることにより、教室等で一斉にテストを実施することが可能となる。
本研究室では心理学実験用タブレットアプリケーションとして、カスタマイズ可能な反応時間測定機
能つき 2 択テストアプリケーション StimTestC を開発している。StimTestC には小学生を対象とした整数・小数・分数等の大小比較テストを行えるほか、問題内容や形式をカスタマイズすることにより大学生レベルの内容の実験も可能となる。StimTestC はタブレット端末で動作するため、端末さえ用意すれば多人数でも一斉に実験が可能である。[1]
一方で、現状では実験終了後実験データは端末内に保存されており、データを収集する際は実験に使用した端末を一台ごとにパソコンに接続して取り出す必要があり、作業が煩雑であった。
そこで、本研究では各端末から実験データを収集元となるサーバに自動送信する機能を持つ、心理学実験用アプリケーション StimTestC の開発を行う。

2.

図 1 刺激と応答ボタンの表示例
時の画面例を図１に示す。左右上部の画像が刺激提示であり、左右の画像が表わす内容が等しいか否かを下部のボタンで回答する。左右が等しいなら○、等しくないなら×をタップする。アプリケーション
内では被験者の解答の反応時間や正誤の測定を行う。
2.2 実験のカスタマイズ
StimTestC では、刺激を提示するための画像ファイル、問題数や解答などがカスタマイズ可能である。
あらかじめ XML 形式で設定が記載されたファイルをアプリケーション起動時に読み込みことでファイルの設定に基づいた実験を行う[2]。図 1 の例題で表示している数学的画像では集合に関する問題を例として用いており、中高生向けのレベルとなっているが「2+7」と「9」といった画像データに変更することで、小学生向けの問題に変更することも可能になる。

StimTestC の概要

2.1 刺激提示画面例
StimTestC では心理学実験としてよく行われている形式である、画面の左右に刺激（問題）を提示し被験者に回答を求める形式で実験を行う。刺激提示

123

関西地区

教育システム情報学会 2018年度学生研究発表会

ドを行うため、被験者はデータ送信に関して特別な操作を行う必要はない。
3.4 データの保護

サーバ
データを一括でダウンロード
実験
実験データを自動送信

データ管理
実験者

・画像データ
被験者

タブレット端末・実験データ(StimTestC)・XML ファイル

3.5 サーバの役割
サーバ内にファイルを保存するための PHP プログラムを配置する。StimTestC 内から URL を指定し
フ ァ イ ル を POST す る こ と で PHP 側 で は
is_uploaded_file、move_uploaded_file 関数により、POST されたファイルを受け取り、サーバ上の指定フォルダに保存する。
またサーバ内には先述した PHP ファイルの他に、問題の画像など StimTestC 内で用いる画像ファイルが保存されたフォルダデータと、問題に使用する画像や問題数などを指定した XML ファイルが保存されている。

図２ StimTestC のサーバ連携の構成図

図３ 出力ファイルの例

3.

ローカルネット上のサーバを用い、データが保管されているサーバには実験者などの許可された特定のユーザのみがアクセスできるため、第三者に実験データが閲覧されることなくデータの機密性が保持される。なお、通信は SSL で暗号化している。

サーバとのデータ連携

続いて、実験の結果をサーバにアップロードする仕組みについて説明する。図 2 に StimTestC とサーバとの連携の構成を示す。以下ではこの連携について説明する。

4.

3.1 設計StimTestC は macOS 上の 統合開発 環境であ る
Xcode で開発を行い、iOS アプリケーション開発の標準言語である Swift を開発言語に採用している。
実験終了後は実験データを CSV ファイル形式として StimTestC からサーバへアップロードする。サーバでは PHP プログラムを用い、アップロードされたファイルを受信し保存する。
3.2 出力形式
実験データは一問につき、問題番号、左の刺激の画像番号、右の刺激の画像番号、問題の正答、応答ボタンの配置パターン、被験者の回答、回答の正誤、反応時間(ミリ秒)の 8 つのパラメータが記録される。
実験終了時、8 つのパラメータを一行分として記述したファイル形式で生成し、パラメータをカンマ区切りにした CSV 形式で出力する。また、ファイル名はあらかじめ入力した被験者番号を用い、savetest-(被験者番号)-(記録した年月日時間).csv と指定することで一意なファイル名となる。
図 3 に実験結果をもとに全 10 問、それぞれに 8 つのパラメータデータが記されたファイルの出力例を示す。
3.3 実験データの送信
実験のデータの送信には Swift のクラスの一つである URLSessionDataTask を用いてサーバとの HTTP通信を行う。これにより、実験終了時にアプリケーション内部で自動的にデータをサーバにアップロー

124

サーバ上のデータ管理

実験の実地者はサーバとはセキュリティに配慮して、SSH プロトコルを用いてローカルから通信を行う。サーバ上ではコマンドを用いて操作する。アクセス後、実験者はファイルが保存されたフォルダをダウンロードすることで複数の実験データを一括して収集できる。また、サーバ上にある画像フォルダに新しい画像の追加や XML ファイルの書き換えによって、実験の条件設定をカスタマイズ可能となる。

5.

まとめ

本研究で、サーバ連携によって同時に多人数相手に実験が可能になったほか、サーバを用いて一括してデータ管理を行うことができる StimTestC を開発した。
一方で、カスタマイズを更に容易にする、実験データをファイルとしてだけでなくデータベースとして自動的に保存できるように改良するなど、アプリケーションの利便性をより向上させることが今後の課題として挙げられる。
参考文献(1) 小島篤博, 岡本真彦, 川添充: “スマート端末を用いた反応時間測定機能つき 2 択テストの開発”, 第 39 回
教育システム情報学会全国大会講演論文, pp43-44(2014)(2) 吉田麻那: “心理学実験のためのカスタマイズ可能なタブレットアプリの開発”, 大阪府立大学現代システ
ム科学域知識情報システム学類卒業研究報告書(2016)