English

Work-in-Progress: Function-as-Subtask API Replacing Publish/Subscribe for OS-Native DAG Scheduling

Operating Systems 2025-11-12 v1 Robotics

Abstract

The Directed Acyclic Graph (DAG) task model for real-time scheduling finds its primary practical target in Robot Operating System 2 (ROS 2). However, ROS 2's publish/subscribe API leaves DAG precedence constraints unenforced: a callback may publish mid-execution, and multi-input callbacks let developers choose topic-matching policies. Thus preserving DAG semantics relies on conventions; once violated, the model collapses. We propose the Function-as-Subtask (FasS) API, which expresses each subtask as a function whose arguments/return values are the subtask's incoming/outgoing edges. By minimizing description freedom, DAG semantics is guaranteed at the API rather than by programmer discipline. We implement a DAG-native scheduler using FasS on a Rust-based experimental kernel and evaluate its semantic fidelity, and we outline design guidelines for applying FasS to Linux Linux sched_ext.

Cite

@article{arxiv.2511.08297,
  title  = {Work-in-Progress: Function-as-Subtask API Replacing Publish/Subscribe for OS-Native DAG Scheduling},
  author = {Takahiro Ishikawa-Aso and Atsushi Yano and Yutaro Kobayashi and Takumi Jin and Yuuki Takano and Shinpei Kato},
  journal= {arXiv preprint arXiv:2511.08297},
  year   = {2025}
}

Comments

4 pages, 6 figures. Accepted for IEEE RTSS 2025; this is the author-accepted manuscript

R2 v1 2026-07-01T07:32:13.081Z