Preface |
|
xi | |
I RCS Tutorial |
|
1 | (80) |
|
|
3 | (4) |
|
Getting Started Quickly: RCS Essentials |
|
|
7 | (58) |
|
Process Control Experiment: The Tutorial Theme Problem |
|
|
7 | (2) |
|
|
9 | (11) |
|
Task Decomposition Analysis |
|
|
11 | (2) |
|
Defining the Controller Architecture |
|
|
13 | (4) |
|
|
17 | (2) |
|
Implementing the RCS Controller |
|
|
19 | (1) |
|
RCS Software Library Essentials |
|
|
20 | (8) |
|
|
21 | (1) |
|
NML Application Structure and Terminology |
|
|
22 | (4) |
|
Structure of a Single Process Using NML |
|
|
26 | (2) |
|
Generating Code via the RCS Design Tool |
|
|
28 | (8) |
|
Specifying the Hierarchy and Generating the Code |
|
|
29 | (3) |
|
Generated Files and Directory Structure |
|
|
32 | (3) |
|
Files That Need To Be Modified |
|
|
35 | (1) |
|
Code and Operation of the Process Control System |
|
|
36 | (24) |
|
NML Configuration File for the Tank Experiment |
|
|
36 | (3) |
|
Command and Status Message Classes for the Tank |
|
|
39 | (4) |
|
|
43 | (11) |
|
|
54 | (4) |
|
NML Servers for the Buffers |
|
|
58 | (2) |
|
User Interface via the RCS Diagnostics Tool |
|
|
60 | (5) |
|
Architecture File for the RCS Diagnostics Tool |
|
|
60 | (1) |
|
|
61 | (4) |
|
The Reference Model Architecture and RCS Applications |
|
|
65 | (16) |
|
Reference Model Architecture |
|
|
65 | (8) |
|
Basic Building Blocks for the RMA |
|
|
66 | (4) |
|
RMA Hierarchical Organization and Timing |
|
|
70 | (3) |
|
Implementation of RMA Using the RCS Library |
|
|
73 | (1) |
|
Summary of RMA/RCS Applications |
|
|
73 | (5) |
|
Summary of RCS Library Features |
|
|
78 | (3) |
II RCS Handbook |
|
81 | (148) |
|
Design Theme Problem: Automated Highway System |
|
|
83 | (20) |
|
|
83 | (2) |
|
Possible Controller Designs |
|
|
85 | (6) |
|
RCS Methodology-Based Design |
|
|
85 | (3) |
|
|
88 | (3) |
|
Controller Hierarchy for an Intelligent Vehicle |
|
|
91 | (7) |
|
Vehicle Supervisor Module |
|
|
92 | (2) |
|
|
94 | (1) |
|
|
95 | (1) |
|
|
96 | (2) |
|
|
98 | (1) |
|
Low-Level Controller Development |
|
|
99 | (4) |
|
|
103 | (28) |
|
|
103 | (2) |
|
Creating NML Message Classes |
|
|
105 | (9) |
|
|
105 | (1) |
|
Deriving Messages form NMLmsg |
|
|
106 | (3) |
|
Command and Status Messages |
|
|
109 | (2) |
|
Creating Messages for an Intelligent Vehicle |
|
|
111 | (3) |
|
Setting NML Communication Channels |
|
|
114 | (4) |
|
|
114 | (1) |
|
Command and Status Channels |
|
|
115 | (2) |
|
Sample Command and Status Channels: AHS Example |
|
|
117 | (1) |
|
Reading and Writing NML Data |
|
|
118 | (5) |
|
Basic Read and Write Functions |
|
|
118 | (2) |
|
General NML Read/Write Procedure |
|
|
120 | (1) |
|
Additional Read/Write Functions |
|
|
121 | (2) |
|
|
123 | (3) |
|
Error Types of NML Read/Write Functions |
|
|
123 | (2) |
|
Checking If an NML Object Is Valid |
|
|
125 | (1) |
|
Spawning and Killing NML Servers |
|
|
126 | (2) |
|
Server Program Without Application Code |
|
|
126 | (1) |
|
Server Program with Application Code |
|
|
127 | (1) |
|
|
128 | (3) |
|
Testing for the Existence of NML Buffers |
|
|
128 | (1) |
|
Determining the Performance of NML on a Particular System |
|
|
129 | (1) |
|
Removing Unwanted Buffers |
|
|
129 | (2) |
|
|
131 | (20) |
|
NML_Module Members and Operation |
|
|
132 | (7) |
|
Deriving a New Control Module from NML_Module |
|
|
139 | (9) |
|
|
148 | (3) |
|
Writing NML Configuration Files |
|
|
151 | (16) |
|
|
152 | (3) |
|
|
155 | (2) |
|
|
157 | (4) |
|
Version 2 NML Configuration File Format |
|
|
161 | (6) |
|
Configuration File Line Types |
|
|
162 | (1) |
|
|
162 | (2) |
|
|
164 | (1) |
|
Tool Command Line Arguments |
|
|
165 | (1) |
|
|
165 | (2) |
|
Other Classes and Functions |
|
|
167 | (16) |
|
|
167 | (3) |
|
|
170 | (1) |
|
|
170 | (3) |
|
|
173 | (4) |
|
|
177 | (2) |
|
|
179 | (4) |
|
|
183 | (14) |
|
Special Rules for the Header Files |
|
|
184 | (1) |
|
Using the Diagnostics Tool |
|
|
185 | (8) |
|
Executing the Diagnostics Tool |
|
|
193 | (4) |
|
Code Generation and Design Tool |
|
|
197 | (32) |
|
|
198 | (5) |
|
|
198 | (1) |
|
Execution from Within a Makefile |
|
|
199 | (2) |
|
|
201 | (2) |
|
|
203 | (26) |
|
|
203 | (1) |
|
|
204 | (2) |
|
|
206 | (10) |
|
|
216 | (5) |
|
|
221 | (5) |
|
|
226 | (1) |
|
|
227 | (2) |
III Appendices |
|
229 | (42) |
|
|
231 | (12) |
|
|
231 | (2) |
|
|
233 | (1) |
|
|
234 | (1) |
|
|
235 | (1) |
|
|
236 | (3) |
|
A.6 Polymorphism and Virtual Functions |
|
|
239 | (4) |
|
B Compilers and Makefiles |
|
|
243 | (20) |
|
|
243 | (1) |
|
|
244 | (1) |
|
B.1.2 Special Command Line Arguments |
|
|
245 | (2) |
|
B.2 Using make and Makefiles |
|
|
247 | (1) |
|
B.2.1 How to Write Makefiles |
|
|
248 | (2) |
|
B.2.2 Using Variables to Make Makefiles Easier to Read |
|
|
250 | (3) |
|
|
253 | (1) |
|
B.3.1 Makefile generic.def |
|
|
253 | (1) |
|
B.3.2 Application Include Makefile |
|
|
254 | (1) |
|
|
255 | (1) |
|
B.3.4 Subdirectory Makefiles |
|
|
255 | (3) |
|
B.3.5 Variables Used in generic.def |
|
|
258 | (2) |
|
|
260 | (3) |
|
C General Operating System Concepts |
|
|
263 | (4) |
|
C.1 Computer Network Communication Protocols |
|
|
263 | (1) |
|
|
263 | (1) |
|
|
264 | (1) |
|
C.2 Operating System Concepts |
|
|
265 | (1) |
|
C.2.1 Processes (Tasks) and Multitasking |
|
|
265 | (1) |
|
C.2.2 Critical Sections and Mutual Exclusion |
|
|
265 | (2) |
|
|
267 | (2) |
|
|
269 | (2) |
Bibliography |
|
271 | (6) |
Index |
|
277 | |