研究課題/領域番号 |
18K11247
|
研究種目 |
基盤研究(C)
|
配分区分 | 基金 |
応募区分 | 一般 |
審査区分 |
小区分60050:ソフトウェア関連
|
研究機関 | 法政大学 |
研究代表者 |
佐々木 晃 法政大学, 情報科学部, 教授 (90396870)
|
研究分担者 |
廣津 登志夫 法政大学, 情報科学部, 教授 (10378268)
伊藤 克亘 法政大学, 情報科学部, 教授 (30356472)
|
研究期間 (年度) |
2018-04-01 – 2024-03-31
|
研究課題ステータス |
交付 (2022年度)
|
配分額 *注記 |
4,290千円 (直接経費: 3,300千円、間接経費: 990千円)
2020年度: 1,430千円 (直接経費: 1,100千円、間接経費: 330千円)
2019年度: 1,170千円 (直接経費: 900千円、間接経費: 270千円)
2018年度: 1,690千円 (直接経費: 1,300千円、間接経費: 390千円)
|
キーワード | プログラミング言語 / コンパイラ / プログラミング言語生成系 / 言語推定 / エディタ / プログラミング言語処理系 / ライブプログラミング / ドメイン特化言語 |
研究実績の概要 |
本研究の目標は、「行きつ戻りつ」を繰り返す探索的なスタイルによって、効果的にプログラミング言語の開発を行うための手法を提案することである。本応募課題では、開発者がプログラムの例示に基づいて言語の設計を探索的に行いつつ、効率的にその言語処理系の実装を得る手法の開発を目指す。
本課題の目標の一つは、汎用言語ではない新たな言語の開発、特にドメイン特化言語(DSL)の開発に本手法を応用することである。本年度は、エージェントシミュレーション言語の開発を目標とし、振る舞いを詳細に記述する必要のあるシミュレーションについての研究を行った。また、DSLとして西洋音楽の楽譜を記述する言語とその演奏環境について設計した。前者は、本手法を適用する社会シミュレーション分野のドメイン特化言語(DSL)の設計を目的としている。実際にシミュレーションシステムの開発を行うことで、DSLが表現すべきモデルの検討を行った。後者については、構文の仕様に基づいた、探索的な編集が可能なインタフェースについて考案し、プロトタイプ実装を環境に組み込んだ。さらに、新たなDSLとして、教育向けプログラミング環境の開発におけるブロック言語について、その構文を本手法によって効率的に設計可能かどうかを検討した。本来、ビジュアル言語にはテキストとしての構文は不要であるが、構造に従った言語ブロックの組み合わせによって、プログラムを表現するため、本手法が有用であるとの示唆を得た。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
本年度は、未知言語の開発における本方式の有効性や手法を検討・実験を行うことを目的とし、ドメイン特化言語(DSL)についての研究を主に行った。概要の項で述べたように、DSLとして、シミュレーション言語の検討を行い、また、プログラミング言語とは少し離れた、楽譜を記述するための言語についての適用可能性を検討した。これらのDSLを設計する際に、本方式によるライブ「言語」プログラミングエディタを用いることを目標としていたが、エディタが実装段階には進んでいなかったため、検討段階までに留まった。一方で、教育向け環境のためのブロック言語を対象とする研究は、当初の計画にはなかった研究であったが、新たな発想につながる結果を得た。
|
今後の研究の推進方策 |
ライブ「言語」プログラミングツールの実現にむけて、これまでの研究成果に基づいて、探索的に言語仕様を設計するツールの開発を進める。特に、プログラム例から構文の候補を導出し選択的に仕様を決定させる手法の実装を進める。プログラミング言語の動的意味を考慮した効率化については、探索的にインタプリタを作成していく手法を通じて、言語の意味の設計を支援するシステムの実装を行う。また、未知言語としてドメイン特化言語の設計が可能であることを実験を通して検証を行う。
|