The Logical Execution Time Paradigm

Chapter

Abstract

Since its introduction in 2000 in the time-triggered programming language Giotto, the Logical Execution Time (LET) paradigm has evolved from a highly controversial idea to a well-understood principle of real-time programming. This chapter provides an easy-to-read overview of LET programming languages and runtime systems as well as some LET-inspired models of computation. The presentation is intuitive, by example, citing the relevant literature including more formal treatment of the material for reference.

References

  1. 1.
    Auerbach J, Bacon DF, Iercan D, Kirsch CM, Rajan VT,  Röck H, Trummer R (2007) Java takes flight: Time-portable real-time programming with exotasks. In: Proceedings of the ACM SIGPLAN/SIGBED conference on languages, compilers, and tools for embedded systems (LCTES). ACM, New YorkGoogle Scholar
  2. 2.
    Auerbach J, Bacon DF, Guerraoui R, Spring JH, Vitek J (2008) Flexible task graphs: A unified restricted thread programming model for java. SIGPLAN Not 43:1–11CrossRefGoogle Scholar
  3. 3.
    Auerbach J, Bacon DF, Iercan D, Kirsch CM, Rajan VT, Röck H, Trummer R (2009) Low-latency time-portable real-time programming with Exotasks. ACM Trans Embedded Comput Syst (TECS) 8(2):1–48CrossRefGoogle Scholar
  4. 4.
    Bacon DF, Cheng P, Rajan VT (2003) A real-time garbage collector with low overhead and consistent utilization. In: Proceedings of the symposium on principles of programming languages (POPL), ACM, pp 285–298Google Scholar
  5. 5.
    Berry G (2000) The foundations of Esterel. In: Stirling C, Plotkin G, Tofte M (eds) Proof, language and interaction: Essays in honour of Robin Milner. MIT, Cambridge, MAGoogle Scholar
  6. 6.
    Buckl C, Sojer D, Knoll A (2010) Ftos: Model-driven development of fault-tolerant automation systems. In: Proceedings of the international conference on emerging techonologies and factory automation (ETFA). IEEEGoogle Scholar
  7. 7.
    Buttazzo G (1997) Hard real-time computing systems: Predictable scheduling algorithms and applications. Kluwer, DordrechtMATHGoogle Scholar
  8. 8.
    Craciunas SS, Kirsch CM, Röck H, Trummer R (2008) The JAviator: A high-payload quadrotor UAV with high-level programming capabilities. In: Proceedings of the AIAA guidance, navigation and control conference (GNC)Google Scholar
  9. 9.
    Craciunas SS, Kirsch CM, Payer H, Röck H, Sokolova A (2009) Programmable temporal isolation through variable-bandwidth servers. In: Proceedings of the symposium on industrial embedded systems (SIES). IEEEGoogle Scholar
  10. 10.
    Dabney J, Harmon T (2003) Mastering simulink. Prentice Hall, Englewood Cliffs, NJGoogle Scholar
  11. 11.
    Derler P, Resmerita S (2010) Flexible static scheduling of software with logical execution time constraints. In: Proceedings of the international conference on embedded systems and software (ICESS). IEEEGoogle Scholar
  12. 12.
    Eker J, Janneck JW, Lee EA, Liu J, Liu X, Ludvig J, Neuendorffer S, Sachs S, Xiong Y (2003) Taming heterogeneity–the ptolemy approach. Proc IEEE 91(1):127–144CrossRefGoogle Scholar
  13. 13.
    Farcas E, Pree W (2007) Hyperperiod bus scheduling and optimizations for tdl components. In: Proceedings of the international conference on emerging technologies and factory automation (ETFA). IEEEGoogle Scholar
  14. 14.
    Ferdinand C, Heckmann R, Langenbach M, Martin F, Schmidt M, Theiling H, Thesing S, Wilhelm R (2001) Reliable and precise WCET determination for a real-life processor. In: Proceedings of the international workshop on embedded software, vol 2211 of LNCS, Springer, pp 469–485Google Scholar
  15. 15.
    Ghosal A, Henzinger TA, Iercan D, Kirsch CM, Sangiovanni-Vincentelli AL (2006) A hierarchical coordination language for interacting real-time tasks. In: Proceedings of the international conference on embedded software (EMSOFT), ACMGoogle Scholar
  16. 16.
    Ghosal A, Henzinger TA, Kirsch CM, Sanvido MAA (2004) Event-driven programming with logical execution times. In: Proceedings of the international workshop on hybrid systems: Computation and control (HSCC), vol 2993 of LNCS, Springer, pp 357–371Google Scholar
  17. 17.
    Ghosal A, Iercan D, Kirsch CM, Henzinger TA, Sangiovanni-Vincentelli A (2010) Separate compilation of hierarchical real-time programs into linear-bounded embedded machine code. Sci Comp Program doi:10.1016/j.scico.2010.06.004Google Scholar
  18. 18.
    Halbwachs N (1993) Synchronous programming of reactive systems. Kluwer, DordrechtMATHGoogle Scholar
  19. 19.
    Halbwachs N, Caspi P, Raymond P, Pilaud D (1991) The synchronous dataflow programming language Lustre. Proc IEEE 79(9) 1305–1320CrossRefGoogle Scholar
  20. 20.
    Henzinger TA, Kirsch CM (2002) The embedded machine: Predictable, portable real-time code. In: Proceedings of the ACM SIGPLAN conference on programming language design and implementation (PLDI), ACM, pp 315–326Google Scholar
  21. 21.
    Henzinger TA, Kirsch CM (2004) A typed assembly language for real-time programs. In: Proceedings of the international conference on embedded software (EMSOFT), ACM, pp 104–113Google Scholar
  22. 22.
    Henzinger TA, Kirsch CM (2007) The Embedded Machine: Predictable, portable real-time code. ACM Trans Program Languages Syst (TOPLAS) 29(6):33–61CrossRefGoogle Scholar
  23. 23.
    Henzinger TA, Horowitz B, Kirsch CM (2001a) Embedded control systems development with Giotto. In: Proceedings of the ACM SIGPLAN workshop on languages, compilers, and tools for embedded systems (LCTES). ACMGoogle Scholar
  24. 24.
    Henzinger TA, Horowitz B, Kirsch CM (2001b) Giotto: A time-triggered language for embedded programming. In: Proceedings of the international workshop on embedded software (EMSOFT), vol 2211 of LNCS, Springer, pp 166–184Google Scholar
  25. 25.
    Henzinger TA, Kirsch CM, Majumdar R, Matic S (2002) Time safety checking for embedded programs. In: Proceedings of the international workshop on embedded software (EMSOFT), vol 2491 of LNCS, Springer, pp 76–92Google Scholar
  26. 26.
    Henzinger TA, Kirsch CM, Sanvido MAA, Pree W (2003) From control models to real-time code using Giotto. IEEE Contr Syst Mag (CSM) 23(1):50–64CrossRefGoogle Scholar
  27. 27.
    Henzinger TA, Horowitz B, Kirsch CM (2003a) Giotto: A time-triggered language for embedded programming. Proc IEEE 91(1):84–99CrossRefGoogle Scholar
  28. 28.
    Henzinger TA, Kirsch CM, Matic S (2003b) Schedule-carrying code. In: Proceedings of the international conference on embedded software (EMSOFT), vol 2855 of LNCS, Springer, pp 241–256Google Scholar
  29. 29.
    Henzinger TA, Kirsch CM, Matic S (2005) Composable code generation for distributed Giotto. In: Proceedings of the ACM SIGPLAN/SIGBED conference on languages, compilers, and tools for embedded systems (LCTES), ACMGoogle Scholar
  30. 30.
    Henzinger TA, Kirsch CM, Marques ERB, Sokolova A (2009) Distributed, modular HTL. In: Proceedings of the real-time systems symposium (RTSS), IEEEGoogle Scholar
  31. 31.
    Kirsch CM (2002) Principles of real-time programming. In: Proceedings of the international workshop on embedded software (EMSOFT), vol 2491 of LNCS, Springer, pp 61–75Google Scholar
  32. 32.
    Kirsch CM, Sanvido MAA, Henzinger TA (2005) A programmable microkernel for real-time systems. In: Proceedings of the ACM/USENIX conference on virtual execution environments (VEE), ACMGoogle Scholar
  33. 33.
    Kirsch CM, Lopes L, Marques ERB (2008) Semantics-preserving and incremental runtime patching of real-time programs. In: Proceedings of the workshop on adaptive and reconfigurable embedded systems (APRES)Google Scholar
  34. 34.
    Kopetz H (1997) Real-time systems design principles for distributed embedded applications. Kluwer, DordrechtMATHGoogle Scholar
  35. 35.
    Lee I, Leung J, Son SH (eds) 2007 Handbook of real-time and embedded systems, The evolution of real-time programming. CRC Press, Boca Raton, FLMATHGoogle Scholar
  36. 36.
    Liu CL, Layland JW (1973) Scheduling algorithms for multiprogramming in a hard real-time environment. J ACM 20(1):46–61MathSciNetMATHCrossRefGoogle Scholar
  37. 37.
    Liu J, Lee EA (2003) Timed multitasking for real-time embedded software. IEEE Contr Syst Mag (CSM) 23(1):65–75CrossRefGoogle Scholar
  38. 38.
    Wirth N (1977) Towards a discipline of real-time programming. Comm ACM 20:577–583MATHCrossRefGoogle Scholar
  39. 39.
    Zhao Y, Liu J, Lee E.A (2007) A programming model for time-synchronized distributed real-time systems. In: Proceedings of the real-time and embedded technology and applications symposium (RTAS), IEEE, pp 259–268Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  1. 1.Department of Computer SciencesUniversity of SalzburgSalzburgAustria

Personalised recommendations