Computer Software Article (to appear)

Posted on January 25, 2025

組込みシステム向けFRP言語における状態遷移モデルに基づいた周辺装置の状態制御

瀧本哲史,森口草介,渡部卓雄
コンピュータソフトウェア,Vol. 42, No. 1, 日本ソフトウェア科学会, Jan., 2025 (掲載予定)

本論文は日本ソフトウェア科学会第40回大会において発表され,査読の結果採択されたものである.

概要

小規模組込みシステム向けFRP言語XStorm では,状態遷移モデルに基づいて時変値間の関係を動的に変更でき,状態依存動作を簡潔に記述できる. しかし,例えば消費電力削減のため,状態に応じて使用する周辺装置を切替えるといった際に,C言語で書かれた周辺装置のドライバコード内で切替え処理を書く必要があった. その結果,XStormプログラムとドライバコードの間のロジックの不整合が検出できない. 本研究では,XStormの状態遷移モデルを発展させ,状態ごとに周辺装置の電源等の状態(モード)を宣言できるようにすることで,FRP言語内での周辺装置のモードの切替えも含めたロジックの記述を可能にした. これにより前述の問題を解決したほか,ランタイムによるモードの自動管理を行えるようになった.

Mode Management of Peripherals Based on State Transition Model in FRP Language for Embedded Systems

Satoshi Takimoto, Sosuke Moriguchi & Takuo Watanabe
Computer Software, Vol. 42, No. 1, Japan Society for Software Science and Technology, Jan., 2025 (to appear, in Japanese).

Abstract

XStorm, an FRP language for small-scale embedded systems, allows us to concisely describe state-dependent behaviors based on the state transition model. However, when we use different sets of peripheral devices depending on states, device management, such as switching power modes, should be implemented in a driver code in C. This would result in bugs as inconsistency between the state in the XStorm program and that in the driver code cannot be detected. In this research, we extend XStorm’s state hook model to express modes of peripherals that depend on states. By the extension, the language manages modes of peripherals, and thus the inconsistency is statically avoided.