| Preface |
|
v | |
|
Introduction to real-time systems |
|
|
1 | (14) |
|
Definition of a real-time system |
|
|
2 | (1) |
|
Examples of real-time systems |
|
|
3 | (4) |
|
Characteristics of real-time systems |
|
|
7 | (8) |
|
|
|
13 | (1) |
|
|
|
14 | (1) |
|
Designing real-time systems |
|
|
15 | (26) |
|
|
|
16 | (1) |
|
Requirement specification |
|
|
17 | (1) |
|
|
|
18 | (3) |
|
|
|
21 | (6) |
|
|
|
27 | (5) |
|
|
|
32 | (1) |
|
|
|
33 | (1) |
|
Human-computer interaction |
|
|
34 | (2) |
|
|
|
36 | (5) |
|
|
|
37 | (1) |
|
|
|
38 | (1) |
|
|
|
39 | (2) |
|
|
|
41 | (32) |
|
Overview of Ada, Java, C and occam2 |
|
|
41 | (1) |
|
|
|
42 | (1) |
|
|
|
43 | (1) |
|
|
|
44 | (11) |
|
|
|
55 | (7) |
|
|
|
62 | (11) |
|
|
|
69 | (2) |
|
|
|
71 | (1) |
|
|
|
71 | (2) |
|
|
|
73 | (28) |
|
|
|
74 | (4) |
|
|
|
78 | (1) |
|
|
|
79 | (2) |
|
Object-oriented programming |
|
|
81 | (10) |
|
|
|
91 | (10) |
|
|
|
97 | (1) |
|
|
|
98 | (1) |
|
|
|
99 | (2) |
|
Reliability and fault tolerance |
|
|
101 | (34) |
|
Reliability, failure and faults |
|
|
102 | (2) |
|
|
|
104 | (2) |
|
Fault prevention and fault tolerance |
|
|
106 | (3) |
|
|
|
109 | (5) |
|
Software dynamic redundancy |
|
|
114 | (6) |
|
The recovery block approach to software fault tolerance |
|
|
120 | (3) |
|
A comparison between N-version programming and recovery blocks |
|
|
123 | (2) |
|
Dynamic redundancy and exceptions |
|
|
125 | (2) |
|
Measuring and predicting the reliability of software |
|
|
127 | (1) |
|
Safety, reliability and dependability |
|
|
128 | (7) |
|
|
|
129 | (2) |
|
|
|
131 | (1) |
|
|
|
132 | (3) |
|
Exceptions and exception handling |
|
|
135 | (44) |
|
Exception handling in older real-time languages |
|
|
136 | (3) |
|
Modern exception handling |
|
|
139 | (8) |
|
Exception handling in Ada, Java and C |
|
|
147 | (18) |
|
Exception handling in other languages |
|
|
165 | (4) |
|
Recovery blocks and exceptions |
|
|
169 | (10) |
|
|
|
172 | (1) |
|
|
|
173 | (1) |
|
|
|
173 | (6) |
|
|
|
179 | (44) |
|
|
|
179 | (4) |
|
|
|
183 | (4) |
|
|
|
187 | (23) |
|
|
|
210 | (13) |
|
|
|
216 | (2) |
|
|
|
218 | (1) |
|
|
|
218 | (5) |
|
Shared variable-based synchronization and communication |
|
|
223 | (60) |
|
Mutual exclusion and condition synchronization |
|
|
224 | (1) |
|
|
|
225 | (5) |
|
|
|
230 | (3) |
|
|
|
233 | (12) |
|
Conditional critical regions |
|
|
245 | (1) |
|
|
|
246 | (9) |
|
|
|
255 | (6) |
|
|
|
261 | (22) |
|
|
|
271 | (2) |
|
|
|
273 | (1) |
|
|
|
273 | (10) |
|
Message-based synchronization and communication |
|
|
283 | (34) |
|
|
|
283 | (2) |
|
Process naming and message structure |
|
|
285 | (1) |
|
Message-passing semantics of Ada and occam2 |
|
|
286 | (6) |
|
|
|
292 | (9) |
|
|
|
301 | (4) |
|
|
|
305 | (3) |
|
|
|
308 | (9) |
|
|
|
309 | (1) |
|
|
|
310 | (1) |
|
|
|
311 | (6) |
|
Atomic actions, concurrent processes and reliability |
|
|
317 | (62) |
|
|
|
318 | (4) |
|
Atomic actions in concurrent languages |
|
|
322 | (12) |
|
Atomic actions and backward error recovery |
|
|
334 | (2) |
|
Atomic actions and forward error recovery |
|
|
336 | (3) |
|
Asynchronous notification |
|
|
339 | (2) |
|
|
|
341 | (7) |
|
Asynchronous event handling in Real-Time Java |
|
|
348 | (2) |
|
Asynchronous transfer of control in Ada |
|
|
350 | (11) |
|
Asynchronous transfer of control in Real-Time Java |
|
|
361 | (18) |
|
|
|
372 | (2) |
|
|
|
374 | (1) |
|
|
|
374 | (5) |
|
|
|
379 | (30) |
|
Resource control and atomic actions |
|
|
380 | (1) |
|
|
|
380 | (1) |
|
Expressive power and ease of use |
|
|
381 | (10) |
|
|
|
391 | (7) |
|
Asymmetric naming and security |
|
|
398 | (1) |
|
|
|
399 | (1) |
|
|
|
399 | (10) |
|
|
|
404 | (1) |
|
|
|
405 | (1) |
|
|
|
405 | (4) |
|
|
|
409 | (56) |
|
|
|
410 | (1) |
|
|
|
411 | (10) |
|
|
|
421 | (3) |
|
|
|
424 | (8) |
|
Specifying timing requirements |
|
|
432 | (1) |
|
|
|
433 | (3) |
|
Language support for temporal scopes |
|
|
436 | (12) |
|
|
|
448 | (17) |
|
|
|
460 | (2) |
|
|
|
462 | (1) |
|
|
|
462 | (3) |
|
|
|
465 | (58) |
|
|
|
466 | (1) |
|
The cyclic executive approach |
|
|
466 | (3) |
|
|
|
469 | (2) |
|
Utilization-based schedulability tests |
|
|
471 | (4) |
|
Response time analysis for FPS |
|
|
475 | (4) |
|
Response time analysis for EDF |
|
|
479 | (1) |
|
Worst-case execution time |
|
|
480 | (1) |
|
Sporadic and aperiodic processes |
|
|
481 | (3) |
|
Process systems with D < T |
|
|
484 | (2) |
|
Process interactions and blocking |
|
|
486 | (4) |
|
Priority ceiling protocols |
|
|
490 | (4) |
|
An extendible process model |
|
|
494 | (8) |
|
Dynamic systems and online analysis |
|
|
502 | (2) |
|
Programming priority-based systems |
|
|
504 | (19) |
|
|
|
516 | (1) |
|
|
|
517 | (1) |
|
|
|
517 | (6) |
|
|
|
523 | (112) |
|
Distributed system definition |
|
|
523 | (2) |
|
|
|
525 | (1) |
|
|
|
526 | (4) |
|
Distributed programming systems and environments |
|
|
530 | (14) |
|
|
|
544 | (12) |
|
|
|
556 | (8) |
|
Deadline scheduling in a distributed environment |
|
|
564 | (13) |
|
|
|
572 | (2) |
|
|
|
574 | (1) |
|
|
|
575 | (2) |
|
|
|
577 | (1) |
|
Hardware input/output mechanisms |
|
|
577 | (8) |
|
|
|
585 | (2) |
|
|
|
587 | (7) |
|
|
|
594 | (11) |
|
|
|
605 | (3) |
|
|
|
608 | (7) |
|
C and older real-time languages |
|
|
615 | (2) |
|
Scheduling device drivers |
|
|
617 | (2) |
|
|
|
619 | (16) |
|
|
|
625 | (2) |
|
|
|
627 | (1) |
|
|
|
627 | (8) |
|
The execution environment |
|
|
635 | (18) |
|
The role of the execution environment |
|
|
635 | (2) |
|
Tailoring the execution environment |
|
|
637 | (4) |
|
|
|
641 | (7) |
|
|
|
648 | (5) |
|
|
|
649 | (1) |
|
|
|
650 | (1) |
|
|
|
650 | (3) |
|
|
|
653 | (32) |
|
|
|
653 | (4) |
|
The HRT-HOOD design method |
|
|
657 | (1) |
|
The logical architecture design |
|
|
658 | (4) |
|
The physical architecture design |
|
|
662 | (3) |
|
|
|
665 | (16) |
|
Fault tolerance and distribution |
|
|
681 | (4) |
|
|
|
683 | (1) |
|
|
|
683 | (1) |
|
|
|
684 | (1) |
|
|
|
685 | (6) |
| Real-Time Java specification |
|
691 | (22) |
|
|
|
691 | (1) |
|
|
|
692 | (1) |
|
|
|
692 | (1) |
|
|
|
692 | (1) |
|
AsynchronouslyInterruptedException |
|
|
693 | (1) |
|
|
|
694 | (1) |
|
|
|
694 | (1) |
|
|
|
694 | (1) |
|
|
|
695 | (1) |
|
|
|
695 | (1) |
|
|
|
695 | (1) |
|
|
|
696 | (1) |
|
|
|
696 | (1) |
|
|
|
696 | (1) |
|
|
|
697 | (1) |
|
|
|
697 | (1) |
|
|
|
698 | (1) |
|
|
|
698 | (1) |
|
|
|
698 | (1) |
|
|
|
699 | (1) |
|
|
|
700 | (1) |
|
|
|
700 | (1) |
|
|
|
700 | (1) |
|
|
|
701 | (1) |
|
ProcessingGroupParameters |
|
|
701 | (1) |
|
|
|
702 | (1) |
|
|
|
702 | (1) |
|
|
|
703 | (1) |
|
|
|
704 | (1) |
|
|
|
704 | (1) |
|
|
|
705 | (1) |
|
|
|
706 | (1) |
|
|
|
706 | (1) |
|
|
|
707 | (1) |
|
|
|
707 | (1) |
|
|
|
707 | (1) |
|
|
|
708 | (1) |
|
|
|
708 | (1) |
|
|
|
708 | (2) |
|
|
|
710 | (1) |
|
|
|
711 | (1) |
|
|
|
711 | (1) |
|
|
|
711 | (2) |
| References |
|
713 | (12) |
| Index |
|
725 | |