PPL2022 Talk & Posters

Posted on March 6, 2022

小規模組込みシステム向けFRP言語における非同期タスク処理機構

横山陽彦,森口草介,渡部卓雄
第24回プログラミングおよびプログラミング言語ワークショップ(PPL 2022), Mar. 6-8, 2022.

概要

小規模組込みシステム向け関数リアクティブプログラミング(FRP)言語Emfrpは適切な機能制限を行うことで,時変値更新処理の停止性判定や実行時に必要なメモリ量の静的な決定が可能である.そのため,リソースの制限された環境においても安全にリアクティブな動作を行うことが可能である.一方でその機能制限のため,例えば外部から得られた情報をもとにグラフ構造の構築や探索を行うなど,比較的時間のかかる処理(heavy-task)の記述は想定されていない.また,Emfrpは同期的に処理を実行するため,heavy-taskを外部関数呼び出しとして愚直に記述すると入力に対する応答性が悪化してしまう.一般のプログラミング言語では,このような処理を非同期処理として分離することで記述性と応答性を高めている.そこで本研究では,並行プログラミングで一般に用いられているfutureやpromiseに類似した機構をEmfrpに導入することで,従来の時変値更新によるリアクティブな動作を保ちながら,非同期的heavy-taskが実行可能な実行基盤の構築を目指す.本稿では,Emfrpに対するheavy-task実行機構のナイーヴな導入に対する問題点を挙げたのち,例題ベースで提案手法を述べ,言語ランタイム実装についての検討を行う.


サイズ情報を伴った再帰データ型を扱う小規模組込みシステム向けFRP言語へのパラメータ多相の導入(ポスター)

白井瑞貴,横山陽彦,森口草介,渡部卓雄
第24回プログラミングおよびプログラミング言語ワークショップ(PPL 2022), Mar. 6-8, 2022.

概要

本研究では、型にサイズ情報を付与することで実行時の使用メモリ量を静的に決定できるプログラミング言語EmfrpBCTにパラメータ多相を導入した言語EmfrpPBCTを提案した。EmfrpBCTでは冗長な記述になる例題が、EmfrpPBCTではパラメータ多相を用いて簡潔に記述できることを示した。また、EmfrpPBCTの構文、操作的意味論、型システム、使用メモリ量決定アルゴリズムを形式的に定義し、健全性を証明した。さらに、例題をEmfrpBCTとEmfrpPBCTでそれぞれ記述してコンパイル結果のバイナリサイズや実行時間の比較を行った。


組込みシステム向け関数リアクティブプログラムに対するテストケース生成手法(ポスター)

内野駿亮,森口草介,渡部卓雄
第24回プログラミングおよびプログラミング言語ワークショップ(PPL 2022), Mar. 6-8, 2022.

概要

本研究では,組込みシステム向け関数リアクティブプログラミング(FRP)言語に対するテストケース生成手法を提案する.提案手法では,LTLの拡張であるメトリック時相論理(MTL)を用いる.具体的には,MTLに不等式等による制約を加えることで,数値を含むより広範なテストケースの生成を行えるようにする.これにより,ある値が変化してから所定の時間内にある振る舞いが生じなければならないといった制約に対するテストを行うことが可能になる.本研究では,小規模組込みシステムFRP言語であるEmfrpを簡略化したサブセット言語を対象として提案手法の評価を行う.