• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

2018 Fiscal Year Research-status Report

文脈の変化に応じて離散的に振舞いを変えるソフトウェアのためのプログラミング言語

Research Project

Project/Area Number 16K16033
Research InstitutionTokyo Institute of Technology

Principal Investigator

青谷 知幸  東京工業大学, 情報理工学院, 助教 (20582919)

Project Period (FY) 2016-04-01 – 2020-03-31
Keywords文脈指向プログラミング / 反応型プログラミング / ワークフロー計算 / 余エフェクト計算
Outline of Annual Research Achievements

前年度に引き続いて,文脈の時々刻々たる変化に応じて振舞いを変える仕組みのために関数的反応型プログラミング(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に採択された.

Current Status of Research Progress
Current Status of Research Progress

3: Progress in research has been slightly delayed.

Reason

時々刻々と変化する文脈に応じて振舞いを変えるアプリケーションを一つ以上開発する予定だったが,既存のモジュール・システムと,本研究で開発した計算体系の相性が悪く,単純には混ぜられないことがわかった.

Strategy for Future Research Activity

モジュール・システムの基礎理論を変更して,本研究で開発した計算体系と相性の良い理論を再構築する.具体的にはSystem Fを部分構造型システムとして再構築し,λVLとの融合を目指す.

Causes of Carryover

研究の遅れに伴い,実装・実験環境のための物品購入と,論文発表についての出張が遅れた.次年度使用額は実装・実験環境のための物品購入と,現在提出中の論文の発表のための出張のために使う予定である.

  • Research Products

    (4 results)

All 2018

All Journal Article (2 results) (of which Peer Reviewed: 2 results,  Open Access: 1 results) Presentation (2 results) (of which Int'l Joint Research: 2 results)

  • [Journal Article] ContextWorkflow: A Monadic DSL for Compensable and Interruptible Executions2018

    • Author(s)
      Inoue, Hiroaki ; Aotani, Tomoyuki ; Igarashi, Atsushi
    • Journal Title

      Leibniz International Proceedings in Informatics (LIPIcs)

      Volume: 109 Pages: 2:1--2:33

    • DOI

      10.4230/LIPIcs.ECOOP.2018.2

    • Peer Reviewed / Open Access
  • [Journal Article] A Context-Oriented Programming Approach to Dependency Hell2018

    • Author(s)
      Tanabe Yudai、Aotani Tomoyuki、Masuhara Hidehiko
    • Journal Title

      COP '18

      Volume: 1 Pages: 8--14

    • DOI

      10.1145/3242921.3242923

    • Peer Reviewed
  • [Presentation] ContextWorkflow: A Monadic DSL for Compensable and Interruptible Executions2018

    • Author(s)
      Inoue, Hiroaki
    • Organizer
      ECOOP 2018
    • Int'l Joint Research
  • [Presentation] A Context-Oriented Programming Approach to Dependency Hell2018

    • Author(s)
      Tanabe Yudai
    • Organizer
      COP '18
    • Int'l Joint Research

URL: 

Published: 2019-12-27  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi