| Concepts | |
| Real-time Characteristics and Safety of Embedded Systems | p. 3 |
| Introduction | p. 3 |
| Real-time Systems and their Properties | p. 5 |
| Definitions, Classification and Properties | p. 6 |
| Problems in Adequate Implementation of Embedded Applications and General Guidelines | p. 10 |
| Safety of Embedded Computer Control Systems | p. 13 |
| Brief History of Safety Standards Relating to Computers in Control | p. 16 |
| Safety Integrity Levels | p. 19 |
| Dealing with Faults in Embedded Control Systems | p. 21 |
| Fault-tolerance Measures | p. 23 |
| Summary of Chapter 1 and Synopsis of What Follows | p. 28 |
| Multitasking | p. 29 |
| Task Management Systems | p. 29 |
| Cyclic Executive | p. 30 |
| Asynchronous Multitasking | p. 32 |
| Scheduling and Schedulability | p. 34 |
| Scheduling Methods and Techniques | p. 35 |
| Deadline-driven Scheduling | p. 39 |
| Sufficient Condition for Feasible Schedulability Under Earliest Deadline First | p. 41 |
| Implications of Employing Earliest Deadline First Scheduling | p. 45 |
| Rate Monotonic vs Earliest Deadline First Scheduling | p. 46 |
| Synchronisation Between Tasks | p. 50 |
| Busy Waiting | p. 51 |
| Semaphores | p. 53 |
| Bolts | p. 54 |
| Monitors | p. 55 |
| Rendezvous | p. 56 |
| Bounding Waiting Times in Synchronisation | p. 57 |
| Hardware and System Architectures | p. 61 |
| Undesirable Properties of Conventional Hardware Architectures and Implementations | p. 62 |
| Processor Architectures | p. 63 |
| System Architectures | p. 67 |
| Top-layer Architecture: An Asymmetrical Multiprocessor System | p. 69 |
| Concept | p. 70 |
| Operating System Kernel Processor | p. 73 |
| Task Processor | p. 78 |
| Implementation of Architectural Models | p. 82 |
| Centralised Asymmetrical Multiprocessor Model | p. 83 |
| Distributed Multiprocessor Model | p. 86 |
| Intelligent Peripheral Interfaces for Increased Dependability and Functionality | p. 86 |
| Higher-level Functions of the Intelligent Peripheral Interfaces | p. 88 |
| Enhancing Fault Tolerance | p. 89 |
| Support for Programmed Temporal Functions | p. 90 |
| Programming Peripheral Interfaces | p. 93 |
| Adequate Data Transfer | p. 93 |
| Real-time Communication | p. 94 |
| Time-triggered Communication | p. 95 |
| Fault Tolerance in Communication | p. 98 |
| Distributed Data Access: Distributed Replicated Shared Memory | p. 100 |
| Programming of Embedded Systems | p. 107 |
| Properties Desired of Control Systems Development | p. 111 |
| Support for Time and Timing Operations | p. 111 |
| Explicit Representation of Control System Entities | p. 116 |
| Explicit Representation of Other Control System Entities | p. 119 |
| Support for Temporal Predictability | p. 120 |
| Support for Low-level Interaction with Special-purpose Hardware Devices | p. 121 |
| Support for Overload Prevention | p. 124 |
| Support for Handling Faults and Exceptions | p. 124 |
| Support for Hardware/Software Co-implementation | p. 130 |
| Other Capabilities | p. 132 |
| Time Modeling and Analysis | p. 132 |
| Execution Time Analysis of Specifications | p. 135 |
| Execution Time Analysis of Source Code | p. 136 |
| Execution Time Analysis of Executable Code | p. 140 |
| Execution Time Analysis of Hardware Components | p. 141 |
| Direct Measurement of Execution Times | p. 142 |
| Programming Language Support for Temporal Predictability | p. 144 |
| Schedulability Analysis | p. 147 |
| Object-orientation and Embedded Systems | p. 149 |
| Difficulties of Introducing Object-orientation to Embedded Real-time Systems | p. 150 |
| Integration of Objects into Distributed Embedded Systems | p. 150 |
| Survey of Programming Languages for Embedded Systems | p. 156 |
| Assembly Language | p. 157 |
| General-purpose Programming Languages | p. 158 |
| Special-purpose Real-time Programming Languages | p. 160 |
| Languages for Programmable Logic Controllers | p. 163 |
| Implementation | |
| Hardware Platform | p. 169 |
| Architecture | p. 169 |
| Communication Module Used in Processing and Peripheral Units | p. 171 |
| Fault Tolerance of the Hardware Platform | p. 175 |
| System Software of the Experimental Platform | p. 176 |
| Implementation of a Fault-tolerant Distributed Embedded System | p. 181 |
| Generalised Model of Fault-tolerant Real-time Control Systems | p. 182 |
| Implementation of Logical Structures on the Hardware Platform | p. 185 |
| Partial Implementation in Firmware | p. 187 |
| Communication Support Module | p. 188 |
| Supporting Middleware for Distributed Shared Memory | p. 189 |
| Kernel Processor | p. 190 |
| Implementation of Monitoring, Reconfiguration and Mode Control Unit | p. 195 |
| Programming of the FTCs | p. 196 |
| Extensions to MATLAB®/Simulink® Function Block Library | p. 196 |
| Generation of Time Schedules for the TTCAN Communication Protocol | p. 197 |
| Development Process | p. 199 |
| Asynchronous Real-time Execution with Runtime State Restoration by Martin Skambraks | p. 201 |
| Design Objectives | p. 201 |
| Task-oriented Real-time Execution Without Asynchronous Interrupts | p. 202 |
| Operating Principle | p. 203 |
| Priority Inheritance Protocol | p. 206 |
| Aspects of Safety Licensing | p. 211 |
| Fragmentation of Program Code | p. 213 |
| State Restoration at Runtime | p. 220 |
| State Restoration at Runtime and Associated Problems | p. 222 |
| Classification of State Changes | p. 226 |
| State Restoration with Modification Bits | p. 227 |
| Concept of State Restoration | p. 229 |
| Influence on Program Code Fragmentation and Performance Aspects | p. 233 |
| Epilogue | p. 237 |
| References | p. 241 |
| Index | p. 247 |
| Table of Contents provided by Ingram. All Rights Reserved. |