Preface |
|
xiii | |
|
|
1 | (6) |
|
|
2 | (1) |
|
Roadmap to the Case Study Development |
|
|
2 | (1) |
|
Introduction of the Case Study Problem |
|
|
3 | (1) |
|
|
4 | (1) |
|
Structure of the Material |
|
|
5 | (1) |
|
Alternative Reading Approaches |
|
|
5 | (1) |
|
|
6 | (1) |
|
|
6 | (1) |
|
Life Cycle for Real-Time Software |
|
|
7 | (10) |
|
|
8 | (1) |
|
|
9 | (1) |
|
|
9 | (1) |
|
|
9 | (1) |
|
|
10 | (2) |
|
|
10 | (1) |
|
|
11 | (1) |
|
Planning Tasks and Selecting a Scheduling Algorithm |
|
|
11 | (1) |
|
|
12 | (1) |
|
|
13 | (1) |
|
|
13 | (1) |
|
|
13 | (1) |
|
|
13 | (1) |
|
Software Acceptance Testing |
|
|
14 | (1) |
|
|
14 | (1) |
|
|
14 | (1) |
|
|
15 | (2) |
|
Requirements Analysis Phase |
|
|
17 | (18) |
|
|
17 | (1) |
|
|
18 | (1) |
|
Understanding the Environment |
|
|
19 | (1) |
|
|
19 | (1) |
|
|
19 | (1) |
|
|
20 | (5) |
|
|
20 | (3) |
|
|
23 | (1) |
|
|
24 | (1) |
|
Understanding the Operational Concept |
|
|
25 | (2) |
|
Completing the Context Diagram |
|
|
27 | (1) |
|
Understanding Error Handling |
|
|
27 | (4) |
|
Understanding Operational States |
|
|
31 | (2) |
|
Understanding Timing Constraints |
|
|
33 | (1) |
|
|
33 | (1) |
|
|
33 | (2) |
|
Design Phase: Organizing Knowledge |
|
|
35 | (10) |
|
|
36 | (1) |
|
Understanding of Operations Sequences |
|
|
37 | (4) |
|
Operating System Assumptions |
|
|
41 | (1) |
|
|
42 | (1) |
|
|
42 | (3) |
|
Design Phase: Top-Level Architecture |
|
|
45 | (20) |
|
|
46 | (2) |
|
Fleshing Out the Interfaces |
|
|
48 | (3) |
|
|
51 | (6) |
|
|
52 | (1) |
|
Relationships Between Objects |
|
|
53 | (3) |
|
Allocating Objects to Components |
|
|
56 | (1) |
|
Specifying Object Services |
|
|
56 | (1) |
|
|
57 | (2) |
|
Interprocess Communication |
|
|
59 | (3) |
|
Final Functional/Concurrency View |
|
|
62 | (1) |
|
|
63 | (1) |
|
|
64 | (1) |
|
Performance Analysis: Analyzing a Scenario |
|
|
65 | (18) |
|
|
66 | (1) |
|
Walking Through a Usage Scenario |
|
|
67 | (4) |
|
|
71 | (1) |
|
|
72 | (1) |
|
|
73 | (1) |
|
Defining Basic Resources and Pseudo Operations |
|
|
74 | (1) |
|
Characterizing the Basic Nodes |
|
|
75 | (1) |
|
Final Calculation for Scenario |
|
|
75 | (3) |
|
Analysis of Pseudo Operations |
|
|
78 | (1) |
|
|
79 | (2) |
|
|
81 | (1) |
|
|
81 | (2) |
|
Performance Analysis: More Scenarios |
|
|
83 | (8) |
|
Walking Through Another Usage Scenario |
|
|
83 | (3) |
|
Characterizing the Basic Nodes |
|
|
86 | (1) |
|
Final Calculation for Scenario |
|
|
86 | (1) |
|
Analysis of Pseudo Operations |
|
|
86 | (1) |
|
|
87 | (2) |
|
|
89 | (1) |
|
|
89 | (2) |
|
Performance Analysis: Analyzing the System |
|
|
91 | (12) |
|
|
93 | (1) |
|
Average Service Time Calculation |
|
|
94 | (1) |
|
Resource Utilization Calculation |
|
|
95 | (2) |
|
Throughput Calculation for a Job Mix |
|
|
97 | (1) |
|
Elapsed Time Calculations |
|
|
97 | (2) |
|
|
99 | (1) |
|
|
99 | (1) |
|
|
99 | (1) |
|
|
99 | (4) |
|
Tasking and Scheduling: Theory |
|
|
103 | (18) |
|
|
103 | (1) |
|
|
104 | (1) |
|
|
104 | (4) |
|
Earliest Deadline First Scheduling |
|
|
108 | (1) |
|
|
108 | (1) |
|
Handling Sporadic Events ``Periodically'' |
|
|
109 | (1) |
|
Resource Sharing with Periodic Tasks Using Fixed Priorities |
|
|
109 | (4) |
|
Resource Sharing with Periodic Tasks Using EDF |
|
|
113 | (3) |
|
Resource Sharing with Sporadic Tasks |
|
|
116 | (2) |
|
Static VS. Dynamic Scheduling |
|
|
118 | (1) |
|
|
119 | (1) |
|
|
119 | (2) |
|
|
121 | (22) |
|
Component Design---Responsibilities |
|
|
122 | (1) |
|
Component Design---Simple Components |
|
|
123 | (2) |
|
Component Design---State Machines |
|
|
125 | (8) |
|
Component Design---Interrupt Service Routines |
|
|
133 | (1) |
|
Add Services to the Objects |
|
|
134 | (1) |
|
Startup/Shutdown Requirements |
|
|
134 | (2) |
|
|
136 | (1) |
|
|
137 | (3) |
|
|
140 | (2) |
|
|
142 | (1) |
|
Tasking and Scheduling: Case Study |
|
|
143 | (10) |
|
Determining Which Tasking Model Applies |
|
|
144 | (1) |
|
|
144 | (4) |
|
|
148 | (2) |
|
Augmenting the Real-Time OS Scheduler |
|
|
150 | (2) |
|
|
152 | (1) |
|
|
152 | (1) |
|
|
153 | (16) |
|
|
154 | (1) |
|
Integration Test Planning |
|
|
154 | (1) |
|
|
155 | (1) |
|
|
156 | (9) |
|
|
165 | (2) |
|
|
167 | (1) |
|
|
167 | (2) |
|
Software Engineering Concepts: Project Management |
|
|
169 | (18) |
|
|
169 | (4) |
|
|
170 | (1) |
|
|
171 | (1) |
|
|
171 | (1) |
|
|
172 | (1) |
|
|
173 | (1) |
|
|
173 | (4) |
|
|
174 | (2) |
|
|
176 | (1) |
|
|
177 | (1) |
|
|
177 | (6) |
|
|
178 | (2) |
|
|
180 | (2) |
|
|
182 | (1) |
|
|
182 | (1) |
|
|
183 | (1) |
|
Documentation Standards and Guidelines |
|
|
183 | (2) |
|
|
184 | (1) |
|
|
185 | (1) |
|
|
185 | (1) |
|
|
185 | (2) |
|
Software Engineering Concepts: Methodologies |
|
|
187 | (14) |
|
Structured Nonreal-Time Methods |
|
|
187 | (2) |
|
|
188 | (1) |
|
|
188 | (1) |
|
|
188 | (1) |
|
|
189 | (1) |
|
|
189 | (3) |
|
Object-Oriented Design (OOD) |
|
|
189 | (1) |
|
|
190 | (1) |
|
|
190 | (1) |
|
|
190 | (1) |
|
|
191 | (1) |
|
|
191 | (1) |
|
|
192 | (3) |
|
|
192 | (1) |
|
|
193 | (1) |
|
|
193 | (2) |
|
|
195 | (1) |
|
|
195 | (1) |
|
|
195 | (4) |
|
The Functional vs. Object-Oriented Analysis Controversy |
|
|
196 | (1) |
|
Transition from Analysis to Design |
|
|
196 | (1) |
|
Real-Time Recursive Design |
|
|
197 | (1) |
|
|
198 | (1) |
|
|
199 | (1) |
|
|
199 | (2) |
|
Concepts for Real-Time Systems |
|
|
201 | (8) |
|
|
202 | (1) |
|
|
202 | (1) |
|
|
203 | (1) |
|
Mailboxes and Message Queues |
|
|
203 | (1) |
|
|
203 | (1) |
|
|
204 | (1) |
|
|
204 | (1) |
|
|
205 | (4) |
Appendix A Software Requirements Specification |
|
209 | (16) |
Appendix B Peer Review Packet: Top-Level Design |
|
225 | (24) |
Appendix C Software Architecture Document |
|
249 | (40) |
Appendix D Performance Analysis Report |
|
289 | (28) |
Appendix E Software Integration Test Plan |
|
317 | (16) |
Appendix F Notation for Software Execution Graphs |
|
333 | (4) |
References |
|
337 | (4) |
Index |
|
341 | |