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

2017 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 – 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)を計画している.

  • Research Products

    (7 results)

All 2018 2017

All Journal Article (4 results) (of which Peer Reviewed: 2 results) Presentation (3 results)

  • [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

      https://doi.org/10.1016/j.scico.2018.01.006

    • 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 Pages: 104--120

    • DOI

      https://doi.org/10.22152/programming-journal.org/2018/2/5

    • Peer Reviewed
  • [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

      Volume: 0 Pages: 17--21

    • DOI

      https://doi.org/10.1145/3117802.3117805

  • [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

      https://doi.org/10.1145/3141858.3141860

  • [Presentation] 証明支援器Coqを使ったプログラミング言語の操作的意味論に基づく型安全性の拡張可能な形式化の研究2018

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

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

    • Author(s)
      田辺 裕大, 青谷 知幸, 増原 英彦
    • Organizer
      プログラミングおよびプログラミング言語ワークショップ

URL: 

Published: 2018-12-17  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi