/[dtapublic]/pubs/books/ucbka/trunk/volshare/workprfa.tex
ViewVC logotype

Diff of /pubs/books/ucbka/trunk/volshare/workprfa.tex

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 5 by dashley, Thu Oct 6 23:27:41 2016 UTC revision 274 by dashley, Sun Aug 11 21:43:05 2019 UTC
# Line 1  Line 1 
1  %$Header: /home/dashley/cvsrep/e3ft_gpl01/e3ft_gpl01/dtaipubs/esrgubka/volshare/workprfa.tex,v 1.7 2003/11/28 23:23:17 dtashley Exp $  %$Header$
2  %  %
3  %------------------------------------------------------------------------------------------------------------------  %------------------------------------------------------------------------------------------------------------------
4  %This file isn't used directly--instead, the Tcl script CP_SCRIPT.TCL inserts it into the the main .TEX volume.  %This file isn't used directly--instead, the Tcl script CP_SCRIPT.TCL inserts it into the the main .TEX volume.
5  %In this process, the <mv> and <sv> tags on some lines are processed.  <mv> lines go only to the multi-volume  %In this process, the <mv> and <sv> tags on some lines are processed.  <mv> lines go only to the multi-volume
6  %work, and <sv> lines to only to the single-volume work.  %work, and <sv> lines to only to the single-volume work.
7  %  %
8  %For the multi-volume work, the symbolic patchup is near perfect.  But for the single-volume work, the parts  %For the multi-volume work, the symbolic patchup is near perfect.  But for the single-volume work, the parts
9  %are numbered manually, which is a process open to human error.  This preface must be checked when chapters  %are numbered manually, which is a process open to human error.  This preface must be checked when chapters
10  %are moved, added, or deleted.  %are moved, added, or deleted.
11  %------------------------------------------------------------------------------------------------------------------  %------------------------------------------------------------------------------------------------------------------
12  \chapter{Preface}  \chapter{Preface}
13    
14  In 1998, I began work on the  In 1998, I began work on the
15  interrupt latency compatibility problem.  As I searched  interrupt latency compatibility problem.  As I searched
16  for prior work, I was  for prior work, I was
17  surprised to discover the paucity  surprised to discover the paucity
18  of research available on practical embedded software  of research available on practical embedded software
19  problems.  Textbooks were also not very helpful,  problems.  Textbooks were also not very helpful,
20  as I found that almost none  as I found that almost none
21  of the hard  of the hard
22  problems that occur in practice  problems that occur in practice
23  were addressed.  were addressed.
24    
25  In 1999, I decided to compose my own book,  In 1999, I decided to compose my own book,
26  maintained on the Web,  maintained on the Web,
27  to collect useful  to collect useful
28  research results, solutions to practical problems,  research results, solutions to practical problems,
29  unsolved problems, and directions for future  unsolved problems, and directions for future
30  research and refinement.  research and refinement.
31  \LaTeX{} was chosen as the text-processing  \LaTeX{} was chosen as the text-processing
32  tool, as it was  tool, as it was
33  recognized immediately  recognized immediately
34  that size could become an issue and that the book  that size could become an issue and that the book
35  would have a substantial mathematical content.  would have a substantial mathematical content.
36  The freedom from any practical length  The freedom from any practical length
37  limitation  limitation
38  means that I am  means that I am
39  free to include as many topics  free to include as many topics
40  in as much detail as I'd like.\footnote{My readers will  in as much detail as I'd like.\footnote{My readers will
41  be consuming \emph{their} toner cartridges, not mine.}  be consuming \emph{their} toner cartridges, not mine.}
42    
43  In 2001, this book was moved to  In 2001, this book was moved to
44  \index{SourceForge}\emph{SourceForge}\footnote{\emph{SourceForge}  \index{SourceForge}\emph{SourceForge}\footnote{\emph{SourceForge}
45  (\texttt{http://www.sourceforge.net}), to whom I am very grateful,  (\texttt{http://www.sourceforge.net}), to whom I am very grateful,
46  is an organization that hosts open-source projects.} and  is an organization that hosts open-source projects.} and
47  combined with a tool  combined with a tool
48  set for microcontroller software work  set for microcontroller software work
49  (\emph{The Iju Tool Set}).  (\emph{The Iju Tool Set}).
50    
51  In 2002, the collective set of materials (the tool set and this book)  In 2002, the collective set of materials (the tool set and this book)
52  was renamed \emph{The ESRG Tool Set}\footnote{\emph{ESRG}  was renamed \emph{The ESRG Tool Set}\footnote{\emph{ESRG}
53  is an acronym for \emph{E}mbedded \emph{S}ystems \emph{R}esearch \emph{G}roup.},  is an acronym for \emph{E}mbedded \emph{S}ystems \emph{R}esearch \emph{G}roup.},
54  and placed under a different  and placed under a different
55  project at \emph{SourceForge}.  project at \emph{SourceForge}.
56    
57  \emph{The ESRG Tool Set}, which is fully open-source and  \emph{The ESRG Tool Set}, which is fully open-source and
58  available for free from \emph{SourceForge} at the URL  available for free from \emph{SourceForge} at the URL
59  \texttt{http://esrg.sourceforge.net}, contains  \texttt{http://esrg.sourceforge.net}, contains
60  these materials:  these materials:
61    
62  \begin{itemize}  \begin{itemize}
63  \item A \texttt{.PDF} copy of the most recent released  \item A \texttt{.PDF} copy of the most recent released
64        version of this book.        version of this book.
65    
66  \item The packaged \LaTeX{} source code and graphics  \item The packaged \LaTeX{} source code and graphics
67        for the most recent released        for the most recent released
68        version of this book.        version of this book.
69    
70  \item The most recent (unreleased) source code for this book  \item The most recent (unreleased) source code for this book
71        (available from the CVS version control archives).        (available from the CVS version control archives).
72    
73  \item The most recent released version of  \item The most recent released version of
74        \emph{The ESRG Tool Set}, packaged as an installation        \emph{The ESRG Tool Set}, packaged as an installation
75        for Windows 95/98/ME/NT/2000/XP.  This installation also        for Windows 95/98/ME/NT/2000/XP.  This installation also
76            contains web pages with helpful URLs, and supplemental            contains web pages with helpful URLs, and supplemental
77            materials (such as spreadsheets to demonstrate techniques,            materials (such as spreadsheets to demonstrate techniques,
78            other documents and standards maintained as part of this            other documents and standards maintained as part of this
79            effort,            effort,
80            Java applets, etc.).            Java applets, etc.).
81    
82  \item The packaged source code for the most recent released  \item The packaged source code for the most recent released
83        version of \emph{The ESRG Tool Set}.        version of \emph{The ESRG Tool Set}.
84    
85  \item The most recent (unreleased) source code of  \item The most recent (unreleased) source code of
86        \emph{The ESRG Tool Set} (available from the CVS        \emph{The ESRG Tool Set} (available from the CVS
87        version control arvhives).        version control arvhives).
88    
89  \item The most recent (unreleased) versions of the non-tool  \item The most recent (unreleased) versions of the non-tool
90        materials maintained with \emph{The ESRG Tool Set}, including        materials maintained with \emph{The ESRG Tool Set}, including
91            spreadsheets to demonstrate techniques, other            spreadsheets to demonstrate techniques, other
92        documents and standards maintained as part of this        documents and standards maintained as part of this
93            effort, Java applets, etc. (available from the CVS version control            effort, Java applets, etc. (available from the CVS version control
94            archives).            archives).
95  \end{itemize}  \end{itemize}
96    
97    
98  I have produced this set of works with the following four goals.  I have produced this set of works with the following four goals.
99  \marginpar{\textbf{Goals of This Work}}  \marginpar{\textbf{Goals of This Work}}
100  \begin{itemize}  \begin{itemize}
101  \item \textbf{To share results and coordinate work  \item \textbf{To share results and coordinate work
102     with researchers.}  I have     with researchers.}  I have
103     found that there is a disconnect between practitioners     found that there is a disconnect between practitioners
104     (those who have exposure to difficult problems) and     (those who have exposure to difficult problems) and
105     researchers (those who often have the ability to solve these     researchers (those who often have the ability to solve these
106     difficult problems).  A large work is required to     difficult problems).  A large work is required to
107     explain the design challenges present in practical embedded software     explain the design challenges present in practical embedded software
108     work, and to place the most difficult unsolved problems in the hands     work, and to place the most difficult unsolved problems in the hands
109     of researchers.     of researchers.
110  \item \textbf{To share results and coordinate work with practitioners.}  \item \textbf{To share results and coordinate work with practitioners.}
111     Many of the problems and solutions presented in this work apply     Many of the problems and solutions presented in this work apply
112     to almost all applications of embedded software, and in many cases     to almost all applications of embedded software, and in many cases
113     are inherent to \emph{all} software.  These problems and solutions     are inherent to \emph{all} software.  These problems and solutions
114     will be useful to software practitioners.  I also expect     will be useful to software practitioners.  I also expect
115     that practitioners have strong solutions to contribute to this     that practitioners have strong solutions to contribute to this
116     work.\footnote{With less jubilation, I also expect that     work.\footnote{With less jubilation, I also expect that
117     practitioners have new hard problems to contribute.     practitioners have new hard problems to contribute.
118     With any luck, I will obtain more new solutions than new problems.}     With any luck, I will obtain more new solutions than new problems.}
119  \item \textbf{To enrich the educational experience for students.}  \item \textbf{To enrich the educational experience for students.}
120     All of the material contained in this set of works is free\footnote{Subject     All of the material contained in this set of works is free\footnote{Subject
121     to license restrictions.  The license under which this book may be used     to license restrictions.  The license under which this book may be used
122     is included later in this preface.  Software tools are licensed under the GPL.} (which,     is included later in this preface.  Software tools are licensed under the GPL.} (which,
123     from a student's point of view, is the best price).       from a student's point of view, is the best price).  
124     For example, this book can be used by instructors as     For example, this book can be used by instructors as
125     free supplemental     free supplemental
126     material for a course.     material for a course.
127  \item \textbf{To guide tool vendors.}  The design of tools  \item \textbf{To guide tool vendors.}  The design of tools
128     is very much like the design of software, in that one must have     is very much like the design of software, in that one must have
129     a nearly complete understanding of the requirements     a nearly complete understanding of the requirements
130     in order to produce a useful product.  I have often found that     in order to produce a useful product.  I have often found that
131     tool vendors are unaware of the actual needs of embedded     tool vendors are unaware of the actual needs of embedded
132     software developers.  By clearly enumerating requirements and     software developers.  By clearly enumerating requirements and
133     lessons learned, I strive to give tool vendors the information     lessons learned, I strive to give tool vendors the information
134     and insight     and insight
135     necessary to better support embedded software developers.     necessary to better support embedded software developers.
136  \end{itemize}  \end{itemize}
137    
138  In \marginpar{\textbf{\emph{Small} Defined}}  In \marginpar{\textbf{\emph{Small} Defined}}
139  the title of this book, I've indicated that this book is  the title of this book, I've indicated that this book is
140  about \index{small microcontroller system}\emph{small} microcontroller work.  By  about \index{small microcontroller system}\emph{small} microcontroller work.  By
141  \emph{small microcontroller work}, I mean the development  \emph{small microcontroller work}, I mean the development
142  and production of small  and production of small
143  embedded  embedded
144  software/hardware  software/hardware
145  systems such as are found  systems such as are found
146  in consumer electronics and the automobile industry.  Although  in consumer electronics and the automobile industry.  Although
147  it is difficult to specify precisely what is and is not a  it is difficult to specify precisely what is and is not a
148  \emph{small} microcontroller system, the systems  \emph{small} microcontroller system, the systems
149  I have in mind generally meet  I have in mind generally meet
150  the following criteria.  the following criteria.
151    
152  \begin{itemize}  \begin{itemize}
153  \item They  \item They
154  involve a single-chip control solution (the address and data busses of  involve a single-chip control solution (the address and data busses of
155  the microcontroller are not extended outside the package).  the microcontroller are not extended outside the package).
156  \item They  \item They
157  involve ROM and RAM sizes of under 1M.\footnote{But usually much less--256K or less of ROM and 24K  involve ROM and RAM sizes of under 1M.\footnote{But usually much less--256K or less of ROM and 24K
158  or less of RAM would be typical for my definition of \emph{small}.}  or less of RAM would be typical for my definition of \emph{small}.}
159  \item They frequently involve non-preemptive scheduling.  In the systems I would  \item They frequently involve non-preemptive scheduling.  In the systems I would
160  classify as \emph{small}, pre-emptive scheduling and/or commercial  classify as \emph{small}, pre-emptive scheduling and/or commercial
161  RTOSs are relatively uncommon.  RTOSs are relatively uncommon.
162  \item They involve a software  \item They involve a software
163  program that cannot easily be changed (either because the program  program that cannot easily be changed (either because the program
164  is lithographically masked into the microcontroller or because special  is lithographically masked into the microcontroller or because special
165  equipment or special access to the microcontroller is required).\footnote{A consequence of the  equipment or special access to the microcontroller is required).\footnote{A consequence of the
166  software unchangeability  software unchangeability
167  combined with high production volumes is  combined with high production volumes is
168  that software mistakes are very, very expensive.}  that software mistakes are very, very expensive.}
169  \item They exist in an unstable electrical environment,  \item They exist in an unstable electrical environment,
170  characterized by supply voltage fluctuations,  characterized by supply voltage fluctuations,
171  electrical transients, and spurious resets.  electrical transients, and spurious resets.
172  \end{itemize}  \end{itemize}
173    
174  I use the term \index{hard problem}\emph{hard problem} throughout this book.  I use the term \index{hard problem}\emph{hard problem} throughout this book.
175  I define a  I define a
176  \marginpar{\textbf{\emph{Hard Problem} Defined}}  \marginpar{\textbf{\emph{Hard Problem} Defined}}
177  \emph{hard} problem as a problem that  \emph{hard} problem as a problem that
178  meets the following two criteria.  meets the following two criteria.
179  \begin{itemize}  \begin{itemize}
180     \item \textbf{The problem is \emph{hard}.}     \item \textbf{The problem is \emph{hard}.}
181           The time to solve the problem is measured in           The time to solve the problem is measured in
182           months or years, rather than hours or days; and furthermore,           months or years, rather than hours or days; and furthermore,
183           the problem may be beyond the analytical ability of           the problem may be beyond the analytical ability of
184           most practicing embedded software engineers.  In practice, this means that           most practicing embedded software engineers.  In practice, this means that
185           an embedded software engineer cannot solve the problem in the time           an embedded software engineer cannot solve the problem in the time
186           available during a product development cycle.           available during a product development cycle.
187     \item \textbf{A solution to the problem is necessary for     \item \textbf{A solution to the problem is necessary for
188           reliable software or for ease of software construction.}           reliable software or for ease of software construction.}
189           Generally, I would wish to exclude from consideration           Generally, I would wish to exclude from consideration
190           problems which are difficult but which have no practical implications           problems which are difficult but which have no practical implications
191           for software reliability or ease of software construction           for software reliability or ease of software construction
192           if they are not solved.           if they are not solved.
193  \end{itemize}  \end{itemize}
194    
195  Clearly, if an embedded software engineer is to be productive and  Clearly, if an embedded software engineer is to be productive and
196  produce a reliable embedded product, the number of unsolved  produce a reliable embedded product, the number of unsolved
197  \emph{hard} problems s/he encounters during a career must  \emph{hard} problems s/he encounters during a career must
198  be fairly small.  However, the reality is that a practicing  be fairly small.  However, the reality is that a practicing
199  embedded software engineer encounters unsolved hard problems  embedded software engineer encounters unsolved hard problems
200  on a daily basis.  on a daily basis.
201    
202  In this work I take a special but not exclusive interest in  In this work I take a special but not exclusive interest in
203  \emph{hard} problems---those that are relevant and necessary  \emph{hard} problems---those that are relevant and necessary
204  but  but
205  so difficult and time-consuming that a software engineer cannot  so difficult and time-consuming that a software engineer cannot
206  solve them in the time available during the product development  solve them in the time available during the product development
207  cycle.  I also have some interest in paradigms (ways of  cycle.  I also have some interest in paradigms (ways of
208  thinking about software systems and problems), and in  thinking about software systems and problems), and in
209  best and worst practices (practices that are likely to to  best and worst practices (practices that are likely to to
210  avert problems and practices that are nearly suicidal,  avert problems and practices that are nearly suicidal,
211  respectively).  It is noteworthy that I do not  respectively).  It is noteworthy that I do not
212  have much interest in established  have much interest in established
213  mathematical results that are available in  mathematical results that are available in
214  textbooks my readers probably already own.  textbooks my readers probably already own.
215  For example, I have very limited interest in  For example, I have very limited interest in
216  reprinting the mathematical results surrounding  reprinting the mathematical results surrounding
217  sampled control systems, but  sampled control systems, but
218  I might be very interested in results predicting what  I might be very interested in results predicting what
219  could and could not happen if such a  could and could not happen if such a
220  sampled control system is implemented on  sampled control system is implemented on
221  a microcontroller using economical but lossy  a microcontroller using economical but lossy
222  multiplication and integration (to the best of my  multiplication and integration (to the best of my
223  knowledge, this insight does not exist anywhere).  knowledge, this insight does not exist anywhere).
224    
225  <mv>\textbf{Volume \vconzeroroman{}: \vconzerotitle{}}  <mv>\textbf{Volume \vconzeroroman{}: \vconzerotitle{}}
226  <sv>\textbf{Part I:  Concepts}  <sv>\textbf{Part I:  Concepts}
227  \marginpar{\textbf{Book Contents}}  \marginpar{\textbf{Book Contents}}
228  contains an introduction to the challenges of small microcontroller work.  contains an introduction to the challenges of small microcontroller work.
229  \begin{itemize}  \begin{itemize}
230  \item \textbf{Chapter\;\ref{cint0}, \cintzerotitle{}} explains the scope of the book  \item \textbf{Chapter\;\ref{cint0}, \cintzerotitle{}} explains the scope of the book
231        and what is meant by \emph{small microcontroller work}.        and what is meant by \emph{small microcontroller work}.
232  \item \textbf{Chapter\;\ref{chgr0}, \chgrzerotitle{}} provides my personal  \item \textbf{Chapter\;\ref{chgr0}, \chgrzerotitle{}} provides my personal
233        interpretation of the        interpretation of the
234        Holy Grail of embedded real-time software---that is, what is        Holy Grail of embedded real-time software---that is, what is
235        desirable and undesirable and what fundamental goals        desirable and undesirable and what fundamental goals
236        exist.  In this chapter, I deal primarily in paradigms of        exist.  In this chapter, I deal primarily in paradigms of
237        thought and        thought and
238        unattainable goals.        unattainable goals.
239  \end{itemize}  \end{itemize}
240    
241  <mv>\textbf{Volume \vmfrzeroroman{}: \vmfrzerotitle{}}  <mv>\textbf{Volume \vmfrzeroroman{}: \vmfrzerotitle{}}
242  <sv>\textbf{Part II:  Mathematical Frameworks}  <sv>\textbf{Part II:  Mathematical Frameworks}
243  contains key mathematical frameworks and  contains key mathematical frameworks and
244  results that are divorced from any specific problem.  results that are divorced from any specific problem.
245  \begin{itemize}  \begin{itemize}
246  \item \textbf{Chapter\;\ref{cpri0}, \cprizerotitle{}} presents results surrounding  \item \textbf{Chapter\;\ref{cpri0}, \cprizerotitle{}} presents results surrounding
247        properties of integers and prime and composite numbers.        properties of integers and prime and composite numbers.
248  \item \textbf{Chapter\;\ref{cfry0}, \cfryzerotitle{}} presents results surrounding  \item \textbf{Chapter\;\ref{cfry0}, \cfryzerotitle{}} presents results surrounding
249        the \index{Farey series}Farey series.  The Farey series, which is the        the \index{Farey series}Farey series.  The Farey series, which is the
250        ordered set of rational numbers with a certain maximum denominator,        ordered set of rational numbers with a certain maximum denominator,
251        forms the basis for some techniques of rational approximation.        forms the basis for some techniques of rational approximation.
252  \item \textbf{Chapter\;\ref{ccfr0}, \ccfrzerotitle{}} presents results surrounding  \item \textbf{Chapter\;\ref{ccfr0}, \ccfrzerotitle{}} presents results surrounding
253        \index{continued fractions}continued fractions.  The apparatus of continued        \index{continued fractions}continued fractions.  The apparatus of continued
254        fractions provides the best algorithm for finding Farey neighbors and hence        fractions provides the best algorithm for finding Farey neighbors and hence
255        best rational approximations.        best rational approximations.
256  \item \textbf{Chapter\;\ref{cbal0}, \cbalzerotitle{}} presents results surrounding  \item \textbf{Chapter\;\ref{cbal0}, \cbalzerotitle{}} presents results surrounding
257        Boolean algebra.  Traditionally, Boolean algebra and the study of Boolean        Boolean algebra.  Traditionally, Boolean algebra and the study of Boolean
258        functions is associated with digital hardware design, but results and        functions is associated with digital hardware design, but results and
259        algorithms involving the simplification of Boolean functions also have        algorithms involving the simplification of Boolean functions also have
260        application to the simplification of software control flow constructs.        application to the simplification of software control flow constructs.
261  \item \textbf{Chapter\;\ref{cqua0}, \cquazerotitle{}} presents results surrounding  \item \textbf{Chapter\;\ref{cqua0}, \cquazerotitle{}} presents results surrounding
262        the analysis of calculation error introduced by \emph{quantization}, the        the analysis of calculation error introduced by \emph{quantization}, the
263        unavoidable mapping from $\vworkrealset{}$ to $\vworkintset{}$ that must occur        unavoidable mapping from $\vworkrealset{}$ to $\vworkintset{}$ that must occur
264        as signals from the external world, which are usually continuous in nature,        as signals from the external world, which are usually continuous in nature,
265        are converted and processed by a microcontroller, which can inherently manipulate        are converted and processed by a microcontroller, which can inherently manipulate
266        only integers.        only integers.
267  \item \textbf{Chapter\;\ref{cmtn0}, \cmtnzerotitle{}} presents miscellaneous results  \item \textbf{Chapter\;\ref{cmtn0}, \cmtnzerotitle{}} presents miscellaneous results
268        from number theory which are useful or interesting, but awkward to        from number theory which are useful or interesting, but awkward to
269        categorize.        categorize.
270  \end{itemize}  \end{itemize}
271    
272    
273  <mv>\textbf{Volume \vcswzeroroman{}:  \vcswzerotitle{}}  <mv>\textbf{Volume \vcswzeroroman{}:  \vcswzerotitle{}}
274  <sv>\textbf{Part III:  Construction Of Embedded Software}  <sv>\textbf{Part III:  Construction Of Embedded Software}
275  details the way embedded systems are (or should be)  details the way embedded systems are (or should be)
276  constructed in practice.  constructed in practice.
277  \begin{itemize}  \begin{itemize}
278  \item \textbf{Chapter\;\ref{cpco0}, \cpcozerotitle{}} outlines many aspects of  \item \textbf{Chapter\;\ref{cpco0}, \cpcozerotitle{}} outlines many aspects of
279        the way that embedded software is constructed (or should be constructed)        the way that embedded software is constructed (or should be constructed)
280        in practice.        in practice.
281    
282  \item \textbf{Chapter\;\ref{csoc0}, \csoczerotitle{}} treats issues specific to  \item \textbf{Chapter\;\ref{csoc0}, \csoczerotitle{}} treats issues specific to
283        the support of peripherals that are usually located on the same silicon        the support of peripherals that are usually located on the same silicon
284        die as the microcontroller, such as hardware watchdogs or EEPROM.        die as the microcontroller, such as hardware watchdogs or EEPROM.
285    
286  \item \textbf{Chapter\;\ref{csoc1}, \csoconetitle{}} treats issues specific to  \item \textbf{Chapter\;\ref{csoc1}, \csoconetitle{}} treats issues specific to
287        the support of peripherals that are usually separate from the microcontroller,        the support of peripherals that are usually separate from the microcontroller,
288        such as transducers and actuators.        such as transducers and actuators.
289    
290  \item \textbf{Chapter\;\ref{csnc0}, \csnczerotitle{}} discusses the support  \item \textbf{Chapter\;\ref{csnc0}, \csnczerotitle{}} discusses the support
291        of communication protocols and networks.        of communication protocols and networks.
292    
293  \item \textbf{Chapter\;\ref{csfo0}, \csfozerotitle{}} discusses requirements  \item \textbf{Chapter\;\ref{csfo0}, \csfozerotitle{}} discusses requirements
294        that tend to occur in many different types of embedded software,        that tend to occur in many different types of embedded software,
295        such as the need to calibrate an embedded product or diagnose it        such as the need to calibrate an embedded product or diagnose it
296        via a communication link.        via a communication link.
297    
298  \item \textbf{Chapter\;\ref{crta0}, \crtazerotitle{}} discusses the real-time  \item \textbf{Chapter\;\ref{crta0}, \crtazerotitle{}} discusses the real-time
299        analysis of embedded software; that is, how embedded software can be        analysis of embedded software; that is, how embedded software can be
300        analyzed to be sure that it will always meet its real-time constraints.        analyzed to be sure that it will always meet its real-time constraints.
301  \end{itemize}  \end{itemize}
302    
303    
304  <mv>\textbf{Volume \valgzeroroman{}: \valgzerotitle{}}  <mv>\textbf{Volume \valgzeroroman{}: \valgzerotitle{}}
305  <sv>\textbf{Part IV:  Embedded System Algorithms And Techniques}  <sv>\textbf{Part IV:  Embedded System Algorithms And Techniques}
306  presents algorithms which are used in a target embedded system.  presents algorithms which are used in a target embedded system.
307    
308  \begin{itemize}  \begin{itemize}
309  \item \textbf{Chapter\;\ref{ccil0}, \ccilzerotitle{}} presents  \item \textbf{Chapter\;\ref{ccil0}, \ccilzerotitle{}} presents
310        classical and simple\footnote{Here \emph{classical} is used        classical and simple\footnote{Here \emph{classical} is used
311            in the same sense as Knuth uses it in \cite[p. 265]{bibref:b:knuthclassic2ndedvol2}.}            in the same sense as Knuth uses it in \cite[p. 265]{bibref:b:knuthclassic2ndedvol2}.}
312            integer algorithms and techniques which            integer algorithms and techniques which
313        are used in embedded systems.  Because integer and fixed point algorithms        are used in embedded systems.  Because integer and fixed point algorithms
314        are the dominant paradigm of arithmetic in small microcontroller        are the dominant paradigm of arithmetic in small microcontroller
315        systems, this chapter is the backbone of most arithmetic in these systems.        systems, this chapter is the backbone of most arithmetic in these systems.
316    
317  \item \textbf{Chapter\;\ref{crat0}, \cratzerotitle{}} develops techniques  \item \textbf{Chapter\;\ref{crat0}, \cratzerotitle{}} develops techniques
318        and results surrounding rational approximation; that is, arpproximating a real number        and results surrounding rational approximation; that is, arpproximating a real number
319        $r_I$ by a rational number $h/k$.        $r_I$ by a rational number $h/k$.
320    
321  \item \textbf{Chapter\;\ref{cdta0}, \cdtazerotitle{}} presents algorithms  \item \textbf{Chapter\;\ref{cdta0}, \cdtazerotitle{}} presents algorithms
322        for use in discrete time (such as integration and differentiation),        for use in discrete time (such as integration and differentiation),
323        and also more sophisticated integer algorithms.        and also more sophisticated integer algorithms.
324    
325  \item \textbf{Chapter\;\ref{cnnu0}, \cnnuzerotitle{}} presents miscellaneous  \item \textbf{Chapter\;\ref{cnnu0}, \cnnuzerotitle{}} presents miscellaneous
326        non-numerical algorithms for use in target embedded systems.        non-numerical algorithms for use in target embedded systems.
327  \end{itemize}  \end{itemize}
328    
329    
330  <mv>\textbf{Volume \vpaczeroroman{}: \vpaczerotitle{}}  <mv>\textbf{Volume \vpaczeroroman{}: \vpaczerotitle{}}
331  <sv>\textbf{Part V:  Practical, Administrative, Incidental, And Miscellaneous Topics}  <sv>\textbf{Part V:  Practical, Administrative, Incidental, And Miscellaneous Topics}
332  discusses topics that are non-technical, only peripherally related to embedded system  discusses topics that are non-technical, only peripherally related to embedded system
333  software development,  software development,
334  or difficult to categorize elsewhere.  or difficult to categorize elsewhere.
335    
336  \begin{itemize}  \begin{itemize}
337  \item \textbf{Chapter\;\ref{cmpd0}, \cmpdzerotitle{}} discusses practical technqiues for  \item \textbf{Chapter\;\ref{cmpd0}, \cmpdzerotitle{}} discusses practical technqiues for
338        the management of materials produced during the product development process.        the management of materials produced during the product development process.
339    
340  \item \textbf{Chapter\;\ref{cpit0}, \cpitzerotitle{}} provides designs and some  \item \textbf{Chapter\;\ref{cpit0}, \cpitzerotitle{}} provides designs and some
341        analysis of circuits that are useful in microcontroller software        analysis of circuits that are useful in microcontroller software
342            development---either in microcontroller products themselves or in            development---either in microcontroller products themselves or in
343            test fixtures.            test fixtures.
344    
345  \item \textbf{Chapter\;\ref{cbma0}, \cbmazerotitle{}} discusses  \item \textbf{Chapter\;\ref{cbma0}, \cbmazerotitle{}} discusses
346        bad management and unpleasant work situations, provides paradigms        bad management and unpleasant work situations, provides paradigms
347        and strategies for dealing with unpleasant work situations, and provides        and strategies for dealing with unpleasant work situations, and provides
348            guidance in finding employment.            guidance in finding employment.
349    
350  \item \textbf{Chapter\;\ref{cpxf0}, \cpxfzerotitle{}} describes software and  \item \textbf{Chapter\;\ref{cpxf0}, \cpxfzerotitle{}} describes software and
351        hardware products which are exceptionally useful in embedded product development.        hardware products which are exceptionally useful in embedded product development.
352    
353  \item \textbf{Chapter\;\ref{corq0}, \corqzerotitle{}} describes open research  \item \textbf{Chapter\;\ref{corq0}, \corqzerotitle{}} describes open research
354        questions, i.e. problems I am aware of but do not know how to solve.        questions, i.e. problems I am aware of but do not know how to solve.
355    
356  \item \textbf{Chapter\;\ref{cisk0}, \ciskzerotitle{}} contains reverse analyses of  \item \textbf{Chapter\;\ref{cisk0}, \ciskzerotitle{}} contains reverse analyses of
357        embedded product defects, and the lessons to be learned from these        embedded product defects, and the lessons to be learned from these
358            defects.\footnote{The word \emph{Insektengericht} (``insect court'', in German)            defects.\footnote{The word \emph{Insektengericht} (``insect court'', in German)
359            comes from a page in a \emph{Beavis and Butthead} comic book purchsed in            comes from a page in a \emph{Beavis and Butthead} comic book purchsed in
360            the M\"unchen Hauptbahnhoff around 1996.  In this comic book, Beavis and            the M\"unchen Hauptbahnhoff around 1996.  In this comic book, Beavis and
361            Butthead sit in judgement of insects (bugs), always with the verdict            Butthead sit in judgement of insects (bugs), always with the verdict
362            \emph{schuldig} (guilty), and always with harsh sentences such as            \emph{schuldig} (guilty), and always with harsh sentences such as
363            \emph{Tod durch explodieren} (death by explosion).  I do much the same            \emph{Tod durch explodieren} (death by explosion).  I do much the same
364            thing with embedded software bugs and embedded product defects.}            thing with embedded software bugs and embedded product defects.}
365            Because it isn't possible in the product development process to address            Because it isn't possible in the product development process to address
366            \emph{every} possible source of defect, I feel it is important to            \emph{every} possible source of defect, I feel it is important to
367            have a visceral feel for what is most likely to go wrong; and such            have a visceral feel for what is most likely to go wrong; and such
368            intuition can only come from actively collecting product defects.  I very much            intuition can only come from actively collecting product defects.  I very much
369            hope that airline pilots study transcripts and reports from airplane crashes, and I            hope that airline pilots study transcripts and reports from airplane crashes, and I
370            encourage embedded software developers to do the same.            encourage embedded software developers to do the same.
371  \end{itemize}  \end{itemize}
372    
373    
374  <mv>\textbf{Volume \vijtzeroroman{}: \vijtzerotitle{}}  <mv>\textbf{Volume \vijtzeroroman{}: \vijtzerotitle{}}
375  <sv>\textbf{Part VI:  ESRG Tool Set Reference Guide}  <sv>\textbf{Part VI:  ESRG Tool Set Reference Guide}
376  is a reference for the research tool set for microcontroller  is a reference for the research tool set for microcontroller
377  work (based on Tcl/Tk from Scriptics/Ajuba/Interwoven), which is packaged  work (based on Tcl/Tk from Scriptics/Ajuba/Interwoven), which is packaged
378  with this book.  with this book.
379    
380  \begin{itemize}  \begin{itemize}
381  \item \textbf{Chapter\;\ref{ctin0}, \ctinzerotitle{}} contains an overview  \item \textbf{Chapter\;\ref{ctin0}, \ctinzerotitle{}} contains an overview
382        of the tool set and its design goals and construction.        of the tool set and its design goals and construction.
383    
384  \item \textbf{Chapter\;\ref{ctcm0}, \ctcmzerotitle{}} provides a reference  \item \textbf{Chapter\;\ref{ctcm0}, \ctcmzerotitle{}} provides a reference
385        for the Tcl scripting language, around which the tool set is constructed.        for the Tcl scripting language, around which the tool set is constructed.
386    
387  \item \textbf{Chapter\;\ref{ctkm0}, \ctkmzerotitle{}} provides a reference  \item \textbf{Chapter\;\ref{ctkm0}, \ctkmzerotitle{}} provides a reference
388        for the Tk graphical extensions to Tcl.  These graphical extensions,        for the Tk graphical extensions to Tcl.  These graphical extensions,
389            which are built into the tool set, are very useful for providing            which are built into the tool set, are very useful for providing
390            attractive GUI interfaces.            attractive GUI interfaces.
391    
392  \item \textbf{Chapter\;\ref{cfaq0}, \cfaqzerotitle{}} addresses frequently  \item \textbf{Chapter\;\ref{cfaq0}, \cfaqzerotitle{}} addresses frequently
393        asked questions and ``gotchas'' in Tcl and Tk.        asked questions and ``gotchas'' in Tcl and Tk.
394    
395  \item \textbf{Chapter\;\ref{cxtn0}, \cxtnzerotitle{}} documents the Tcl  \item \textbf{Chapter\;\ref{cxtn0}, \cxtnzerotitle{}} documents the Tcl
396        extensions which have been added to the script interpreters        extensions which have been added to the script interpreters
397            (\emph{EsrgScripter} and \emph{EsrgConsole}).  These extensions form the            (\emph{EsrgScripter} and \emph{EsrgConsole}).  These extensions form the
398            ``meat'' of \emph{The ESRG Tool Set}, and represent the new ideas or            ``meat'' of \emph{The ESRG Tool Set}, and represent the new ideas or
399            new effort we are trying to convey.  These new ideas and            new effort we are trying to convey.  These new ideas and
400        new effort are embedded into  Tcl interpreters to grant        new effort are embedded into  Tcl interpreters to grant
401            greater flexibility in their application.            greater flexibility in their application.
402    
403  \item \textbf{Chapter\;\ref{cdcm0}, \cdcmzerotitle{}} documents the DOS command-line  \item \textbf{Chapter\;\ref{cdcm0}, \cdcmzerotitle{}} documents the DOS command-line
404        utilities packaged with the tool set.  In many cases, these utilities        utilities packaged with the tool set.  In many cases, these utilities
405            perform functions identical or similar to Tcl extensions, but there are advantages to            perform functions identical or similar to Tcl extensions, but there are advantages to
406            packaging functionality as a DOS command-line utility.            packaging functionality as a DOS command-line utility.
407  \end{itemize}  \end{itemize}
408    
409    
410  <mv>\textbf{Volume \vsmazeroroman{}: \vsmazerotitle{}}  <mv>\textbf{Volume \vsmazeroroman{}: \vsmazerotitle{}}
411  <sv>\textbf{Part VIII:  Solutions To Selected Exercises}  <sv>\textbf{Part VIII:  Solutions To Selected Exercises}
412  contains solutions for selected exercises  contains solutions for selected exercises
413  found throughout the work.  found throughout the work.
414    
415  Although \marginpar{\textbf{Features For Readers}} I  Although \marginpar{\textbf{Features For Readers}} I
416  know that all of my readers will be involved in some way  know that all of my readers will be involved in some way
417  with technical things---such as mathematics, computer science,  with technical things---such as mathematics, computer science,
418  control theory, software quality, or the design and development  control theory, software quality, or the design and development
419  of embedded products---I realize that my readers will  of embedded products---I realize that my readers will
420  vary in what they are trying to obtain from the work.  Some readers  vary in what they are trying to obtain from the work.  Some readers
421  will be very research oriented, and may be trying to solve or pose  will be very research oriented, and may be trying to solve or pose
422  a particular hard problem.  a particular hard problem.
423  Other readers may be looking for a specific practical  Other readers may be looking for a specific practical
424  solution.  solution.
425    
426  For the more practical reader, I have tried to be complete--that  For the more practical reader, I have tried to be complete--that
427  is, I have tried not to omit information that might be  is, I have tried not to omit information that might be
428  necessary in understanding my work without additional  necessary in understanding my work without additional
429  research effort.  In addition, a rich set of helpful materials is  research effort.  In addition, a rich set of helpful materials is
430  packaged with \emph{The ESRG Tool Set} installation.  packaged with \emph{The ESRG Tool Set} installation.
431    
432  For the more research-oriented reader, I have tried to allow the  For the more research-oriented reader, I have tried to allow the
433  reader to rapidly find books, technical papers, Web sites,  reader to rapidly find books, technical papers, Web sites,
434  technical experts,  technical experts,
435  and researchers.  For this reason, books, papers,  and researchers.  For this reason, books, papers,
436  Web sites, and individuals  Web sites, and individuals
437  are all cited and referenced using the same  are all cited and referenced using the same
438  framework in the bibliography.  This means the  framework in the bibliography.  This means the
439  reader is directed not only to technical documents,  reader is directed not only to technical documents,
440  but also to the authors of the  but also to the authors of the
441  documents.  documents.
442    
443  Since \marginpar{\textbf{Version Identification}}  Since \marginpar{\textbf{Version Identification}}
444  this book will be maintained on the Web, the issue arises of how  this book will be maintained on the Web, the issue arises of how
445  a reader would know one version of this book from another.  a reader would know one version of this book from another.
446  I have provided two mechanisms for this.\footnote{\TeX{}  I have provided two mechanisms for this.\footnote{\TeX{}
447  tradition would demand that I pick a transcendental number  tradition would demand that I pick a transcendental number
448  and with each successive version reveal another decimal place,  and with each successive version reveal another decimal place,
449  but that is too much work for me, given that  but that is too much work for me, given that
450  version control systems will handle the task automatically.}  version control systems will handle the task automatically.}
451    
452  \begin{itemize}  \begin{itemize}
453    
454     \item The title page indicates when the work was compiled from     \item The title page indicates when the work was compiled from
455     \LaTeX{} source code.  Two copies of the work with the     \LaTeX{} source code.  Two copies of the work with the
456     same compile date are almost certainly identical.     same compile date are almost certainly identical.
457    
458     \item The entire work is maintained under a version control     \item The entire work is maintained under a version control
459     system (CVS at \emph{SourceForge}),     system (CVS at \emph{SourceForge}),
460     \index{CVS}\index{SourceForge} and I've included     \index{CVS}\index{SourceForge} and I've included
461     keyword expansions near the end of the \LaTeX{} source files so that version     keyword expansions near the end of the \LaTeX{} source files so that version
462     control information is included automatically in the document text (for example,     control information is included automatically in the document text (for example,
463     a block of version control information is at the end of each chapter).     a block of version control information is at the end of each chapter).
464     Sections or chapters with the same version control information are almost certainly     Sections or chapters with the same version control information are almost certainly
465     identical.     identical.
466    
467  \end{itemize}  \end{itemize}
468    
469  This \marginpar{\textbf{Book License}}\index{license} book is licensed under the  This \marginpar{\textbf{Book License}}\index{license} book is licensed under the
470  \emph{Academic Free License v. 2.0}, reproduced below for convenience.\footnote{Please  \emph{Academic Free License v. 2.0}, reproduced below for convenience.\footnote{Please
471  note that \emph{The ESRG Tool Set} and certain other materials are licensed under the GPL.  At this time  note that \emph{The ESRG Tool Set} and certain other materials are licensed under the GPL.  At this time
472  only this book is licensed under the \emph{Academic Free License}.}  only this book is licensed under the \emph{Academic Free License}.}
473    
474  \begin{it}  \begin{it}
475  This Academic Free License (the ``License'') applies to any original work of authorship  This Academic Free License (the ``License'') applies to any original work of authorship
476  (the ``Original Work'') whose owner (the ``Licensor'') has placed the following  (the ``Original Work'') whose owner (the ``Licensor'') has placed the following
477  notice immediately following the copyright notice for the Original Work:\\  notice immediately following the copyright notice for the Original Work:\\
478  \\  \\
479  Licensed under the Academic Free License version 2.0  Licensed under the Academic Free License version 2.0
480    
481  \begin{enumerate}  \begin{enumerate}
482  \item \textbf{Grant of Copyright License.} Licensor hereby grants You a world-wide, royalty-free,  \item \textbf{Grant of Copyright License.} Licensor hereby grants You a world-wide, royalty-free,
483        non-exclusive, perpetual, sublicenseable license to do the following:        non-exclusive, perpetual, sublicenseable license to do the following:
484                        
485     \begin{enumerate}     \begin{enumerate}
486     \item to reproduce the Original Work in copies;     \item to reproduce the Original Work in copies;
487     \item to prepare derivative works ("Derivative Works") based upon the Original Work;     \item to prepare derivative works ("Derivative Works") based upon the Original Work;
488     \item to distribute copies of the Original Work and Derivative Works to the public;     \item to distribute copies of the Original Work and Derivative Works to the public;
489     \item to perform the Original Work publicly; and     \item to perform the Original Work publicly; and
490     \item to display the Original Work publicly.     \item to display the Original Work publicly.
491     \end{enumerate}     \end{enumerate}
492    
493  \item \textbf{Grant of Patent License.} Licensor hereby grants You a world-wide, royalty-free, non-exclusive,  \item \textbf{Grant of Patent License.} Licensor hereby grants You a world-wide, royalty-free, non-exclusive,
494        perpetual, sublicenseable license, under patent claims owned or controlled by the Licensor that are embodied        perpetual, sublicenseable license, under patent claims owned or controlled by the Licensor that are embodied
495            in the Original Work as furnished by the Licensor, to make, use, sell and offer for sale the            in the Original Work as furnished by the Licensor, to make, use, sell and offer for sale the
496            Original Work and Derivative Works.            Original Work and Derivative Works.
497                        
498  \item \textbf{Grant of Source Code License.}  The term ``Source Code'' means the preferred form of the  \item \textbf{Grant of Source Code License.}  The term ``Source Code'' means the preferred form of the
499        Original Work for making modifications to it and all available documentation describing how to modify the        Original Work for making modifications to it and all available documentation describing how to modify the
500            Original Work. Licensor hereby agrees to provide a machine-readable copy of the Source Code of the            Original Work. Licensor hereby agrees to provide a machine-readable copy of the Source Code of the
501            Original Work along with each copy of the Original Work that Licensor distributes.            Original Work along with each copy of the Original Work that Licensor distributes.
502            Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of            Licensor reserves the right to satisfy this obligation by placing a machine-readable copy of
503            the Source Code in an information repository reasonably calculated to permit inexpensive and convenient            the Source Code in an information repository reasonably calculated to permit inexpensive and convenient
504            access by You for as long as Licensor continues to distribute the Original Work, and by publishing the            access by You for as long as Licensor continues to distribute the Original Work, and by publishing the
505            address of that information repository in a notice immediately following the copyright            address of that information repository in a notice immediately following the copyright
506            notice that applies to the Original Work.            notice that applies to the Original Work.
507    
508  \item \textbf{Exclusions From License Grant.}  Neither the names of Licensor, nor the names of any  \item \textbf{Exclusions From License Grant.}  Neither the names of Licensor, nor the names of any
509        contributors to the Original Work, nor any of their trademarks or service marks, may        contributors to the Original Work, nor any of their trademarks or service marks, may
510            be used to endorse or promote products derived from this Original Work without express prior            be used to endorse or promote products derived from this Original Work without express prior
511            written permission of the Licensor.  Nothing in this License shall be deemed to grant any            written permission of the Licensor.  Nothing in this License shall be deemed to grant any
512            rights to trademarks, copyrights, patents, trade secrets or any other intellectual property            rights to trademarks, copyrights, patents, trade secrets or any other intellectual property
513            of Licensor except as expressly stated herein. No patent license is granted to make, use,            of Licensor except as expressly stated herein. No patent license is granted to make, use,
514            sell or offer to sell embodiments of any patent claims other than the licensed claims            sell or offer to sell embodiments of any patent claims other than the licensed claims
515            defined in Section 2.  No right is granted to the trademarks of Licensor even if such marks            defined in Section 2.  No right is granted to the trademarks of Licensor even if such marks
516            are included in the Original Work. Nothing in this License shall be interpreted to prohibit            are included in the Original Work. Nothing in this License shall be interpreted to prohibit
517            Licensor from licensing under different terms from this License any Original Work that            Licensor from licensing under different terms from this License any Original Work that
518            Licensor otherwise would have a right to license.            Licensor otherwise would have a right to license.
519    
520  \item This section intentionally omitted.  \item This section intentionally omitted.
521    
522  \item \textbf{Attribution Rights.}  You must retain, in the Source Code of any Derivative Works that  \item \textbf{Attribution Rights.}  You must retain, in the Source Code of any Derivative Works that
523        You create, all copyright, patent or trademark notices from the Source Code of the Original Work,        You create, all copyright, patent or trademark notices from the Source Code of the Original Work,
524            as well as any notices of licensing and any descriptive text identified therein as an            as well as any notices of licensing and any descriptive text identified therein as an
525            ``Attribution Notice.''  You must cause the Source Code for any Derivative Works that            ``Attribution Notice.''  You must cause the Source Code for any Derivative Works that
526            You create to carry a prominent Attribution Notice reasonably calculated to inform            You create to carry a prominent Attribution Notice reasonably calculated to inform
527            recipients that You have modified the Original Work.            recipients that You have modified the Original Work.
528    
529  \item \textbf{Warranty of Provenance and Disclaimer of Warranty.}  Licensor warrants that the copyright in  \item \textbf{Warranty of Provenance and Disclaimer of Warranty.}  Licensor warrants that the copyright in
530        and to the Original Work and the patent rights granted herein by Licensor are owned by the        and to the Original Work and the patent rights granted herein by Licensor are owned by the
531            Licensor or are sublicensed to You under the terms of this License with the permission of            Licensor or are sublicensed to You under the terms of this License with the permission of
532            the contributor(s) of those copyrights and patent rights.  Except as expressly stated in the            the contributor(s) of those copyrights and patent rights.  Except as expressly stated in the
533            immediately proceeding sentence, the Original Work is provided under this License on an            immediately proceeding sentence, the Original Work is provided under this License on an
534            ``AS IS'' BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation,            ``AS IS'' BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation,
535            the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.            the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
536            THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU.  This DISCLAIMER OF WARRANTY            THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU.  This DISCLAIMER OF WARRANTY
537            constitutes an essential part of this License.  No license to Original Work is granted            constitutes an essential part of this License.  No license to Original Work is granted
538            hereunder except under this disclaimer.            hereunder except under this disclaimer.
539    
540  \item \textbf{Limitation of Liability.}  Under no circumstances and under no legal theory, whether in  \item \textbf{Limitation of Liability.}  Under no circumstances and under no legal theory, whether in
541        tort (including negligence), contract, or otherwise, shall the Licensor be liable to any person for        tort (including negligence), contract, or otherwise, shall the Licensor be liable to any person for
542            any direct, indirect, special, incidental, or consequential damages of any character arising            any direct, indirect, special, incidental, or consequential damages of any character arising
543            as a result of this License or the use of the Original Work including, without limitation,            as a result of this License or the use of the Original Work including, without limitation,
544            damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all            damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all
545            other commercial damages or losses. This limitation of liability shall not apply to liability            other commercial damages or losses. This limitation of liability shall not apply to liability
546            for death or personal injury resulting from Licensor's negligence to the extent applicable law            for death or personal injury resulting from Licensor's negligence to the extent applicable law
547            prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of            prohibits such limitation. Some jurisdictions do not allow the exclusion or limitation of
548            incidental or consequential damages, so this exclusion and limitation may not apply to You.            incidental or consequential damages, so this exclusion and limitation may not apply to You.
549    
550  \item \textbf{Acceptance and Termination.}  If You distribute copies of the Original Work or a  \item \textbf{Acceptance and Termination.}  If You distribute copies of the Original Work or a
551        Derivative Work, You must make a reasonable effort under the circumstances to        Derivative Work, You must make a reasonable effort under the circumstances to
552        obtain the express assent of recipients to the terms of this License. Nothing        obtain the express assent of recipients to the terms of this License. Nothing
553        else but this License (or another written agreement between Licensor and You)        else but this License (or another written agreement between Licensor and You)
554        grants You permission to create Derivative Works based upon the Original Work        grants You permission to create Derivative Works based upon the Original Work
555        or to exercise any of the rights granted in Section 1 herein, and any attempt        or to exercise any of the rights granted in Section 1 herein, and any attempt
556        to do so except under the terms of this License (or another written agreement        to do so except under the terms of this License (or another written agreement
557        between Licensor and You) is expressly prohibited by U.S. copyright law, the        between Licensor and You) is expressly prohibited by U.S. copyright law, the
558        equivalent laws of other countries, and by international treaty. Therefore,        equivalent laws of other countries, and by international treaty. Therefore,
559        by exercising any of the rights granted to You in Section 1 herein, You indicate        by exercising any of the rights granted to You in Section 1 herein, You indicate
560        Your acceptance of this License and all of its terms and conditions.        Your acceptance of this License and all of its terms and conditions.
561    
562  \item \textbf{Termination for Patent Action.}  This License shall terminate automatically  \item \textbf{Termination for Patent Action.}  This License shall terminate automatically
563        and You may no longer exercise any of the rights granted to You by this License        and You may no longer exercise any of the rights granted to You by this License
564        as of the date You commence an action, including a cross-claim or counterclaim,        as of the date You commence an action, including a cross-claim or counterclaim,
565        for patent infringement (i) against Licensor with respect to a patent applicable        for patent infringement (i) against Licensor with respect to a patent applicable
566        to software or (ii) against any entity with respect to a patent applicable to        to software or (ii) against any entity with respect to a patent applicable to
567        the Original Work (but excluding combinations of the Original Work with other        the Original Work (but excluding combinations of the Original Work with other
568        software or hardware).        software or hardware).
569    
570  \item \textbf{Jurisdiction, Venue and Governing Law.}  Any action or suit relating to this  \item \textbf{Jurisdiction, Venue and Governing Law.}  Any action or suit relating to this
571        License may be brought only in the courts of a jurisdiction wherein the Licensor        License may be brought only in the courts of a jurisdiction wherein the Licensor
572        resides or in which Licensor conducts its primary business, and under the laws        resides or in which Licensor conducts its primary business, and under the laws
573        of that jurisdiction excluding its conflict-of-law provisions. The application        of that jurisdiction excluding its conflict-of-law provisions. The application
574        of the United Nations Convention on Contracts for the International Sale of Goods        of the United Nations Convention on Contracts for the International Sale of Goods
575        is expressly excluded. Any use of the Original Work outside the scope of this        is expressly excluded. Any use of the Original Work outside the scope of this
576        License or after its termination shall be subject to the requirements and        License or after its termination shall be subject to the requirements and
577        penalties of the U.S. Copyright Act, 17 U.S.C. 101 et seq., the equivalent        penalties of the U.S. Copyright Act, 17 U.S.C. 101 et seq., the equivalent
578        laws of other countries, and international treaty. This section shall        laws of other countries, and international treaty. This section shall
579        survive the termination of this License.        survive the termination of this License.
580    
581  \item \textbf{Attorneys Fees.}  In any action to enforce the terms of this License or  \item \textbf{Attorneys Fees.}  In any action to enforce the terms of this License or
582        seeking damages relating thereto, the prevailing party shall be entitled        seeking damages relating thereto, the prevailing party shall be entitled
583        to recover its costs and expenses, including, without limitation, reasonable        to recover its costs and expenses, including, without limitation, reasonable
584        attorneys' fees and costs incurred in connection with such action, including        attorneys' fees and costs incurred in connection with such action, including
585        any appeal of such action. This section shall survive the termination of        any appeal of such action. This section shall survive the termination of
586        this License.        this License.
587    
588  \item \textbf{Miscellaneous.} This License represents the complete agreement  \item \textbf{Miscellaneous.} This License represents the complete agreement
589        concerning the subject matter hereof. If any provision of this License        concerning the subject matter hereof. If any provision of this License
590        is held to be unenforceable, such provision shall be reformed only to        is held to be unenforceable, such provision shall be reformed only to
591        the extent necessary to make it enforceable.        the extent necessary to make it enforceable.
592    
593  \item \textbf{Definition of ``You'' in This License.} ``You'' throughout this License,  \item \textbf{Definition of ``You'' in This License.} ``You'' throughout this License,
594        whether in upper or lower case, means an individual or a legal entity        whether in upper or lower case, means an individual or a legal entity
595        exercising rights under, and complying with all of the terms of, this        exercising rights under, and complying with all of the terms of, this
596        License. For legal entities, ``You'' includes any entity that controls,        License. For legal entities, ``You'' includes any entity that controls,
597        is controlled by, or is under common control with you. For purposes of        is controlled by, or is under common control with you. For purposes of
598        this definition, ``control'' means (i) the power, direct or indirect,        this definition, ``control'' means (i) the power, direct or indirect,
599        to cause the direction or management of such entity, whether by        to cause the direction or management of such entity, whether by
600        contract or otherwise, or (ii) ownership of fifty percent (50%)        contract or otherwise, or (ii) ownership of fifty percent (50%)
601        or more of the outstanding shares, or (iii) beneficial ownership        or more of the outstanding shares, or (iii) beneficial ownership
602        of such entity.        of such entity.
603    
604  \item \textbf{Right to Use.}  You may use the Original Work in all ways not  \item \textbf{Right to Use.}  You may use the Original Work in all ways not
605        otherwise restricted or conditioned by this License or by law,        otherwise restricted or conditioned by this License or by law,
606        and Licensor promises not to interfere with or be responsible        and Licensor promises not to interfere with or be responsible
607        for such uses by You.        for such uses by You.
608  \end{enumerate}  \end{enumerate}
609  \end{it}  \end{it}
610    
611    
612  I \marginpar{\textbf{Intellectual Property}} believe very  I \marginpar{\textbf{Intellectual Property}} believe very
613  strongly in the notion of intellectual property.  I have endeavored  strongly in the notion of intellectual property.  I have endeavored
614  in this book to cite all references and to identify all work and  in this book to cite all references and to identify all work and
615  all ideas that are not my own.\footnote{I've actually gone a step  all ideas that are not my own.\footnote{I've actually gone a step
616  further---I've tried to provide enough information to allow a  further---I've tried to provide enough information to allow a
617  motivated reader to get in touch with the originator of the work  motivated reader to get in touch with the originator of the work
618  or ideas.}  I would request the same courtesy in return (but will  or ideas.}  I would request the same courtesy in return (but will
619  not enforce this courtesy, except by exposure of parties responsible  not enforce this courtesy, except by exposure of parties responsible
620  for the theft of ideas without credit).  Plagiarism and theft of intellectual property is a  for the theft of ideas without credit).  Plagiarism and theft of intellectual property is a
621  regrettable but common occurrence, and I can  regrettable but common occurrence, and I can
622  reliably predict that some student somewhere in the Webbed world  reliably predict that some student somewhere in the Webbed world
623  will borrow my ideas or work without citation  will borrow my ideas or work without citation
624  for a semester project---such events would earn my scorn  for a semester project---such events would earn my scorn
625  but be relatively insignificant  but be relatively insignificant
626  on my radar screen.  However, if any of my work appears without  on my radar screen.  However, if any of my work appears without
627  credit in academic journals, I would take the matter less  credit in academic journals, I would take the matter less
628  jovially and would very likely report the plagiarism to the journal  jovially and would very likely report the plagiarism to the journal
629  involved.  involved.
630    
631  I \marginpar{\textbf{Contacting the Author}}\index{contacting the author}  I \marginpar{\textbf{Contacting the Author}}\index{contacting the author}
632  can be contacted at \texttt{dtashley@aol.com}.  I invite readers  can be contacted at \texttt{dtashley@aol.com}.  I invite readers
633  to contact me about  to contact me about
634  any material in this book, in \emph{The ESRG Tool Set}, or at  any material in this book, in \emph{The ESRG Tool Set}, or at
635  the web site \texttt{http://esrg.sourceforge.net}.  the web site \texttt{http://esrg.sourceforge.net}.
636    
637  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
638    
639  \noindent\begin{figure}[!b]  \noindent\begin{figure}[!b]
640  \noindent\rule[-0.25in]{\textwidth}{1pt}  \noindent\rule[-0.25in]{\textwidth}{1pt}
641  \begin{tiny}  \begin{tiny}
642  \begin{verbatim}  \begin{verbatim}
643  $RCSfile: workprfa.tex,v $  $HeadURL$
644  $Source: /home/dashley/cvsrep/e3ft_gpl01/e3ft_gpl01/dtaipubs/esrgubka/volshare/workprfa.tex,v $  $Revision$
645  $Revision: 1.7 $  $Date$
646  $Author: dtashley $  $Author$
647  $Date: 2003/11/28 23:23:17 $  \end{verbatim}
648  \end{verbatim}  \end{tiny}
649  \end{tiny}  \noindent\rule[0.25in]{\textwidth}{1pt}
650  \noindent\rule[0.25in]{\textwidth}{1pt}  \end{figure}
651  \end{figure}  %
652    %End of file WORKPRFA.TEX
 % $Log: workprfa.tex,v $  
 % Revision 1.7  2003/11/28 23:23:17  dtashley  
 % Edits to reflect single author, Academic Free License, and other  
 % changes.  
 %  
 % Revision 1.6  2003/05/15 08:25:08  dtashley  
 % Changes for removal of "Information for Authors" chapter (this has been  
 % moved to a web page).  
 %  
 % Revision 1.5  2003/05/15 04:50:47  dtashley  
 % Changes pursuant to removal of the quote farm chapter (it has been moved to  
 % be a web page).  
 %  
 % Revision 1.4  2001/08/27 20:06:09  dtashley  
 % Edits and substantial re-organization.  
 %  
 % Revision 1.3  2001/06/18 23:48:41  dtashley  
 % Changes after move to SourceForge and combining of book with  
 % tool set.  
 %  
 % Revision 1.2  2001/06/17 20:52:50  dtashley  
 % Modified for CVS.  
 %  
 %$History: workprfa.tex $  
 %  
 % *****************  Version 16  *****************  
 % User: Dashley1     Date: 1/31/01    Time: 4:20p  
 % Updated in $/uC Software Multi-Volume Book (A)/Shared, Volume Sections, Styles, And Graphics  
 % Edits.  
 %  
 % *****************  Version 15  *****************  
 % User: Dashley1     Date: 1/01/01    Time: 8:13p  
 % Updated in $/uC Software Multi-Volume Book (A)/Shared, Volume Sections, Styles, And Graphics  
 % Edits.  
 %  
 % *****************  Version 14  *****************  
 % User: Dashley1     Date: 12/22/00   Time: 12:57a  
 % Updated in $/uC Software Multi-Volume Book (A)/Shared, Volume Sections, Styles, And Graphics  
 % Tcl automated method of build refined.  
 %  
 % *****************  Version 13  *****************  
 % User: David T. Ashley Date: 7/29/00    Time: 11:51p  
 % Updated in $/uC Software Multi-Volume Book (A)/Shared, Volume Sections, Styles, And Graphics  
 % Edits, addition of solutions manual volume.  
 %  
 % *****************  Version 12  *****************  
 % User: David T. Ashley Date: 7/11/00    Time: 8:32p  
 % Updated in $/uC Software Multi-Volume Book (A)/Shared, Volume Sections, Styles, And Graphics  
 % Separation and enhancement of quantization chapter.  
 %  
 % *****************  Version 11  *****************  
 % User: David T. Ashley Date: 7/09/00    Time: 11:17p  
 % Updated in $/uC Software Multi-Volume Book (A)/Shared, Volume Sections, Styles, And Graphics  
 % Addition of new chapters, enhancements to preface.  
 %  
 % *****************  Version 10  *****************  
 % User: David T. Ashley Date: 7/08/00    Time: 8:36p  
 % Updated in $/uC Software Multi-Volume Book (A)/Shared, Volume Sections, Styles, And Graphics  
 % Minor edits, plus removal of Beavis and Butthead image until permission  
 % is obtained from MTV.  
 %  
 % *****************  Version 9  *****************  
 % User: Dashley1     Date: 6/27/00    Time: 7:36p  
 % Updated in $/uC Software Multi-Volume Book (A)/Shared, Volume Sections, Styles, And Graphics  
 % Edits for rationmetric conversion systems.  
 %  
 % *****************  Version 8  *****************  
 % User: Dashley1     Date: 6/15/00    Time: 9:08p  
 % Updated in $/uC Software Multi-Volume Book (A)/Shared, Volume Sections, Styles, And Graphics  
 % Refinement work, including first attempt at adding index.  
 %  
 % *****************  Version 7  *****************  
 % User: Dashley1     Date: 6/15/00    Time: 8:26p  
 % Updated in $/uC Software Multi-Volume Book (A)/Shared, Volume Sections, Styles, And Graphics  
 % Minor omission--emphasis on word missing.  
 %  
 % *****************  Version 6  *****************  
 % User: Dashley1     Date: 6/15/00    Time: 7:40p  
 % Updated in $/uC Software Multi-Volume Book (A)/Shared, Volume Sections, Styles, And Graphics  
 % Proofreading changes.  
 %  
 % *****************  Version 5  *****************  
 % User: Dashley1     Date: 6/14/00    Time: 6:02p  
 % Updated in $/uC Software Multi-Volume Book (A)/Shared, Volume Sections, Styles, And Graphics  
 % Addition of section "Information For Authors", and patch up of  
 % miscellaneous references.  
 %  
 % *****************  Version 4  *****************  
 % User: Dashley1     Date: 6/13/00    Time: 9:06p  
 % Updated in $/uC Software Multi-Volume Book (A)/Shared, Volume Sections, Styles, And Graphics  
 % Preface enhancements.  
 %  
 % *****************  Version 3  *****************  
 % User: Dashley1     Date: 6/12/00    Time: 8:28p  
 % Updated in $/uC Software Multi-Volume Book (A)/Shared, Volume Sections, Styles, And Graphics  
 % Printable version control information updated, quotes rearranged and  
 % reformatted.  
 %  
 % *****************  Version 2  *****************  
 % User: David T. Ashley Date: 6/11/00    Time: 4:03p  
 % Updated in $/uC Software Multi-Volume Book (A)/Shared, Volume Sections, Styles, And Graphics  
 % VC info added, filenames corrected.  
 %  
 %End of file WORKPRFA.TEX  

Legend:
Removed from v.5  
changed lines
  Added in v.274

dashley@gmail.com
ViewVC Help
Powered by ViewVC 1.1.25