「なめらかな編集」のためのプログラミング言語仕様の拡大と縮小
Project/Area Number |
22K11981
|
Research Category |
Grant-in-Aid for Scientific Research (C)
|
Allocation Type | Multi-year Fund |
Section | 一般 |
Review Section |
Basic Section 60050:Software-related
|
Research Institution | Hosei University |
Principal Investigator |
佐々木 晃 法政大学, 情報科学部, 教授 (90396870)
|
Project Period (FY) |
2022-04-01 – 2025-03-31
|
Project Status |
Granted (Fiscal Year 2023)
|
Budget Amount *help |
¥3,120,000 (Direct Cost: ¥2,400,000、Indirect Cost: ¥720,000)
Fiscal Year 2024: ¥1,300,000 (Direct Cost: ¥1,000,000、Indirect Cost: ¥300,000)
Fiscal Year 2023: ¥1,040,000 (Direct Cost: ¥800,000、Indirect Cost: ¥240,000)
Fiscal Year 2022: ¥780,000 (Direct Cost: ¥600,000、Indirect Cost: ¥180,000)
|
Keywords | プログラミング言語 / プログラミング言語処理系 / 構文解析 / エディタ / 言語処理系 |
Outline of Research at the Start |
プログラミング作業を行う際に言語処理システム(言語処理系)から得られるフィードバックは、プログラム作成者にとって理解しにくいものである場合が多い。本研究では、言語処理システムが、適切なタイミングで適切なフィードバックを提供することで「なめらかな編集作業」を可能とすることを目標とする。言語処理システムの問題点として、編集中のコードを正しく解析しない点、利用者を想定せずに単一のフィードバックしか提供しない点が挙げられる。そこで、(1) 言語仕様の拡大により編集中コードの解析を可能とする、(2)言語仕様の縮小により利用者が必要とするフィードバックを与える、以上の2手法により問題の解決を図る。
|
Outline of Annual Research Achievements |
本応募課題の目的は、プログラミング言語の言語仕様に対して利用目的に応じた拡張と縮小を施すことで、その言語を用いたソフトウェア開発時の編集作業の効率化をはかることである。ソフトウェア開発者がプログラミング言語処理系や開発環境から、効果的なフィードバックを得ながら開発を行う手法の提案を目指す。本手法の主要なアイディアは、言語仕様を適切に拡大および縮小をすることで、開発者へのフィードバックの質を高めること、また開発者がプログラムの編集操作を行うと即時に実行結果に反映される、ライブプログラミングの手法を活用することにより、フィードバックの頻度を高めることである。
今年度の主な成果は以下の3点である。 (1) プログラミング教育を目的として、学習者が利用する言語の言語仕様の制限に関わる研究を進めた。プログラミング初学者が、汎用言語を用いて学習を行う際に、学習単元に必要となる言語機構のみに機能を縮小したサブセット言語の上で、プログラミング作業を進めることが可能となる。特に、形式的に仕様の制限を行い、縮小した言語処理系を得るための手法の研究およびシステムの実装を行った。 (2) ライブプログラミング手法を用いてスムーズに編集を行いながら、インタラクティブアプリケーションの開発を進める手法の検討を行った。本研究では、実行時のプログラムをその場で更新する作用を、汎用言語で表現し実現する手法の検討を行った。 (3) ブロック言語とテキスト言語の相互変換を可能とするための手法について研究を行った。あるプログラムに対して複数の表現を用いてユーザーが編集可能とすることで、プログラミング教育における学習効率の向上や、ドメイン特化言語の導入コスト軽減が期待される。本研究では、既存言語処理系に備わる構文解析器等を活用して、異なる表現間での相互変換システムを効率的に実現する方法の検討を行った。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
本年度は、言語仕様の拡張と縮小のアプローチに基づく研究のうち、言語制限(縮小)による汎用プログラミング言語サブセットの自動生成に関する研究を行い、プログラミング教育の文脈において、学習者が教育目的に即したプログラミング作業を促進するフィードバックを効率的に与えるための研究を行った。また、昨年度に引き続き、効果的な編集作業を行うためのライブプログラミングの手法について研究を進めた。 当該年度は、本研究の中でプログラミング言語の拡張に関わる研究については進捗は少なかったものの、なめらかな編集作業を実現する新たなアプローチとして、ブロック言語とテキスト言語のプログラムの複数表現上での相互変換に関する研究を進めた。 以上の点から総合的に進捗は「順調」とした。
|
Strategy for Future Research Activity |
今後の方策の要点は以下である。 (1) 言語仕様の拡大に関係する研究を行い、構文エラーを含むプログラムをスムーズに修正する方法、適切なエラーメッセージを提示する方法を開発する。(2) 拡大と縮小を汎用的に適用可能とするための理論的研究を進めるとともに、これらの技術を利用可能なツールの開発を行う。(3) 昨年度に研究を進めた避難シミュレーションおよび道路交通シミュレーションの開発経験に基づき、シミュレーションモデル記述向けのドメイン特化言語を作成した上で、本手法を適用し実用性の検討を行う。
|
Report
(2 results)
Research Products
(7 results)