研究課題/領域番号 |
23K11763
|
研究種目 |
基盤研究(C)
|
配分区分 | 基金 |
応募区分 | 一般 |
審査区分 |
小区分90020:図書館情報学および人文社会情報学関連
|
研究機関 | 筑波大学 |
研究代表者 |
阪口 哲男 筑波大学, 図書館情報メディア系, 准教授 (10225790)
|
研究期間 (年度) |
2023-04-01 – 2026-03-31
|
研究課題ステータス |
交付 (2023年度)
|
配分額 *注記 |
1,950千円 (直接経費: 1,500千円、間接経費: 450千円)
2025年度: 520千円 (直接経費: 400千円、間接経費: 120千円)
2024年度: 910千円 (直接経費: 700千円、間接経費: 210千円)
2023年度: 520千円 (直接経費: 400千円、間接経費: 120千円)
|
キーワード | WebAssembly / SaaS型プログラミング環境 / プログラミング入門 / 永続的記憶プログラミング / Python / Webサーバプログラミング |
研究開始時の研究の概要 |
Web ブラウザの高機能化とその標準化により、PC等の端末機器への導入作業なしに利用可能なアプリケーションが増えている。プログラム開発環境についても同様であるが、根幹的な機能はサーバ上にあり、多数の利用者に供するために様々な制限がある。 本研究は、プログラミング初学者が端末機器への導入作業をすることなく、入門編から一歩進んだプログラミングを学ぶための環境に必要な技術要素を明らかにする。システム構成においてサーバへの依存度を減らし、サーバによる制限を極力排除したものを目指す。対象とするプログラミングには、情報検索システム構築のようなファイルやデータベース等永続的記憶を用いた課題を想定する。
|
研究実績の概要 |
本研究の目的は、プログラミング初学者による手元の端末機器へ導入作業が不要でサーバ側にも負荷にならない、入門編から一歩進んだプログラミングを学ぶための環境に必要な技術要素を明らかにすることである。 Google Colaboratoryのようなサーバ側でのプログラム実行環境に対し、本研究ではWeb ブラウザ上の高性能なプログラム実行機構として近年注目されているWebAssembly (以下WASM)を利用することにより、サーバへの依存度を減らし、サーバへの負荷を由来とする制限を極力排除する事を目指す。 WASMを用いた高級言語としてPythonを選び、標準ドキュメントにも言及されているPyodide処理系を選定した。永続的記憶機構については研究計画時に想定していたリレーショナルデータベースSQLiteをWASMで構築するプロジェクトがあり、これをPythonから利用するための処理系が既に公開されており、これを採用した。一方、本課題ではWebベースの情報検索システム開発の演習課題なども視野に入れているため、Webサーバ機能が必要になる。しかしながら、WASMそのものはWebブラウザ内でプログラムを実行する仕組みであり、ネットワーク通信等セキュリティに懸念が生じる機能を使うことが出来ない。その代替手段について調査し、WebContainersというWebブラウザ内でWebサーバ開発を可能にするツールを見出した。これを用いるとHTTP通信がTCP/IPではなくWebブラウザ内でのプロセス間通信に置き換えられ、Webサーバプログラミングが可能となる。2023年度ではこれらを組み合わせ、最低限の検索システム例を実行可能なことを確認したが、ブラウザ内リソースの制約があり、プログラムライブラリなどを大幅に削除する必要があることや、開発環境としての使い勝手に課題が残った。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
研究実績の概要で述べたように、簡単な情報検索システムをPython言語によりWebブラウザ内で閉じたものとして開発するために必要な構成要素を確認し、それらを組み合わせて入門的な検索システムの試作までは確認できた。研究協力者による必要ツールの調査も捗ったため、本課題1年目としては順調に進められたと考えられる。一方、本研究の目的ではプログラミング入門者にも使える開発環境を目指しているが、現状では、(1) Webブラウザ内で利用可能なリソースの制限により、Python用ライブラリなどを大幅に削減する必要があり、(2) 開発環境としてのデバッガ等の機能が十分ではない、という課題が残されている。一方、これらの課題のうち後者はプログラミング一般の課題でもあり、JupyterLiteのような既存のものとの組み合わせも考え得るので、本課題として主に残された課題は前者の制限されたリソース内でどこまでの機能が実現可能かを確かめることであると考えられる。
|
今後の研究の推進方策 |
現在までの進捗状況にも述べたように、本研究の残された課題としては、(1) Webブラウザの制限されたリソース内で削減するライブラリの最少化、(2)プログラム開発環境の機能充実化、があげられる。後者はJupyterLite等既存のものを組み合わせる可能性があり、そのためにもブラウザ内で用いることが出来るリソースの制限への対策が重要なので、まずは前者についての調査と対策技術の検討を進める。特にWebブラウザのリソース制限はブラウザの種類や実行する際のOSなどの環境にも依存する可能性がある。そのため、動的に制限量を確認して、プログラム実行に必要な最小限のライブラリのみを読み込むなどの対応策の検討と実験から進めていく。
|