研究課題/領域番号 |
15K01075
|
研究機関 | 香川大学 |
研究代表者 |
香川 考司 香川大学, 工学部, 准教授 (50284344)
|
研究期間 (年度) |
2015-04-01 – 2019-03-31
|
キーワード | e-ラーニング / Webアプリケーション / プログラミング |
研究実績の概要 |
プログラミング学習環境をタブレットやスマートフォンなどのスマートデバイスに対応させるため、クライアント側の環境として、フルキーボードを使用できない状況でできるだけ効率的にプログラムを編集するためのエディターのユーザーインターフェイス (UI) のプロトタイプの実装を行った。 また、サーバー側の機能として、Java仮想機械 (JVM) 上で実行されるプログラムが無限ループしてサーバーをダウンさせないように無限ループにつながる可能性のあるコード部分にチェックコードを挿入して、一定回数以上実行されると停止するようなコード改変を行う機能を実装した。当初予定していた Apache BCEL (bytecode engineering library) (commons.apache.org/proper/commons-bcel) は開発が止まっており、JVM の新しいバージョンに対応していないため、同様の機能を持つ OW2 ASM (asm.ow2.org)を使用して、コード改変を実装した。 プログラムをサーバー側で実行するための環境として、研究開始前は想定していなかった docker (www.docker.com) などの仮想化技術が進展しており、docker をサーバー側でのサンドボックス環境提供に用いるための調査とプロトタイプの実装を行った。 サーバーに負担をかけずにスマートデバイスでプログラムを実行するための方法として、DoppioJVM (doppiojvm.org) など JavaScript 上で動作する言語処理系の調査を行った。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
エディターUIの開発では、CodeMirror (codemirror.net) と jsTree (www.jstree.com) を組み合わせたエディターをプロトタイプ実装し動作を確認した。ただし、現況ではiOS や Android では一部の機能が動作しないなど問題点が見つかった。また、当初の期待ほど表示がコンパクトにならず、小さい画面で利用するためには、さらなる工夫が必要であると考えられる。 また docker は利用できる目途は立ったが、インターフェイスとなる Java Servlet は既存研究の WappenLite のサーバー部ほどの機能は実装できておらず、機能拡張が必要である。
|
今後の研究の推進方策 |
Java アプレットがコード署名が必須となったり、また今後ブラウザープラグインが廃止予定とアナウンスされたりしている。既存の WappenLite は Java アプレットを用いていため、 Windows などでプログラミング学習環境を実行するにも問題が生じてきている。このため、docker などを利用するサーバ側実行環境の構築を最優先にする。 エディター UI に対しては、スマートデバイスの小さな画面で快適に使用できるような編集方法を引き続き検討する。 JavaScript による言語処理系は実行速度は期待できないが、小規模なプログラムを実行するには十分であることが判明したため、これを利用したシステムを設計・実装する。
|
次年度使用額が生じた理由 |
国内旅費の回数が当初の予定より少なく、また近隣地だったため、旅費の使用が予定より少なかった。海外旅費も予定より少ない金額で済んだ。そのため平成28年度に購入予定だった大きめの画面のタブレットを一部先回しに購入した。当初予定していた iOS/Android より Windows がテストに有利だと判断したため、Windows 搭載機を選んだがそれでも差額が生じた。
|
次年度使用額の使用計画 |
当初予定では iOS と Android タブレットを合わせて小さめの画面のスマートデバイスを平成27年度に6台購入予定だったが、これを後回しにしたため平成28年度に購入する予定である。
|