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.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

GRust: A Programming Language for Automotive Engineering

  • Émilie Thomé,
  • Xavier Denis,
  • Christine Tasson

摘要

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.