Monday, October 23, 2006

Known Errata of Volume 3

Errata, Software Engineering, Volume 3

Domains, Requirements and Software Design



Some known errata are given here for reference.

I recommend the following format and style for typos (J. Xiang):

p.xx, l.yy: ..."typos"... --> ..."corrections"...[?] (XYZ)

(p. : page; xx: page number; l.: line; yy: line number; "typos": the bugs or mistakes; "corrections": the corrections; ...: the words or sentences before or after the "typos"/"corrections"; (XYZ): your initials)

In case you are not confident with the correction, then a optional ? ([] denotes Optionality) can be added at the end of record.

All the typos should be ordered by the page and line numbers, i.e., p.xx, l.yy, such that others can easily find the place and insert new records. In this case, I think the number of record is uncessary.


------------------------------------------------------------------------------------------


p.274 In the figure named Formal Presentation: Railway blahblah", the line after bold word Axiom, og:"OG" --> og:"oG" (Guoqiangli)

p.429 Section 19.5 Interface Requirements. Under the Characterisation, the first paragraph, the second sentence: "It must be en entity ." where "en" should be "an" . (Liu Bochao)

Known Errata of Volume 2

Errata, Software Engineering, Volume 2

Specification of Systems and Languages


Some known errata are given here for reference.

I recommend the following format and style for typos (J. Xiang):

p.xx, l.yy: ..."typos"... --> ..."corrections"...[?] (XYZ)

(p. : page; xx: page number; l.: line; yy: line number; "typos": the bugs or mistakes; "corrections": the corrections; ...: the words or sentences before or after the "typos"/"corrections"; (XYZ): your initials)

In case you are not confident with the correction, then a optional ? ([] denotes Optionality) can be added at the end of record.

All the typos should be ordered by the page and line numbers, i.e., p.xx, l.yy, such that others can easily find the place and insert new records. In this case, I think the number of record is uncessary.

-----------------------------------------------------------------------------------------

p.28 Section Input/Output Events Let c,k[i] and e designate channels of type A and B.
The intended meaning of e should not be a channel. It is an expression here. (Liu Bochao)

Page 105. The paragraphs after the title "Domain Analysis:Text". Many "Figure 4.5"(on page 105-106) in those paragraphs shall be "Figure 4.2". (Liu)

Page 113.
a. The first line after "4.8.2". "The predicates alpha,beta,...,omega", in which "omega" shall be "xi".
b. The 6th line of this paragraph, "as if there were ten different symbols", in which "ten" shall be "seven". (Liu)

Page 132. The first line and 5th line under Figure 5.1. "X,Y,X" shall be "X,Y,Z". (Liu)

Page 133. The last but two and three line of the first paragraph, "curve/space" shall be "curve/surface". (Liu)

Page 137. The 3rd item "... at time t the it is not possible for ...", where "the" should be "then". (Liu)

Page 139. The first paragraph, "...which yields the possibly empty map from cars --- .... --- and their positions along those street segments", where "and" shall be "to". (Liu)


Page 149. The first and 4th line before Exercise 6.3, "DaUTIL" shall be "DuaLTIL". (Liu)

Page 233. The last line before Section 9.6. "....of functions (including) processes over these" shall be "... of functions (including processes) over these". (Liu)

Page 414. The 2nd line before Definition 13.7. "... of the recusive path ordering will suffice", where "path" shall be "partial". (Liu)

Page 418. The 6th line of Definition 13.13. "...is in path formal if it has ...", where "formal" should be "format". (Liu)

Page 424. The first line after the third rule, "with f in \Sigma and n-ary function symbol" where "and" should be "an". (Liu)

Page 351. The last but three line "internal in-edge process channel for for a ,...", where there is a duplication of "for"s, one should be deleted. (Liu)

Page 357. The last line of the last paragraph but two, "an equal probablility ..." where "probablility" is a typo. (Liu)

Page 306. The last but two line of the second code fragement, "M('psi)", where "'psi" shall be "\psi". (Liu)

P580. The second line to the bottom. " of Sect. 16 is to show .........". Here "Sect." should be "Chapter". (Liu)

Page. 600 In the middle of this page, " If one of the values, for example, v2:"
and P601 the first line after the example on the top "Invoking the
closure identified by id2 in the stack model.......". Here "v2" shall be "vm" and "id2" shall be "idm". (Liu)

P605. The first line, " Whereas in ENV1 and ENV2, .........". Here "ENV1" and "ENV2" shall be "ENVa" and "ENVi". (Liu)

Page 628. For figure [0] and [1], "Present Step" is mistakenly designated by "Previous Step". (Liu)

Page 659. The last line of the first paragraph of Sect. 17.1 " We will apply them again, in Chap. 17,............." Here "17" should be 18.

Page 686. The first sentence of the paragraph before Sect. 19.3.2. "So our language has serveral of the capabilities. The properties of a modular, or object-oriented programming lanugage". Here remove "capabilities. The".

Page 688. The example in the middle, "The continuation process structure: \theta:(........'rho......)" Here " 'rho" should be "\rho" (in latex format). (Liu)

Page 693. The second line of Sect 19.5.2 "..... and environments; a set, $\psi$'s , of ..." Here "$\psi$'s" should be "$\pi$s".

Also on Page 693, the third line to the bottom of the last example code,

" \>\>\kw{let} $\psi$ {\EQ} Distribute($\pi$s,ps,$\rho$) \kw{in}\\ "

Here "\rho" should be "\rho' ' " The explanation above this example about "\rho" should also be "\rho' ' ". (Liu)

P695. The definition of Distribute function.
------------------------
% if `pi&s&={} /* assert: */ pqs={}
% then let `pi:`Pi :- `pi isin `pi&s&, pq:P-list :- pq isin pqs in
% {(pq^<.&stop&(`pi).>,`rho)} union Distribute(`pi&s& \
{`pi},pqs \ {pq},`rho) end
% else {}
-----------------------
Here the expression after "then" should be interchanged with that after
"else". (Liu)

P720. The second item on the top of this page. "Compilation functions which apply to syntactic source language constructs.......". Here "which " shall be removed. (Liu)

Friday, October 13, 2006

Known Errata of Volume 1

Errata, Software Engineering, Volume 1

Abstraction and Modeling



Some known errata are given here for reference.

I recommend the following format and style for typos (J. Xiang):

p.xx, l.yy: ..."typos"... --> ..."corrections"...[?] (XYZ)

(p. : page; xx: page number; l.: line; yy: line number; "typos": the bugs or mistakes; "corrections": the corrections; ...: the words or sentences before or after the "typos"/"corrections"; (XYZ): your initials)

In case you are not confident with the correction, then a optional ? ([] denotes Optionality) can be added at the end of record.

All the typos should be ordered by the page and line numbers, i.e., p.xx, l.yy, such that others can easily find the place and insert new records. In this case, I think the number of record is uncessary.

---------------------------------------------------------------------------------------

p.VI, left column poem, l.1: "footseps" --> "footsteps" (Dines Bjorner)

P18. The last sentence of the 4th paragraph, "Michael Jacson [308]
refers to domain descriptions as imperative." Here "domain
descriptions" should be "software design". (Liu Bochao)

P26. The 3rd sentence of the first paragraph of section 1.4.3, "As
for all crafts,....,different size planners, ...". Here "planners" should be "planers". (Liu Bochao)

P95. In item (5), "We express by:\lambda x.\lambda y.\lambda
x. E(x,y,...,z)". Here the third binding variable "\lambda x" should
be "\lambda z". (Liu Bochao)

P101. In the example given just in the 2nd paragraph, type "D"
should be declared. (Liu Bochao)

P101. A typo at the footnote, "evauation" should be "evaluation". (Liu Bochao)

P103. In the example given in the second paragraph,
" ...........
And, instead of expression function application as :
f(a)(b)(c)". Here "expression" should be "expressing". (Liu Bochao)

P110. Section 7.1
"x, \lambda y.e, f(a)
........... We "read" the expression \lambda y.e as follows: The
function of x ..... all free occurrences of the variable x with
\lambda-expression a". Here the last two "x"s should be "y". (Liu Bochao)

P125. The 4th line,
"3. <\phi_0,\phi_1,....,\phi_{n-1}> F^n T> = \phi_{n-1}". Here "F^n"
should be "F^{n-1}". (Liu Bochao)

p.130, l.20: "largest" common multiple --> "lowest" (LI XIN)

p.137, l.-2: really ought to "so" so --> "do" (LI XIN)

p.207, l.11: The "natural numbers" are ... --> The "integers" are ... (Xiang Jianwen)

p.207, l.12: -2,"-2",0,1,2 --> -2, "-1",0,1,2

p.208, l.-10: or $t \neq t'$ (and "$\not\equiv"$) --> or $t \neq t'$ (and "$t \not\equiv t'$") (Xiang Jianwen)

p.209, l.17: there are only and exactly "the three" enumerated values --> there are only and exactly "n" values (Xiang Jianwen)

p.218, Exercise 10.4, l.-12: From "credit cards" one can observe " " customer name, a credit card number, and, hidden from view, "the" number of a credit card account -->
From "a credit card" one can observe "a" customer name, a credit card number, and, hidden from view, "a" number of a credit card account ? (Xiang Jianwen)

p.232, l.17~18: For an early example of what such "rewrites" mean, see Example 16.10. --> The whole sentence should be footnote rather than text? (Xiang Jianwen)

p.232, l.-7: each model is an algebra, a set of named values and a set of named operations on these. --> each model is an algebra, "i.e.," a set of named values and ... (Xiang Jianwen)

p.233, l.1~2: some part of a reality, or of a constructed such, or of requirements to, or of actual software. --> some part of a reality, or of a constructed such "a reality", or of requirements to "the reality", or of actual software. ? (Xiang Jianwen)

p.233, l.9: The model is not what it models, only a model of "it"! --> The model is not what it models, only a model of "what it models"!? (Xiang Jianwen)

p.246, l.16: Examples 12.3 and "and" 12.4 --> Example 12.3 and 12.4 (Xiang Jianwen)

p. 246, l.25: Example 12.3 and "and" 12.4's --> Example 12.3 and 12.4 (Xiang Jianwen)

p. 249, l.2: Example 12.3 and "and" 12.4's --> Example 12.3 and 12.4 (Xiang Jianwen)

p.253, l.5: By "looseness of a specification" we mean a specification which features elements of underspecification or nondeterminism. --> By a loose specification we mean a specification which .... (Xiang Jianwen)

p.328, Example 15.3, the second line "...and let ns be a set of values of type A" -->" ns" should be "sas", as it is defined in the example. (Guoqiang Li)

p.329, Also in Example 15.3, a line before the definition of ''merge:'', there exists a intersection, "elem p(i) \intersection elem p(i+1)" --> "elem p(i) \intersection elem p(i+1)=\emptyset". (Guoqiang Li)

p.433, In the first graph some definitions occur like"By argument_pattern we mean....", and "result_patterm is a pattern with...", however, in the above example, there are no such denotations, similar definitions are "arg_pattern", "res_pattern", respectively, it should be uniformed. (Guoqiang Li)

P434. the 5th line of the first paragraph. "the cases expr of expression" where "cases" should be "case". (Liu Bochao)

P.435, the sixth line after 19.2.1 in the expression $\lambda a. \mathcal{E}_b(a)$, two $a$ should be uniformed. (Guoqiang Li)

p.450, Example 19.10 "case vs of {} -> chaos v \cup vs' -> mk_Sty(xty(v)) end" The comma is missing between "chaos" and "v". (Liu Bochao)

p.451, Example 19.11 "wfBind : Bind' \times VAL -> Bool" It should be "wfBind:Bind' -> Bool".(Liu Bochao)

p.451, Example 19.11 wfBind(mk_ccs(cs,_),mk_SeV(vs)) =
.................
\forall i:Nat . i \in inds cl => wfBind(cl(i), bl(bi(i))) end
In the last line of this case of the function wfBind definition, "bl" and "bi" has never been defined yet. It should be "vl(im(i))". (Liu Bochao)

p.453,Example 19.12,Bind(mk_ccs(cs,on),mk_SeV(vs)) =
let
................
=> wfBind(cl(i),bl(bi(i))) in
...........
The same as the previous one. (Liu Bochao)


p.470. footnote. "Simmilar for the use of the I name elow and b[3]" --> "Simmilar for the use of the I name below and [3]".(Liu Bochao)

p.475. The last line " Nm, Tn, 1Loc" where "Tn" should be "Vn".(Liu Bochao)

P.476. The 6th line "SVAL == mkintv(i:Int)mkboolv(b:Bool)LOCV", where "LOCV" should be "LVal". (Liu Bochao)

P.476. The fourth line of "type" declaration for "Location and Value Types", "RType == mkrect(rt:(Rn->1Typ))" with "m" underlying "->", where "Rn" should "Nm". (Liu Bochao)

p.478. The 4th and 6th line of the code just above "Semantics" section. "Sel::v:Vn rn:Rn" where "Rn" should be "Nm"; "Fld==null mkRn(rn:Rn)" where "rn:Rn" should be "rn:Nm".(Liu Bochao)

p.476. The second line to the bottom, "...r:Rn. r\in dom rv..." where "Rn" should be "Nm".(Liu Bochao)

p.481 The last sentence of the paragraph just before Section 20.4.3. "The signature of incr defines that incr applies to a value of type Unit .....", where both "incr" should be "get".(Liu Bochao)

p.484 The third line "These are P(a), e_1, e_2,...e_n, ll(a), ........" where "ll(a)" should be "lst". The 4th example given here "" should be ">". (Liu Bochao)

p497. The 7th line after "Simple Interpretation Functions". "E:almost as defined above, but without dynamic tests" should be "E:almost as defined as above, but without dynamically testing that v is in \rho" (Liu Bochao)

p.499. The fourth line in the second "Techniques" paragraph for "Applicative States". "... a map of state components to (state) component associations...." where "a map of state components" should be "a map of state component names" (Liu Bochao)

p.511 Characterisation. By concurrent
specification programming ..... between actions of proceses
(* proceses is mispelled *) can be left unspecified ..... (Liu Bochao)

p.534 Compound Events. In the first equation, "a.3 -> P7" where "7" should be
eleminated. (Liu Bochao)

p.535 Section Input and Output. The second equation: "d! k:K -> Q(k) = [] k: K . d .k -> P(k)" where "P(k)" should be "Q(k)". (Liu Bochao)

P584. The fourth line "See Vol. 1, Chap. 7 , Sect. 7.7.4.3." Here "Sect. 7.7.4.3" should be "Sect. 7.4.3". (Liu Bochao)

P589 "208. Dependability requirements: .... or robustness
requirements,...or robustness requirements.", where there is a duplication here, "or robustness requirements" should be deleted. (Liu Bochao)

P.628.
"577. Regular expression:............
.(ii) if r is of the form r r' then L(r r') = {s s : L(r) , s' L(r')
: s = s' ^ s"} ;
(iii) .... L((r')) = {s s : L(r') }
(iv) .....L(r r' ) = {s s \in L(r) \vee s' \in L (r' )}
(v) .....L(r*) = { s s = <> \vee s \in L(r) \vee s' \in L(rr) \vee
s' \in L(rrr) \vee ...}"

The item (ii) should be as follows:
----------------------------------------------------------
if r is of the form r' r" then L(r' r") = {s s' \in L(r') , s" \in
L(r") , s = s' ^ s" }
-----------------------------------------------------------
And the item (iii) should be the following with "\in" instead of colon:
-----------------------------------------------------------
(iii) .... L((r')) = {s s \in L(r') }
-----------------------------------------------------------
In both (iv) and (v), " s' " should be s.

P629. "585. Reliability:......( ... . As such, accessibility is (to be ) expressed in a machine requirments document.)", were "accessiblity" should be "reliability". (Liu Bochao)

p630. "600. Requirements prescription unit: .... (Usually prescription prescription units ....)"
were "prescription prescription units" should be "requirements prescription units". (Liu Bochao)

p632. "625. Satisfiable: A predicate is said to be satisfied ....", were "satisfied" should be "satisfiable". (Liu Bochao)

p.637. "676. Stage : (1) ...., or which starts from a complete phase
documentation of kind stage, and results in a complete phase
documentation of another stage kind ...." , where the first "kind stage" should be "stage kind". (Liu Bochao)

p.638 "685. Step: ... from a more abstract to a more concrete description.", where "description" should be "description (or prescription, or specification)". (Liu Bochao)

p.638 "688. Store: Same as store ...." , where "same as store" should be "same as storage".

p.646 The third line, "...(i--ii) if the shared ....", where "(i--ii)" should be "(i)". (Liu Bochao)

p.646 "Value:....past participle of Latin valEre to be worth, be strong.....", where "be worth" should be "be of worth". (Liu Bochao)

p.647 "Vertex :Same as an edge", where "edge" should be "node". (Liu Bochao)