C5-1

ELECOA における教材オブジェクト間通信削減方式の実装と評価
Implementation and Evaluation of Methods for Reducing the Amount ofCommunication between Courseware Objects in ELECOA
森本 容介*1, 仲林 清*2
Yosuke MORIMOTO*1, Kiyoshi NAKABAYASHI*2*1 放送大学*1The Open University of Japan*2 千葉工業大学*2Chiba Institute of Technology
Email: morimoto@ouj.ac.jp
あらまし：e ラーニングシステムのアーキテクチャである ELECOA において，通信要否の評価やキャッシュにより，教材オブジェクト間の通信回数を削減する実装を行った．そして，SCORM のテストコンテンツを用いて通信回数の削減効果を評価した．本実装により，マルチプラットフォームに配置したコンテンツの動作速度の向上が期待できる．
キーワード：ELECOA，SCORM，分散環境

1.

はじめに

著者らは，拡張可能な e ラーニングシステムのアーキテクチャである ELECOA を提案している(1)(2)．
ELECOA は，教材オブジェクト間の通信によって，学習制御機能を実行する．教材オブジェクトは，複数のプラットフォームに分散して配置することができる．このとき，教材オブジェクト間の通信回数を削減することが動作速度の向上につながる．本研究では，通信回数の削減方法を検討し，実装した．また，SCORM のテストコンテンツを用いて，削減効果を評価した．

2.

ELECOA の教材オブジェクト間通信

ELECOA では，階層構造を持つコンテンツの各ノードに教材オブジェクトを対応づける．コンテンツの起動時に，サーバ側で，コンテンツの階層構造に従った教材オブジェクトのツリーが作られる．ある時点で学習中のノードをカレントノード，カレントノードの教材オブジェクトをカレントオブジェクトという．カレントノードに対応するリソース(コンテンツの“ページ”)が学習者の Web ブラウザに配信される．学習者からの学習制御の要求は，“学習コマンド”としてカレントオブジェクトに送られる．学習コマンドを受け取ったカレントオブジェクトは，以下の処理を順に行う．
(1) ロールアップ処理：カレントオブジェクトからツリーのルートまで，各ノードの教材オブジェ
クトが持つ学習状態を更新する．
(2) ポストコンディションルール処理：学習コマンドを，ルールに従って置き換える．カレントオ
ブジェクトからツリーのルートまで，各ノードの教材オブジェクトが持つルールが評価される．よりルートに近い方が優先される．
(3) シーケンシング処理：学習コマンドを実行し，次のカレントノードを決定する．自ノードをルートとするサブツリー内で次の配信ノードを探し，決定できなければ，親に処理を依頼する．
(4) 学習コマンドリスト生成処理：シーケンシングによる新しいカレントノードへの移動後に，ツリー内の制御状態を更新し，その時点で実行可能な学習コマンドのリストを生成する．ツリー内の制御状態とは，カレントノードとその先祖ノードであることを表すフラグ等であり，学習状態の決定や，次節で述べるキャッシュの削除判断に影響を及ぼす．
いずれの処理においても，教材オブジェクト間の通信が発生する．なお，ELECOA では，ツリーのノードをまたいで学習状態を共有する目的で，“共有学習目標”と呼ぶ教材オブジェクトを用いる．直接通信可能な経路は，ツリーの親子ノード間，およびツリーのノードとそれに結びつけられた共有学習目標間に限られる．

3.

教材オブジェクト間通信の削減方式

通信を不要と判断したり，キャッシュを用いたりすることにより，教材オブジェクト間の通信を省略できる．本研究では，各処理に応じて，次のような方式を設計した．
3.1 ロールアップ処理の通信削減
子ノードは，学習状態が変化していないなら，親ノードにロールアップコマンドを送らない．変化した場合，ロールアップコマンドとともに学習状態と自身の配信可否を伝え，これを親ノードがキャッシュする．これにより，親ノードは子ノードへの学習状態問い合せ通信を削減できる．キャッシュは新しい試行の開始時など，適切なタイミングで削除する．
なお，自身の配信可否は，シーケンシング処理の通信省略に用いる．

― 233 ―

教育システム情報学会 JSiSE2020
第45回全国大会
2020/9/2-9/4

テスト
ケース
SX-03

SX-05

計

Step
3
4
5
2
3
4

[R]

php-elecoa[P][S]

表 1 通信回数の比較結果
js-elecoa[C][R][P][S]

[R]

削減率
[P]
[S]

(中略)
312
1 93% 50%212
1 96% 50%213
1 96% 50%614
1 82%0%6168 82%0%1525
1 86% 33%
(中略)
21697 770 1915 1289 2651 498 1588 1002 88% 35%[R] ロールアップ処理[P] ポストコンディションルール処理[S] シーケンシング処理[C] 学習コマンドリスト生成処理
4646473334108

2
22
1
1322
34
6522
11103

3.2 ポストコンディションルール処理の通信削減
先祖ノードのいずれにもポストコンディションルール処理のルールが設定されていない場合，親ノードへのコマンド送信を省略する．先祖ノードにルールが設定されているかは，教材オブジェクトの配置時に確認し，各ノードが保持する．
また，2 回目以降のポストコンディションルール処理が不要と判断できる場合は，省略する．たとえば，学習状態によりコマンドを置き換えるポストコンディションルールが成立せず，かつその後学習状態が変化していない場合は，2 回目以降を省略する．
3.3 シーケンシング処理の通信削減
ある子ノードが配信できないことがキャッシュに記録されている場合，その子ノードへの配信可否の問い合わせを省略する．
3.4 学習コマンドリスト生成処理の通信削減
ツリー内の制御状態の更新において，以前のカレントノードと新しいカレントノードの最小共通祖先より上位への通信を省略する．

4.

[C]

通信回数の削減効果の評価

4.1 評価方法
ELECOA の実装として，PHP を用いた php-elecoa，および php-elecoa を JavaScript で再実装した js-elecoaが存在する．前章で述べた教材オブジェクト間通信の削減方式を js-elecoa にのみ実装した．
SCORM 2004 3rd Edition には，適合性テストに用いるテストコンテンツ(テストケース)が 100 種類用
意されている (3)．それぞれのテストケースには，テストを進めるための手順(ステップ)が定義されている．ステップ数はテストケースによって異なり，1～18 である．
SCORM の一部の機能は，仕様が不明確であるため実装していない．それらの機能を使ったテストケースである SX-04a と SX-04b を除いた 98 種類のテストケースを用いて，php-elecoa と js-elecoa の通信回数を比較することにより，削減効果を確認した．
なお，php-elecoa と js-elecoa では，コンテンツの[C]

0%0%0%0%0%0%

50%
50%
0%
0%
20%
67%

17%

22%

起動方法が異なる．そのため，各テストケースのステップ 1 は除いて比較した．
4.2 評価結果
教材オブジェクト間の通信回数を，2 章で述べた 4種類の処理に分けて集計した結果を表 1 に示す．ここでは，SX-03(総ステップ数 5)と SX-05(総ステップ数 18)の一部のステップのみを示している．たとえば SX-03 のステップ 3 では，ロールアップ処理がphp-elecoa の 46 回に対して，js-elecoa では 3 回に削減できており，削減率は 93%である．一方，シーケンシング処理はどちらも 2 回であり，削減できていない．表 1 の最下行は，98 種類のテストケースの，ステップ 1 を除くすべてのステップにおける通信回数の合計である．いずれの処理も通信回数を削減できているが，特に通信回数の多いロールアップ処理は，88%減と大幅に削減できている．これは，学習状態のキャッシュにより，学習状態を問い合わせる通信を大幅に削減できたためであると考えられる．

5.

まとめ

本研究では，ELECOA における教材オブジェクト間の通信回数削減方式を設計し，実装した．そして，SCORM のテストコンテンツを用いて通信回数の削減効果を評価した．今後は，各処理の特性，カレントノードの深さ，カレントノードからのエッジ数などに着目した詳細な分析を行いたい．
参考文献(1) 仲林清, 森本容介: “拡張性を有する適応型自己学習支援システムのためのオブジェクト指向アーキテク
チャの設計と実装”, 教育システム情報学会誌, Vol.29,No.2, pp.97-109 (2012)(2) 仲林清, 森本容介: “拡張性を有する学習支援システ
ムにおける再利用性向上のための教材オブジェクト
デザインパターンの設計と実装”, 教育システム情報学会誌, Vol.35, No.3, pp.248-259 (2018)(3) Advanced Distributed Learning Initiative: “SCORM®
2004 (3rd Edition) Conformance Test Suite ” ,https://adlnet.gov/projects/scorm-2004-3rd-edition-confor
mance-test-suite/ (参照 2020.5.17)― 234 ―