2017 Fiscal Year Research-status Report
文脈の変化に応じて離散的に振舞いを変えるソフトウェアのためのプログラミング言語
Project/Area Number |
16K16033
|
Research Institution | Tokyo Institute of Technology |
Principal Investigator |
青谷 知幸 東京工業大学, 情報理工学院, 助教 (20582919)
|
Project Period (FY) |
2016-04-01 – 2019-03-31
|
Keywords | 文脈指向プログラミング / 反応型プログラミング / 補償処理 |
Outline of Annual Research Achievements |
Javaをはじめとするオブジェクト指向プログラミング(OOP)言語を基礎とする関数的反応型プログラミング(FRP)言語の研究と,FRPを利用した文脈指向プログラミング(COP)言語の研究に取り組んだ.FRPは時々刻々と変化する文脈を簡潔に捉えるための有望な手段の一つであり,従ってCOPの基礎となり得る.OOPにおける反応型プログラミングの主な手法は,C言語などにみられるイベント駆動プログラミング(EDP)である.EDPとFRPには,プログラミングのしやすさにおいて得手不得手があり,一つのプログラミング言語の中で共存することが望ましい.このような研究にはGuido SalvaneschiらによるREScalaがあったが,EDPのための言語機構であるイベントとFRPのための言語機構であるシグナルが分かれて存在しており,イベントとシグナルの変換関数によってEDPとFRPが結ばれているという状況だった.本研究ではイベントとシグナルの統合を提案した.Javaにこの拡張を導入したSignalJを設計し,実装した.研究成果をまとめた論文は<Programming> 2018に採録された.またFRPのCOPへの応用として,プログラムの実行とは非同期的に文脈が変化するプログラムの二つの実行モデルを考案した.一つ目の実行モデルは非同期的な文脈の変化に応じた適切な振舞の選択方法に注目したものである.実現可能性を議論するために,申請者らが以前に提案したCOP言語ServalCJへの導入を検討した.実行モデルとServalCJの拡張のアイデアをまとめた論文はCOP 2018に採録された.2つ目の実行モデルは非同期的な文脈の変化について,既に行ってしまった計算を巻き戻して新たな文脈で計算を行うためのものである.実行モデルのアイデアをまとめた論文はREBLS'18に採録された.
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
FRPのCOPへの応用は,センサからの情報に基づいて振舞を変えるプログラムのために重要である.多くのCOP言語の基礎であるOOP言語とFRPの統合が達成できたことは,FRPのCOPへの応用に大きく寄与する.
|
Strategy for Future Research Activity |
今年度に考案した二つの実行モデルを具体化すること.具体的には計算体系の設計と,JavaやScala,Haskellへの拡張・埋め込みによる実装を考えている.また,当初の計画の通り,活性層の解析手法に取り組む.
|
Causes of Carryover |
前年度未使用金額に由来する.今年度については90万円の申請額に対して94万円の実支出であったから,計画どおりに使用したといえる.翌年度については,実験用計算機の購入(30万円程度)と4回の国際会議出張(40万円程度x4),2回の国内出張(10万円程度x2)を計画している.
|