summaryrefslogtreecommitdiff
path: root/support/bibex/base/books.bib
blob: 4720c60c342736eaf6a38240bc9b500669a9d31d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
\Sort{
  Mode{on}
  Collation{mixed}
  SortTypeOrder{key,name}
  NameOrder{ascending}
  Key{{author,editor}}
  KeyOrder{descending,nulls first}
}
@BOOK{Woods98-ConstraintDesignRecovery,
  author = {Steven G. Woods and Alexander E. Quilici and Qiang Yang},
  month = {November},
  year = 1997,
  title = {Constraint-Based Design Recovery for Software Reengineering~--
          {T}heory and Experiments},
  edition = {1$^{st}$},
  kind = {LEDL},
  publisher = {Kluwer Academic Publishers},
  isbn = {0-7923-8067-3},
  abstract = {The great challenge of reverse engineering is recovering design
             information from legacy code: the `concept recovery' problem.
             This monograph describes up-to-date research dealing with this
             problem. It discusses a theory of how a constraint-based approach
             to program plan recognition can efficiently extract design
             concepts from source code, and it details experiments in concept
             recovery that support the authors' claims of scalability.
             Constraint-Based Design Recovery for Software Reengineering:
             Theory and Experiments presents models and experiments in
             sufficient detail so that they can be easily replicated. This
             book is intended for researchers or software developers concerned
             with reverse engineering or reengineering legacy systems.
             However, it may also interest those researchers who are
             interested in using plan recognition techniques or
             constraint-based reasoning. The reader is expected to have a
             reasonable computer science background (i.e., familiarity with
             the basics of programming and algorithm analysis), but is not
             required to have a familiarity with the fields of reverse
             engineering or artificial intelligence (AI). This book is
             designed as a reference for advanced undergraduate or graduate
             seminar courses in software engineering, reverse engineering, or
             reengineering. It can also serve as a supplementary textbook for
             software engineering-related courses, such as those on program
             understanding or design recovery, for AI-related courses, such as
             those on plan recognition or constraint satisfaction, and for
             courses that cover both topics, such as those on AI applications
             to software engineering.},
  relevance = 100,
  relevantfor = {Constraint programming for design recovery.},
  url = {www.wkap.nl/prod/b/0-7923-8067-3}
}
@BOOK{Wolfe86-ProgrammesBasic,
  author = {Philip Wolfe and Patrick Koelling},
  month = {mai},
  year = 1986,
  title = {Programmes Basic -- Pour Ing\'enieurs et Scientifiques sur {l'IBM}
          {PC}},
  edition = {1$^{st}$},
  publisher = {InterEditions},
  kind = {LEDL},
  isbn = {2-7296-0145-7},
  language = {francais},
  abstract = {L'objet de cet ouvrage est de pr\'esenter les principales
             techniques et leurs programmes associ\'es, utilisables pour les
             applications scientifiques et en gestion. Ecrits en Basic sur
             l'IBM-PC, ces programmes couvrent la plupart des domaines
             relatifs \`a la collecte et \`a la manipulation des donn\'ees,
             \`a l'analyse num\'erique et \`a la programmation lin\'eaire.
             Destin\'e aux \'etudiants et aux praticiens, (ing\'enieurs,
             scientifiques, gestionnaires), ce livre permet de tirer profit du
             micro-ordinateur IBM-PC gr\^ace aux nombreux programmes qui y
             sont pr\'esent\'es et illustr\'es. C'est un compagnon
             indispensable pour tout utilisateur de m\'ethodes quantitatives.
             Ecrit de fa\c con claire et pr\'ecises, il permet la manipulation
             des sous-programmes et leur int\'egration dans des programmes
             plus vastes en vue de la r\'ealisation d'applications
             scientifiques ou en gestion.},
  relevance = 10,
  relevantfor = {Programmation Basic...}
}
@BOOK{Webster95-Pitfalls,
  author = {Bruce F. Webster},
  month = {February},
  year = 1995,
  title = {Pitfalls of Object Oriented Development},
  edition = {1$^{st}$},
  publisher = {M \& T Books},
  kind = {LEDL},
  isbn = {1558513973},
  abstract = {After covering the basic concepts and terms of OOD, pitfalls of
             Object-Oriented Development provides over eighty concise
             summaries describing how to detect and avoid the many potential
             problems that lurk at every step of the software development
             process: (1) Conceptual, separating OOD fact and hype, (2)
             Political: the organizational dangers of adopting new technology,
             (3) Management: how to guide a development team through OOD, (4)
             Analysis and Design: coming up with the right solution to the
             right problem, (5) Environment, Languages, and Tools: concerns
             and considerations, (6) Implementation: OOD temptations faced by
             new developers, (7) Classes and Objects: warning signs of poor
             design and implementation, (8) Coding: nasty OOD bugs and how to
             avoid them, (9) Quality Insurance: OOD testing challenges, (10)
             Reuse: the roadblocks to achieving the most oft-cited benefit of
             OOD.},
  url = {www.amazon.com/exec/obidos/ASIN/1558513973}
}
@BOOK{Tsang93-Foundations,
  author = {Edward Tsang},
  month = {August},
  year = 1993,
  title = {Foundations of Constraint Satisfaction},
  edition = {1$^{st}$},
  publisher = {Academic Press},
  kind = {LEDL},
  isbn = {0-12-701610-4},
  abstract = {Constraint satisfaction is a general problem in which the goal
             is to find values for a set of variables that will satisfy a
             given set of constraints. It is the core of many applications in
             artificial intelligence, and has found its application in many
             areas, such as planning and scheduling. Because of its
             generality, most AI researchers should be able to benefit from
             having good knowledge of techniques in this field. This book is
             the most comprehensive book on the field of constraint
             satisfaction so far. It covers both the theoretical and the
             implemenatation aspects of the subject. It provides a framework
             for studying this field, relates different research, and resolves
             ambiguity in a number of concepts and algorithms in the
             literature. This book provides a solid foundation for researchers
             in this field. It is also an invaluable text for graduate and
             research level students in cognitive science and artificial
             intelligence.},
  relevance = 100,
  relevantfor = {All about constraint programming.},
  url = {cswww.essex.ac.uk/CSP/edward/FCS.html}
}
@BOOK{Takang96-SoftwareMaintenance,
  author = {Armstrong A. Takang and Penny A. Grubb},
  month = {January},
  year = 1996,
  title = {Software Maintenance: Concepts and Practice},
  edition = {1$^{st}$},
  publisher = {International Thomson Computer Press},
  kind = {LEDL},
  isbn = {1-85032-192-2},
  abstract = {The last few decades have witnessed a proliferation of software
             systems in a wide range of working environments. Changes to such
             systems are often required in order to improve performance and
             enhance functionality and it is the management and control of
             these changes that is known as software maintenance. Studies have
             indicated that software maintenance consumes a least 50\% of
             resources allocated to many software life cycles and thus is an
             important area for software engineers to master. This book sets
             out to provide a comprehensive intrudcuction to software
             maintenance concepts, showing how these concepts can be used to
             offer practical solutions to problems encountered by software
             engineers. Providing a framework for understanding the concepts,
             the authors outline how this can be applied using the wide
             variety of software maintenance techniques available. These
             include coverage of reverse engineering, reengineering, program
             comprehension, code restructuring and maintainability measures.
             \textit{Software Maintenance: Concepts and Practice} begins by
             explaining software maintenance and examines and analyses the
             various methods which have been used in industry to date. Rather
             than the traditional view of software as static artefact, with
             maintenance either costly or impossible, this book presents the
             view of an evolutionary development of software. \textit{Software
             Maintenance: Concepts and Practice} is the ideal for computing
             and engineering students studying a course in software
             maintenance and software engineering. It will also be an
             invaluable resource for practising software engineers, software
             designers and programmers.},
  relevance = 100,
  relevantfor = {All about maintenance!},
  url = {www.isbn.nu/1850321922/price}
}
@BOOK{Shalloway02-DPExplained,
  author = {Alan Shalloway and James R. Trott},
  month = {Septembre},
  year = 2001,
  title = {Design Patterns Explained: A New Perspective on Object-Oriented
          Design},
  edition = {1$^{st}$},
  publisher = {Addison-Wesley Professional},
  kind = {LEDL},
  isbn = {0-201-71594-5},
  abstract = {Design Patterns Explained: A New Perspective on Object-Oriented
             Design draws together the principles of object-oriented
             programming with the power of design patterns to create an
             environment for robust and reliable software development. Packed
             with practical and applicable examples, this book teaches you to
             solve common programming problems with patterns--and explains the
             advantages of patterns for modern software design. Beginning with
             a complete overview of the fundamentals of patterns, Design
             Patterns Explained stresses the importance of analysis and
             design. The authors clearly demonstrate how patterns can
             facilitate the overall development process. Throughout the book,
             key object-oriented design principles are explained, along with
             the concepts and benefits behind specific patterns. With
             illustrative examples in C++ and Java, the book demystifies the
             ``whys," ``why nots," and ``hows" of patterns and explains
             pattern implementation.},
  relevance = 100,
  relevantfor = {Beauty},
  url = {
        www.awprofessional.com/isapi/product\_id$\sim$\%7B43B2E15C-6B43-4914- 96DC-1564616E6B6F\%7D/catalog/product.asp}
}
@BOOK{Schach02-OOSE,
  author = {Stephen R. Schach},
  year = 2002,
  title = {Object-Oriented and Classical Software Engineering},
  publisher = {The McGraw-Hill Companies},
  kind = {LEDL}
}
@BOOK{Rumbaugh91-OMT,
  author = {James Rumbaugh and Michael Blaha and William Premerlani and
           Frederick Eddy and William Lorenson},
  month = {October},
  year = 1991,
  title = {Object-Oriented Modeling and Design},
  edition = {1$^{st}$},
  publisher = {{Prentice Hall, Inc.}},
  kind = {LEDL},
  isbn = {0-13-629841-9},
  abstract = {Notable mainly for its clear and thorough exploration of the
             Object Modelling Technique (OMT)--a generic way of representing
             objects and their relationships--this book is good as a primer
             and great as a knowledge booster for those already familiar with
             object-oriented concepts. Object-Oriented Modelling and Design
             teaches you how to approach problems by breaking them down into
             interrelated pieces, then implementing the pieces. In addition to
             its documentation of the Object Modelling Technique (OMT), a
             graphical notation for depicting object-oriented systems,
             Object-Oriented Modelling and Design does a first-rate job of
             explaining basic and advanced object-orientation concepts. The
             book then moves on to explain the authors' techniques for
             breaking down problems into components and figuring out systems
             of interrelated objects that can be used as designs for programs.
             Interestingly, the authors devote part of their book to
             implementing object-oriented solutions in non-object-oriented
             languages--mainly {C}, {Ada}, and Fortran. There's also a great
             discussion of implementing object-oriented designs in relational
             database environments. The authors conclude their book with a
             sort of recipe section, detailing architectures for various types
             of programs in OMT.},
  url = {www.amazon.com/exec/obidos/ASIN/0136298419/qid\%3D1006990173/sr\%
        3D1-4/ref\%3Dsr\%5F1\%5F10\%5F4/102-5556529-4227313}
}
@BOOK{Rumbaugh99-UMLRef,
  author = {James Rumbaugh and Robert Jacobson and Grady Booch},
  month = {January},
  year = 1999,
  title = {The Unified Modelling Language Reference Manual},
  edition = {1$^{st}$},
  publisher = {Addison-Wesley},
  kind = {LEDL},
  isbn = {0-201-30998-X},
  abstract = {The Unified Modeling Language (UML) has rapidly become the
             standard notation for modeling software-intensive systems. This
             book provides the definitive description of UML from its original
             developers--James Rumbaugh, Ivar Jacobson, and Grady Booch.
             Whether you are capturing requirements, developing a software
             architecture, designing the implementation, or trying to
             understand an existing system, this is the book for you. The
             majority of the book is a unique alphabetical list of articles
             covering every aspect of UML in a form convenient for quick
             reference and detailed study. This format permits full coverage
             of UML details as well as high-level articles without confusing
             the reader by constant shifts in level. The first part of the
             book--a complete summary of UML concepts organized by subject
             area--provides an introduction to UML for the newcomer as well as
             entry points into the detailed articles. Highlights of the book
             include: \begin{itemize} \item Two-color diagrams, extensively
             annotated. \item Thorough coverage of both semantics and
             notation, separated in each article for easy reference.
             \item Further explanations of concepts whose meaning or purpose
             is obscure in the original specifications. \item Discussion
             sections offering usage advice and additional insight into tricky
             concepts. \item A hyperlinked version of the book in Adobe Reader
             format on CD-ROM, an excellent resource for browsing or searching
             the text for specific information. \item Full text of the \UML{}
             specification documents on CD-ROM, courtesy of the Object
             Management Group. \item Notation summary, with hyperlinks to
             individual articles on CD-ROM. \end{itemize}},
  url = {www.amazon.co.uk/exec/obidos/ASIN/020130998X/026-2174472-9898019}
}
@BOOK{Riel96-Metrics,
  author = {Arthur J. Riel},
  year = 1996,
  title = {Object-Oriented Design Heuristics},
  publisher = {Addison-Wesley},
  kind = {LEDL},
  abstract = {Object-Oriented Design Heuristics offers insight into
             object-oriented design improvement. The more than sixty
             guidelines presented in this book are language-independent and
             allow you to rate the integrity of a software design. The
             heuristics are not written as hard and fast rules; they are meant
             to serve as warning mechanisms which allow the flexibility of
             ignoring the heuristic as necessary. This tutorial-based
             approach, born out of the author's extensive experience
             developing software, teaching thousands of students, and
             critiquing designs in a variety of domains, allows you to apply
             the guidelines in a personalized manner. The heuristics cover
             important topics ranging from classes and objects (with emphasis
             on their relationships including association, uses, containment,
             and both single and multiple inheritance) to physical
             object-oriented design. You will gain an understanding of the
             synergy that exists between design heuristics and the popular
             concept of design patterns; heuristics can highlight a problem in
             one facet of a design while patterns can provide the solution.
             Programmers of all levels will find value in this book. The
             newcomer will discover a fast track to understanding the concepts
             of object-oriented programming. At the same time, experienced
             programmers seeking to strengthen their object-oriented
             development efforts will appreciate the insightful analysis. In
             short, with Object-Oriented Design Heuristics as your guide, you
             have the tools to become a better software developer.},
  where = {Books}
}
@BOOK{Rich90-ProgrammersApprentice,
  author = {Charles Rich and Richard C. Waters},
  month = {January},
  year = 1990,
  title = {The Programmer's Apprentice},
  edition = {1$^{st}$},
  publisher = {ACM Press Frontier Series and Addison-Wesley},
  kind = {LEDL},
  isbn = {0-201-52425-2},
  abstract = {Where will the next order of magnitude improvement in software
             productivity come from? In this book, two leading researchers at
             M.I.T. answer this question by describing the Programmer's
             Apprentice, a powerful new approach to computer-aided software
             engineering (CASE) that combines artificial intelligence and
             software engineering techniques. The Programmer's Apprentice is
             an intelligent assistant for software engineers that will provide
             advice, catch errors, and take care of routine details throughout
             the software process, from requirements acquisition to
             implementation and maintenance. Rich and Waters use extensive
             illustrations and transcripts from a demonstration system to make
             the principles and methods underlying the Programmer's Apprentice
             understandable to both researchers and engineers. In the
             concluding chapter, they give specific examples of how to apply
             ideas from the Programmer's Apprentice to the next generation of
             CASE tools. This book will give software professionals and CASE
             tool designers a glimpse of what to expect in the future of
             software development. It will also inspire researchers and
             students in both artificial intelligence and software engineering
             by showing the results of synergy between these two disciplines.},
  relevance = 100,
  relevantfor = {A MUST READ!}
}
@BOOK{Pressman97-SoftwareEngineering,
  author = {Roger S. Pressman},
  month = {November},
  year = 2001,
  title = {Software Engineering -- {A} Practitioner's Approach},
  edition = {5$^{th}$},
  publisher = {McGraw-Hill Higher Education},
  kind = {LEDL},
  isbn = {0-07-249668-1},
  abstract = {For over 20 years, \textit{Software Engineering -- A
             Practitioner's Approach} has been the best selling guide to
             software engineering for students and industry professionals
             alike. In its fifth edition, the book has undergone major design
             changes, substantial content updates, and expension to 32
             chapters that address every important topic in what many have
             called "the engineering discipline of the 21$^{st}$ century." The
             format and style of the book have been completely revised to make
             it even more reader-friendly. In addition, a major new web site
             provides comprehensive software engineering resources for
             students, instructors, and industry professionals. The content of
             the fifth edition has been compartmentalized to make the book
             easier to use in the classroom and as a self-study guide. Part
             One, The Product and The Process, presents an introduction to
             software engineering milieu. Part Two, Managing Software
             Projects, covers topics that are relevant to those who plan,
             manage, and control software projects. Part Three, Conventional
             Methods for Software Engineering, considers the traditional
             analysis, design, and testing methods that are still widely used
             throughout the industry. Part Four, Advanced Software Engineering
             Topics, includes dedicated chapters that address formal methods,
             cleanroom software engineering, component-based development,
             client server software engineering, Web engineering,
             reengineering, and CASE.},
  relevance = 100,
  relevantfor = {Cost of maintenance},
  url = {www.accu.org/bookreviews/public/reviews/s/s000005.htm}
}
@MISC{GDT03-Dictionnaire,
  author = {{Office qu{\'e}b{\'e}cois de la langue fran{\c c}aise}},
  month = {f\'evrier},
  year = 2003,
  title = {Grand dictionnaire terminologique en ligne},
  kind = {DIVERS},
  abstract = {\textit{Le grand dictionnaire terminologique} de l'Office
             qu\'eb\'ecois de la langue fran\c caise est une banque de
             donn\'ees terminologiques. On y trouve, class\'es par domaines,
             des termes appartenant aux langues de sp\'ecialit\'es. La fiche
             terminologique renseigne sur une notion, par la d\'efinition, les
             notes, l'illustration, et pr\'esente les termes qui d\'esignent
             cette notion. Le terme principal est celui que privil\'egie
             l'Office qu\'eb\'ecois de la langue fran\c caise dans les
             situations de communication \'ecrite. Les termes consign\'es en
             sous-entr\'ee peuvent g\'en\'eralement \^etre employ\'es, mais
             leur emploi doit \^etre nuanc\'e dans certains cas.},
  relevance = 100,
  relevantfor = {Vive le Qu\'ebec...},
  url = {w3.granddictionnaire.com/}
}
@BOOK{Meyer92-TheorieLangages,
  author = {Bertrand Meyer},
  year = 1992,
  title = {Introduction \`A la Th\'eorie Des Langages de Programmation},
  publisher = {InterEditions},
  kind = {LEDL},
  abstract = {Pour les d\'eveloppeurs de logiciel, les langages de
             programmation sont l'outil fondamental et quotidien. Trop peu
             pourtant connaissent les bases th\'eoriques qui permettent de
             ma\^{\i}triser les langages et de mieux les employer. Par une
             d\'emarche progressive, claire et bien structur\'ee, l'auteur
             pr\'esente successivement les notions de syntaxe abstraite et de
             s\'emantique formelle. Puis il d\'eveloppe la s\'emantique
             d\'enotationnelle et la s\'emantique axiomatique. Pour illustrer
             son discours, il expose et approfondit des concepts importants,
             comme le lambda-calcul et les d\'efinitions r\'ecursives. Ce
             livre fournit, de surcro\^{\i}t, une excellente \'etude
             comparative des caract\'eristiques de diff\'erents langages de
             programmation. Algol, Ada, Lisp, Pascal, C... et les langages \`a
             objets, notamment Eiffel, sont tour \`a tour \'evoqu\'es. Il en
             ressort une vue synth\'etique tr\`es riche de leurs diff\'erences
             et--ou de leurs parent\'es ainsi que des choix qui ont
             pr\'esid\'e \`a leur impl\'ementation. La pr\'esentation a
             \'et\'e con\c cue pour des praticiens de la programmation :
             l'auteur utilise en permanence des exemples de programmes
             concrets et des analogies emprunt\'ees aux situations les plus
             courantes de la construction de logiciel. Tous les concepts
             math\'ematiques n\'ecessaires sont emprunt\'es \`a la th\'eorie
             \'el\'ementaire des ensembles et d\'efinis clairement dans un
             bref chapitre d'introduction. Enfin, le lecteur appr\'eciera de
             pouvoir \'evaluer ses acquis gr\^ace aux exercices propos\'es \`a
             la fin de chaque chapitre. Les concepteurs de langage puiseront
             dans cet ouvrage les bases fondamentales de leur travail. Les
             \'etudiants et les ing\'enieurs y trouveront un expos\'e
             didactique leur permettant d'approfondir leurs connaissances
             th\'eoriques.}
}
@MISC{MerriamWebster03-Dictionnary,
  author = {Merriam-Webster},
  month = {March},
  year = 2003,
  title = {Merriam-Webster Online Dictionnary},
  kind = {DIVERS},
  abstract = {A handy, reliable and authoritative dictionary that provides a
             wealth of information about the words most frequently used in
             English. This book is packed with features you would only expect
             to find in larger dictionaries, with more than 70,000 definitions
             and 150 illustrations. The great go-anywhere, look-it-up-fast
             language reference including the core vocabulary of everyday
             life: \begin{itemize} \item Over 70,000 clear, concise
             definitions. \item Authoritative pronunciations. \item Special
             sections and tables. \end{itemize}},
  relevance = 100,
  relevantfor = {English is hard!},
  url = {www.merriam-webster.com/}
}
@BOOK{Masini89-LangagesObjets,
  author = {G{\'e}rald Masini and Amedeo Napoli and Dominique Colnet and
           Daniel L{\'e}onard and Karl Tombre},
  year = 1989,
  title = {Les Langages \`A Objets},
  publisher = {InterEditions},
  kind = {LEDL},
  abstract = {Cet ouvrage est le fruit d'un travail d'enseignement et de
             recherche commenc\'e en 1985 au CRIN (Centre de Recherche en
             Informatique de Nancy). Il s'adresse \`a tous les membres de la
             communaut\'e informatique, des n\'eophytes aux sp\'ecialistes. Il
             passe en revue les diff\'erentes facettes de la programmation
             objet et effectue un vaste tour d'horizon des langages \`a objets
             : pr\'esentation didactique des concepts de base de la
             programmation objet ; historique et classification des langages
             \`a objets : langages \`a classes, langages de frames, langages
             d'acteurs et langages hybrides ; description comparative de
             nombreaux langages \`a objets : Smalltalk, Objective-C, Flavors,
             CLOS, C++, Eiffel, KRL, etc. ; \'etude comparative de la
             programmation avec un langage \`a classe (Smalltalk) et avec un
             langage plus classique (Ada). Il fournit en outre le source
             comment\'e de l'impl\'ementation de trois langages \`a objets.
             Cet ouvrage de r\'ef\'erence, gr\^ace aux nombreux exemples qu'il
             contient, constitue \'egalement un support de cours id\'eal pour
             les enseignants d\'esireux d'initier leurs \'etudiants aux
             langages \`a objets.}
}
@BOOK{Sun99-JavaVirtualMachine,
  author = {Tim Lindholm and Frank Yellin},
  month = {April},
  year = 1999,
  title = {The Java Virtual Machine Specification},
  edition = {2$^{nd}$},
  publisher = {Addison-Wesley},
  kind = {LEDL},
  isbn = {0-201-43294-3},
  abstract = {The nucleus of the Java 2 platform, the Java virtual machine is
             the technology that enables the Java 2 platform to host
             applications on any computer or operating system without
             rewriting or recompiling. The Java virtual machine is also
             responsible for the compactness of applications targeting the
             Java 2 platform, and is the basis for its security capabilities.
             This book was written by those directly responsible for the
             design and implementation of the Java virtual machine, and is the
             complete and definitive specification for the technology. It is
             an essential reference for writers of compilers for the Java
             programming language and implementors of the Java virtual
             machine. This second edition specifies the newest version of the
             Java virtual machine and provides a fascinating view into the
             inner workings of the Java 2 platform. In this book you will find
             comprehensive coverage of the class file format, the hardware,
             operating system, and implementation-independent binary format
             for compiled code. The authors fully describe the instruction set
             of the Java virtual machine. You will find an entire chapter of
             examples that demonstrate how to compile code written in the Java
             programming language into the instruction set of the Java virtual
             machine. In addition, the book presents a discussion on the vital
             topic of Java virtual machine threads and their interaction with
             memory. All in all, this comprehensive, detailed, and methodical
             presentation provides the information necessary to implement your
             own fully compatible Java virtual machine.},
  relevance = 100,
  relevantfor = {THE virtual machine that started it all...},
  url = {www.amazon.com/exec/obidos/tg/detail/-/0201432943}
}
@PHDTHESIS{Leblanc00-Galois,
  author = {Herv{\'e} Leblanc},
  month = {d\'ecembre},
  year = 2000,
  kind = {THESE},
  title = {Sous-Hi\'erarchie de Galois : Un Mod\`ele Pour la Construction et
          L'\'evolution Des Hi\'erarchies D'objets},
  institution = {Universit\'e de Montpellier II -- {U.F.R.} Sciences de
                Montpellier},
  school = {Information, Structures et Syst\`emes}
}
@BOOK{Larousse95-Dictionnaire,
  author = {Larousse},
  year = 1995,
  title = {Le Petit Larousse Illustr\'e},
  edition = {90$^{e}$},
  publisher = {Larousse},
  kind = {DIVERS},
  isbn = {2-03-301195-X},
  language = {francais},
  abstract = {Depuis 1906, le \textit{Petit Larousse} fait partie int\'egrante
             du patrimoine culturel et sentimental de tous les Fran\c cais et
             de tous les amoureux de la langue fran\c caise. Cette ann\'ee
             encore, plus d'un million de lecteurs, en France, en Belgique, en
             Suisse, au Qu\'ebec, en Afrique..., ach\`eteront un nouveau
             \textit{Petit Larousse}. Symbole de savoir-faire et
             d'exp\'erience en mati\`ere de dictionnaire, le \textit{Petit
             Larousse} est traduit et adapt\'e en espagnol, finnois, italiens,
             n\'eerlandais, portugais, serbo-croate et turc, devenant ainsi
             une r\'ef\'erence internationale. Une version en langue anglaise
             est actuellement en pr\'eparation. Si le \textit{Petit Larousse}
             est une v\'eritable institution, c'est parce que son objectif est
             double : offrir \`a ses lecteurs ce qui constitue leur patrimoine
             linguistique et culturel, tout en refl\'etant l'\'evolution du
             monde contemporain. Ainsi, chaque ann\'ee et toujours avec
             discernement, il enregistre des mots nouveaux, accueille des
             personnalit\'es et, sans cesse mis \`a jour dans ses
             d\'eveloppements encyclop\'ediques, il rend compte des
             \'ev\`enements les plus actuels. Le succ\`es du \textit{Petit
             Larousse} tient aussi \`a l'importance capitale qu'il a, le
             premier, accord\'ee \`a l'illustration. Les dessins, les
             photographies, les cartes et les sch\'emas \'eclairent les mots,
             prolongent les d\'efinitions ; les planches mettent en relation
             les \'el\'ements dispers\'es par l'odre alphab\'etique.
             L'exp\'erience prouve que l'illustration, en plus de son r\^ole
             didactique, est aussi un extraordinaire vecteur d'\'emotion qui
             attise la curiosit\'e et s'inscrit dans la m\'emoire de chacun.
             Aujourd'hui, toutes en couleurs, les illustrations~-- 3 600
             dessins, sch\'emas et photographies, 285 cartes~-- offrent une
             documentation visuelle encore plus actuelle, riche et attrayante.}
}
@MANUAL{Koutsofios02-Dot,
  author = {Eleftherios Koutsofios and Stephen North},
  month = {February},
  year = 2002,
  title = {Drawing graphs with \ygg@product{Dot}},
  organization = {AT\&T Labs-Research},
  kind = {DIVERS},
  abstract = {\ygg@product{Dot} draws directed graphs as hierarchies. It runs
             as a command line program, web visualization service, or with a
             compatible graphical interface. Its features include well-tuned
             layout algorithms for placing nodes and edge splines, edge
             labels, ``record" shapes with ``ports" for drawing data
             structures; cluster layouts; and an underlying file language for
             stream-oriented graph tools. Below is a reduced module dependency
             graph of an SML-NJ compiler that took 0.98 seconds of user time
             on a 1.4 Ghz AMD Athlon.},
  url = {www.research.att.com/sw/tools/graphviz/dotguide.pdf}
}
@PROCEEDINGS{Knudsen01-ECOOP2001,
  editor = {Jorgen Lindskov Knudsen},
  year = 2001,
  title = {{ECOOP} 2001 -- Object-Oriented Programming},
  publisher = {Springer-Verlag},
  kind = {LEDL},
  isbn = {3-540-42206-4}
}
@BOOK{Keene89-CommonLisp,
  author = {Sonya E. Keene},
  month = {December},
  year = 1989,
  title = {Object-Oriented Programming in {Common Lisp}},
  edition = {1$^{st}$},
  publisher = {Addison Wesley},
  kind = {LEDL},
  isbn = {0-201-17589-4},
  abstract = {This book shows software developers the powerful set of tools
             (CLOS) available for developing oject-oriented programs in
             \ygg@pl{Common Lisp}. The advantages of using CLOS to design,
             develop, maintain, and extend complex programs are many: it
             allows for modular implementation; programs more closely resemble
             what they model; programs are conveniently extensible; and CLOS
             defines conventions that will be shared across the \ygg@pl{Common
             Lisp} community. CLOS has been adopoted as part of \ygg@pl{Common
             Lisp} by the X3J13 committtee, which is working on creating the
             ANSI Standard \ygg@pl{Common Lisp}. \ygg@pl{Common Lisp}
             programmers can use this book to start developing object-oriented
             programs in \ygg@pl{Common Lisp} as quickly as possible. Readers
             who are not familiar with \ygg@pl{Common Lisp} can discover from
             this book the major themes of object-oriented programming.},
  relevance = 10,
  relevantfor = {Multi-methods.},
  url = {www.amazon.com/exec/obidos/tg/detail/-/0201175894/102-7236002-
        3922509}
}
@BOOK{Grand98-Patterns,
  author = {Mark Grand},
  year = 1998,
  title = {Patterns in {Java}~-- {V}olume 1},
  publisher = {John Willey \& Sons, Inc.},
  kind = {LEDL},
  relevance = 90,
  relevantfor = {Fundamental, creational, partitioning, structural,
                behavioral, and concurrency patterns.},
  url = {www.clickblocks.org/patterns1/pattern\_synopses.htm\#synopses},
  where = {Binder 5}
}
@BOOK{Sun96-JavaLanguage,
  author = {James Gosling and Bill Joy and Guy Steele},
  month = {June},
  year = 2000,
  title = {The {Java} Language Specification},
  edition = {2$^{nd}$},
  publisher = {Addison-Wesley},
  kind = {LEDL},
  isbn = {0-201-31008-2},
  abstract = {Written by the inventors of the technology, \textit{The Java
             Language Specification, Second Edition} is the definitive
             technical reference for the Java programming language. If you
             want to know the precise meaning of the language's constructs,
             this is the source for you. The book provides complete, accurate,
             and detailed coverage of the syntax and semantics of the Java
             programming language. It describes all aspects of the language,
             including the semantics of all types, statements, and
             expressions, as well as threads and binary compatibility.},
  relevance = 100,
  relevantfor = {Java!},
  url = {java.sun.com/docs/books/jls/}
}
@BOOK{GoF94-Patterns,
  author = {Erich Gamma and Richard Helm and Ralph Johnson and John Vlissides},
  year = 1994,
  title = {Design Patterns~-- {E}lements of Reusable Object-Oriented Software},
  edition = {1$^{st}$},
  publisher = {Addison-Wesley},
  kind = {LEDL},
  isbn = {0-201-63361-2},
  abstract = {Capturing a wealth of experience about the design of
             object-oriented software, four top-notch designers present a
             catalogue of simple and succinct solutions to commonly occurring
             design problems. Previously undocumented, these 23 patterns allow
             designers to create more flexible, elegant, and ultimately
             reusable designs without having to rediscover the design
             solutions themselves. The authors begin by describing what
             patterns are and how they can help you design object-oriented
             software. They then go on to systematically name, explain,
             evaluate, and catalogue recurring designs in object-oriented
             systems. With Design Patterns as your guide, you will learn how
             these important patterns fit into the software development
             process, and how you can leverage them to solve your own design
             problems most efficiently. Each pattern describes the
             circumstances in which it is applicable, when it can be applied
             in view of other design constraints, and the consequences and
             trade-offs of using the pattern within a larger design. All
             patterns are compiled from real systems and are based on
             real-world examples. Each pattern also includes code that
             demonstrates how it may be implemented in object-oriented
             programming languages like C++ or Smalltalk.},
  where = {Books}
}
@BOOK{Gabriel96-PatternsOfSoftware,
  author = {Richard P. Gabriel},
  month = {April},
  year = 1996,
  title = {Patterns of Software: Tales from the Software Community},
  edition = {1$^{st}$},
  publisher = {Oxford University Press},
  kind = {LEDL},
  isbn = {0-19-5100269-X},
  abstract = {In our homes, our schools, and our our businesses, computers
             play an ever-increasing role. But while most of us today can work
             a computer---albeit with the help of the ever-present computer
             software manual---we know little about what goes on inside the
             box and virtually nothing about software design or the world of
             computer programming. In \textit{Patterns of Software}, the
             respected software pioneer and computer scientist, Richard P.
             Gabriel, gives us an informative inside look at the world of
             software design and computer programming and the businesses that
             surround them. In this wide-ranging volume, Gabriel discusses
             such topics as what makes a successful programming languages, how
             the rest of the world looks at and responds to the work of
             computer scientists, how he first became involved in computer
             programming and software development, what makes a successful
             software business, and why his own company, Lucid, failed in
             1994, then years after its inception. Perhaps the most
             interesting and enlightening section of the book is Gabriel's
             detailed look at what he believes are the lessons that can be
             learned from architect Christopher Alexander, whose
             books---including the seminal \textit{A Pattern Language}--- have
             had a profound influence on the computer programming community.
             Gabriel illuminates some of Alexander's key insights---the
             quality without a name, pattern languages, habitability,
             piecemeal growth---and reveals how these influential
             architectural ideas apply equally well to the construction of a
             computer program. Gabriel explains the concept of habitability,
             for example, by comparing a program to a New England farmhouse
             and the surrounding structures which slowly grow and are modified
             according to the needs and desires of the people who live and
             work on the farm. ``Programs live and grow, and their
             inhabitants---the programmers---need to work with that program
             the way the farmer works with the homestead." Although computer
             scientists and software entrepreneurs will get much out of this
             book, the essays are accessible to everyone and will intrigue
             anyone curious about Silicon Valley, computer programming, and
             the world of high technology.},
  relevance = 100,
  relevantfor = {Piecemeal growth and the rest!},
  url = {www.amazon.com/exec/obidos/tg/detail/-/0195121236/103-3299277-
        4167825}
}
@BOOK{Fowler96-AnalysisPattern,
  author = {Martin Fowler},
  month = {October},
  year = 1996,
  title = {Analysis Patterns : Reusable Object Models},
  edition = {1$^{st}$},
  publisher = {Addison-Wesley -- Object Technology Series},
  kind = {LEDL},
  isbn = {0-201-89542-0},
  abstract = {This innovative book recognizes the need within the
             object-oriented community for a book that goes beyond the tools
             and techniques of the typical methodology book. In Analysis
             Patterns- Reusable Object Models , Martin Fowler focuses on the
             end result of object-oriented analysis and design - the models
             themselves. He shares with you his wealth of object modeling
             experience and his keen eye for identifying repeating problems
             and transforming them into reusable models. Analysis Patterns
             provides a catalogue of patterns that have emerged in a wide
             range of domains including trading, measurement, accounting and
             organizational relationships. Recognizing that conceptual
             patterns cannot exist in isolation, the author also presents a
             series of "support patterns" that discuss how to turn conceptual
             models into software that in turn fits into an architecture for a
             large information system. Included in each pattern is the
             reasoning behind their design, rules for when they should and
             should not be used, and tips for implementation. The examples
             presented in this book comprise a cookbook of useful models and
             insight into the skill of reuse that will improve analysis,
             modeling and implementation.},
  relevance = 50,
  relevantfor = {Analysis patterns...},
  url = {www.amazon.com/exec/obidos/ASIN/0201895420}
}
@BOOK{Fowler99-Refactoring,
  author = {Martin Fowler},
  year = 1999,
  title = {Refactoring~-- {I}mproving the Design of Existing Code},
  publisher = {Addison-Wesley},
  kind = {LEDL},
  where = {Books}
}
@BOOK{MF97,
  author = {Martin Fowler},
  year = 1997,
  title = {Analysis Patterns~-- {R}eusable Object Models},
  kind = {LEDL},
  publisher = {Addison-Wesley}
}
@BOOK{Flanagan97-JavaInANutshell,
  author = {David Flanagan},
  month = {May},
  year = 1997,
  title = {Java in a Nutshell},
  publisher = {O'Reilly},
  kind = {LEDL},
  isbn = {1-565-92262-X}
}
@BOOK{Felleisen98-Little,
  author = {Matthias Felleisen and Daniel P. Friedman},
  year = 1998,
  title = {A Little {Java}, A Few Patterns},
  publisher = {The MIT Press},
  kind = {LEDL},
  relevantfor = {A good introductory book and {Java} and the Visitor Pattern ...
            Plus a fabulous quote: p164 ``When does the future begin? - Does
            it begin below the stand-alone semicolon? - That's precisely what
            a stand-alone semicolon means."},
  where = {Books}
}
@BOOK{FAMOOS,
  author = {St{\'e}phane Ducasse and Serge Demeyer (Editors)},
  year = 1999,
  title = {The {FAMOOS} Object-Oriented Reengineering Handbook},
  kind = {LEDL}
}
@BOOK{SoftwareVisualization02,
  editor = {Stephan Diehl},
  month = {May},
  year = 2002,
  title = {Software Visualization},
  publisher = {Springer-Verlag Berlin Heidelberg},
  kind = {LEDL},
  isbn = {3-540-43323-6}
}
@TECHREPORT{Deimel90-ReadingPrograms,
  author = {Lionel E. Deimel and J. Fernando Naveda},
  month = {August},
  year = 1990,
  kind = {RR},
  title = {Reading Computer Programs: Instructor's Guide and Exercises},
  number = {CMU/SEI-90-EM-3},
  institution = {Software Engineering Institute, Carnegie Mellon University},
  abstract = {The ability to read and understand a computer program is a
             critical skill for the software developper, yet this skill is
             seldom developped in any systematic way in the education or
             training of software professionals. These materials discuss the
             importance of program reading, and review what is known about
             reading strategies and other factors affecting comprehension.
             These materials also include reading exercises for a modest
             \ygg@pl{Ada} program and discuss how educators can structure
             additional exercises to enhance program reading skills.},
  relevance = 100,
  relevantfor = {Program understanding!},
  url = {www.deimel.org/comp{\_}sci/reading{\_}computer{\_}programs.htm},
  where = {Books}
}
@BOOK{Coplien91-ImplementationPatterns,
  author = {James O. Coplien},
  month = {August},
  year = 1991,
  title = {Advanced C++ Programming Styles and Idioms},
  edition = {1$^{st}$},
  publisher = {Addison-Wesley},
  kind = {LEDL},
  isbn = {0-201-54855-0},
  abstract = {Assuming a background in C++ basics, this book helps programmers
             to develop their programming expertise by giving a feel for the
             styles and idioms of the language. The approach is organized
             around the abstractions that C++ supports: Abstract data types,
             combining types in inheritance structures, object-oriented
             programming, and multiple inheritance. The book also explors
             idioms that the core of the C++ language does not support
             directly, such as virtual constructors, prototype objects, and
             advanced garbage collection techniques.},
  url = {
        www.awprofessional.com/catalog/product.asp?product\_id=\%7BF983A2EA- 89B7-4F25-B82B-6CC86496C735\%7D}
}
@BOOK{Cattell91-ObjectDatabase,
  author = {R. G. G. Cattell},
  year = 1991,
  title = {Object Data Management: Object-Oriented and Extended Database
          Systems},
  publisher = {Addison Wesley},
  kind = {LEDL}
}
@BOOK{Card90-Quality,
  author = {David N. Card and Robert L. Glass},
  year = 1990,
  title = {Measuring Software Design Quality},
  publisher = {Prentice Hall},
  kind = {LEDL},
  abstract = {Here is a practical guide to software metrics. It is written by
             two experienced practitioners who roll up their sleeves and show
             ou how to use measures derived from a simple model of the
             software design and development process to assess quality.},
  relevance = 95,
  relevantfor = {Design quality metrics},
  where = {Books at OTI OTT}
}
@BOOK{Buschman96-ArchitecturalPattern,
  author = {Frank Buschmann and Regine Meunier and Hans Rohnert and Peter
           Sommerlad and Michael Stal},
  month = {August},
  year = 1996,
  title = {Pattern-Oriented Software Architecture: A System of Patterns},
  edition = {1$^{st}$},
  publisher = {John Wiley and Sons},
  kind = {LEDL},
  isbn = {0-47-195869-7},
  abstract = {Pattern-Oriented Software Architecture is a new approach to
             software development. This book represents the progression and
             evolution of the pattern approach into a system of patterns
             capable of describing and documenting large-scale applications. A
             pattern system provides, on one level, a pool of proven solutions
             to many recurring design problems. On another it shows how to
             combine individual patterns into heterogenous structures and as
             such it can be used to facilitate a constructive development of
             software systems. Uniquely, the patterns that are presented in
             this book span several levels of abstractions from high-level
             architectural patterns and medium-level design patterns to
             low-level idioms. This shifts the focus from what was conceived
             as an object-oriented design technique for reuse to a powerful
             and documentable method for designing large and complex software
             systems. The intention of, and motivation for, this book is to
             support both novices and experts in software development. Novices
             will gain from the experience inherent in pattern descriptions
             and experts will hopefully make use of, add to, extend and modify
             patterns to tailor them to their own needs. None of the pattern
             descriptions are cast in stone and just as they are borne from
             experience, it is expected that further use will feed in and
             refine individual patterns and produce an evolving system of
             patterns.},
  url = {http://www.amazon.com/exec/obidos/tg/detail/-/0471958697/104-
        1238236-1419115}
}
@BOOK{Brown98-AntiPatterns,
  author = {William J. Brown and Raphael C. Malveau and William H. Brown and
           Hays W. McCormick III and Thomas J. Mowbray},
  month = {March},
  year = 1998,
  title = {Anti Patterns: Refactoring Software, Architectures, and Projects in
          Crisis},
  edition = {1$^{st}$},
  publisher = {John Wiley and Sons},
  kind = {LEDL},
  isbn = {0-471-19713-0},
  abstract = {Are you headed into software development mine field? Follow
             someone if you can, but if you're on your own --- better get the
             map! \textit{AntiPatterns} is the map. This book helps you
             navigate through today's dangerous software development projects.
             Just look at the statistics: \begin{itemize}\item Nearly
             one-third of all software projects are cancelled.
             \item Two-thirds of all software projects encounter cost overruns
             in excess of 200\%. \item Over 80\% of all software projects are
             deemed failures. \end{itemize} While patterns help you to
             identify and implement procedures, designs, and codes that work,
             anti-patterns do the exact opposite: They let you zero-in on the
             development detonators, architectural tripwires, and personality
             booby traps that can spell doom for your project. Written by an
             all-star team of object-oriented system developers,
             \textit{AntiPatterns} identifies 40 of the most common
             anti-patterns in the areas of software development, architecture,
             and project management. The authors then show you how to detect
             and defuse anti-patterns as well as supply refactored solutions
             for each anti-pattern presented.},
  relevance = 100,
  url = {www.amazon.com/exec/obidos/tg/detail/-/0471197130/ref=ase\_theanti
        patterngr/103-4749445-6141457}
}
@BOOK{Booch91-Design,
  author = {Grady Booch},
  month = {September},
  year = 1993,
  title = {Object-Oriented Design with Applications},
  edition = {2$^{nd}$},
  publisher = {The Benjamin/Cummings Publishing Company, Inc.},
  kind = {LEDL},
  isbn = {0-8053-5340-2},
  abstract = {The first edition of \textit{Object-Oriented Design with
             Applications} was instrumental in making object-oriented
             technology a practical reality--hundreds of projects applied
             Booch's notation and process to complex problems in diverse
             domains. In this eagerly-awaited new edition, Grady Booch draws
             upon the rich and varied results of these projects to offer
             improved methods for object development and a new,
             \textit{unified notation}. With numerous examples, all of which
             are now implemented in C++, Booch illustrates essential concepts,
             explains the method, and shows successful applications in a
             variety of fields. You'll also find pragmatic advice on a host of
             issues including classification, implementation strategies, and
             cost-effective project management.},
  relevance = 100,
  relevantfor = {The Booch method covers the analysis- and design-phases of a
                OO-system. {Booch} sometimes is criticized for his big set of
                different symbols. It's true that {Booch} defines a lot of symbols
                to document almost every design decision. If you work with this
                method, you notice that you will never use all these symbols and
                diagrams. You start with class- and object-diagrams in the
                analysis phase and refine these diagrams in various steps. Only
                when you are ready to generate code, you add some design symbols.
                And this is where {Booch} is strong: You can really document your
                OO-code. Round-trip in object-oriented programming.},
  url = {www.informit.com/isapi/product\_id~\%7BDB6ED747-9417-4126-8CFA-
        BA32C4B05ECC\%7D/content/index.asp}
}
@BOOK{Booch99-UMLGuide,
  author = {Grady Booch and James Rumbaugh and Ivar Jacobson},
  month = {October},
  year = 1999,
  title = {The Unified Modeling Language User Guide},
  edition = {1$^{st}$},
  publisher = {Addison-Wesley},
  kind = {LEDL},
  isbn = {0-201-57168-4},
  abstract = {Introduced in 1997, the Unified Modeling Language (UML) has
             rapidly been accepted throughout the software industry as the
             standard graphical language for specifying, constructing,
             visualizing and documenting software-intensive systems. The UML
             provides anyone involved in the production, deployment, and
             maintenance of software with a standard notation for expressing a
             system's blueprint. The UML covers conceptual things, such as
             business processes and system functions, as well as concrete
             things, such as programming-language classes, database schemas,
             and reusable software components. In \textit{The Unified Modeling
             Language User Guide}, the original developers of the UML---Grady
             Booch, James Rumbaugh, and Ivar Jacobson---provide a tutorial to
             the core aspects of the language in a two-color format designed
             to facilitate learning. Starting with a conceptual model of the
             UML, the book progressively applies the UML to a series of
             increasingly complex modeling problems across a variety of
             application domains. This example-driven approach helps readers
             quickly understand and apply the UML. For more advanced
             developers, the book includes a learning track focused on
             applying the UML to advanced modeling problems. With \textit{The
             Unified Modeling Language User Guide}, readers will:
             \begin{itemize} \item Understand what the UML is, what it is not,
             and why it is relevant to the development of software-intensive
             systems. \item Master the vocabulary, rules, and idioms of the
             UML in order to ``speak" the language effectively. \item Learn
             how to apply the UML to a number of common modeling problems.
             \item See illustrations of the UML's use interspersed with use
             cases for specific UML features. \item Gain insight into the UML
             from the original creators of the UML. \end{itemize}},
  relevance = 50,
  relevantfor = {UML},
  url = {www.bookpool.com/.x/krx9tbjff4/sm/umod\_lang\_ug}
}
@BOOK{SABRSA96,
  author = {Shawn A. Bohner and Robert S. Arnold},
  year = 1996,
  title = {Software Change Impact Analysis},
  publisher = {IEEE Computer Society},
  kind = {LEDL}
}
@BOOK{Bezier90-Testing,
  author = {Boris Bezier},
  year = 1990,
  title = {Software Testing Techniques},
  publisher = {Van Nostrand Rheinhold Company, New York},
  kind = {LEDL}
}
@BOOK{Beck99-eXtreme,
  author = {Kent Beck},
  month = {October},
  year = 1999,
  title = {Extreme Programming Explained: Embrace Change},
  edition = {1$^{st}$},
  publisher = {Addison-Wesley},
  kind = {LEDL},
  isbn = {0-201-61641-6},
  abstract = {Software development projects can be fun, productive, and even
             daring. Yet they can consistently deliver value to a business and
             remain under control. Extreme Programming (XP) was conceived and
             developed to address the specific needs of software development
             conducted by small teams in the face of vague and changing
             requirements. This new lightweight methodology challenges many
             conventional tenets, including the long-held assumption that the
             cost of changing a piece of software necessarily rises
             dramatically over the course of time. XP recognizes that projects
             have to work to achieve this reduction in cost and exploit the
             savings once they have been earned. You may love XP or you may
             hate it, but \textit{Extreme Programming Explained} will force
             you to take a fresh look at how you develop software.},
  url = {www.amazon.com/exec/obidos/tg/detail/-/0201616416/103-1640084-
        5126214}
}
@BOOK{Alexander77-PatternLanguage,
  author = {Christopher Alexander and Sara Ishikawa and Murray Silverstein and
           Max Jacobson and Ingrid Fiksdahl-King and Shlomo Angel},
  month = {August},
  year = 1978,
  title = {A Pattern Language},
  edition = {1$^{st}$},
  publisher = {Oxford University Press},
  kind = {LEDL},
  isbn = {0-19-501919-9},
  abstract = {You can use this book to design a house for yourself with your
             family; you can use it to work with your neighbors to improve
             your town and neihborhood; you can use it to design an office, or
             a workshop, or a public building. And you can use it to guide you
             in the actual process of construction. After a ten-year silence,
             Christopher Alexander and his colleagues at the Center for
             Environment Structure are now publishing a major statement in the
             form of three books which will, in their words, ``lay the basis
             for an entirely new approach to architecture, building and
             planning, which will we hope replace existing ideas and practices
             entirely". At the core of these three books is the idea that
             people should design for themselves their own houses, streets,
             and communities. This idea may be radical (it implies a radical
             transformation of the architectural profession) but it comes
             simply from the observation that most of the wonderful places of
             the world were not made by architects but by the people. At the
             core of the books too is the point that in designing their
             environments people always rely on certain ``languages", which,
             like the languages we speak, allow them to articulate and
             communicate an infinite variety of designs within a formal system
             which gives them coherence. It will enable a person to make a
             design for almost any kind of building, or any part of the built
             environment. ``Patterns", the units of this language, are answers
             to design problems (How high should a window still be? How many
             stories should a building have? How much space in a neighborhood
             should be devoted to grass and trees?). More than 250 of the
             patterns in this pattern languages are given: each consists of a
             problem statement, a discussion of the problem with an
             illustration, and a solution. As the authors say in their
             introduction, many of the patterns are archetypal, so deeply
             rooted in the nature of things that it seems likely that they
             will be a part of human nature, and human action, as much in five
             hundred year as they are today.},
  url = {www.oup.co.uk/isbn/0-19-501919-9}
}
@BOOK{Abelson92-StructureInterpretation,
  author = {Harold Abelson and Gerald Jay Sussman},
  year = 1992,
  title = {Structure et Interpretation Des Programmes Informatiques},
  publisher = {InterEditions},
  kind = {LEDL},
  isbn = {2-7296-0231-5}
}
@BOOK{Abadi96-TheoryOfObjects,
  author = {Mart{\'{\i}}n Abadi and Luca Cardelli},
  year = 1998,
  title = {A Theory of Objects},
  edition = {Second},
  series = {Monographs in Computer Science},
  publisher = {Springer-Verlag},
  kind = {LEDL},
  isbn = {0-387-94775-2},
  relevance = 50,
  url = {www.luca.demon.co.uk/TheoryOfObjects.html},
  where = {Library of the EMN}
}
@BOOK{Cardelli96-TheoryOfObjects,
  author = {Martin Abadi and Luca Cardelli},
  year = 1996,
  title = {Theory of Objects},
  publisher = {Spriner-Verlag},
  kind = {LEDL}
}