Skip to main content

Schedule-Carrying Code

  • Conference paper
Embedded Software (EMSOFT 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2855))

Included in the following conference series:

Abstract

We introduce the paradigm of schedule-carrying code (SCC). A hard real-time program can be executed on a given platform only if there exists a feasible schedule for the real-time tasks of the program. Traditionally, a scheduler determines the existence of a feasible schedule according to some scheduling strategy. With SCC, a compiler proves the existence of a feasible schedule by generating executable code that is attached to the program and represents its schedule. An SCC executable is a real-time program that carries its schedule as code, which is produced once and can be revalidated and executed with each use. We evaluate SCC both in theory and practice. In theory, we give two scenarios, of nonpreemptive and distributed scheduling for Giotto programs, where the generation of a feasible schedule is hard, while the validation of scheduling instructions that are attached to the programs is easy. In practice, we implement SCC and show that explicit scheduling instructions can reduce the scheduling overhead up to 35% and can provide an efficient, flexible, and verifiable means for compiling Giotto programs on complex architectures, such as the TTA.

This work was supported by the AFOSR MURI grant F49620-00-1-0327, the California MICRO grant 01-037, the DARPA grant F33615-C-98-3614, the MARCO grant 98-DT-660, and the NSF grants CCR-0208875, CCR-0085949, and CCR-0225610.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Cai, Y., Kong, M.C.: Nonpreemptive scheduling of periodic tasks in uni- and multiprocessor systems. Algorithmica 15, 572–599 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  2. Ferdinand, C., Heckmann, R., Langenbach, M., Martin, F., Schmidt, M., Theiling, H., Thesing, S., Wilhelm, R.: Reliable and precise WCET determination for a real-life processor. In: Henzinger, T.A., Kirsch, C.M. (eds.) EMSOFT 2001. LNCS, vol. 2211, pp. 469–485. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  3. Garey, M.R., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, New York (1979)

    MATH  Google Scholar 

  4. Henzinger, T.A., Horowitz, B., Kirsch, C.M.: Giotto: a time-triggered language for embedded programming. Proc. IEEE 91, 84–99 (2003)

    Article  Google Scholar 

  5. Henzinger, T.A., Kirsch, C.M.: The Embedded Machine: predictable, portable real-time code. In: Proc. Programming Language Design and Implementation, pp. 315–326. ACM, New York (2002)

    Google Scholar 

  6. Henzinger, T.A., Kirsch, C.M., Majumdar, R., Matic, S.: Time-safety checking for embedded programs. In: Sangiovanni-Vincentelli, A.L., Sifakis, J. (eds.) EMSOFT 2002. LNCS, vol. 2491, pp. 76–92. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  7. Kirsch, C.M., Henzinger, T.A., Sanvido, M.A.A.: A Programmable Microkernel for Real-Time Systems. Technical Report CSD-03-1250, UC Berkeley (2003)

    Google Scholar 

  8. Kirsch, C.M., Sanvido, M.A.A., Henzinger, T.A., Pree, W.: A Giotto-based helicopter control system. In: Sangiovanni-Vincentelli, A.L., Sifakis, J. (eds.) EMSOFT 2002. LNCS, vol. 2491, pp. 46–60. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  9. Kopetz, H.: Real-Time Systems: Design Principles for Distributed Embedded Applications. Kluwer, Dordrecht (1997)

    MATH  Google Scholar 

  10. Necula, G.C.: Proof-carrying code. In: Proc. Principles of Programming Languages, pp. 106–119. ACM Press, New York (1997)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Henzinger, T.A., Kirsch, C.M., Matic, S. (2003). Schedule-Carrying Code. In: Alur, R., Lee, I. (eds) Embedded Software. EMSOFT 2003. Lecture Notes in Computer Science, vol 2855. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45212-6_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-45212-6_16

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-20223-3

  • Online ISBN: 978-3-540-45212-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics