Embedded Xinu on Raspberry Pi
01教育用OS Embedded Xinu を Raspberry Pi 4 / 5 の実機へ移植し、ネットワーク・入出力・スケジューリングを一から実装しています。
実機ネットワークスタック
オンボード無線 LAN (CYW43455) のスキャン・WPA2 接続・DHCP・ping、および PCIe 経由の有線 Ethernet を、ベンダ製ドライバに頼らず実装。
リアルタイムスケジューリング
プリエンプティブ優先度スケジューラと tickless ワンショットタイマを実装。実機で 1 kHz 周期タスクの締切落ちゼロを確認。
マルチコアとキャッシュ
複数世代の ARM コア (Cortex-A53 / A72 / A76) で、明示的なデータキャッシュ管理による並列実行を成立させ、世代ごとの高速化を比較。
デバイスドライバと GUI
USB (xHCI) マウス、フレームバッファ上のウィンドウシステムなど、周辺機器と対話的な画面をカーネル側から構築。
AIPL — アクタベース並行プログラミング言語
02並行・分散処理をアクタとして記述する言語 AIPL を設計し、処理系と実行環境をあわせて開発しています。
型推論と効果推論
アクタ間のメッセージ通信を含むプログラムに対する型推論、および副作用を追跡する効果推論を処理系に実装。
組込み実機上での実行
AIPL プログラムを Xinu 上で実行し、N-Queens や食事する哲学者などの並行プログラムで性能を測定。
MANET と災害時避難シミュレーション
移動端末どうしが直接つながるアドホックネットワーク上の情報伝播を AIPL で記述し、市街地グラフを用いた避難シナリオで評価。
ロボットアームの分散制御
多関節ロボットアームの各軸を独立したアクタとして記述し、複数ノードに分散配置して制御・可視化する実験。