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

2018 Fiscal Year Research-status Report

アクターモデルと関数リアクティブプログラミングの融合による組込みシステム開発支援

Research Project

Project/Area Number 18K11236
Research InstitutionTokyo Institute of Technology

Principal Investigator

渡部 卓雄  東京工業大学, 情報理工学院, 教授 (20222408)

Project Period (FY) 2018-04-01 – 2021-03-31
Keywords関数リアクティブプログラミング / アクターモデル / 文脈指向プログラミング / 組込みシステム / 分散システム
Outline of Annual Research Achievements

(a) アクターモデルを実行系とする分散型関数リアクティブプログラミング言語の実装方式を提案した.関数リアクティブプログラミング(FRP)においては,関数プログラミングの利点である参照透明性が意味を持つためには,時変値の時間的な一貫性が保たれることが必要である.しかし分散システムにでは通信の遅延やメッセージの消失等により,全ての時変値について時間的一貫性を保つことは難しい.提案手法では,データソースとなる時変値(例えばセンサの測定値)毎に,それに依存する時変値間での時間的一貫性が保たれる仕組みを導入することで,参照透明性を享受しつつ効率的な実装が可能になることを示した.プロトタイプの実行形をErlangで実装し,いくつかのアプリケーションによる評価を通して提案手法の有効性を確認した.
(b) 小規模組み込みシステム向けに設計された関数リアクティブプログラミング(FRP)言語Emfrpのための文脈指向プログラミング機構を提案した.Emfrpは静的型付けに加え,時変値を一級データとして扱わないことや再帰の禁止といった言語設計上の制約を設けており,プログラムが利用する記憶領域の大きさが静的に決定可能であるという特徴を持つ.これによりマイクロコントローラ等の小規模組み込みシステム記述に適しているが,実行時情報にもとづく柔軟な振る舞い,例えば変化する環境への適応動作などの表現に制約が生じる.提案方式では,適応的な動作のモジュール化を促進するプログラミングパラダイムである文脈指向プログラミング(COP)の考え方によってこの問題を解決している.具体的には,時変値の値にもとづいて層(文脈依存の動作を記述するためのモジュール)を活性化する機構を導入し,上で述べたEmfrpの記憶領域に関する静的な特性を失うことなく,実行時文脈の変化に伴う振る舞いの動的な変更の宣言的な記述を可能にした.

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言語のプロトタイプ実装を行うこととなっている.研究成果概要の(a)で述べているように,自己反映計算機構を除いた分散型FRP言語の実現方式の提案と実装を行なっている.自己反映計算機構を導入する当初の目的は適応的な動作の表現であるが,これは研究成果概要の(b)で述べた文脈指向プログラミング機構の導入によって十分カバーできることを示している.特にプログラムが利用する記憶領域の大きさが静的に決定可能であるという性質と,一般的な自己反映計算機構の両立が難しいことを考えると,適応動作の表現は文脈指向プログラミング機構によって実現する方が望ましい.以上より,現在までの進捗状況はおおむね順調であると判断する.

Strategy for Future Research Activity

研究成果概要の(a)で述べたアクターモデルを実行系とするFRP言語の処理系に(b)で述べた文脈指向プログラミング機構を導入し,適応動作や非同期動作をカバーできる言語処理系として実装を行う.
また,最近は小規模システムにおいてもマルチコアプロセッサの導入が一般的であるため,そのようなシステムで効率的に並列動作可能な処理系の実現方式を提案する.これは当初計画にはなかったが,既に基本的な実装方針が確定し予備実験は完了しているため,ある程度有用な結果を得る見通しがある.
加えて,当初の計画通り,本研究において提案するFRP言語XFRPのためのテストおよび形式的検証手法の提案にむけ,XFRPの形式的意味,具体的にはこの言語の操作的意味を明確にする.

  • Research Products

    (9 results)

All 2019 2018 Other

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

  • [Journal Article] 多言語に対応した衛生的マクロ機構導入方式2018

    • Author(s)
      高桑健太郎, 渡部卓雄
    • Journal Title

      コンピュータソフトウェア

      Volume: 35 Pages: 33-39

    • DOI

      10.11309/jssst.35.2_33

    • Peer Reviewed / Open Access
  • [Presentation] 組込みシステム向けFRP言語の静的スケジューリングを用いた並列化 (ポスター)2019

    • Author(s)
      櫻井義孝, 渡部卓雄
    • Organizer
      日本ソフトウェア科学会 第21回プログラミングおよびプログラミング言語ワークショップ (PPL 2019)
  • [Presentation] 組込みシステム向けFRP言語における動的動作のための抽象化 (ポスター)2019

    • Author(s)
      松村有倫, 渡部卓雄
    • Organizer
      日本ソフトウェア科学会 第21回プログラミングおよびプログラミング言語ワークショップ (PPL 2019)
  • [Presentation] 組込みシステム向けFRP言語に対する第一級関数の導入 (ポスター)2019

    • Author(s)
      横山陽彦, 渡部卓雄
    • Organizer
      日本ソフトウェア科学会 第21回プログラミングおよびプログラミング言語ワークショップ (PPL 2019)
  • [Presentation] 小規模組込みシステム向け関数リアクティブプログラミング言語のためのモジュール化機構2019

    • Author(s)
      渡部卓雄, 松村有倫, 横山陽彦
    • Organizer
      組込み技術とネットワークに関するワークショップ (ETNET2019)
  • [Presentation] A Simple Context-Oriented Programming Extension to an FRP Language for Small-Scale Embedded Systems2018

    • Author(s)
      Takuo Watanabe
    • Organizer
      10th International Workshop on Context-Oriented Programming (COP 2018), pp. 23-30 [査読有り]
    • Int'l Joint Research
  • [Presentation] 小規模組込みシステム向けFRP言語への文脈指向プログラミング機構の導入2018

    • Author(s)
      渡部卓雄
    • Organizer
      情報処理学会 組込みシステムシンポジウム2018 (ESS 2018)
  • [Presentation] Distributed Functional Reactive Programming on Actor-Based Runtime2018

    • Author(s)
      Kazuhiro Shibanai, Takuo Watanabe
    • Organizer
      8th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control (AGERE 2018), pp. 13-22 [査読有り]
    • Int'l Joint Research
  • [Remarks] FRP for Distributed / Embedded Systems

    • URL

      http://www.psg.c.titech.ac.jp/frp_embedded.html

URL: 

Published: 2019-12-27  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi