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

書誌事項

タイトル別名
  • Switching Mechanism for Update Timing of Time-varying Values in an FRP Language for Small-Scale Embedded Systems

この論文をさがす

抄録

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

Emfrp, a functional reactive programming (FRP) language for small-scale embedded systems, is a DSL designed for execution in resource-constrained environments. The execution model of Emfrp provides a reactive behavior of the system through repeated actions such as waiting for inputs from sensors, updating all time-varying values, and outputting them to the actuators. Such polling-based execution consumes unnecessary energy due to frequent update processing. For this reason, the extended languages PbEmfrp and EvEmfrp were proposed to reduce unnecessary update processing and improve energy consumption. Pb(Ev)Emfrp statically determines and schedules the update period of the whole system by annotating the timing of the time-varying value updates and the input interrupts. Since time-varying value updates are performed at periodic timing, the system is put into sleep mode when no update processing is required, thereby saving energy. However, because the timing annotations and the update intervals are set statically, executing a program that updates a specified time-varying value after a fixed time starting from an interrupt signal without unnecessary updates is impossible. This causes frequent wake-up from sleep mode and prevents power saving. We propose a mechanism for extending timing annotations and dynamically changing the update intervals to solve this problem. We also show the usefulness of the proposed mechanism through an example of chattering removal for button presses.

収録刊行物

詳細情報 詳細情報について

問題の指摘

ページトップへ