KODAMA LAB
← ホーム
Research

研究トピック

組込みOSと並行プログラミング言語を、実機の上で動かして確かめることを軸に研究しています。シミュレータで完結させず、Raspberry Pi などの実ハードウェア上で動作させ、測定した結果を設計に返すことを重視しています。

Embedded Xinu on Raspberry Pi

01

教育用OS Embedded Xinu を Raspberry Pi 4 / 5 の実機へ移植し、ネットワーク・入出力・スケジューリングを一から実装しています。

実機ネットワークスタック

オンボード無線 LAN (CYW43455) のスキャン・WPA2 接続・DHCP・ping、および PCIe 経由の有線 Ethernet を、ベンダ製ドライバに頼らず実装。

WiFiEthernetPCIe

リアルタイムスケジューリング

プリエンプティブ優先度スケジューラと tickless ワンショットタイマを実装。実機で 1 kHz 周期タスクの締切落ちゼロを確認。

RTOS実測

マルチコアとキャッシュ

複数世代の ARM コア (Cortex-A53 / A72 / A76) で、明示的なデータキャッシュ管理による並列実行を成立させ、世代ごとの高速化を比較。

SMPD-cacheベンチマーク

デバイスドライバと GUI

USB (xHCI) マウス、フレームバッファ上のウィンドウシステムなど、周辺機器と対話的な画面をカーネル側から構築。

USBFramebuffer

AIPL — アクタベース並行プログラミング言語

02

並行・分散処理をアクタとして記述する言語 AIPL を設計し、処理系と実行環境をあわせて開発しています。

型推論と効果推論

アクタ間のメッセージ通信を含むプログラムに対する型推論、および副作用を追跡する効果推論を処理系に実装。

型システム静的解析

組込み実機上での実行

AIPL プログラムを Xinu 上で実行し、N-Queens や食事する哲学者などの並行プログラムで性能を測定。

JITベンチマーク

MANET と災害時避難シミュレーション

移動端末どうしが直接つながるアドホックネットワーク上の情報伝播を AIPL で記述し、市街地グラフを用いた避難シナリオで評価。

MANETシミュレーション

ロボットアームの分散制御

多関節ロボットアームの各軸を独立したアクタとして記述し、複数ノードに分散配置して制御・可視化する実験。

ロボティクス分散制御