一句话:提出 LARTS,用执行域、确定性内存契约与通信通道将实时、隔离与内存安全提升为可验证的语言抽象。
实时系统需同时保证可预测时序、故障隔离与内存安全,但现有操作系统仅暴露底层原语,开发者须手工权衡并发、隔离与性能。LARTS 是语言辅助运行时系统,把这些需求提升为具有可执行语义的语言抽象:执行域统一进程级隔离与线程级响应;确定性内存契约在加载时绑定分配,消除运行时失败与不可预测延迟;确定性通信通道整合高效传输、类型安全与优先级继承,使端到端界可分析。其构造即安全语义使 double fetch、use-after-free 等缺陷不可表示。形式化核心语义并在 RTEMS 原型上评估,表明其保持有竞争力的实时性能,同时显著降低编程复杂度并消除实际案例中的漏洞。
Real-time systems must simultaneously deliver predictable timing, fault isolation, and memory safety, yet current operating systems expose only low-level primitives that force developers to manually balance concurrency, isolation, and performance. This paper presents LARTS, a language-aided runtime system that elevates these requirements into language abstractions with enforceable semantics. LARTS introduces execution domain, a unified process–thread abstraction that combines thread-level responsiveness with process-level isolation. Memory is managed through deterministic memory contracts, which bind allocation at load time to eliminate runtime failures and unpredictable latencies. Domain interactions are expressed via deterministic communication channels that integrate efficient transfer, type safety, and priority inheritance, ensuring analyzable end-to-end bounds. Moreover, LARTS enforces secure-by-construction semantics, making classes of bugs such as double fetch and use-after-free unrepresentable in the programming model. We formalize the core semantics of LARTS and show how they guarantee determinism and safety by design. A prototype built on RTEMS demonstrates that LARTS preserves competitive real-time performance while substantially reducing programming complexity and eliminating vulnerabilities in realistic case studies. Our results suggest that high-assurance real-time programming can be treated not as an ad-hoc engineering problem, but as a first-class abstraction with verifiable semantics.
@article{paperbot3832,
title = {LARTS: Language Abstractions for Real-Time and Secure Systems},
author = {Yanqi Li and Hongliang Liang and Rui Yao and Yang Zhang and Dong Liu and Lei Wang and Qiuping Yi},
journal = {Proceedings of the ACM on Programming Languages},
volume = {10},
number = {OOPSLA1},
year = {2026},
doi = {10.1145/3798241}
}