GRust: A Programming Language for Automotive Engineering
摘要
The increasing complexity of embedded automotive software necessitates a strong focus on safety. ISO 26262 mandates reliability in critical systems, ensuring secure and bounded memory usage, bounded execution time, and protection against division-by-zero and overflow errors. Automotive software is typically modeled in Simulink and Stateflow, generating ISO 26262-compliant C code under a periodic execution paradigm. However, for data-driven applications such as automated driving, periodic execution leads to redundant computations and bus overloads, requiring manual optimization. To address these issues, we introduce GRust, a domain-specific language for automotive system modeling. GRust generates Rust implementations that enforce compile-time safety properties while optimizing execution through change propagation. Additionally, it integrates a verification wrapper of Creusot for formal property validation. This paper presents the design of GRust, its implementation, and verification capabilities, demonstrating its potential to improve both the reliability and efficiency of automotive software.