Location of Repository

Supporting the migration between ‘event triggered’ and ‘time triggered’ software architectures: A small pattern collection intended for use by the developers of reliable embedded systems

By Farah Lakhani, Huiyan Wang and Michael J. Pont


This most recent version of the report replaces the older version, 2011-09-01 previously available in the LRA.Many complex embedded systems (in areas such as aerospace and defence, for example) have a long service life, typically measured in decades. During this life, planned product maintenance and upgrades will inevitably require software changes. Changes to available hardware platforms are also very common over the lifetime of such systems: this too will force some degree of software change. In addition, software for future versions of systems and new products will very rarely be created from scratch: instead, existing software will be adapted to match new requirements (such as a higher “Safety Integrity Level”). \ud In this report, we introduce a small collection of patterns which is intended to support the migration of existing software designs to a “time triggered” architecture, in order to make the system behaviour more predictable and therefore support test and verification activities. The overall goal is to support improvements in system reliability (and – where appropriate – reduce certification effort). In the next section, we explain (briefly) the meaning of the phrase “design pattern”. \ud We then summarise the features of the two software architectures (“event triggered” and “time triggered”) which lie at the heart of this pattern collection

Publisher: University of Leicester
Year: 2012
OAI identifier: oai:lra.le.ac.uk:2381/9679

Suggested articles



  1. (2005). A Hardware-in-the-Loop' testbed representing the operation of a cruise-control system in a passenger car.
  2. (1977). A Pattern Language,
  3. (2002). Against Priority Inheritance."
  4. (2001). An Embedded Software Premier,
  5. (1994). An Extendible Approach for Analyzing Fixed Priority Hard Real-time Tasks." doi
  6. (2000). An Input and Output Pattern Language."
  7. (2005). Building reliable embedded systems using Abstract Patterns, Patterns, and Pattern Implementation Examples. Second UK Embedded Forum,
  8. (2006). Business process transformation patterns & the business process transformation wizard. doi
  9. (2004). Comparison of Event-Triggered and Time-Triggered Concepts with regard to Distributed Control Systems. Embedded World.
  10. (2001). Context Switch. Embedded Systems Programming.
  11. (2004). Design and test of a task guardian for use in TTCS embedded systems. UK Embedded Forum, Published by
  12. (2001). Design Patterns in Communication Software,
  13. (1995). Design Patterns: Elements of Reusable Object-Oriented Software, doi
  14. (2000). Embedded Systems Building Blocks.
  15. ESRG 2012-07-01 (Version 1.0). Page 62 Makes use of exclusive hardware timer. Slight increase in memory requirements because of increased code size than normal TTH scheduler.
  16. (1991). Event-Triggered versus Time-Triggered Real-Time Systems. doi
  17. (1997). Hard Real-Time Computing Systems Predictable Scheduling Algorithms and Applications, doi
  18. (1991). Hard Real-time Scheduling: The Deadline Monotonic Approach. doi
  19. (2004). How to use priority inheritance." from http://www.embedded.com/showArticle.jhtml?articleID=20600062.
  20. (1994). HRT-HOOD: a structured design method for hard real-time systems." doi
  21. (1981). Introduction to Real-Time Software Design, doi
  22. (2000). Introduction to Scheduling and Timing Analysis, The use of Ada in Real-Time System.
  23. (2002). Is WCET Analysis a non-problem? Towards new Software and Hardware architectures. 2nd International Workshop on Worst Case Execution Time Analysis,
  24. (2007). Patterns for Fault Tolerant Software,
  25. (2001). Patterns for Time-Triggered Embedded Systems, doi
  26. (1990). Priority Inheritance Protocols: an approach to real-time synchronization " doi
  27. (2002). Priority Inheritance: The Real Story."
  28. (2003). Rate Monotonic vs EDF : Judgement Day. doi
  29. (2005). Rate Monotonic vs EDF : Judgement Day." Real-Time Systems doi
  30. (2006). Re-evaluating Event-Triggered and Time-Triggered Systems. doi
  31. (2004). Real Time Systems Design and Analysis, doi
  32. (1997). Real time Systems, doi
  33. (1997). Real-Time Systems and Programming Languages, doi
  34. (2000). Real-Time Systems, doi
  35. (2006). Reducing Jitter in embedded systems employing a timetriggered software architecture and dynamic voltage scaling." doi
  36. (1973). Scheduling Algorithms for Multiprogramming in a Hard-Real Time Environment." doi
  37. (1998). Scheduling and timing analysis for safety critical real-time systems.
  38. (2002). Scheduling in Real-Time Systems, doi
  39. (2002). Scheduling Transient Overload with the TAFT scheduler. Fall meeting of GI/ITG specialized group of operating systems.
  40. (1996). Social patterns in productive software development organisations." doi
  41. (1992). Software Architectures for Hard Real-time Applications: Cyclic Executives vs Fixed Priority Executives." Real-Time Systems doi
  42. (1988). Spectral analysis of doppler signals an computations of the normalized first moment in real time using a digital siganl processor." doi
  43. (2008). Techniques for enhancing the temporal predictability of real-time embedded systems employing a time-triggered software architecture.
  44. (1987). The CHECKS pattern language of Information Integrity,
  45. (1988). The Cyclic Executive Model and Ada." Real-Time Systems doi
  46. (2006). The Development of reliable X-by-Wire Systems: Assessing The Effectiveness of a Simulation First Approach.
  47. (2005). The insider's guide to the Philips ARM7 Based microcontrollers,
  48. (1975). The Oregon Experiment,
  49. (2003). The single-path approach towards WCET-analysable software. doi
  50. (1991). The static analysis of safety-critical avionics control system" in Air Transport Safety. Safety and Reliability Spring Conference.
  51. (1979). The Timeless Way of Building,
  52. (2006). Time-triggered vs. event-triggered: A matter of configuration? doi
  53. (2005). Using 'planned pre-emption' to reduce levels of task Jitter in a time-triggered hybrid scheduler. Second UK Embedded Forum.
  54. (1997). What really happened on Mars?",

To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.