Movatterモバイル変換


[0]ホーム

URL:


Skip to main content

Advertisement

Springer Nature Link
Log in

TimeC: A Time Constraint Language for ILP Processor Compilation

  • Published:
Constraints Aims and scope Submit manuscript

Abstract

Enabled by RISC technologies, low-cost commodity microprocessors are performing at ever increasing levels, significantly via instruction level parallelism (ILP). This in turn increases the opportunities for their use in a variety of day-to-day applications ranging from the simple control of appliances such as microwave ovens, to sophisticated systems for cabin control in modern aircraft. Indeed, “embedded” applications such as these represent segments in the computer industry with great potential for growth. However, this growth is currently impeded by the lack of robust optimizing compiler technologies that support the assured, rapid and inexpensive prototyping of real-time software in the context of microprocessors with ILP. In this paper we describe a novel notation, TimeC, for specifying timing constraints in programs,independent of the base language being used to develop the embedded application; TimeC specifications are language independent and can be instrumented into imperative and object-oriented languages non-intrusively. As we will show, the program synthesis problem that arise out of Time_tract specifications, a subset of TimeC, are always “tractable.” In contrast, a range of specification mechanisms proposed earlier yield substantially intractable synthesis questions, thereby limiting their potential utility. We will compare the tractability and related expressive power issues between TimeC and some of the extant mechanisms for specifying properties of timed programs.

This is a preview of subscription content,log in via an institution to check access.

Access this article

Log in via an institution

Subscribe and save

Springer+ Basic
¥17,985 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price includes VAT (Japan)

Instant access to the full article PDF.

Similar content being viewed by others

Explore related subjects

Discover the latest articles, news and stories from top researchers in related subjects.

References

  1. Aiken, A., & Nicolau, A. (1987). Loop quantization; an analysis and algorithm. Technical Report 87-821, Cornell University.

  2. Allen, J. R., Kennedy, K., Porterfield, C., & Warren, J. (1983). Conversion of contgrol dependence to data dependence. InProceedings of the 10th ACM Symposium on Principles of Programming Languages, pages 177–189.

  3. Alur, R., & Dill, D. (1994). A theory of timed automata.Theoretical Computer Science, 126: 183–235.

    Google Scholar 

  4. Alur, R., & Henzinger, T. A. (1989). A really temporal logic. InProceedings of the 30th IEEE Symposium Found. of Comp. Sci., pages 164–169.

  5. Alur, R., & Henzinger, T. A. (1990). Real-time logics: Complexity and expressiveness. InProceedings of the 5th IEEE Symposium Logic in Comp. Sci., pages 390–401.

  6. Alur, R., & Henzinger, T. (1992). Logics and models of real time: A survey. In de Bakker, J. W., Huizing, C., de Roever, W. P., & Rozenberg, G., eds.,Proceedings of the REX Workshop “Real-Time: Theory in Practice,” Vol. 600 of Lect. Notes in Comp. Sci., pages 74–106. Springer-Verlag.

  7. Bernstein, A., & Harter, P. K. (1981). Proving real time properties of programs with temporal logic. InProceedings of the Eighth Symposium on Operating Systems Principles, pages 1–11. ACM.

  8. Bernstein, D., & Rodeh, M. (1991). Global instruction scheduling for superscalar machines. InProceedings of SIGPLAN'91 Conference on Programming Language Design and Implementation.

  9. Fisher, J. (1981). Trace scheduling: A general technique for global microcode compaction.IEEE Transactions on Computers, C-30(7): 478–490.

    Google Scholar 

  10. Fisher, J. (1991). Global code generation for instruction-level parallelism: Trace scheduling-2. Technical report, HP Labs.

  11. Harel, E., Lichtenstein, O., & Pnueli, A. (1990). Explicit clock temporal logic. InProceedings of the 5th IEEE Symposium Logic in Comp. Sci., pages 402–413.

  12. Hoare, C. A. R. (1969). An axiomatic basis for computer programming.Communication of the ACM, 12: 576–580.

    Google Scholar 

  13. Hong, S., & Gerber, R. (1995). Compiling real-time programs with timing constraint refinement and structural code motion.IEEE Transactions on Software Engineering, 21.

  14. Intel and Hewlett Packard Corporations. (1997). Press releases on Intel's IA-64. http://www.intel.com/pressroom/kits/events/mpf1097.htm.

  15. Jahnaian, F., & Mok, A. K. (1986). Safety analysis of timing properties in real-time systems.IEEE Transactions on Software Engineering, SE-12(9): 890–904.

    Google Scholar 

  16. Jahnaian, F., & Mok, A. K. (1987). A graph-theoretic approach for timing analysis and its implementation.IEEE Transactions on Computers, C36(8).

  17. Kernigan, B. W., & Richie, D. M. (1988).The C Programming Language. Prentice Hall, 2nd ed.

  18. Koymans, R. (1990). Specifying real-time properties with metric temporal logic.Real-Time Systems, 2(4): 255–299.

    Google Scholar 

  19. Koymans, R., & de Roever, W.-P. (1985). Examples of a real-time temporal logic specifications. In Denvir, B. D., Harwood, W. T., Jackson, M. I., & Wray, M. J., eds.,The Analysis of Concurrent Systems, Vol. 207 of Lect. Notes in Comp. Sci., pages 231–252. Springer-Verlag.

  20. Koymans, R., Vytopyl, J., & de Roever, W.-P. (1983). Real-time programming and asynchronous message passing. InProceedings of the Second ACM Symposium Princ. of Dist. Comp., pages 187–197.

  21. Lam, M. (1988). Software pipelining: An effective scheduling technique for vliw machines.Proceedings SIGPLAN'88 Symposium on Programming Language Design and Implementation, pages 318–328.

  22. Leung, A., Palem, K., & Pnueli, A. (1998). A fast algorithm for scheduling time-constrained instructions on processor with ILP. InThe International Conference on Parallel Architectures and Compilation Techniques (PACT’ 98).

  23. Manna, Z., & Pnueli, A. (1981). Verification of concurrent programs: The temporal framework. In Boyer, R. S. & Moore, J. S., eds.,The Correctness Problem in Computer Science, pages 215–273. Academic Press, London.

    Google Scholar 

  24. Nachiappan, N. (1995). Personal communications and memorandum of support.

  25. Ostroff, J. S. (1990).Temporal Logic of Real-Time Systems. Advanced Software Development Series. Research Studies Press, John Wiley & Sons, Taunton, England.

    Google Scholar 

  26. Palem, K., & Sarkar, V. (1995).Code Optimization in Modern Compilers. Western Institute of Computer Science, Stanford University, CA.

    Google Scholar 

  27. Rau, B. (1994). Iterative modulo scheduling: An algorithm for software pipelining loops. InProceedings of the 27th Annual Symposium on Microarchitecture, December.

  28. Sethi, R., Aho, A., & Ullman, J. (1984).Compiler Construction. Addison-Wessley.

  29. Shaw, A. (1989). Reasoning about time in higher-level language software.IEEE Transactions on Software Engineering, 15(7): 875–889.

    Google Scholar 

  30. Stoyenko, A. D., Marlowe, T. J., & Laplante, P. A. (1996). A description language for engineering of complex real-time systems. Technical Report cis9522, New Jersey Institute of Technology.

  31. Stoyenko, A. D., Marlowe, T. J., & Younis, M. F. (1996). A language for complex real-time systems. Technical Report cis9521, New Jersey Institute of Technology.

  32. Stroustrup, B. (1990).The C++ Programming Language. Addison-Wesley, 2nd ed.

  33. Water, N., Mahlke, S., Hwu, W. M., & Rau, B. (1993). Reverse If-conversion. InACM SIGPLAN PLDI, pages 290–299.

Download references

Author information

Authors and Affiliations

  1. Courant Institute of Mathematical Sciences, New York University, USA

    Allen Leung & Krishna V. Palem

  2. The Weizmann Institute of Science, USA

    Amir Pnueli

Authors
  1. Allen Leung

    You can also search for this author inPubMed Google Scholar

  2. Krishna V. Palem

    You can also search for this author inPubMed Google Scholar

  3. Amir Pnueli

    You can also search for this author inPubMed Google Scholar

Rights and permissions

About this article

Access this article

Subscribe and save

Springer+ Basic
¥17,985 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price includes VAT (Japan)

Instant access to the full article PDF.

Advertisement


[8]ページ先頭

©2009-2025 Movatter.jp