TECS/Rust: Memory-safe Component Framework for Embedded Systems

被引:0
|
作者
Yoshimura, Nao [1 ]
Oyama, Hiroshi [2 ]
Azumi, Takuya [1 ]
机构
[1] Saitama Univ, Grad Sch Sci & Engn, Saitama, Japan
[2] OKUMA Corp, Oguchi, Japan
关键词
embedded systems; component-based development; real-time operating systems; memory safety; Rust;
D O I
10.1109/ISORC61049.2024.10551370
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
As embedded systems grow in complexity and scale due to increased functional diversity, component-based development (CBD) emerges as a solution to streamline their architecture and enhance functionality reuse. CBD typically utilizes the C programming language for its direct hardware access and low-level operations, despite its susceptibility to memory-related issues. To address these concerns, this paper proposes TOPPERS Embedded Component Systems/Rust (TECS/Rust), a Rust-based framework specifically designed for TECS, which is a component framework for embedded systems. It leverages Rust's compiletime memory-safe features, such as lifetime and borrowing, to mitigate memory vulnerabilities common with C. The proposed framework not only ensures memory safety but also maintains the flexibility of CBD, automates Rust code generation for CBD components, and supports efficient integration with real-time operating systems. An evaluation of the amount of generated code indicates that the code generated by this paper framework accounts for a large percentage of the actual code. Compared to code developed without the proposed framework, the difference in execution time is minimal, indicating that the overhead introduced by the proposed framework is negligible.
引用
收藏
页数:11
相关论文
共 50 条
  • [21] Retaining Sandbox Containment Despite Bugs in Privileged Memory-Safe Code
    Cappos, Justin
    Dadgar, Armon
    Rasley, Jeff
    Samuel, Justin
    Beschastnikh, Ivan
    Barsan, Cosmin
    Krishnamurthy, Arvind
    Anderson, Thomas
    PROCEEDINGS OF THE 17TH ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY (CCS'10), 2010, : 212 - 223
  • [22] Race-free and Memory-safe Multithreading: Design and Implementation in Cyclone
    Gerakios, Prodromos
    Papaspyrou, Nikolaos
    Sagonas, Konstantinos
    TLDI '10: PROCEEDINGS OF THE 2010 ACM SIGPLAN WORKSHOP ON TYPES IN LANGUAGE DESIGN AND IMPLEMENTATION, 2010, : 15 - 26
  • [23] Iris-MSWasm: Elucidating and Mechanising the Security Invariants of Memory-Safe WebAssembly
    Legoupil, Maxime
    Rousseau, June
    Georges, Aïna Linn
    Pichon-Pharabod, Jean
    Birkedal, Lars
    Proceedings of the ACM on Programming Languages, 2024, 8 (OOPSLA2)
  • [24] HRMP3+TECS: Component Framework for Multiprocessor Real-time Operating System with Memory Protection
    Takaso, Yoshitada
    Oyama, Hiroshi
    Takada, Hiroaki
    Azumi, Takuya
    2023 IEEE 26TH INTERNATIONAL SYMPOSIUM ON REAL-TIME DISTRIBUTED COMPUTING, ISORC, 2023, : 86 - 96
  • [25] A Formal Framework for Component-Based Embedded Systems
    Tu, Yuqing
    Li, Di
    Li, Fang
    Zheng, Shixiong
    2010 IEEE/ASME INTERNATIONAL CONFERENCE ON ADVANCED INTELLIGENT MECHATRONICS (AIM), 2010,
  • [26] Safe Systems Programming in Rust
    Jung, Ralf
    Jourdan, Jacques-Henri
    Krebbers, Robbert
    Dreyer, Derek
    COMMUNICATIONS OF THE ACM, 2021, 64 (04) : 144 - 152
  • [27] Editorial: Reimagining ACM Transactions on Embedded Computing Systems (TECS)
    Mitra, Tulika
    ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS, 2021, 20 (03)
  • [28] A Type System for Extracting Functional Specifications from Memory-Safe Imperative Programs
    He, Paul
    Westbrook, Eddy
    Carmer, Brent
    Phifer, Chris
    Robert, Valentin
    Smeltzer, Karl
    Stefanescu, Andrei
    Tomb, Aaron
    Wick, Adam
    Yacavone, Matthew
    Zdancewic, Steve
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2021, 5 (OOPSLA):
  • [29] mruby on TECS: Component-based Framework for Running Script Program
    Azumi, Takuya
    Nagahara, Yuki
    Oyama, Hiroshi
    Nishio, Nobuhiko
    2015 IEEE 18TH INTERNATIONAL SYMPOSIUM ON REAL-TIME DISTRIBUTED COMPUTING (ISORC), 2015, : 252 - 259
  • [30] Experience with safe dynamic reconfigurations in component-based embedded systems
    Polakovic, Juraj
    Mazare, Sebastien
    Stefani, Jean-Bernard
    David, Pierre-Charles
    COMPONENT-BASED SOFTWARE ENGINEERING, PROCEEDINGS, 2007, 4608 : 242 - +