{"ID":2843437,"CreatedAt":"2026-06-01T04:54:23.091178241Z","UpdatedAt":"2026-06-01T04:54:23.091178241Z","DeletedAt":null,"paper_url":"https://arxiv.org/abs/2511.08297","arxiv_id":"2511.08297","title":"Work-in-Progress: Function-as-Subtask API Replacing Publish/Subscribe for OS-Native DAG Scheduling","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.","short_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-ma...","url_abs":"https://arxiv.org/abs/2511.08297","url_pdf":"https://arxiv.org/pdf/2511.08297v1","authors":"[\"Takahiro Ishikawa-Aso\",\"Atsushi Yano\",\"Yutaro Kobayashi\",\"Takumi Jin\",\"Yuuki Takano\",\"Shinpei Kato\"]","published":"2025-11-11T14:31:22Z","proceeding":"cs.OS","tasks":"[\"cs.OS\",\"cs.RO\"]","methods":"[]","has_code":false}
