G1-2

拡張性を有する学習支援システムにおける教材オブジェクトのためのデザインパターンの検討と試作
Investigation and Trial Implementation of Design Patterns
for Courseware Objects in Extensible Learning Support System仲林 清*1, 森本 容介*2
Kiyoshi NAKABAYASHI*1, Yosuke MORIMOTO*2*1
千葉工業大学 情報科学部*1
Faculty of Information and Computer Science, Chiba Institute of Technology*2
放送大学 教養学部*2
Faculty of Liberal Arts, The Open University of Japan
Email: knaka@net.it-chiba.ac.jp
あらまし：拡張性を有する学習支援システム ELECOA における教材オブジェクトのためのデザインパターンの検討について述べる．ELECOA の特徴は，プログラムモジュールである教材オブジェクトを追加することで，機能拡張性とコンテンツ再利用性を両立させた柔軟な学習環境を提供することにある．教材オブジェクトを自由に組み合わせるためには，教材オブジェクト間の通信パターンを定めておき，新規の教材オブジェクトはその通信パターンを遵守する必要がある．今回，ELECOA による独習型学習環境・グループ型学習環境の分析から，共通的な 4 種の教材オブジェクト間通信パターンを抽出し，新規教材オブジェクトがその通信パターンを遵守・再利用するためのデザインパターンの検討と試作を行った．
キーワード：学習者適応，拡張可能学習支援システム，教材オブジェクト，デザインパターン

1.

はじめに

2000 年ごろから e ラーニング技術標準化の活動が進められ(1)，教材については SCORM，QTI，教授方略については LD などの規格が開発された．これらにより，教材や教授方略の流通・再利用が可能となるが，準拠システムの拡張性が損なわれるという課題がある．これに対し，筆者らは，拡張可能な学習支援システムアーキテクチャ ELECOA (ExtensibleLearning Environment with Courseware ObjectArchitecture) を提案してきた(2)．このアーキテクチ
ャでは，教材オブジェクトと呼ぶプログラムモジュールを構成要素とすることで，標準規格による相互運用性を確保しつつ，機能拡張性を実現することを目的としている．機能拡張性を担保するためには，教材オブジェクト間の通信パターンを予め定めておき，すべての教材オブジェクトが，その通信パターンを遵守する必要がある．本稿では，教材オブジェクトが通信パターンを遵守・再利用するためのデザ
インパターンの検討・試作実装について述べる．

2.

ELECOA の概要

ELECOA は，図 1 に示すように，コンテンツ，教材オブジェクト，プラットフォームの 3 層の構成になっている．教材オブジェクトは，従来プラットフ
ォームに実装されていた，学習者適応や学習履歴記録などの機能を取り出したプログラム部品である．
これによってプラットフォームをモジュール化して，機能拡張性と相互運用性の両立を図る．新たな機能を実現する際は，新規の教材オブジェクトを追加する．既存コンテンツは既存の教材オブジェクトを用いて動作するため，新たな機能追加の影響を受けない．このため，カスタマイズが容易になり，機能拡張性を向上できる．また，コンテンツと教材オブジ
ェクトを一緒に流通させることで，相互運用性，コンテンツ再利用性を確保できる．
コンテンツ
教材内容・構造・順序
教材オブジェクトの組合せの記述
教材オブジェクト
学習者適応機能・表示機能・履歴記録機能
プラットフォーム実行時の教材オブジェクト連携

既存
既存
新規
新規
コンテンツ コンテンツ コンテンツ コンテンツ
1
2
3
4

Obj.A
Obj.C

Obj.B
Obj.D

動作
可Obj.F
Obj.E

Obj.G

プラットフォーム 必要な機能を後から追加可能
既存機能には影響しない

図 1 ELECOA の概要

3.

ELECOA の通信パターン

デザインパターンに対する要件となる ELECOAの通信パターンについて整理する．対象とする学習コンテンツ・学習制御構造は階層型（木構造型）とし，各ノードに教材オブジェクトを配置する．
木構造の一部のサブツリーを取り出して再利用可能とするため，教材オブジェクト間の通信は，直接の親子間に限定するものとする(2)．もし，通信を親子間に限定せず，木構造の親子以外のノード間の直接参照を許すと，サブツリーの再利用性は極端に低下すると考えられる．
さらに，ツリー全体での学習制御機能を実現するために，直接の親子間の通信を組み合わせて特定の機能を実現する通信パターンを定義する(3)．これら― 101 ―教育システム情報学会 JSiSE2016
第41回全国大会 2016/8/29-8/31の通信パターンを実装している各教材オブジェクトは自由に組み合わせることが可能となり，教材オブジェクトを修正・追加することで，新たな学習制御機能を追加できる．通信パターンは，独習型学習環
境(2)で規定された「シーケンシング処理」，「ロールアップ処理」，「ポストコンディションルール処理」，「学習コマンドリスト生成処理」の各処理に対応する．グループ学習で必要となる機能についても，他学習者の状態を条件とする分岐はシーケンシング処理で，他学習者との同期および他学習者の状態を条件とする強制移動はポストコンディションルール処理で実現できる(3)．
デザインパターンを考えるうえで必要な事項について以下に整理する(4)．
(1) 親子間の通信基本パターン(2)
上記の 4 つの通信パターンのいずれにおいても，学習者に提示されている学習資源に対応する葉の教材オブジェクト（これをカレントオブジェクトと呼ぶ）が通信の起点となり，親の教材オブジェクトに向けて順次コマンドを送り，親はそれに対する応答を子に送り返すという動作を行う．コマンドの応答は最終的にカレントオブジェクトに戻される．
(2) コマンドの拡張
個々の教材オブジェクトでは，コマンドに対する処理を独自に実装することができる．また，新たなコマンドを独自に追加することができる．これによって，ELECOA の機能拡張性が実現される(2)．
(3) 4 つの通信パターンの関係(2),(3)4 つの通信パターンは以下の順番で実行される．
1) カレントオブジェクトに対して学習コマンドが入力されると，ロールアップ処理で各ノードの学習状態を更新する．
2) ポストコンディションルール処理で，学習状態がルールの条件を満たしたノードで学習コマンドの書き換えが行われる．新しい学習コマンドとそれを実行するノード指定が返却される．条
件を満たすルールが無ければ返却値は空である．
3) シーケンシング処理で学習コマンドを実行する．
学習コマンドを受け取った教材オブジェクトが，そのコマンドを処理できない場合，教材オブジェクトは処理を親ノードに委譲する．最終的に，次に提示する学習資源に対応する葉ノード（次のカレントオブジェクト）の指定が返却される．
4) シーケンシング処理の返却値を新たなカレントオブジェクトとし，学習コマンドリスト生成処
理を実行する．カレントオブジェクトからルートノードまでの各教材オブジェクトで定義された学習コマンドのリストを，入力可能な学習コマンドのリストとして返却する．

4.

デザインパターンの検討

前節で述べた ELECOA の通信パターンを満たすための教材オブジェクトのクラス構成を検討する(4)．

クラスの継承構成については，すでに検討が行われている(2)．学習コンテンツ・学習制御構造の階層構造を規定する抽象クラス群（Activity クラス群）と，これを継承して実際の学習制御機能を実現する実装クラス群から構成される．
Activity クラス群は，親子ノード間の関係の定義と，直接の親子間の通信を行うメソッドを有している．
これによって，前節の(1)で述べた，カレントオブジェクトが通信の起点となり，親に向けて順次コマンドを送り，それに対する親の応答を子が受け取るという，通信の基本パターンが実現される．
実装クラスのうち，基底クラスとなる Simple クラス群で，前節で説明した 4 つの通信パターンを実現する．これによって，Simple クラスを継承した実装
クラスは，4 つの通信パターンのメソッドを必ず持つことになり，相互の組み合わせが可能となる．
これらのクラスを用いた実際の通信動作の概要を
図 2 に示す．Leaf, Block, Root は木構造の各ノードの教材オブジェクトである．Leaf がカレントオブジェクトである．それぞれのノードは，Activity レベルのインスタンスと，それを継承した Simple レベルのインスタンスで構成される．Activity レベルのインスタンスはコマンドの送受信を行うが，その内容には関知しない．実際の処理は Simple レベルのインスタン
スのメソッドを呼び出すことで実行される．学習者のコマンドを左端の Command Entry が受け取り，4つの通信パターンを前節の(3)の順序で起動する．
現在，このクラス設計に沿って既存教材オブジェクトのリファクタリングを進め，設計に問題が無いことの検証を行っている．
Leaf

Block

RootActivity
Simple CommandEntry

図 2 教材オブジェクト間通信動作の概要

謝辞
本研究は科研費（26280128）の助成を受けた．
参考文献(1) 仲林 清：“e ラーニング技術標準化と学習教授活動のデザイン ―オープンな教育エコシステムの構築を目指して―”，人工知能学会誌, 25(2), pp. 250-258 (2010)(2) 仲林 清, 森本容介：“拡張性を有する適応型自己学習支援システムのためのオブジェクト指向アーキテク
チャの設計と実装”，教育システム情報学会誌, 29(2),pp. 97-109 (2012)(3) 仲林 清，森本容介：“拡張性を有する学習支援システ
ムアーキテクチャにおける教材オブジェクト間通信パターンの検討”，信学技報，ET2014-100 (2015)(4) 仲林 清，森本容介：“拡張性を有する学習支援システ
ムにおける教材オブジェクトのためのデザインパターンの検討”，信学技報，ET2015-80 (2015)― 102 ―