• DocumentCode
    58720
  • 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
  • Volume
    63
  • Issue
    7
  • fYear
    2014
  • fDate
    Jul-14
  • Firstpage
    1600
  • Lastpage
    1612
  • 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;
  • fLanguage
    English
  • Journal_Title
    Computers, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0018-9340
  • Type

    jour

  • DOI
    10.1109/TC.2013.28
  • Filename
    6463378