skip to main content
research-article
Open Access

Building timing predictable embedded systems

Published:10 March 2014Publication History
Skip Abstract Section

Abstract

A large class of embedded systems is distinguished from general-purpose computing systems by the need to satisfy strict requirements on timing, often under constraints on available resources. Predictable system design is concerned with the challenge of building systems for which timing requirements can be guaranteed a priori. Perhaps paradoxically, this problem has become more difficult by the introduction of performance-enhancing architectural elements, such as caches, pipelines, and multithreading, which introduce a large degree of uncertainty and make guarantees harder to provide. The intention of this article is to summarize the current state of the art in research concerning how to build predictable yet performant systems. We suggest precise definitions for the concept of “predictability”, and present predictability concerns at different abstraction levels in embedded system design. First, we consider timing predictability of processor instruction sets. Thereafter, we consider how programming languages can be equipped with predictable timing semantics, covering both a language-based approach using the synchronous programming paradigm, as well as an environment that provides timing semantics for a mainstream programming language (in this case C). We present techniques for achieving timing predictability on multicores. Finally, we discuss how to handle predictability at the level of networked embedded systems where randomly occurring errors must be considered.

References

  1. B. Akesson, K. Goossens, and M. Ringhofer. 2007. Predator: a predictable SDRAM memory controller. In Proceedings of the International Conference on Hardware/Software Codesign and System Synthesis. 251--256. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. D. H. Albonesi and I. Koren. 1994. Tradeoffs in the design of single chip multiprocessors. In Proceedings of the International Conference on Parallel Architectures and Compilation Techniques. 25--34. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. S. Andalam, P. Roop, and A. Girault. 2010. Predictable multithreading of embedded applications using PRET-C. In Proceedings of the International Conference on Formal Methods and Models for Codesign.159--168.Google ScholarGoogle Scholar
  4. S. Andalam, P. Roop, and A. Girault. 2011. Pruning infeasible paths for tight WCRT analysis of synchronous programs. In Proceedings of the Conference on Design Automation and Test in Europe. 204--209.Google ScholarGoogle Scholar
  5. B. Andersson, A. Easwaran, and J. Lee. 2010. Finding an upper bound on the increase in execution time due to contention on the memory bus in COTS-based multicore systems. ACM SIGBED Review 7, 1, 4:1--4:4. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. A. Andrei, P. Eles, Z. Peng, and J. Rosen. 2008. Predictable implementation of real-time applications on multiprocessor systems-on-chip. In Proceedings of the International Conference on VLSI Design. 103--110. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. A. Avizienis. 1985. The N-version approach to fault-tolerant software. IEEE Trans. Software Eng. 11, 12, 1491--1501. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. P. Axer, M. Sebastian, and R. Ernst. 2011. Reliability analysis for MPSoCs with mixed-critical, hard real-time constraints. In Proceedings of the International Conference on Hardware/Software Codesign and System Synthesis. 149--158. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. T. P. Baker. 2003. Multiprocessor EDF and deadline monotonic schedulability analysis. In Proceedings of the International Real-Time Systems Symposium. 120--129. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. Barre, C. Rochange, and P. Sainrat. 2008. A predictable simultaneous multithreading scheme for hard real-time. In Proceedings of the International Conference on Architecture of Computing Systems. 161--172. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. S. K. Baruah. 2007. Techniques for multiprocessor global schedulability analysis. In Proceedings of the International Real-Time Systems Symposium. 119--128. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. A. Bastoni, B. B. Brandenburg, and J. H. Anderson. 2010a. Cache-related preemption and migration delays: Empirical approximation and impact on schedulability. In Proceedings of the International Workshop on Operating Systems Platforms for Embedded Real-Time Applications. 33--44.Google ScholarGoogle Scholar
  13. A. Bastoni, B. B. Brandenburg, and J. H. Anderson. 2010b. An empirical comparison of global, partitioned, and clustered multiprocessor EDF schedulers. In Proceedings of the International Real-Time Systems Symposium. 14--24. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. A. Bastoni, B. B. Brandenburg, and J. H. Anderson. 2011. Is semi-partitioned scheduling practical? In Proceedings of the Euromicro Conference on Real-Time Systems. 125--135. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. A. Benveniste, P. Caspi, S. A. Edwards, N. Halbwachs, P. Le Guernic, and R. de Simone. 2003. The synchronous languages twelve years later. Proc. IEEE 91, 1, 64--83.Google ScholarGoogle ScholarCross RefCross Ref
  16. C. Berg. 2006. PLRU cache domino effects. In Proceedings of the International Workshop on Worst-Case Execution Time Analysis.Google ScholarGoogle Scholar
  17. N. C. Bernardes Jr. 2001. On the predictability of discrete dynamical systems. Proc. Amer. Math. Soc. 130, 7, 1983--1992.Google ScholarGoogle ScholarCross RefCross Ref
  18. G. Berry. 2000. The foundations of Esterel. In Proof, Language, and Interaction: Essays in Honour of Robin Milner, G. Plotkin, C. P. Stirling, and M. Tofte, Eds., MIT Press, Cambridge, MA, 425--454. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. M. Boldt, C. Traulsen, and R. Von Hanxleden. 2008. Compilation and worst-case reaction time analysis for multithreaded Esterel processing. EURASIP J. Embed. Syst. 4. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. H. Börjesson. 1996. Incorporating worst case execution time in a commercial C-compiler. M.S. thesis, Uppsala University, Department of Computer Systems, Uppsala, Sweden.Google ScholarGoogle Scholar
  21. S. Borkar. 2005. Designing reliable systems from unreliable components: the challenges of transistor variability and degradation. IEEE Micro 25, 6, 10--16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. D. Brière, D. Ribot, D. Pilaud, and J.-L. Camus. 1995. Methods and specification tools for Airbus on-board systems. Microprocess. Microsyst. 19, 9, 511--515.Google ScholarGoogle ScholarCross RefCross Ref
  23. I. Broster, G. Bernat, and A. Burns. 2002a. Weakly hard real-time constraints on controller area network. In Proceedings of the Euromicro Conference on Real-Time Systems. 134--141. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. I. Broster, A. Burns, and G. Rodríguez-Navas. 2002b. Probabilistic analysis of CAN with faults. In Proceedings of the International Real-Time Systems Symposium. 269--278. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. D. Bui, E. Lee, I. Liu, H. Patel, and J. Reineke. 2011. Temporal isolation on multiprocessing architectures. In Proceedings of the Design Automation Conference. 274--279. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. G. Buttazzo. 2011. Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications 3rd Ed. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. J. M. Calandrino, H. Leontyev, A. Block, U. C. Devi, and J. Anderson. 2006. LITMUS/RT: A testbed for empirically comparing real-time multiprocessor schedulers. In Proceedings of the International Real-Time Systems Symposium. 111--126. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. CAN. 1991. CAN specification 2.0. Robert Bosch GmbH.Google ScholarGoogle Scholar
  29. J. Carpenter, S. Funk, P. Holman, A. Srinivasan, J. Anderson, and S. Baruah. 2004. A categorization of real-time multiprocessor scheduling problems and algorithms. In Handbook on Scheduling Algorithms, Methods and Models, Chapman Hall/CRC, Boca Raton, FL.Google ScholarGoogle Scholar
  30. J. Charzinski. 1994. Performance of the error detection mechanisms in CAN. In Proceedings of the International CAN Conference. 1--20.Google ScholarGoogle Scholar
  31. S. Chattopadhyay, A. Roychoudhury, and T. Mitra. 2010. Modeling shared cache and bus in multi-cores for timing analysis. In Proceedings of the International Workshop on Software & Compilers for Embedded Systems. 6:1--6:10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. D. Chiou, L. Rudolph, S. Devadas, L. Randolph, and B. S. Ang. 1999. Dynamic cache partitioning via columnization. Tech. Rep. 430, Massachusetts Institute of Technology.Google ScholarGoogle Scholar
  33. C. Cullmann, C. Ferdinand, G. Gebhard, D. Grund, C. Maiza, J. Reineke, B. Triquet, and R. Wilhelm. 2010. Predictability considerations in the design of multi-core embedded systems. In Proceedings of Embedded Real Time Software and Systems. 36--42.Google ScholarGoogle Scholar
  34. R. Davis, A. Burns, R. Bril, and J. J. Lukkien. 2007. Controller area network CAN schedulability analysis: Refuted, revisited and revised. Real-Time Syst. 35, 3, 239--272. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. S. Edwards and E. Lee. 2007. The case for the precision timed (PRET) machine. In Proceedings of the Design Automation Conference. 264--265. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. S. Edwards and J. Zeng. 2007. Code generation in the Columbia Esterel Compiler. EURASIP J. Embed. Syst. 2007.Google ScholarGoogle Scholar
  37. A. El-Haj-Mahmoud, A. S. Al-Zawawi, A. Anantaraman, and E. Rotenberg. 2005. Virtual multiprocessor: an analyzable, high-performance architecture for real-time computing. In Proceedings of the International Conference on Compilers, Architectures and Synthesis for Embedded Systems. 213--224. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. J. Engblom. 1997. Worst-case execution time analysis for optimized code. M.S. thesis, Uppsala University, Department of Computer Systems, Uppsala, Sweden.Google ScholarGoogle Scholar
  39. H. Falk and J. C. Kleinsorge. 2009. Optimal static WCET-aware scratchpad allocation of program code. In Proceedings of the Design Automation Conference. 732--737. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. H. Falk and H. Kotthaus. 2011.WCET-driven cache-aware code positioning. In Proceedings of the International Conference on Compilers, Architectures and Synthesis for Embedded Systems. 145--154. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. H. Falk and P. Lokuciejewski. 2010. A compiler framework for the reduction of worst-case execution times. Real-Time Syst. 46, 2, 251--300. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. M. Fernandez, R. Gioiosa, E. Quiñones, L. Fossati, M. Zulianello, and F. J. Cazorla. 2012. Assessing the suitability of the NGMP multi-core processor in the space domain. In Proceedings of the International Conference on Embedded Software. 175--184. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. J. Ferreira, A. Oliveira, P. Fonseca, and J. Fonseca. 2004. An experiment to assess bit error rate in CAN. In Proceedings of the International Workshop of Real-Time Networks. 15--18.Google ScholarGoogle Scholar
  44. G. Gebhard and S. Altmeyer. 2007. Optimal task placement to improve cache performance. In Proceedings of the International Conference on Embedded Software. 259--268. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. M. Gerdes, F. Kluge, T. Ungerer, and C. Rochange. 2012. The split-phase synchronisation technique: Reducing the pessimism in the WCET analysis of parallelised hard real-time programs. In Proceedings of the International Conference on Embedded and Real-Time Computing Systems and Applications. 88--97. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. D. Grund, J. Reineke, and R. Wilhelm. 2011. A template for predictability definitions with supporting evidence. In Proceedings of the Workshop on Predictability and Performance in Embedded Systems. 22--31.Google ScholarGoogle Scholar
  47. N. Guan, M. Stigge, W. Yi, and G. Yu. 2009a. Cache-aware scheduling and analysis for multicores. In Proceedings of the International Conference on Embedded Software. 245--254. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. N. Guan, M. Stigge, W. Yi, and G. Yu. 2009b. New response time bounds for fixed priority multiprocessor scheduling. In Proceedings of the International Real-Time Systems Symposium. 387--397. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. N. Guan, M. Stigge, W. Yi, and G. Yu. 2010. Fixed-priority multiprocessor scheduling with Liu and Layland's utilization bound. In Proceedings of the Real-Time and Embedded Technology and Applications Symposium. 165--174. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. N. Halbwachs, P. Caspi, P. Raymond, and D. Pilaud. 1991. The synchronous data-flow programming language Lustre. Proc. IEEE 79, 9, 1305--1320.Google ScholarGoogle ScholarCross RefCross Ref
  51. D. Hardy, T. Piquet, and I. Puaut. 2009. Using bypass to tightenWCET estimates for multi-core processors with shared instruction caches. In Proceedings of the International Real-Time Systems Symposium. 68--77. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. T. Henzinger. 2008. Two challenges in embedded systems design: Predictability and robustness. Philosophical Trans. Royal Soc. A 366, 1881, 3727--3736.Google ScholarGoogle ScholarCross RefCross Ref
  53. T. A. Henzinger, B. Horowitz, and C. M. Kirsch. 2003. Giotto: A time-triggered language for embedded programming. Proc. IEEE 91, 1, 84--99.Google ScholarGoogle ScholarCross RefCross Ref
  54. IEC 61508. 2010. IEC 61508 Edition 2.0: Functional safety of electrical/electronic/programmable electronic safety-related systems. http://www.iec.ch/functionalsafety/standards/page2.htm.Google ScholarGoogle Scholar
  55. ISO 26262. 2011. ISO 26262: Road vehicles -- functional safety. International Organization for Standardization.Google ScholarGoogle Scholar
  56. V. Izosimov, P. Pop, P. Eles, and Z. Peng. 2006. Synthesis of fault-tolerant embedded systems with checkpointing and replication. In Proceedings of the International Workshop on Electronic Design, Test and Applications. 440--447. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. L. Ju, B. K. Huynh, A. Roychoudhury, and S. Chakraborty. 2008. Performance debugging of Esterel specifications. In Proceedings of the International Conference on Hardware/Software Codesign and System Synthesis. 173--178. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. S. Kato and N. Yamasaki. 2008. Portioned EDF-based scheduling on multiprocessors. In Proceedings of the International Conference on Embedded Software. 139--148. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. R. Kirner and P. Puschner. 2001. Transformation of path information for WCET analysis during compilation. In Proceedings of the Euromicro Conference on Real-Time Systems. 29--36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. R. Kuehn. 1969. Computer redundancy: design, performance, and future. IEEE Trans. Reliab. 18, 1, 3--11.Google ScholarGoogle ScholarCross RefCross Ref
  61. K. Lakshmanan, R. Rajkumar, and J. Lehoczky. 2009. Partitioned fixed-priority preemptive scheduling for multi-core processors. In Proceedings of the Euromicro Conference on Real-Time Systems. 239--248. Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. J. Lala and R. Harper. 1994. Architectural principles for safety-critical real-time applications. Proc. IEEE 82, 1, 25--40.Google ScholarGoogle ScholarCross RefCross Ref
  63. S. Lauzac, R. G. Melhem, and D. Mossé. 1998. Comparison of global and partitioning schemes for scheduling rate monotonic tasks on a multiprocessor. In Proceedings of the Euromicro Conference on Real-Time Systems. 188--195.Google ScholarGoogle Scholar
  64. G. Legoff. 1996. Using synchronous languages for interlocking. In Proceedings of the International Conference on Computer Application in Transportation Systems.Google ScholarGoogle Scholar
  65. X. Li and R. Von Hanxleden. 2012. Multithreaded reactive programming -- the Kiel Esterel Processor. IEEE Trans. Computers 61, 3, 337--349. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. Y. Li, V. Suhendra, Y. Liang, T. Mitra, and A. Roychoudhury. 2009. Timing analysis of concurrent programs running on shared cache multi-cores. In Proceedings of the International Real-Time Systems Symposium. 57--67. Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. B. Lickly, I. Liu, S. Kim, H. D. Patel, S. A. Edwards, and E. A. Lee. 2008. Predictable programming on a precision timed architecture. In Proceedings of the International Conference on Compilers, Architectures and Synthesis for Embedded Systems. 137--146. Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. C. L. Liu and J. W. Layland. 1973. Scheduling algorithms for multiprogramming in a hard-real-time environment. J. ACM 20, 1, 46--61. Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. I. Liu, J. Reineke, D. Broman, M. Zimmer, and E. A. Lee. 2012. A PRET microarchitecture implementation with repeatable timing and competitive performance. In Proceedings of the International Conference on Computer Design. Google ScholarGoogle ScholarDigital LibraryDigital Library
  70. J. W. S. Liu. 2000. Real-Time Systems. Prentice Hall, Upper Saddle River, NJ.Google ScholarGoogle Scholar
  71. T. Liu, M. Li, and C. Xue. 2009. Minimizing WCET for real-time embedded systems via static instruction cache locking. In Proceedings of the Real-Time and Embedded Technology and Applications Symposium. 35--44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. T. Liu, Y. Zhao, M. Li, and C. J. Xue. 2011. Joint task assignment and cache partitioning with cache locking for WCET minimization on MPSoC. J. Parallel Distrib. Comput. 71, 11, 1473--1483. Google ScholarGoogle ScholarDigital LibraryDigital Library
  73. T. Lundqvist and P. Stenström. 1999. Timing anomalies in dynamically scheduled microprocessors. In Proceedings of the International Real-Time Systems Symposium. 12--21. Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. M. Lv, W. Yi, N. Guan, and G. Yu. 2010. Combining abstract interpretation with model checking for timing analysis of multicore software. In Proceedings of the International Real-Time Systems Symposium. 339--349. Google ScholarGoogle ScholarDigital LibraryDigital Library
  75. M. A. Maksoud and J. Reineke. 2012. An empirical evaluation of the influence of the load-store unit on WCET analysis. In Proceedings of the International Workshop on Worst-Case Execution Time Analysis. 13--24.Google ScholarGoogle Scholar
  76. J. Mische, S. Uhrig, F. Kluge, and T. Ungerer. 2008. Exploiting spare resources of in-order SMT processors executing hard real-time threads. In Proceedings of the International Conference on Computer Design. 371--376.Google ScholarGoogle Scholar
  77. A. M. Molnos, M. J. M. Heijligers, S. D. Cotofana, and J. T. J. van Eijndhoven. 2004. Cache partitioning options for compositional multimedia applications. In Proceedings of the Annual Workshop on Circuits, Systems and Signal Processing. 86--90.Google ScholarGoogle Scholar
  78. F. Mueller. 1995. Compiler support for software-based cache partitioning. In Proceedings of the Workshop on Languages, Compilers, & Tools for Real-Time Systems. 125--133. Google ScholarGoogle ScholarDigital LibraryDigital Library
  79. N. Navet, Y. Song, and F. Simonot. 2000. Worst-case deadline failure probability in real-time applications distributed over controller area network. J. Syst. Archit. 46, 7, 607--617. Google ScholarGoogle ScholarDigital LibraryDigital Library
  80. J. Nowotsch and M. Paulitsch. 2012. Leveraging multi-core computing architectures in avionics. In Proceedings of the European Dependable Computing Conference. 132--143. Google ScholarGoogle ScholarDigital LibraryDigital Library
  81. M. Paolieri, E. Quiñones, F. J. Cazorla, G. Bernat, and M. Valero. 2009a. Hardware support for WCET analysis of hard real-time multicore systems. In Proceedings of the International Symposium on Computer Architecture. 57--68. Google ScholarGoogle ScholarDigital LibraryDigital Library
  82. M. Paolieri, E. Quiñones, F. J. Cazorla, and M. Valero. 2009b. An analyzable memory controller for hard real-time CMPs. IEEE Embed. Sys. Lett. 1, 4, 86--90. Google ScholarGoogle ScholarDigital LibraryDigital Library
  83. M. Paolieri, E. Quiñones, F. J. Cazorla, R. I. Davis, and M. Valero. 2011. IA3: An interference aware allocation algorithm for multicore hard real-time systems. In Proceedings of the Real-Time and Embedded Technology and Applications Symposium. 280--290. Google ScholarGoogle ScholarDigital LibraryDigital Library
  84. D. Paret and R. Riesco. 2007. Multiplexed Networks for Embedded Systems: CAN, LIN, Flexray, Safe-by- Wire. … John Wiley & Sons, Hoboken, NJ.Google ScholarGoogle Scholar
  85. B. Parhami. 1994. Voting algorithms. IEEE Trans. Reliab. 43, 4, 617--629.Google ScholarGoogle ScholarCross RefCross Ref
  86. R. Pellizzoni, A. Schranzhofer, J.-J. Chen, M. Caccamo, and L. Thiele. 2010. Worst case delay analysis for memory interference in multicore systems. In Proceedings of the Conference on Design Automation and Test in Europe. 741--746. Google ScholarGoogle ScholarDigital LibraryDigital Library
  87. S. Plazar, P. Lokuciejewski, and P. Marwedel. 2009. WCET-aware software based cache partitioning for multi-task real-time systems. In Proceedings of the International Workshop on Worst-Case Execution Time Analysis. 78--88.Google ScholarGoogle Scholar
  88. D. Potop-Butucaru, S. A. Edwards, and G. Berry. 2007. Compiling Esterel. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  89. L. Pullum. 2001. Software Fault Tolerance—Techniques and Implementation. Artech House. Google ScholarGoogle ScholarDigital LibraryDigital Library
  90. P. Radojković, S. Girbal, A. Grasset, E. Quiñones, S. Yehia, and F. J. Cazorla. 2012. On the evaluation of the impact of shared resources in multithreaded COTS processors in time-critical environments. ACM Trans. Archit. Code Optim. 8, 4, Article 34. Google ScholarGoogle ScholarDigital LibraryDigital Library
  91. J. Reineke and D. Grund. 2013. Sensitivity of cache replacement policies. ACM Trans. Embed. Comput. Syst. 12, 1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  92. J. Reineke, I. Liu, H. D. Patel, S. Kim, and E. A. Lee. 2011. PRET DRAM controller: Bank privatization for predictability and temporal isolation. In Proceedings of the International Conference on Hardware/Software Codesign and System Synthesis. 99--108. Google ScholarGoogle ScholarDigital LibraryDigital Library
  93. J. Reineke, B. Wachter, S. Thesing, R. Wilhelm, I. Polian, J. Eisinger, and B. Becker. 2006. A definition and classification of timing anomalies. In Proceedings of the International Workshop on Worst-Case Execution Time Analysis.Google ScholarGoogle Scholar
  94. C. Rochange and P. Sainrat. 2005. A time-predictable execution mode for superscalar pipelines with instruction prescheduling. In Proceedings of the Conference on Computing Frontiers. 307--314. Google ScholarGoogle ScholarDigital LibraryDigital Library
  95. K. Rokas, Y. Makris, and D. Gizopoulos. 2003. Low cost convolutional code based concurrent error detection in FSMs. In Proceedings of the International Symposium on Defect and Fault Tolerance in VLSI Systems. 344--351. Google ScholarGoogle ScholarDigital LibraryDigital Library
  96. J. Rosen, A. Andrei, P. Eles, and Z. Peng. 2007. Bus access optimization for predictable implementation of real-time applications on multiprocessor systems-on-chip. In Proceedings of the International Real-Time Systems Symposium. 49--60. Google ScholarGoogle ScholarDigital LibraryDigital Library
  97. Z. A. Salcic, P. S. Roop, M. Biglari-Abhari, and A. Bigdeli. 2002. REFLIX: A processor core for reactive embedded applications. In Proceedings of the International Conference on Field Programmable Logic and Application. 945--954. Google ScholarGoogle ScholarDigital LibraryDigital Library
  98. A. Saleh, J. Serrano, and J. Patel. 1990. Reliability of scrubbing recovery-techniques for memory systems. IEEE Trans. Reliab. 39, 1, 114--122.Google ScholarGoogle ScholarCross RefCross Ref
  99. S. Schliecker, M. Negrean, and R. Ernst. 2010. Bounding the shared resource load for the performance analysis of multiprocessor systems. In Proceedings of the Conference on Design Automation and Test in Europe. 759--764. Google ScholarGoogle ScholarDigital LibraryDigital Library
  100. J. Schneider. 2003. Combined schedulability and WCET analysis for real-time operating systems. Ph.D. thesis, Saarland University.Google ScholarGoogle Scholar
  101. M. Sebastian, P. Axer, and R. Ernst. 2011. Utilizing hidden markov models for formal reliability analysis of real-time communication systems with errors. In Proceedings of the Pacific Rim International Symposium on Dependable Computing. 79--88. Google ScholarGoogle ScholarDigital LibraryDigital Library
  102. M. Sebastian and R. Ernst. 2009. Reliability analysis of single bus communication with real-time requirements. In Proceedings of the Pacific Rim International Symposium on Dependable Computing. 3--10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  103. J. Smolens, B. Gold, J. Kim, B. Falsafi, J. C. Hoe, and A. G. Nowatzyk. 2004. Fingerprinting: bounding soft-error detection latency and bandwidth. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems. 224--234. Google ScholarGoogle ScholarDigital LibraryDigital Library
  104. J. Stankovic and K. Ramamritham. 1990. What is predictability for real-time systems? Real-Time Syst. 2, 4, 247--254. Google ScholarGoogle ScholarDigital LibraryDigital Library
  105. V. Suhendra, T. Mitra, A. Roychoudhury, and T. Chen. 2005. WCET centric data allocation to scratchpad memory. In Proceedings of the International Real-Time Systems Symposium. 223--232. Google ScholarGoogle ScholarDigital LibraryDigital Library
  106. L. Thiele and R. Wilhelm. 2004. Design for timing predictability. Real-Time Syst. 28, 2--3, 157--177. Google ScholarGoogle ScholarDigital LibraryDigital Library
  107. K. Tindell and A. Burns. 1994. Guaranteed message latencies for distributed safety-critical hard real-time control networks. Tech. Rep. YCS229, Department of Computer Science, University of York.Google ScholarGoogle Scholar
  108. K. Tindell, A. Burns, and A. Wellings. 1995. Calculating controller area network (CAN) message response times. Control Eng. Pract. 3, 8, 1163--1169.Google ScholarGoogle ScholarCross RefCross Ref
  109. T. Ungerer, F. J. Cazorla, P. Sainrat, et al. 2010. MERASA: Multi-core execution of hard real-time applications supporting analysability. IEEE Micro 30, 5, 66--75. Google ScholarGoogle ScholarDigital LibraryDigital Library
  110. J. Van Lint. 1999. Introduction to Coding Theory 3rd Ed. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  111. R. Von Hanxleden. 2009. SyncCharts in C--a proposal for light-weight, deterministic concurrency. In Proceedings of the International Conference on Embedded Software. 225--234. Google ScholarGoogle ScholarDigital LibraryDigital Library
  112. J. Wakerly. 1976. Microcomputer reliability improvement using triple-modular redundancy. Proc. of the IEEE 64, 6, 889--895.Google ScholarGoogle ScholarCross RefCross Ref
  113. Q. Wan, H. Wu, and J. Xue. 2012. WCET-aware data selection and allocation for scratchpad memory. In Proceedings of the International Conference on Languages, Compilers, Tools and Theory for Embedded Systems. 41--50. Google ScholarGoogle ScholarDigital LibraryDigital Library
  114. WCC. 2014. WCET-aware Compilation. http://ls12-www.cs.tu-dortmund.de/research/activities/wcc.Google ScholarGoogle Scholar
  115. S. Wicker and V. Bhargava. 1999. Reed-Solomon Codes and Their Applications. IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  116. R. Wilhelm, J. Engblom, A. Ermedahl, et al. 2008. The worst-case execution-time problem—Overview of methods and survey of tools. ACM Trans. Embed. Comput. Syst. 7, 3, Article 36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  117. R. Wilhelm, D. Grund, J. Reineke, M. Schlickling, M. Pister, and C. Ferdinand. 2009. Memory hierarchies, pipelines, and buses for future architectures in time-critical embedded systems. IEEE Trans. Comput.-Aid. Desi. Integrat. Circuits Syst. 28, 7, 966--978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  118. J. Wolf and R. Blakeney. 1988. An exact evaluation of the probability of undetected error for certain shortened binary CRC codes. In Proceedings of the Military Communications Conference. 287--292.Google ScholarGoogle Scholar
  119. J. K. Wolf, A. Michelson, and A. Levesque. 1982. On the probability of undetected error for linear block codes. IEEE Trans. Commun. 30, 2, 317--325.Google ScholarGoogle ScholarCross RefCross Ref
  120. S. Yuan, S. Andalam, L. H. Yoong, P. S. Roop, and C. Salcic. 2009. STARPro — a new multithreaded direct execution platform for Esterel. Electron. Notes Theoret. Computer Science 238, 1, 37--55. Google ScholarGoogle ScholarDigital LibraryDigital Library
  121. W. Zhao, W. Kreahling, D. Whalley, C. Healy, and F. Mueller. 2005a. Improving WCET by optimizing worst-case paths. In Proceedings of the Real-Time and Embedded Technology and Applications Symposium. 138--147. Google ScholarGoogle ScholarDigital LibraryDigital Library
  122. W. Zhao, D. Whalley, C. Healy, and F. Mueller. 2005b. Improving WCET by applying a WC code-positioning optimization. ACM Trans. Archit. Code Optim. 2, 4, 335--365. Google ScholarGoogle ScholarDigital LibraryDigital Library
  123. J. Zou, S. Matic, E. Lee, T. H. Feng, and P. Derler. 2009. Execution strategies for PTIDES, a programming model for distributed embedded systems. In Proceedings of the Real-Time and Embedded Technology and Applications Symposium. 77--86. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Building timing predictable embedded systems

      Recommendations

      Comments

      Login options

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

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Embedded Computing Systems
        ACM Transactions on Embedded Computing Systems  Volume 13, Issue 4
        Regular Papers
        November 2014
        647 pages
        ISSN:1539-9087
        EISSN:1558-3465
        DOI:10.1145/2592905
        Issue’s Table of Contents

        Copyright © 2014 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: 10 March 2014
        • Accepted: 1 November 2012
        • Revised: 1 October 2012
        • Received: 1 June 2012
        Published in tecs Volume 13, Issue 4

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader