2023 Fiscal Year Research-status Report
目録検索システム構築演習授業を指向した高可搬型プログラム開発環境の構成法
Project/Area Number |
23K11763
|
Research Institution | University of Tsukuba |
Principal Investigator |
阪口 哲男 筑波大学, 図書館情報メディア系, 准教授 (10225790)
|
Project Period (FY) |
2023-04-01 – 2026-03-31
|
Keywords | WebAssembly / SaaS型プログラミング環境 / プログラミング入門 / 永続的記憶プログラミング / Python / Webサーバプログラミング |
Outline of Annual Research Achievements |
本研究の目的は、プログラミング初学者による手元の端末機器へ導入作業が不要でサーバ側にも負荷にならない、入門編から一歩進んだプログラミングを学ぶための環境に必要な技術要素を明らかにすることである。 Google Colaboratoryのようなサーバ側でのプログラム実行環境に対し、本研究ではWeb ブラウザ上の高性能なプログラム実行機構として近年注目されているWebAssembly (以下WASM)を利用することにより、サーバへの依存度を減らし、サーバへの負荷を由来とする制限を極力排除する事を目指す。 WASMを用いた高級言語としてPythonを選び、標準ドキュメントにも言及されているPyodide処理系を選定した。永続的記憶機構については研究計画時に想定していたリレーショナルデータベースSQLiteをWASMで構築するプロジェクトがあり、これをPythonから利用するための処理系が既に公開されており、これを採用した。一方、本課題ではWebベースの情報検索システム開発の演習課題なども視野に入れているため、Webサーバ機能が必要になる。しかしながら、WASMそのものはWebブラウザ内でプログラムを実行する仕組みであり、ネットワーク通信等セキュリティに懸念が生じる機能を使うことが出来ない。その代替手段について調査し、WebContainersというWebブラウザ内でWebサーバ開発を可能にするツールを見出した。これを用いるとHTTP通信がTCP/IPではなくWebブラウザ内でのプロセス間通信に置き換えられ、Webサーバプログラミングが可能となる。2023年度ではこれらを組み合わせ、最低限の検索システム例を実行可能なことを確認したが、ブラウザ内リソースの制約があり、プログラムライブラリなどを大幅に削除する必要があることや、開発環境としての使い勝手に課題が残った。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
研究実績の概要で述べたように、簡単な情報検索システムをPython言語によりWebブラウザ内で閉じたものとして開発するために必要な構成要素を確認し、それらを組み合わせて入門的な検索システムの試作までは確認できた。研究協力者による必要ツールの調査も捗ったため、本課題1年目としては順調に進められたと考えられる。一方、本研究の目的ではプログラミング入門者にも使える開発環境を目指しているが、現状では、(1) Webブラウザ内で利用可能なリソースの制限により、Python用ライブラリなどを大幅に削減する必要があり、(2) 開発環境としてのデバッガ等の機能が十分ではない、という課題が残されている。一方、これらの課題のうち後者はプログラミング一般の課題でもあり、JupyterLiteのような既存のものとの組み合わせも考え得るので、本課題として主に残された課題は前者の制限されたリソース内でどこまでの機能が実現可能かを確かめることであると考えられる。
|
Strategy for Future Research Activity |
現在までの進捗状況にも述べたように、本研究の残された課題としては、(1) Webブラウザの制限されたリソース内で削減するライブラリの最少化、(2)プログラム開発環境の機能充実化、があげられる。後者はJupyterLite等既存のものを組み合わせる可能性があり、そのためにもブラウザ内で用いることが出来るリソースの制限への対策が重要なので、まずは前者についての調査と対策技術の検討を進める。特にWebブラウザのリソース制限はブラウザの種類や実行する際のOSなどの環境にも依存する可能性がある。そのため、動的に制限量を確認して、プログラム実行に必要な最小限のライブラリのみを読み込むなどの対応策の検討と実験から進めていく。
|
Causes of Carryover |
2023年度は要素技術を組み合わせて実行可能かどうかを調べる段階に注力したため、もっぱら、研究代表者や研究協力者が用いるPC上でのテスト用サーバプログラムを用いて実験を行った。そのため、当初計画よりもサーバの導入を1年遅らせることにした結果、次年度使用となった。2024年度は遅らせたサーバの導入を行い、LAN内に閉じた利用だけでなく、インターネット経由での利用時に生じる課題などの確認を進める。
|