Title :
A Predictable Framework for Safety-Critical Embedded Systems
Author :
Andalam, Sidharta ; Roop, Partha S. ; Girault, Alain ; Traulsen, Claus
Author_Institution :
Dept. of Electr. & Comput. Eng., Univ. of Auckland, Auckland, New Zealand
Abstract :
Safety-critical embedded systems, commonly found in automotive, space, and health-care, are highly reactive and concurrent. Their most important characteristics are that they require both functional and timing correctness. C has been the language of choice for programming such systems. However, C lacks many features that can make the design process of such systems seamless while also maintaining predictability. This paper addresses the need for a C-based design framework for achieving time predictability. To this end, we propose the PRET-C language and the ARPRET architecture. PRET-C offers a small set of extensions to a subset of C to facilitate effective concurrent programming. We present a new synchronous semantics for PRET-C. It guarantees that all PRET-C programs are deterministic, reactive, and provides thread-safe communication via shared memory access. This simplifies considerably the design of safety-critical systems. We also present the architecture of a precision timed machine (PRET) called ARPRET. It offers the ability to design time predictable architectures through simple customizations of soft-core processors. We have designed ARPRET particularly for efficient and predictable execution of PRET-C. We demonstrate through extensive benchmarking that PRET-C based system design excels in comparison to existing C-based paradigms. We also qualitatively compare our approach to the Berkeley-Columbia PRET approach. We have demonstrated that the proposed approach provides an ideal framework for designing and validating safety-critical embedded systems.
Keywords :
C language; embedded systems; multi-threading; programming language semantics; safety-critical software; shared memory systems; ARPRET; ARPRET architecture; Berkeley-Columbia PRET approach; C-based design framework; PRET-C language; PRET-C programs; Precision Timed C language; architecture of a precision timed machine; concurrent programming; deterministic programs; lightweight multithreaded language; reactive programs; safety-critical embedded systems; shared memory access; soft-core processors; synchronous semantics; thread-safe communication; time predictable architectures; Computer architecture; Instruction sets; Programming; Real-time systems; Semantics; Timing; PRET; PRET-C; Safety-critical systems; WCET; WCRT; synchronous languages; time predictability;
Journal_Title :
Computers, IEEE Transactions on