ABSTRACT
Embedded systems are widely used for supporting our every day life. In the area of safety-critical systems human life often depends on the system's correct behavior. Many of such systems are hard real-time systems, so that the notion of correctness not only means functional correctness. They additionally have to obey stringent timing constraints, i.e. timely task completion under all circumstances is essential. An example for such a safety-critical system is the flight control computer in an airplane, which is responsible for stability, attitude and path control.
In order to derive guarantees on the timing behavior of hard real-time systems, the worst-case execution time (WCET) of each task in the system has to be determined. Saarland University and AbsInt GmbH have successfully developed the aiT WCET analyzer for computing safe upper bounds on the WCET of a task. The computation is mainly based on abstract interpretation of timing models of the processor and its periphery. Such timing models are currently hand-crafted by human experts. Therefore their implementation is a time-consuming and error-prone process.
Modern processors or system controllers are automatically synthesized out of formal hardware specifications like VHDL or Verilog. Besides the system' functional behavior, such specifications provide all information needed for the creation of a timing model. But due to their size and complexity, manually examining the sources is even more complex than only looking at the processor manuals. Moreover, this would not reduce the effort nor the probability of implementation errors.
To face this problem, this paper proposes a method for semi-automatically deriving suitable timing models out of formal hardware specifications in VHDL that fit to the tool chain of the aiT WCET analyzer. By this, we reduce the creation time of timing models from months to weeks.
- AbsInt Angewandte Informatik GmbH, The Program Analyzer Generator User's Manual, 2002.Google Scholar
- AbsInt Angewandte Informatik GmbH, aiSee. Graph Visualization User's Documentation, 2005.Google Scholar
- P. J. Ashenden, The Designer's Guide to VHDL, Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2001. Google ScholarDigital Library
- G. Bernat, A. Burns, and M. Newby, Probabilistic timing analysis: An approach using copulas, Journal of Embedded Computing 1 (2005), no. 2, 179--194. Google ScholarDigital Library
- Mentor Graphics Corporation, ModelSim User's Manual, May 2008.Google Scholar
- P. Cousot, Abstract Interpretation Based Formal Methods and Future Challenges, invited paper, Informatics - 10 Years Back, 10 Years Ahead (R. Wilhelm, ed.), Lecture Notes in Computer Science, vol. 2000, Springer, 2001, pp. 138--156. Google ScholarDigital Library
- P. Cousot and R. Cousot, Abstract Interpretation: a Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints, Conference Record of the Fourth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (Los Angeles, California), ACM Press, New York, NY, 1977, pp. 238--252. Google ScholarDigital Library
- P. Cousot and R. Cousot, Abstract Interpretation and Application to Logic Programs, Journal of Logic Programming 13 (1992), no. 2&3, 103--179. Google ScholarDigital Library
- A. Ermedahl, A Modular Tool Architecture for Worst-Case Execution Time Analysis, Ph.D. thesis, Uppsala University, 2003.Google Scholar
- C. Ferdinand and R. Heckmann, aiT: Worst-Case Execution Time Prediction by Static Programm Analysis, Building the Information Society. IFIP 18th World Computer Congress (R. Jacquart, ed.), Kluwer, 2004, pp. 377--384.Google ScholarCross Ref
- C. Ferdinand, R. Heckmann, M. Langenbach, F. Martin, M. Schmidt, H. Theiling, S. Thesing, and R. Wilhelm, Reliable and Precise WCET Determination for a Real-Life Processor, Proceedings of the First International Workshop on Embedded Software (EMSOFT 2001) (Berlin) (Thomas A. Henzinger and Christoph M. Kirsch, eds.), Lecture Notes in Computer Science, vol. 2211, Springer, 2001, pp. 469--485. Google ScholarDigital Library
- C. Ferdinand, F. Martin, C. Cullmann, M. Schlickling, I. Stein, S. Thesing, and R. Heckmann, New Developments in WCET Analysis, Program Analysis and Compilation. Theory and Practice. Essays Dedicated to Reinhard Wilhelm on the Occasion of His 60th Birthday (T. Reps, M. Sagiv, and J. Bauer, eds.), Lecture Notes in Computer Science, vol. 4444, Springer, 2007, pp. 12--52. Google ScholarDigital Library
- C. Ferdinand, F. Martin, R. Wilhelm, and M. Alt, Cache Behavior Prediction by Abstract Interpretation, Science of Computer Programming 35 (1999), no. 2, 163--189. Google ScholarDigital Library
- J. Gaisler, Leon2 Processor User's Manual - version 1.0.30, July 2005.Google Scholar
- N. Holsti, T. Långbacka, and S. Saarinen, Worst-Case Execution Time Analysis, Proceedings of the European Conference on Signal Processing (EUSIPCO 2000), 2000.Google Scholar
- Freescale Semiconductor Inc., MPC750 RISC Microprocessor Family User's Manual, December 2001.Google Scholar
- Institute of Electrical and Electronics Engineers, New York, IEEE Standard P1076.6 1999 VHDL Register Transfer Level Synthesis, 1999.Google Scholar
- Institute of Electrical and Electronics Engineers, New York, IEEE Standard P1076 2000 VHDL Language Reference Manual, 2000.Google Scholar
- D. Kästner, R. Wilhelm, R. Heckmann, M. Schlickling, M. Pister, M. Jersak, K. Richter, and C. Ferdinand, Timing Validation of Automotive Software, 3rd International Symposium on Leveraging Applications of Formal Methods, Verification and Validation (ISOLA) 2008 (T. Margaria and B. Steffen, eds.), Communications in Computer and Information Science, vol. 17, Springer, 2008, pp. 93--107.Google Scholar
- R. Kirner, R. Lang, G. Freiberger, and P. Puschner, Fully Automatic Worst-Case Execution Time Analysis for Matlab/Simulink Models, Proceedings of the 14th Euromicro Conference on Real-Time Systems (ECRTS 2002), IEEE Computer Society, 2002, pp. 31--40. Google ScholarDigital Library
- M. Langenbach, CRL - A Uniform Representation for Control Flow, Tech. report, Saarland University, 1998.Google Scholar
- X. Li, Y. Liang, T. Mitra, and A. Roychoudhury, Chronos: A timing analyzer for embedded software, Science of Computer Programming 69 (2007), no. 1-3, 56--67, Special issue on Experimental Software and Toolkits. Google ScholarDigital Library
- ARM Limited, ARM Architecture Reference Manual, June 2000.Google Scholar
- T. Lundqvist and P. Stenström, An Integrated Path and Timing Analysis Method based on Cycle-Level Symbolic Execution, Real-Time Syst. 17 (1999), no. 2-3, 183--207. Google ScholarDigital Library
- M. A. Maksoud, M. Pister, and M. Schlickling, An Abstraction-Aware Compiler for VHDL Models, Proceedings of the International Conference on Computer Engineering and Systems (ICCES'09), IEEE Computer Society, December 2009, pp. 3--9.Google ScholarCross Ref
- F. Martin, Generating Program Analyzers, Ph.D. thesis, Saarland University, 1999.Google Scholar
- F. Nielson, H. R. Nielson, and C. Hankin, Principles of Program Analysis, Springer, 1999. Google ScholarDigital Library
- P. Puschner and R. Nossal, Testing the Results of Static Worst-Case Execution--Time Analysis, IEEE Real-Time Systems Symposium, 1998, pp. 134--143. Google ScholarDigital Library
- M. Schlickling and M. Pister, A Framework for Static Analysis of VHDL Code, Proceedings of 7th International Workshop on Worst-Case Execution Time Analysis (WCET 2007) (C. Rochange, ed.), Internationales Begegnungs- und Forschungszentrum für Informatik (IBFI), Schloss Dagstuhl, Germany, 2007.Google Scholar
- M. Sicks, Adreßbestimmung zur Vorhersage des Verhaltens von Daten-Caches, Master's thesis, Saarland University, 1997.Google Scholar
- J. Souyris, E. Le Pavec, G. Himbert, V. Jégu, G. Borios, and R. Heckmann, Computing the Worst Case Execution Time of an Avionics Program by Abstract Interpretation, Proceedings of the 5th International Workshop on Worst-case Execution Time (WCET 2005), 2005, pp. 21--24.Google Scholar
- T. Gingold, GHDL. A VHDL compiler, 2007.Google Scholar
- S. Thesing, Safe and Precise WCET Determination by Abstract Interpretation of Pipeline Models, Ph.D. thesis, Saarland University, 2004.Google Scholar
- S. Thesing, Modeling a System Controller for Timing Analysis, Proceedings of the 6th ACM & IEEE International conference on Embedded software (EMSOFT 2006) (S. L. Min and W. Yi, eds.), ACM, 2006, pp. 292--300. Google ScholarDigital Library
- M. Weiser, Program Slicing, IEEE Transaction in Software Engineering 10 (1984), no. 4, 352--357.Google Scholar
- R. Wilhelm, J. Engblom, A. Ermedahl, N. Holsti, S. Thesing, D. Whalley, G. Bernat, C. Ferdinand, R. Heckmann, F. Mueller, I. Puaut, P. Puschner, J. Staschulat, and P. Stenström, The Worst-Case Execution Time Problem - Overview of Methods and Survey of Tools, 7 (2008), no. 3. Google ScholarDigital Library
- R. Wilhelm, D. Grund, J. Reineke, M. Schlickling, M. Pister, and C. Ferdinand, Memory Hierarchies, Pipelines, and Buses for Future Architectures in Time-critical Embedded Systems, IEEE Transactions on CAD of Integrated Circuits and Systems 28 (2009), no. 7, 966--978. Google ScholarDigital Library
Index Terms
- Semi-automatic derivation of timing models for WCET analysis
Recommendations
Semi-automatic derivation of timing models for WCET analysis
LCTES '10Embedded systems are widely used for supporting our every day life. In the area of safety-critical systems human life often depends on the system's correct behavior. Many of such systems are hard real-time systems, so that the notion of correctness not ...
Hardware support for WCET analysis of hard real-time multicore systems
ISCA '09: Proceedings of the 36th annual international symposium on Computer architectureThe increasing demand for new functionalities in current and future hard real-time embedded systems like automotive, avionics and space industries is driving an increase in the performance required in embedded processors. Multicore processors represent ...
Hardware support for WCET analysis of hard real-time multicore systems
The increasing demand for new functionalities in current and future hard real-time embedded systems like automotive, avionics and space industries is driving an increase in the performance required in embedded processors. Multicore processors represent ...
Comments