Location of Repository

Bridging the gap between scheduling algorithms and scheduler implementations in time-triggered embedded systems.

By Mouaaz Nahas

Abstract

The scheduling of tasks in real-time, resource-constrained embedded systems is typically performed using a simple scheduler. Scheduling algorithm is the key scheduler component which determines the way in which tasks can be executed to meet their timing constraints. To ensure precise task scheduling, the right decisions about the scheduler implementation have to be made. It has been argued that there is a wide gap between scheduling theory and its practical implementation which must be bridged to achieve a meaningful validation of embedded systems.\ud The work described in this thesis attempts to address this gap by proposing a simple (generic) technique, called the Scheduler Test Case (STC), which provides the facility to explore how a particular real-time scheduler implementation can be expected to behave under a range of both normal and abnormal operating conditions. The primary focus of this thesis is on single-processor embedded systems employing Time-Triggered Co-operative (TTC) architectures. The technique proposed is a testing method which helps facilitate an empirical “black-box” comparison between the behaviour of a set of representative implementation classes of the TTC scheduling algorithm. The key criterion against which scheduler behaviour is weighed up is the system predictability manifested by predictable task execution sequence, low timing jitter and unplanned error handling capabilities. The implementation costs (including CPU, memory and power requirements) involved in creating each scheduler are also considered for distinguishing between the different TTC implementations.\ud The STC technique is then extended to provide a practical means for assessing the behaviour of multi-processor embedded designs employing Shared-Clock (S-C) scheduling architectures and TTC algorithm on the Controller Area Network (CAN) hardware protocol. In this part of the study, the STC technique explores the impact of using particular implementations of the S-C scheduler on the overall timing behaviour of multi-processor embedded systems. In addition to jitter behaviour which is measured empirically, the STC evaluates the communication behaviour by assessing the message latencies between any two communicating nodes in the network and the time frame required by the network to detect a temporary node failure. The results are expressed using mathematical equations. Moreover, the implementation costs (including network utilisation and memory overheads) are also considered to differentiate between the compared S-C schedulers.\ud The thesis finally concludes by discussing the overall findings of this project and making some proposals for future work in the area concerned with in the project

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

Suggested articles

Preview

Citations

  1. (2004). (2004a) “The application of dynamic voltage scaling in embedded systems employing a TTCS software architecture: A case study”,
  2. (2004). (2004b) “The application of dynamic voltage scaling in embedded systems employing a TTCS software architecture: A case study”,
  3. (2005). (in press) “Reducing the impact of task overruns in resourceconstrained embedded systems in which a time-triggered software architecture is employed”, Trans Institute of Measurement and Control.
  4. (2005). A 'Hardware-in-the Loop' testbed representing the operation of a cruise-control system in a passenger car", In: Koelmans,
  5. (1995). A Brief History of Programming Languages”, Byte.com,
  6. (2001). A Comparison of Bus Architectures for Safety-Critical Embedded Systems”,
  7. (1985). A Computer System for Generating Test Data using the Domain Strategy”,
  8. (1996). A formal design and implementation method for real-time embedded systems”,
  9. (2007). A framework for real-time utilities for Ada
  10. (1989). A Graphically Oriented Specification Language for Automatic Code Generation”,
  11. (1994). A methodology for design, test, and evaluation of realtime systems”,
  12. (2008). A model-driven validation & verification environment for embedded systems”,
  13. (1968). A new implementation of decision tables for a process control language”,
  14. (1992). A posteriori Agreement for Fault-Tolerant Clock Synchronization
  15. (1969). A Process-Control Language”,
  16. (1970). A real-time language for industrial process control”,
  17. (2003). A round robin scheduling policy for Ada”,
  18. (2002). A scheduling technique providing a strict isolation of real-time threads”,
  19. (1999). A solution to the time jitter removal in deadline based scheduling of real-time applications”,
  20. (2004). A test-bed for evaluating and comparing designs for embedded control systems", In: Koelmans,
  21. (1988). A testbed for investigating real-time Ada issues”,
  22. (2000). A Throttle/Brake Control Law for Vehicle Intelligent Cruise Control”, Seoul
  23. (1985). A time-driven scheduling model for realtime operating systems”,
  24. (1998). A WWW-based tool for software inspection”,
  25. (2003). Academia and industry meet: some experiences of formal methods in practice”,
  26. (2002). Accessing delay queues”,
  27. (2004). Achieving microsecond accuracy with 32 bit microcontrollers using the controller area network (CAN)”,
  28. (2003). Ada and Java: real-time advantages”, Embedded.com, WWW website (Last accessed:
  29. (1988). Ada task scheduling: A focused Ada investigation”, technical report published in NASA
  30. (2003). Adaptive Cruise Control Systems – Performance Requirements And Test Procedures”, International Standards Organisation,
  31. (1996). Adaptive Software Fault Tolerance Policies with Dynamic Real-Time Guarantees”.
  32. (1984). Advanced real time languages for distributed industrial process control”,
  33. (1986). Advances in software inspections”,
  34. (1992). Allocating hard real-time tasks: An NP-hard problem made easy”,
  35. (1970). American National Standard Vocabulary for Information Processing”,
  36. (1992). An Analysis of Defect Densities Found During Software Inspections”,
  37. (1988). An approach to software product testing”,
  38. (1998). An approach to specifying and verifying safety-critical systems with practical formal method SOFL”,
  39. (2005). An automate test case generation approach: using match technique”,
  40. (1997). An integrated approach to software engineering”,
  41. (2003). An object-oriented approach to software development for embedded systems implemented using C”,
  42. (1994). Analysing Real-Time Communications: Controller Area Network (CAN)”,
  43. (1993). Analysing software requirements errors in safety-critical embedded systems”,
  44. (2002). Analysis and design of real-time control systems with varying control timing constraints”,
  45. (2004). Analysis and Synthesis of Distributed Real-Time Embedded Systems”,
  46. (1998). Analysis of channel utilization for controller area networks”,
  47. (1998). Analyzing partially-implemented realtime systems”,
  48. (1988). Applicability of Ada tasking for avionics executives”,
  49. (2005). Architectural Evaluation and Assessment”,
  50. (2001). ARM7TDMI technical reference manual".
  51. (2007). Assessing the impact of redundancy on the performance of a brake-by-wire system",
  52. (2006). Assessing the impact of redundancy on the performance of a brake-by-wire system", Paper presented at the Society of Automotive Engineers
  53. (2008). Assessment of high-integrity embedded automotive control systems using Hardware-in-the-Loop simulation”,
  54. (2000). ATAM: Method for architecture evaluation”, CMU/SEI,
  55. (2003). Automated test generation from timed automata”,
  56. (2001). Automated test-data generation from formal models of software”,
  57. (1999). Automatic test case generation from requirements specifications for real-time embedded systems”,
  58. (2008). Automatically configuring time-triggered schedulers for use with resource-constrained, single-processor embedded systems”,
  59. (1995). AVAT, a CASE tool for software verification and validation”,
  60. (1986). Best-effort decision making for real-time scheduling”,
  61. (2007). Beyond Ada 2005: allocating tasks to processors in SMP systems”,
  62. (1998). Brake-By-Wire Without Mechanical Backup ByUsing A TTP-Communication Network”,
  63. (1991). Building a Predictable Avionics Platform in Ada: A Case Study”,
  64. (2005). Building reliable embedded systems using Abstract Patterns, Patterns, and Pattern Implementation Examples”, In: Koelmans,
  65. (2008). Byteflight homepage”, WWW website (Last accessed:
  66. (2000). C programming for embedded systems”,
  67. (1996). C167 Derivatives: 16-Bit CMOS Single-Chip microcontroller”, User’s Manual Version 2.0. Siemens
  68. (2000). C167CR Derivatives 16-Bit Single-Chip Microcontroller”, Infineon Technologies.
  69. (1995). Calculating Controller Area Network (CAN)
  70. (2008). CAN in Automation”, WWW website (Last accessed:
  71. (1991). CAN Specification Version 2.0”,
  72. (2003). CAN: Network for Thousands of Applications outside Automotive”, techonline,
  73. (2000). CANopen Implementation, applications to industrial networks”,
  74. (2003). CASE tools for embedded systems”,
  75. (1968). CDC 1700 FORTRAN for process control”,
  76. (1986). Certifying the reliability of software",
  77. (1994). Cleanroom process model”,
  78. (1982). Cleanroom software development method", IBM Federal Systems Division,
  79. (1987). Cleanroom Software Development: An Empirical Evaluation",
  80. (1996). Cleanroom software engineering-plan your work and work your plan in small increments”,
  81. (1987). Cleanroom Software Engineering”,
  82. (2004). Clock synchronisation on multiple TTCAN network channels”,
  83. (2004). Code generation supported by a pattern-based design methodology”, In: Koelmans,
  84. (1999). Combining methods for the analysis of a faulttolerant system”,
  85. (1990). Comparative evaluation of high-level real-time programming languages”,
  86. (1995). Comparing detection methods for software requirements inspections: a replicated experiment”,
  87. (1996). Comparing inspection strategies for software requirement specifications”,
  88. (2004). Comparison of event-triggered and time-triggered concepts with regard to distributed control systems,”
  89. (1971). Computer Structures: Readings and Examples”,
  90. (1992). Computers in safety-critical applications”,
  91. (2003). Concepts in Programming Languages”,
  92. (1999). Controller Area Network (CAN)
  93. (2007). Correcting the EDF protocol in Ada
  94. (2006). Coverall algorithm for test case reduction”,
  95. (2008). Davidgould – Glossary”, WWW website (Last accessed:
  96. (2002). Deriving verification conditions and program assertions to support software inspection”,
  97. (1976). Design and code inspections to reduce errors in program development”,
  98. (2004). Design and test of a task guardian for use in TTCS embedded systems”. In: Koelmans,
  99. (2008). Design and validation of computer protocols”,
  100. (2005). Design exploration in HW/SW co-design of real-time object-oriented embedded systems: the scheduler object”,
  101. (2002). Design fast round robin scheduler in FPGA”,
  102. (2004). Designing embedded systems using patterns: A case study”,
  103. (2003). Developing reliable embedded systems using 8051 and ARM processors: Towards a new pattern language”, Paper presented at Viking PLoP
  104. (2006). Development and Assessment of a Tool to Support Pattern-Based Code Generation of Time-Triggered (TT) Embedded Systems”,
  105. (2004). Development Of A Hardware-In-The-Loop Test Facility For Distributed Embedded Systems”,
  106. (2008). Development of Scheduler for Real Time and Embedded System Domain”,
  107. (1999). Digital networks in the automotive vehicle”,
  108. (1995). Distributed Operating Systems”, Prentice Hall TechFest
  109. (2006). Does a ‘simulation first’ approach reduce the effort involved in the development of distributed embedded control systems?”,
  110. (1998). Effect of Timing Jitter on Distributed Computer Control System Performance”.
  111. (2003). Efficient data communication techniques for controller area network (CAN) protocol”,
  112. (1991). Electronic meeting systems to support group”,
  113. (2002). Embedded C”,
  114. (2004). Embedded Computing: A VLIW Approach to Architecture, Compilers and Tools”,
  115. (2003). Embedded software engineering: The state of the practice”,
  116. (2006). Embedded Software Validation: Applying Formal Techniques for Coverage and Test Generation”,
  117. (2005). Embedded Software:
  118. (2006). Embedded system design”,
  119. (2002). Embedded systems - A new high growth area”. The Hindu.
  120. (2000). Embedded Systems Building Blocks: Complete and Ready-to-use Modules in C”,
  121. (2006). Embedded Systems Design – State of Embedded Market Survey”, Embedded.com, WWW website (Last accessed:
  122. (1994). Embedded Systems Programming in C and Assembly”,
  123. (2002). Embedded Systems Roadmap 2002”, STW Technology Foundation,
  124. (2003). Embedded Systems: Architecture, Programming and Design”,
  125. (2004). Embedded Systems”, Programmers Heaven.com (Last accessed:
  126. (1993). Engineering and analysis of fixed priority schedulers”,
  127. (1990). Engineering software under statistical quality control”,
  128. (2008). Ethernet Technologies”, available online (Last accessed:
  129. (2006). Evaluating and improving pattern-based software designs for resource-constrained embedded systems”, In: C. Guedes Soares & E. Zio (Eds), “Safety and Reliability for Managing Risk:
  130. (2008). Evaluating the temporal behaviour of CAN based systems by means of a cost functional”,
  131. (2004). Event-Triggered and Time-Triggered Control Paradigms”,
  132. (1991). Event-triggered versus time-triggered real-time systems”,
  133. (1991). Event-triggered versus time-triggered real-time systems”, In:
  134. (1999). Evolution of Programming Languages and Why a Language is Not Enough to Solve Our Problems”,
  135. (2001). Execution Environment for Dynamically Scheduling Real-Time Tasks”.
  136. (1999). Experimental Assessment of the Period Calibration Method: A Case Study”,
  137. (2001). Extreme Programming Explained:
  138. (1999). Fault Coverage in Testing Real-Time Systems”,
  139. (2003). Fault-tolerant clock synchronisation with microsecond-precision for CAN networked systems",
  140. (1998). Fault-Tolerant Clock Synchronization in CAN”,
  141. (2007). Fault-Tolerant Time-Triggered Communication Using CAN”,
  142. (2001). Finding code on the World Wide Web: a preliminary investigation”,
  143. (1995). Flexible scheduling for adaptable real-time systems”,
  144. (2004). FlexRay Communications System Protocol Specification Version 2.0”, FlexRay Consortium,
  145. (1994). Formal Approach to Scenario Analysis”,
  146. (1993). Formal methods in safety-critical standards”,
  147. (1996). Formal verication of embedded systems based on CFSM networks”,
  148. (2001). Formal verification of embedded SoC”,
  149. (2004). Formal verification of timed systems: a survey and perspective”,
  150. (2004). Fortran 90/95 for Scientists and Engineers”, McGraw-Hill Science Engineering.
  151. (1968). FORTRAN IV in a process control environment”,
  152. (2002). Framework for validation, test and analysis of real-time scheduling algorithms and scheduler implementations”,
  153. (2000). From the farm to pioneering with digital control computers: an autobiography”,
  154. (1983). Fundamental Design Problems of Distributed Systems for the Hard RealTime Environment”, Ph.D Thesis,
  155. (1998). Fundamentals of implementing real-time control applications in distributed computer systems”,
  156. (2005). Future of Embedded Systems Technology”,
  157. (1999). Generating test data from SOFL specifications”,
  158. (2001). Generations, Languages”, Macmillan Science Library: Computer Sciences,
  159. (1995). Glossary of Computerized System and Software Development Terminology”, available online (Last accessed:
  160. (1994). Guaranteed message latencies for distributed safetycritical hard real-time control networks”,
  161. (1995). Guaranteeing real-time requirements with resource-based calibration of periodic processes”,
  162. (2005). Hard real-time computing systems: predictable scheduling algorithms and applications”, Second Edition,
  163. (2005). Hardware in the loop simulation of embedded automotive control systems",
  164. (2003). Harmonizing Dependability and Real Time
  165. (2001). Hierarchical modeling and verification of embedded systems”,
  166. (1989). High Level Languages and Their Compilers”,
  167. (1999). High-quality software through semiformal specification and verification”,
  168. (2000). Highly Dependable Time-Triggered Operating System”,
  169. (1981). History of Programming Languages”,
  170. (1988). Implementation and evaluation of a time-driven scheduling processor”,
  171. (2001). Implementation of a Multi-Queue Scheduler for Linux”,
  172. (2001). Implementing a Flexible Scheduler in Ada”,
  173. (2003). Implementing low-cost TTCS systems using assembly language”, In:
  174. (1999). Implementing Mode Changes and Shared Resources in Ada”,
  175. (2004). Implementing PID control systems using resource-limited embedded processors”. In: Koelmans,
  176. (1994). Inspecting Module Interface Specifications”.
  177. (1992). Integrated CASE for cleanroom development”,
  178. (2000). Introduction to scheduling and timing analysis”,
  179. (2008). Inventors of the Modern Computer: Intel 4004 - The World's First Single Chip Microprocessor”, About Website. (Last accessed:
  180. (2003). Is Java augmented with the RTSJ a better realtime systems implementation technology than Ada 95?”,
  181. (2002). Is WCET Analysis a Non-Problem? - Towards New Software and Hardware Architectures”. 2nd Intl. Workshop on Worst Case Execution Time Analysis,
  182. (2001). ISO 5127 Information and documentation –Vocabulary”, International Organisation for Standardisation (ISO).
  183. (2000). Issues for the automatic generation of safety critical software”,
  184. (1996). Jitter Control in Time-Triggered Systems”,
  185. (2000). Jitter reduction in a real-time message transmission system using genetic algorithms”,
  186. (2004). Jitter spectral extraction for multi-gigahertz signal”,
  187. (1994). Key lessons in achieving widespread inspection use”,
  188. (2007). LabVIEW 7.1 Documentation Resources”, WWW website (Last accessed:
  189. (1993). Larch: Languages and Tools for Formal Specification”,
  190. (1987). Limitations of Ada for real-time scheduling”,
  191. (2000). LIN — Protocol, Development Tools, and Software Interfaces for Local Interconnect Networks in Vehicles”,
  192. (2006). Low-Cost E Series Multifunction DAQ – 12 or 16-Bit, 200 kS/s, 16 Analog Inputs”, available online (Last accessed:
  193. (2007). LPC2000 Evaluation and Development Kits datasheet”, available online (Last accessed:
  194. (2007). Maintenance and evolution of resource-constrained embedded systems created using design patterns”,
  195. (2006). Meeting real-time constraints using ‘Sandwich Delays’”, In: Zdun,
  196. (2000). Microprocessor Systems”,
  197. (2002). Minimizing CAN response-time jitter by message manipulation”,
  198. (1988). Misconceptions about real-time computing”,
  199. (1994). Model checking CSP”,
  200. (2007). Model-Based Test Case Generation for Real-Time Systems”,
  201. (1977). Modula - A programming language for modular multiprogramming”,
  202. (2004). MPC5500 Family of New Generation Embedded Controllers”, Micro Control Journal, available online (Last accessed:
  203. (2004). Multiprocessor architectures for embedded system-on-chip applications”, VLSI Design,
  204. (2000). Non-functional requirements in software engineering”,
  205. (2001). Non-Preemptive Dispatching and Locking Policies”,
  206. (1995). Non-Preemptive Scheduling of Messages on Controller Area Network for Real-Time Control Applications",
  207. (2004). Object analysis patterns for embedded systems”,
  208. (1991). Object Oriented Design with Applications”,
  209. (1994). Object Oriented device control using the CAN bus”,
  210. (2003). On Inspection and Verification of Software with Timing Requirements”,
  211. (2001). On Real-Time Control Tasks Schedulability”,
  212. (1993). On satisfying timing constraints in hard - real - time systems”,
  213. (1979). On the Design of a Language for Programming Real-Time Concurrent Processes”,
  214. (1999). On the requirements of high-integrity code generation”,
  215. (2006). On the Use of Mutation Faults in Empirical Assessments of Test Case Prioritization Techniques”,
  216. (1968). On-line MISSIL”,
  217. (2005). Online testing of real-time systems using Uppaal”,
  218. (1992). OS/2 cleanroom environment: a progress report on a cleanroom tools development project”,
  219. (1996). P8x592 8-bit microcontroller with on-chip CAN, datasheet”, Philips Semiconductor.
  220. (1999). Path-based edge activation for dynamic run-time scheduling”, System Synthesis,
  221. (2007). Patterns which help to avoid conflicts over shared resources in time-triggered embedded systems which employ a pre-emptive scheduler”, Paper presented at the
  222. (2004). PIC Microcontroller: An Introduction to Software & Hardware Interfacing”, Thomson Delmar Learning.
  223. (1994). PowerPC: Concepts, Architecture, and
  224. (2002). Practical Statecharts in C/C++: Quantum Programming for Embedded Systems”,
  225. (1993). Predicate-Based Test Generation for Computer Programs”,
  226. (1985). Principles of OBJ2",
  227. (1990). Priority inheritance protocols: an approach to real-timesynchronization”,
  228. (1987). Priority Inversion in Ada”,
  229. (1999). Programming Embedded Systems in C and C++”,
  230. (2006). Programming Embedded Systems:
  231. (2005). Programming Execution-Time Servers in Ada
  232. (2006). Programming Language Trends”, WWW website (Last accessed:
  233. (2008). Programming Language” WWW website (Last accessed:
  234. (1969). Programming languages: history and fundamentals”,
  235. (1968). PROSPRO/1800”,
  236. (2003). Prototyping time-triggered embedded systems using PC hardware”. Paper presented at EuroPLoP
  237. (2006). Rapid software development for reliable embedded systems using a pattern-based code generation tool”, Paper presented at the Society of Automotive Engineers
  238. (2007). Rapid software development for reliable embedded systems using a pattern-based code generation tool".
  239. (2004). Real Time UML: Advances in The UML for Real-Time Systems”,
  240. (1987). Real-time Ada issues”,
  241. (1998). Real-Time Extensions to UML”, Published by Dr Dobb’s Potral, The Word for Software development, WWW website (Last accessed:
  242. (1991). Real-time features for Ada
  243. (2006). Real-Time Languages”, Network of Excellence on Embedded Systems Design, WWW website (Last accessed:
  244. (1990). Real-time scheduling theory and
  245. (1997). Real-time systems: Design principles for distributed embedded applications”,
  246. (1997). Real-time Systems”,
  247. (1993). Recollections about the development of Pascal”,
  248. (2007). Reducing Jitter in Embedded Systems Employing a Time-Triggered Software Architecture and Dynamic Voltage Scaling”,
  249. (2003). Reducing Pessimism and Increasing Flexibility in the Controller Area Network”,
  250. (2004). Reducing task jitter in shared-clock embedded systems using CAN”, In: Koelmans,
  251. (1980). Reference Manual for the Ada Programming Language”,
  252. (2007). Reference Manual: Language and Standard Libraries”,
  253. (2003). Report of session: Flexible scheduling in Ada”,
  254. (1966). Requirements for real-time languages”,
  255. (1985). Requirements-Based Testing of Real-Time Systems: Modeling for Testability”,
  256. (2000). Response Time Analysis under Errors for CAN”,
  257. (2006). Restructuring a pattern language which supports timetriggered co-operative software architectures in resource-constrained embedded systems”,
  258. (1997). Reusable Software Components: Object-Oriented Embedded Systems Programming in C”,
  259. (2003). Robust scheduling in teamrobotics”.
  260. (1997). Run-time scheduler synthesis for hardware-software systems and application to robot control design”,
  261. (2006). Safety-critical design for secure systems: The languages, tools and methods needed to build error-free-software”,
  262. (1996). Safety-critical systems built with COTS”,
  263. (2002). Scenario-based modeling and its applications”,
  264. (2005). Scheduler implementation in MPSoC Design”, In:
  265. (1995). Scheduling Algorithm of Data Sampling Times in the Integrated Communication and Control Systems”,
  266. (1973). Scheduling algorithms for multi-programming in a hard real-time environment”,
  267. (1998). Scheduling and Timing Analysis for Safety Critical Real-Time Systems”,
  268. (1987). Scheduling difficulties of Ada in the hard real-time environment”,
  269. (1991). Scheduling hard real-time systems: a review”,
  270. (2002). Scheduling in Real-time Systems”,
  271. (2000). Scheduling Optional Computations for Adaptive RealTime Systems”,
  272. (1999). Scheduling periodic task systems to minimize output jitter”,
  273. (1990). Scheduling processes with release times, deadlines, precedence and exclusion relations“,
  274. (2002). Scheduling Transient Overload with the TAFT Scheduler”. GI/ITG specialized group of operating systems,
  275. (2007). Scheduling with accurate communication delay model and scheduler implementation for multiprocessor system-onchip”,
  276. (2007). Selecting an appropriate scheduler for use with time-triggered embedded systems”,
  277. (1995). Seven More Myths of Formal Methods”,
  278. (2007). Simple Glossary”, WWW website (Last accessed:
  279. (2004). Simulation Of Motorway Traffic Flows”,
  280. (2004). Simulation Of Vehicle Longitudinal Dynamics”,
  281. (1992). Software architecture for hard real-time applications: cyclic executives vs. fixed priority executives”,
  282. (2007). Software engineering”, 8th edition,
  283. (1996). Software Inspection: And Industry Best Practice”,
  284. (1989). Software inspections: an effective verification process”,
  285. (1993). Software inspections”,
  286. (1997). Software Requirements and Acceptance Testing”,
  287. (2008). Software Testing Glossary”, WWW website (Last accessed:
  288. (1968). Some experiences with process control languages,”
  289. (2004). Supporting Deadlines and EDF Scheduling in Ada”,
  290. (1989). Systematic Software Development using VDM”,
  291. (2001). T223 – A Glossary of Terms (Block 2)”, Wizard Information Technology Training (Wizitt),
  292. (2003). Task attribute-based scheduling - extending Ada's support for scheduling”, In
  293. (2003). Task graph extraction for embedded system synthesis”,
  294. (1999). Teach Yourself COBOL
  295. (1997). Test case design based on Z and the classification-tree method”,
  296. (1998). Test case generation of a protocol by a fault coverage analysis”,
  297. (1997). Testing Timed Automata”,
  298. (1998). The Art of Computer Programming”,
  299. (1992). The art of programming embedded systems”,
  300. (1987). the automatic generation of test data”,
  301. (1986). The Automatic Test Case Data Generator”,
  302. (1981). The Cleanroom approach to reliable software development, " in
  303. (2007). The Cross-Industry Consortium for Time-Triggered Systems”, WWW website (Last accessed:
  304. (1989). The cyclic executive model and Ada.
  305. (2006). The Development of Reliable X-by-Wire Systems: Assessing The Effectiveness of a ‘Simulation First’ Approach”,
  306. (2005). The event-triggered network control structure for CANbased motion system”,Proceeding of the
  307. (1999). The Evolution of Programming Languages”, Course Notes,
  308. (1966). The IFIP-ICC Vocabulary of Information Processing”,
  309. (2005). The impact of bit stuffing on the real-time performance of a distributed control system”,
  310. (1994). The Microcontroller Idea Book: Circuits, Programs & Applications Featuring the 8052-Basic Single-Chip Computer”,
  311. (1989). The MIPS-X RISC
  312. (2007). The National Institute of Standards and Technology”, WWW website (Last accessed:
  313. (2006). The Non-preemptive Scheduling of Periodic Tasks upon Multiprocessors”,
  314. (2007). The Perceptual Influence of Multimedia Delay and Jitter”,
  315. (2005). The PH Processor: A soft embedded core for use in university research and teaching". In: Koelmans,
  316. (1988). The priority ceiling protocol: A method for minimizing the blocking of high priority Ada tasks”, in
  317. (1975). The programming language Concurrent Pascal”,
  318. (1999). The Ravenscar Profile”,
  319. (1977). The Shannon sampling theorem: its various extensions and applications a tutorial review”,
  320. (1991). The static analysis of a safety-critical avionics control systems”, Air Transport safety:
  321. (1999). The Theory of Task Scheduling
  322. (1998). The Time-Triggered Communication Protocol TTP™/C”, Real-Time Magazine, available online (Last accessed:
  323. (1999). The Unified Modeling Language User Guide”,
  324. (1993). The use of preemptive priority-based scheduling for space applications”,
  325. (1988). The Z Notation: A Reference Manual”,
  326. (2000). Time Triggered Communication on CAN”,
  327. (1998). Time triggered protocol-fault tolerant serial communications for realtime embedded systems”,
  328. (2002). Time-triggered protocol gains aerospace mileage”, EE Times, WWW website (Last accessed:
  329. (2006). Time-Triggered vs. Event-Triggered: A matter of configuration?”,
  330. (1998). Timed Test Cases Generation Based on State Characterisation Technique”,
  331. (2002). Timed Wp-method: testing real-time systems”,
  332. (2002). Timing in the TTCAN network",
  333. (2000). Timing problems in distributed real-time computer control systems”.
  334. (1996). Tool support for the construction of statically analysable hard real-time Ada systems”,
  335. (2003). Towards a CASE Tool to Support the Development of Reliable Embedded Systems Using Design Patterns”, In: Bruel,
  336. (2007). Translating Synchronous Petri Nets into PROMELA for Verifying Behavioural
  337. (2002). TTCAN: a new time-triggered controller area network”,
  338. (2007). Two novel shared-clock scheduling algorithms for use with CAN-based distributed systems",
  339. (2001). Understanding Jitter: Getting Started”, Wavecrest Corporation.
  340. (1997). UPPAAL in a Nutshell”,
  341. (2005). Using 'planned pre-emption' to reduce levels of task jitter in a time-triggered hybrid scheduler”. In: Koelmans,
  342. (2000). Using Genetic Algorithms to Reduce Jitter in Control Variables Transmitted over CAN”,
  343. (2004). Using simulation to support the design of distributed embedded control systems: A case study", In: Koelmans,
  344. (2003). Using watchdog timers to improve the reliability of TTCS embedded systems”,
  345. (2005). Using XOR operations to reduce variations in the transmission time of CAN messages: A pilot study”. In: Koelmans,
  346. (2005). Utilizing Vera functional coverage in theverification of a protocol engine for the FlexRay automotive communication system",
  347. (2004). Validation, verification and certification of embedded systems”,
  348. (2005). Vehicle applications of controller area network",
  349. (1992). Verification based inspection”,
  350. (2007). Verification of C Programs Using Automated Reasoning”,
  351. (2000). Verification of embedded systems using a Petri net based representation”,
  352. (2000). Verification Tools for Embedded Systems”,
  353. (1999). Verification/Validation/Certification”, Carnegie Mellon University, Dependable Embedded Systems, Spring 1999, available online (Last accessed:
  354. (1997). What really happened on Mars?”, WWW website (Last accessed:
  355. (2001). Worst-Case Execution-Time Analysis for Embedded Real-Time Systems”.

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