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

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

Research Project

Project/Area Number 16K16033
Research Category

Grant-in-Aid for Young Scientists (B)

Allocation TypeMulti-year Fund
Research Field Software
Research InstitutionTokyo Institute of Technology

Principal Investigator

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

Project Period (FY) 2016-04-01 – 2020-03-31
Project Status Discontinued (Fiscal Year 2019)
Budget Amount *help
¥4,030,000 (Direct Cost: ¥3,100,000、Indirect Cost: ¥930,000)
Fiscal Year 2018: ¥1,170,000 (Direct Cost: ¥900,000、Indirect Cost: ¥270,000)
Fiscal Year 2017: ¥1,170,000 (Direct Cost: ¥900,000、Indirect Cost: ¥270,000)
Fiscal Year 2016: ¥1,690,000 (Direct Cost: ¥1,300,000、Indirect Cost: ¥390,000)
Keywordsプログラミング / 文脈指向プログラミング / 余作用 / 反応型プログラミング / ワークフロー計算 / 余エフェクト計算 / 補償処理 / mixin / プログラミング言語 / モジュール化 / 意味論 / プログラム検査
Outline of Annual Research Achievements

文脈指向プログラミング言語のための計算体系λVへのMLモジュールの導入と、文脈指向プログラミングと反応型プログラミングの融合の研究に取り組んだ。

λVLでは文脈ごとに振る舞いの変わるプログラムを表現するために、文脈ごとの値の積を用いている。関数も値であるため、文脈ごとに振る舞いの変わる関数は、文脈ごとの関数の積として表現することができる。言い換えると、それぞれの関数定義の中に文脈ごとの振る舞いを記述する。この方法では文脈ごとにプログラムをモジュール化することができない。例えばプログラムの版(バージョン)を文脈とみなすと、版ごとにプログラムを開発できず、関数ごとに各版における定義を列挙することになり、扱いづらい。MLモジュールの導入の足がかりとして全称量化子と存在量化子をλVLに余作用として導入することを考察し、情報処理学会の第124回プログラミング研究発表会で発表した。

反応型プログラミングは値の変化に反応した計算を計画する手法である。文脈は時々刻々と変化するために、反応型プログラミングと文脈指向プログラミングは相性が良いはずである。例えばバッテリ残量に合わせてプログラムの振る舞いを変えたり、サーバプログラムを再起動することなく更新することでサーバプログラムの振る舞いが変わることが考えられる。融合方法のアイデアを国際研究集会COP'19で発表した。また反応型プログラミングにおいて値の変化を記録するために時系列データベースとの融合を提案し、国際会議Onward! 2019で発表した。

Report

(4 results)
  • 2019 Annual Research Report
  • 2018 Research-status Report
  • 2017 Research-status Report
  • 2016 Research-status Report
  • Research Products

    (17 results)

All 2019 2018 2017 2016

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

  • [Journal Article] TinyCORP: A Calculus for Context-Oriented Reactive Programming2019

    • Author(s)
      Tetsuo Kamina, Tomoyuki Aotani
    • Journal Title

      COP '19: Proceedings of the Workshop on Context-oriented Programming

      Volume: 1 Pages: 1-8

    • DOI

      10.1145/3340671.3343356

    • Related Report
      2019 Annual Research Report
    • Peer Reviewed
  • [Journal Article] An Approach for Persistent Time-Varying Values2019

    • Author(s)
      Tetsuo Kamina, Tomoyuki Aotani
    • Journal Title

      Onward! 2019: Proceedings of the 2019 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software

      Volume: 1 Pages: 17-31

    • DOI

      10.1145/3359591.3359730

    • Related Report
      2019 Annual Research Report
    • Peer Reviewed
  • [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

    • DOI

      10.4230/LIPIcs.ECOOP.2018.2

    • Related Report
      2018 Research-status Report
    • 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: 14-8

    • DOI

      10.1145/3242921.3242923

    • Related Report
      2018 Research-status Report
    • Peer Reviewed
  • [Journal Article] Method safety mechanism for asynchronous layer deactivation2018

    • Author(s)
      Kamina Tetsuo、Aotani Tomoyuki、Masuhara Hidehiko、Igarashi Atsushi
    • Journal Title

      Science of Computer Programming

      Volume: 156 Pages: 104-120

    • DOI

      10.1016/j.scico.2018.01.006

    • Related Report
      2017 Research-status Report
    • Peer Reviewed
  • [Journal Article] Harmonizing Signals and Events with a Lightweight Extension to Java2018

    • Author(s)
      Kamina Tetsuo、Aotani Tomoyuki
    • Journal Title

      The Art, Science, and Engineering of Programming

      Volume: 2 Issue: 3

    • DOI

      10.22152/programming-journal.org/2018/2/5

    • Related Report
      2017 Research-status Report
    • Peer Reviewed / Open Access
  • [Journal Article] Push-based reactive layer activation in context-oriented programming2017

    • Author(s)
      Kamina Tetsuo、Aotani Tomoyuki、Masuhara Hidehiko
    • Journal Title

      Proceedings of the 9th International Workshop on Context-Oriented Programming (COP'17)

      Volume: 9 Pages: 17-21

    • DOI

      10.1145/3117802.3117805

    • Related Report
      2017 Research-status Report
    • Peer Reviewed
  • [Journal Article] A DSL for compensable and interruptible executions2017

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

      Proceedings of the 4th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems

      Volume: 0 Pages: 8-14

    • DOI

      10.1145/3141858.3141860

    • Related Report
      2017 Research-status Report
  • [Presentation] コエフェクト計算に基づく量化型の再形式化2019

    • Author(s)
      田辺 裕大
    • Organizer
      情報処理学会プログラミング研究会第124回プログラミング研究発表会
    • Related Report
      2019 Annual Research Report
  • [Presentation] ContextWorkflow: A Monadic DSL for Compensable and Interruptible Executions2018

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

    • Author(s)
      Tanabe Yudai
    • Organizer
      COP '18
    • Related Report
      2018 Research-status Report
    • Int'l Joint Research
  • [Presentation] 証明支援器Coqを使ったプログラミング言語の操作的意味論に基づく型安全性の拡張可能な形式化の研究2018

    • Author(s)
      奥河 諒, 青谷 知幸, 増原 英彦
    • Organizer
      プログラミングおよびプログラミング言語ワークショップ
    • Related Report
      2017 Research-status Report
  • [Presentation] ContextWorkflow: 中断と償いのためのDSL2018

    • Author(s)
      井上 裕昭, 青谷 知幸, 五十嵐 淳
    • Organizer
      プログラミングおよびプログラミング言語ワークショップ
    • Related Report
      2017 Research-status Report
  • [Presentation] プログラミング言語へのバージョンの導入の研究2018

    • Author(s)
      田辺 裕大, 青谷 知幸, 増原 英彦
    • Organizer
      プログラミングおよびプログラミング言語ワークショップ
    • Related Report
      2017 Research-status Report
  • [Presentation] イベントとシグナルを統合したJavaの軽量な拡張SignalJ2017

    • Author(s)
      紙名 哲生, 青谷 知幸
    • Organizer
      第19回プログラミングおよびプログラミング言語ワークショップ(PPL2017)
    • Place of Presentation
      山梨県笛吹市石和温泉
    • Related Report
      2016 Research-status Report
  • [Presentation] Towards Modular Reasoning for Context-Oriented Programs2016

    • Author(s)
      Tomoyuki Aotani and Gary Leavens
    • Organizer
      The 18th Workshop on Formal Techniques for Java-like Programs
    • Place of Presentation
      Rome, Italy
    • Related Report
      2016 Research-status Report
    • Int'l Joint Research
  • [Presentation] Towards Automatic Decoration2016

    • Author(s)
      Tomoyuki Aotani and Tetsuo Kamina
    • Organizer
      The -1th Workshop on New Object-Oriented Languages (NOOL) 2016
    • Place of Presentation
      Amsterdam, The Netherlands
    • Related Report
      2016 Research-status Report
    • Int'l Joint Research

URL: 

Published: 2016-04-21   Modified: 2021-01-27  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi