skip to main content
10.1145/1755888.1755899acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
research-article

Semi-automatic derivation of timing models for WCET analysis

Authors Info & Claims
Published:13 April 2010Publication History

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.

References

  1. AbsInt Angewandte Informatik GmbH, The Program Analyzer Generator User's Manual, 2002.Google ScholarGoogle Scholar
  2. AbsInt Angewandte Informatik GmbH, aiSee. Graph Visualization User's Documentation, 2005.Google ScholarGoogle Scholar
  3. P. J. Ashenden, The Designer's Guide to VHDL, Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. Mentor Graphics Corporation, ModelSim User's Manual, May 2008.Google ScholarGoogle Scholar
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. P. Cousot and R. Cousot, Abstract Interpretation and Application to Logic Programs, Journal of Logic Programming 13 (1992), no. 2&3, 103--179. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. A. Ermedahl, A Modular Tool Architecture for Worst-Case Execution Time Analysis, Ph.D. thesis, Uppsala University, 2003.Google ScholarGoogle Scholar
  10. 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 ScholarGoogle ScholarCross RefCross Ref
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Gaisler, Leon2 Processor User's Manual - version 1.0.30, July 2005.Google ScholarGoogle Scholar
  15. 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 ScholarGoogle Scholar
  16. Freescale Semiconductor Inc., MPC750 RISC Microprocessor Family User's Manual, December 2001.Google ScholarGoogle Scholar
  17. Institute of Electrical and Electronics Engineers, New York, IEEE Standard P1076.6 1999 VHDL Register Transfer Level Synthesis, 1999.Google ScholarGoogle Scholar
  18. Institute of Electrical and Electronics Engineers, New York, IEEE Standard P1076 2000 VHDL Language Reference Manual, 2000.Google ScholarGoogle Scholar
  19. 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 ScholarGoogle Scholar
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. M. Langenbach, CRL - A Uniform Representation for Control Flow, Tech. report, Saarland University, 1998.Google ScholarGoogle Scholar
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. ARM Limited, ARM Architecture Reference Manual, June 2000.Google ScholarGoogle Scholar
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarCross RefCross Ref
  26. F. Martin, Generating Program Analyzers, Ph.D. thesis, Saarland University, 1999.Google ScholarGoogle Scholar
  27. F. Nielson, H. R. Nielson, and C. Hankin, Principles of Program Analysis, Springer, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle Scholar
  30. M. Sicks, Adreßbestimmung zur Vorhersage des Verhaltens von Daten-Caches, Master's thesis, Saarland University, 1997.Google ScholarGoogle Scholar
  31. 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 ScholarGoogle Scholar
  32. T. Gingold, GHDL. A VHDL compiler, 2007.Google ScholarGoogle Scholar
  33. S. Thesing, Safe and Precise WCET Determination by Abstract Interpretation of Pipeline Models, Ph.D. thesis, Saarland University, 2004.Google ScholarGoogle Scholar
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. M. Weiser, Program Slicing, IEEE Transaction in Software Engineering 10 (1984), no. 4, 352--357.Google ScholarGoogle Scholar
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Semi-automatic derivation of timing models for WCET analysis

        Recommendations

        Reviews

        Festus Gail Gray

        Schlickling and Pister propose, in this paper, a method for deriving timing models using the information in formal very-high-speed integrated circuit (VHSIC) hardware description language (VHDL) specifications, in a semi-automatic way. The first step (model preprocessing), which should be able to be fully automated, reduces the overall size of the VHDL model by eliminating parts that are not relevant for timing behavior. The authors claim that the second step (processor state abstraction) will always require human intervention. The proposed algorithm is iterative in nature, involving repeated applications of the two steps described. The final result of the iterative process is a timing model from which C++ simulation code can be generated. All possible paths in the resulting execution tree are simulated to obtain upper bounds on the worst-case execution times (WCET) for each critical system task. Since the implementation of the outlined sequence of model analyses and transformations was still under development at the time the conference paper was presented, the authors were unable to give any reasonable experimental results and were unable to compare the semi-automatic method to a manually derived timing model. One drawback to the method is that "abstract interpretation of the timing model is guaranteed to give upper WCET bounds [...] relative to the [timing] model itself. If the [timing] model fails to correctly describe the system's behavior, the computed WCET bound may be incorrect" [1]. Since the extracted timing information comes from formal VHDL specifications that include timing information, this could guarantee correct timing models. As ongoing work, the authors will try to prove that the resulting model, after the application of their transformations and state abstractions, correctly approximates the timing behavior of the original system. The stated goals are certainly laudable, but clearly much work remains to be done. It is not clear how much of the proposed implementation, if any, could be applied to other hardware description languages. Online Computing Reviews Service

        Access critical reviews of Computing literature here

        Become a reviewer for Computing Reviews.

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          LCTES '10: Proceedings of the ACM SIGPLAN/SIGBED 2010 conference on Languages, compilers, and tools for embedded systems
          April 2010
          184 pages
          ISBN:9781605589534
          DOI:10.1145/1755888
          • cover image ACM SIGPLAN Notices
            ACM SIGPLAN Notices  Volume 45, Issue 4
            LCTES '10
            April 2010
            170 pages
            ISSN:0362-1340
            EISSN:1558-1160
            DOI:10.1145/1755951
            Issue’s Table of Contents

          Copyright © 2010 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 13 April 2010

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate116of438submissions,26%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader