2019 Fiscal Year Research-status Report
アクターモデルと関数リアクティブプログラミングの融合による組込みシステム開発支援
Project/Area Number |
18K11236
|
Research Institution | Tokyo Institute of Technology |
Principal Investigator |
渡部 卓雄 東京工業大学, 情報理工学院, 教授 (20222408)
|
Project Period (FY) |
2018-04-01 – 2021-03-31
|
Keywords | 関数リアクティブプログラミング / アクターモデル / 組込みシステム |
Outline of Annual Research Achievements |
本年度の主な成果を以下に挙げる.これ以外にも,組込みシステム向けFRP言語のための再帰的データ型の導入方式等の成果がある. (a) 組込みシステム向けFRP言語のための状態の抽象化機構を提案した.多くの組込みシステムでは周囲の状態やシステムの内部状態に応じて振る舞いを適応的に変化させる必要があり,プログラムが複雑になる.提案機構により状態遷移と状態に依存する動作をFRPの枠組みを用いて簡潔に記述することが可能になる.前年度に提案した文脈指向プログラミング機構においても状態依存動作の記述は可能であるが,今回の提案方式は,状態遷移を明記する構文を導入することで,検証やテストが容易になるという利点をもつ. (b)) 組込みシステム向けFRP言語のための並列実行方式を提案した.現在,マイクロコントラーラ等においてもマルチコア化が進んでおり,今後もその傾向は続くと考えられる.提案手法では,時変値の依存関係に着目した時変値の並列更新のための静的スケジューリング手法を与え,それに基づくコンパイラを実装した.これによってRTOSのスレッド等の機構を用いずにFRPの枠組み内で並列処理を効率的に記述できる.マルチコア環境で実際に評価を行い,提案手法の有効性を確認した. (c) 組込みシステム向けFRP言語の実時間実行方式を提案し,Haskell上の内部DSLとして実現した.本研究課題で扱っている組込みシステム向けFRP言語では,一定周期をもつパルスを時変値として扱うことで実時間処理の記述が可能である.しかしこの方法では時変値の更新周期とパルスの周期が合わない場合に実行効率が大きく低下する.提案手法では,時変値に更新周期を明記させることでこの問題を解決している.加えて,時変値間の依存関係からシステム全体にとって最適な更新周期を得る手法を提案している.
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
前年度の研究実施状況報告書の今後の研究の推進方策において,今年度の計画として(a)前年度に提案した文脈指向プログラミング機構をもつFRP言語の実装,および(b)マルチコアプロセッサにおけるFRP言語の実装方式の提案を挙げている. 上記の計画(a)については,文脈指向プログラミング機構に関する研究で得られた知見をもとにFRP言語のための状態の抽象化機構として新たに提案し,予備的な実装をもとに評価を行った(研究実績(a)).本研究課題で扱っている組込みシステムの場合,システムの動作を抽象的な有限状態機械として捉え,それを元に詳細化する開発手法が有用である.文脈指向プログラミング機構の主な用途として実行時の状態に依存する動作のモジュール化が挙げられるが,そうしてモジュール化されたプログラムから状態遷移動作自体を読み取るの必ずしも容易ではない.研究実績(a)で述べた状態の抽象化機構は,状態遷移動作を分離して記述することを可能にする. 上記の計画(b)については研究実績(b)として成果が得られている. 以上に加えて,研究実績(c)等の成果が得られており,現在までの進捗状況はおおむね順調であると判断する.
|
Strategy for Future Research Activity |
現在までに,我々が設計・実装した関数リアクティブプログラミング(FRP)言語は,(A)計算資源に制約がある小規模組込みシステムにおいても効率的な実行が可能であること,(B)十分な表現力とモジュール性を提供できること,(C)変化する実行環境への適応的な動作が記述できることをそれぞれ示してきた.以上は当初研究計画で挙げた研究目的(A)~(C)に合致している. 本言語は,特にマイクロコントラーラ等の小規模システムにおいての実行を可能にするため,使用するメモリ領域の大きさをコンパイル時に確定できることを特徴としているが,そのために言語設計上いくつかの制限(再帰の禁止,高階関数の禁止)を導入している.最終年度では,(D)当該言語の形式的意味論を明らかにし,それにもとづいた処理系の実装を行う.具体的には,言語の操作的意味と型システムを明確にし,特に使用メモリ領域を限定した高階関数や再帰的データ構造の定式化を行う.これにもとづいて組込みシステムのための頑健かつ安全なFRP言語の処理系を実装する.
|
Causes of Carryover |
本年度に採択された論文の掲載料の学会からの請求が遅れて次年度になったため.加えて,新型コロナウィルス感染拡大防止のため,研究代表者が学生とともに参加を予定していた研究会の現地開催が行われなくなり,旅費および参加費の支払いが不要になったため. 前者については最終年度に掲載量として使用する.後者については,発表予定であった研究成果をより発展させ,最終年度における国際会議あるいは論文誌への発表のために用いる.
|
Research Products
(13 results)