SIGPRO143 Talk

Posted on March 22, 2023

小規模組込みシステム向けFRP言語における時変値更新タイミングの切り替え機構

横山陽彦, 森口草介, 渡部卓雄
情報処理学会第143回プログラミング研究会(SIGPRO143), オンライン, 2023年3月22-23日.

概要

小規模組込みシステム向け関数リアクティブプログラミング(FRP)言語Emfrpは,計算リソースの制限された環境下での実行を想定し設計されたDSLである. Emfrpの実行モデルでは,センサーからの入力を得て,全ての時変値の更新処理を行い,アクチュエータへ出力する動作を繰り返すことで,システム全体のリアクティブな振る舞いを実現する. このようなポーリングによる実行では,しばしば必要以上に頻繁な更新処理が行われ,システムの電力を浪費してしまう. そこで,不必要な更新処理を削減し,電力消費を改善した拡張言語PbEmfrp及びEvEmfrpが提案された. Pb(Ev)Emfrpでは,時変値更新や入力割り込みのタイミングを時変値の型への注釈として記述することで,システム全体の更新周期を静的に決定,スケジューリングする. そして,周期的な時変値更新処理がない時間はシステムをスリープモードに移行させることで省電力化を実現している. しかしながら,タイミング注釈及び更新間隔は静的に決定されるため,例えば「ある割り込み信号を起点として,一定時間後に特定の時変値を更新する」ようなプログラムを不必要な更新処理をせずに実行することができない. これにより頻繁にスリープモードの解除が起こり省電力化が妨げられてしまう. 本発表では,この問題を解決するためにタイミング注釈の拡張及び時変値更新間隔の動的な変更機構を提案する. また,ボタン押下に対するチャタリング除去の例を通してその有用性を述べる.