研究課題/領域番号 |
16K16033
|
研究機関 | 東京工業大学 |
研究代表者 |
青谷 知幸 東京工業大学, 情報理工学院, 助教 (20582919)
|
研究期間 (年度) |
2016-04-01 – 2020-03-31
|
キーワード | 文脈指向プログラミング / 反応型プログラミング / ワークフロー計算 / 余エフェクト計算 |
研究実績の概要 |
前年度に引き続いて,文脈の時々刻々たる変化に応じて振舞いを変える仕組みのために関数的反応型プログラミング(FRP)と文脈指向プログラミング(COP)の融合を研究した.また文脈依存計算の考え方に基づくCOPの研究に取り組んだ.
振舞いの切替は単純ではない.例としてスマートフォン上での画像の拡大縮小を考える.文脈はバッテリ残量とする.余裕があるときは高品質の,ないときは低品質な拡大縮小を行う.拡大縮小計算中にバッテリ残量が余裕に関する閾値を下回った時,即座に対応してしまうと,高品質な計算と低品質な計算が混ざって奇妙な画像が生成されてしまう.拡大縮小計算を行い始めた直後なら,高品質な計算を中断して,新たに低品質な計算を行うのが妥当である.一般化すると,計算の部分的な棄却(checkpointing),計算の全体的な棄却(abort),そして計算の休止(suspend)の三つの方法が考えられる.また計算の一部または全体を棄却するさい,計算に伴う副作用を打ち消す必要がある.副作用の打ち消しのために補償処理(compensation)が有効であると判断し,ワークフロー計算にcheckpointing, abort,そしてsuspendを入れた計算体系ContextWorkflowを開発し,またプログラミング言語として実装した.実装はHaskell, PurescriptおよびScalaで行った.研究成果を纏めた論文はECOOP 2018に採択された.また性質の異なる言語での実装が評価されて,Distinguished Artifact Awardに選ばれた.
文脈依存計算はCOPとは独立した研究分野で,FRPの基礎であり,余エフェクト計算として形式化できる.余エフェクト計算を拡張してCOPを実現する試みを行い,計算体系λVLを開発した.研究成果を纏めた論文はCOP'18に採択された.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
3: やや遅れている
理由
時々刻々と変化する文脈に応じて振舞いを変えるアプリケーションを一つ以上開発する予定だったが,既存のモジュール・システムと,本研究で開発した計算体系の相性が悪く,単純には混ぜられないことがわかった.
|
今後の研究の推進方策 |
モジュール・システムの基礎理論を変更して,本研究で開発した計算体系と相性の良い理論を再構築する.具体的にはSystem Fを部分構造型システムとして再構築し,λVLとの融合を目指す.
|
次年度使用額が生じた理由 |
研究の遅れに伴い,実装・実験環境のための物品購入と,論文発表についての出張が遅れた.次年度使用額は実装・実験環境のための物品購入と,現在提出中の論文の発表のための出張のために使う予定である.
|