Tight WCRT analysis of synchronous C programs

Accurate estimation of the tick length of a synchronous program is essential for efficient and predictable implementations that are devoid of timing faults. The techniques to determine the tick length statically are classified as worst case reaction time (WCRT) analysis. While a plethora of techniques exist for worst case execution time (WCET) analysis of procedural programs, there are only a handful of techniques for determining the WCRT value of synchronous programs. Most of these techniques produce overestimates and hence are unsuitable for the design of systems that are predictable while being also efficient. In this paper, we present an approach for the accurate estimation of the exact WCRT value of a synchronous program, called its tight WCRT value, using model checking. For our input specifications we have selected a synchronous C based language called PRET-C that is designed for programming Precision Timed (PRET) architectures. We then present an approach for static WCRT analysis of these programs via an intermediate format called TCCFG. This intermediate representation is then compiled to produce the input for the model checker. Experimental results that compare our approach to existing approaches demonstrate the benefits of the proposed approach. The proposed approach, while presented for PRET-C is also applicable for WCRT analysis of Esterel using simple adjustments to the generated model. The proposed approach thus paves the way for a generic approach for determining the tight WCRT value of synchronous programs at compile time.

[1]  Partha S. Roop,et al.  PRET-C: A new language for programming precision timed architectures , 2009 .

[2]  Xin Li,et al.  Mapping esterel onto a multi-threaded embedded processor , 2006, ASPLOS XII.

[3]  Philippe Schnoebelen,et al.  Model Checking Timed Automata with One or Two Clocks , 2004, CONCUR.

[4]  Zoran A. Salcic,et al.  STARPro - A new multithreaded direct execution platform for Esterel , 2009, SLAP@ETAPS.

[5]  Stephan Merz,et al.  Model Checking , 2000 .

[6]  Frédéric Boussinot,et al.  Reactive C: An extension of C to program reactive systems , 1991, Softw. Pract. Exp..

[7]  Peter Marwedel,et al.  Embedded system design , 2021, Embedded Systems.

[8]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[9]  Gregory R. Andrews,et al.  Concurrent programming - principles and practice , 1991 .

[10]  Michael Mendler,et al.  WCRT algebra and interfaces for esterel-style synchronous processing , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[11]  Zoran A. Salcic,et al.  Multi-clock Soc design using protocol conversion , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[12]  Marian Boldt,et al.  Worst Case Reaction Time Analysis of Concurrent Reactive Programs , 2008, Electron. Notes Theor. Comput. Sci..

[13]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[14]  Zoran A. Salcic,et al.  Towards direct execution of esterel programs on reactive processors , 2004, EMSOFT '04.

[15]  Alexander Metzner,et al.  Why Model Checking Can Improve WCET Analysis , 2004, CAV.

[16]  Klaus Schneider,et al.  Generating formal models for real-time verification by exact low-level runtime analysis of synchronous programs , 2003, RTSS 2003. 24th IEEE Real-Time Systems Symposium, 2003.

[17]  Reinhard von Hanxleden SyncCharts in C , 2009 .

[18]  Stephen A. Edwards,et al.  Predictable programming on a precision timed architecture , 2008, CASES '08.

[19]  Henk Corporaal,et al.  Embedded System Design , 2006 .

[20]  Jakob Engblom,et al.  The worst-case execution-time problem—overview of methods and survey of tools , 2008, TECS.

[21]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[22]  Stephen A. Edwards,et al.  The Case for the Precision Timed (PRET) Machine , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[23]  Zoran A. Salcic,et al.  A New Multithreaded Architecture Supporting Direct Execution of Esterel , 2009, EURASIP J. Embed. Syst..

[24]  Luciano Lavagno,et al.  ECL: a specification environment for system-level design , 1999, DAC '99.

[25]  Frank Vahid Embedded System Design: With Vhdl Digital Design , 2007 .