This is TeX, Version 3.14159 (Web2C 7.3.1) (format=latex 2002.1.15) 16 DEC 2008 17:18 **course-descr.tex (course-descr.tex LaTeX2e <1999/12/01> patch level 1 Babel and hyphenation patterns for american, french, german, ngerman, n ohyphenation, loaded. (/arch/unix/packages/teTeX-1.0.7/share/texmf/tex/latex/base/latex209.def File: latex209.def 1998/05/13 v0.52 Standard LaTeX file Entering LaTeX 2.09 COMPATIBILITY MODE ************************************************************* !!WARNING!! !!WARNING!! !!WARNING!! !!WARNING!! This mode attempts to provide an emulation of the LaTeX 2.09 author environment so that OLD documents can be successfully processed. It should NOT be used for NEW documents! New documents should use Standard LaTeX conventions and start with the \documentclass command. Compatibility mode is UNLIKELY TO WORK with LaTeX 2.09 style files that change any internal macros, especially not with those that change the FONT SELECTION or OUTPUT ROUTINES. Therefore such style files MUST BE UPDATED to use Current Standard LaTeX: LaTeX2e. If you suspect that you may be using such a style file, which is probably very, very old by now, then you should attempt to get it updated by sending a copy of this error message to the author of that file. ************************************************************* \footheight=\dimen102 \@maxsep=\dimen103 \@dblmaxsep=\dimen104 \@cla=\count79 \@clb=\count80 \mscount=\count81 (/arch/unix/packages/teTeX-1.0.7/share/texmf/tex/latex/base/tracefnt.sty Package: tracefnt 1997/05/29 v3.0j Standard LaTeX package (font tracing) \tracingfonts=\count82 LaTeX Info: Redefining \selectfont on input line 96. ) \symbold=\mathgroup4 \symsans=\mathgroup5 \symtypewriter=\mathgroup6 \symitalic=\mathgroup7 \symsmallcaps=\mathgroup8 \symslanted=\mathgroup9 LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 288. LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 289. LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 290. LaTeX Font Info: Redeclaring math alphabet \mathit on input line 296. LaTeX Info: Redefining \em on input line 306. (/arch/unix/packages/teTeX-1.0.7/share/texmf/tex/latex/base/latexsym.sty Package: latexsym 1998/08/17 v2.2e Standard LaTeX package (lasy symbols) \symlasy=\mathgroup10 LaTeX Font Info: Overwriting symbol font `lasy' in version `bold' (Font) U/lasy/m/n --> U/lasy/b/n on input line 42. ) LaTeX Font Info: Redeclaring math delimiter \lgroup on input line 370. LaTeX Font Info: Redeclaring math delimiter \rgroup on input line 372. LaTeX Font Info: Redeclaring math delimiter \bracevert on input line 374. (/arch/unix/packages/teTeX-1.0.7/share/texmf/tex/latex/config/latex209.cfg) (/arch/unix/packages/teTeX-1.0.7/share/texmf/tex/latex/tools/rawfonts.sty Package: rawfonts 1994/05/08 Low-level LaTeX 2.09 font compatibility (/arch/unix/packages/teTeX-1.0.7/share/texmf/tex/latex/tools/somedefs.sty Package: somedefs 1994/06/01 Toolkit for optional definitions ) LaTeX Font Info: Try loading font information for U+lasy on input line 44. (/arch/unix/packages/teTeX-1.0.7/share/texmf/tex/latex/base/ulasy.fd File: ulasy.fd 1998/08/17 v2.2eLaTeX symbol font definitions ))) (/arch/unix/packages/teTeX-1.0.7/share/texmf/tex/latex/base/article.cls Document Class: article 1999/09/10 v1.4a Standard LaTeX document class (/arch/unix/packages/teTeX-1.0.7/share/texmf/tex/latex/base/size12.clo File: size12.clo 1999/09/10 v1.4a Standard LaTeX file (size option) ) \c@part=\count83 \c@section=\count84 \c@subsection=\count85 \c@subsubsection=\count86 \c@paragraph=\count87 \c@subparagraph=\count88 \c@figure=\count89 \c@table=\count90 \abovecaptionskip=\skip41 \belowcaptionskip=\skip42 Compatibility mode: definition of \rm ignored. Compatibility mode: definition of \sf ignored. Compatibility mode: definition of \tt ignored. Compatibility mode: definition of \bf ignored. Compatibility mode: definition of \it ignored. Compatibility mode: definition of \sl ignored. Compatibility mode: definition of \sc ignored. LaTeX Info: Redefining \cal on input line 501. LaTeX Info: Redefining \mit on input line 502. \bibindent=\dimen105 ) No file course-descr.aux. \openout1 = `course-descr.aux'. LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 20. LaTeX Font Info: ... okay on input line 20. LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 20. LaTeX Font Info: ... okay on input line 20. LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 20. LaTeX Font Info: ... okay on input line 20. LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 20. LaTeX Font Info: ... okay on input line 20. LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 20. LaTeX Font Info: ... okay on input line 20. LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 20. LaTeX Font Info: ... okay on input line 20. LaTeX Font Info: External font `cmex10' loaded for size (Font) <14.4> on input line 23. LaTeX Font Info: External font `cmex10' loaded for size (Font) <7> on input line 23. LaTeX Font Info: Try loading font information for OMS+cmr on input line 37. (/arch/unix/packages/teTeX-1.0.7/share/texmf/tex/latex/base/omscmr.fd File: omscmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions ) LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <12> not available (Font) Font shape `OMS/cmsy/m/n' tried instead on input line 37. Overfull \hbox (6.59946pt too wide) in paragraph at lines 40--42 []\OT1/cmr/m/n/12 To com-mu-ni-cate with the teach-ing as-sis-tant, please send mail to csu670-grader@ccs.neu.edu [] [1 ] Overfull \hbox (16.12776pt too wide) in paragraph at lines 121--121 []\OT1/cmtt/m/n/12 I think this book for the first time provided really convin cing material[] [] Overfull \hbox (28.47777pt too wide) in paragraph at lines 142--142 []\OT1/cmtt/m/n/12 impact on my understanding of objects, and has helped me ed ucate and train[] [] Overfull \hbox (34.65277pt too wide) in paragraph at lines 142--142 []\OT1/cmtt/m/n/12 Are there any plans to port the tools to Java? This would b e a very popular[] [] [2] Overfull \hbox (28.47777pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 Adaptive Software is the next level of abstraction up from Object-Oriented[] [] [3] Overfull \hbox (22.30276pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 ``Adaptive Object-Oriented Programming using Graph-Based Cu stomization'',[] [] Overfull \hbox (47.00278pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 of schemas or, another way to look at it, allow the applica tion programmer to[] [] Overfull \hbox (3.77776pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 specify code that does not need to know in detail the datab ase schema.[] [] Overfull \hbox (9.95276pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 Given that in practical C/S application for MIS, DSS, TP an d in general[] [] Overfull \hbox (53.17778pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 mission critical applications, the underlying database can have a very complex[] [] [4] Overfull \hbox (9.95276pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 published them. The Law of Demeter is widely recognized as an important[] [] Overfull \hbox (9.95276pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 widely believed to provide major benefits, and is becoming increasingly[] [] Overfull \hbox (3.77776pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 popular and valuable "frameworks" approach, allow the good designer to[] [] Overfull \hbox (34.65277pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 produce a unit of software that is highly reusable in certa in planned ways.[] [] Overfull \hbox (59.35278pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 Such a unit of software will not easily be reusable in unpl anned ways, however.[] [] Overfull \hbox (40.82777pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 "mainstream", but it is my belief that these approaches wil l be of paramount[] [] Overfull \hbox (9.95276pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 to link the design documents and the implementation code mo re directly.[] [] Overfull \hbox (3.77776pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 accomplish this goal. Because so much of the conversion fro m design to[] [] Overfull \hbox (28.47777pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 implementation is made automatic by Demeter, when errors ar e detected, the[] [] Overfull \hbox (9.95276pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 designer is encouraged to modify the design rather than tin ker with the[] [] [5] Overfull \hbox (47.00278pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 in detail [in an eleven week term], we believe that Demeter is a particularly[] [] Overfull \hbox (9.95276pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 suitable one for teaching purposes. The reason is that Deme ter is based[] [] Overfull \hbox (9.95276pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 These theoretical principles can be used by students in wha tever design[] [] Overfull \hbox (59.35278pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 environment they happen to work in. Comments by students wh o have completed the[] [] Overfull \hbox (9.95276pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 My approach was to define the Library System class dictiona ry. Once the[] [] Overfull \hbox (22.30276pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 class dictionary was designed, the next step was to define the operations[] [] Overfull \hbox (65.52779pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 Lastly I designed the propagation patterns to implement tho se Library functions.[] [] Overfull \hbox (9.95276pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 Although this class was my first introduction to Object Ori ented Design[] [] Overfull \hbox (40.82777pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 and to C++, I found that the Demeter System and adaptive S/ W to be extremely[] [] Overfull \hbox (3.77776pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 flexible and a very powerful technique. This flexibility wa s important[] [] Overfull \hbox (28.47777pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 especially in this project when I had to make changes (of w hich there were[] [] Overfull \hbox (34.65277pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 I never had any problems with the basic Demeter tools: gen- imake, gen-make,[] [] [6] Overfull \hbox (34.65277pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 Overall, we learned that adaptive software allowed us to im plement a fairly[] [] Overfull \hbox (47.00278pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 complex software system in a fast, flexible, and efficient manner. It reduced[] [] Overfull \hbox (40.82777pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 the amount of time devoted to actual coding and debugging, and allowed us to[] [] Overfull \hbox (53.17778pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 Do you agree or disagree with the view that class dictionar ies and propagation[] [] [7] Overfull \hbox (3.77776pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 The project I am working on ... is developing an object-ori ented power[] [] Overfull \hbox (40.82777pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 When the implementation of the model was almost done, I rea d your article on[] [] Overfull \hbox (28.47777pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 Demeter C++ in the Feb. 94 issue of the C++ report. It stru ck me that with[] [] Overfull \hbox (22.30276pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 a method and tools as you describe in the article, I would have been able[] [] Overfull \hbox (22.30276pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 in the art of software development ... because it allows th e construction[] [] Overfull \hbox (40.82777pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 I've found Demeter to be very useful in regards to compiler design. For this[] [] Overfull \hbox (9.95276pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 homework, I developed a grammar using Demeter and 'sem-chec k -i' for an[] [] Overfull \hbox (22.30276pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 object-oriented language that is LL(1) compliant. The trans lation to EBNF[] [] Overfull \hbox (40.82777pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 form was then trivial. sem-check's analysis and violation r eporting made the[] [] Overfull \hbox (3.77776pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 The grammar was then ready for input into the compiler-comp iler LLgen:[] [] Overfull \hbox (59.35278pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 The scanner definition, designed for flex, is very similar to that of Demeter's[] [] Overfull \hbox (16.12776pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 generic parser. In fact, I used many of the patterns in lex -DEM.l for my[] [] [8] Overfull \hbox (3.77776pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 I know Demeter is useful for many more things besides compi ler design,[] [] Overfull \hbox (28.47777pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 but that is my main interest. Traversal and transportation specifications,[] [] Overfull \hbox (40.82777pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 along with wrappers, make coding such things as intermediat e-code generation[] [] Overfull \hbox (9.95276pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 and optimization analysis much easier than tools such as ya cc or bison.[] [] Overfull \hbox (9.95276pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 It is also one that holds a lot of interest for the group I work in ...[] [] Overfull \hbox (28.47777pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 and came up with a couple of ways of looking at your system other than the[] [] Overfull \hbox (28.47777pt too wide) in paragraph at lines 518--518 [] \OT1/cmtt/m/n/12 "It's a tool that lets you do OO programming directly in terms of class[] [] Overfull \hbox (16.12776pt too wide) in paragraph at lines 518--518 [] \OT1/cmtt/m/n/12 dictionary graphs, bringing programming one level closer to OOA/OOD."[] [] Overfull \hbox (40.82777pt too wide) in paragraph at lines 518--518 [] \OT1/cmtt/m/n/12 "It's a tool supporting more powerful forms of object r elative reference[] [] Overfull \hbox (65.52779pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 "I am very enthusiastic about the Demeter System, and feel it represents a major[] [] Overfull \hbox (22.30276pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 advance in software engineering (a field where "hard" advan ces are rare).[] [] Overfull \hbox (40.82777pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 I think it will also transform the way a number of areas of computer science[] [] [9] Overfull \hbox (3.77776pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 and my students are using Demeter to design and build a tex t-adventure[] [] Overfull \hbox (16.12776pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 game). It is a remarkable system with many potential applic ations beyond[] [] Overfull \hbox (34.65277pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 the scope of software engineering (for instance Compiler De sign can be done[] [] Overfull \hbox (3.77776pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 "This is an extraordinary powerful software tool that will undoubtedly[] [] Overfull \hbox (53.17778pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 become a standard fixture in Computer Science curricula (an d in several areas,[] [] Overfull \hbox (28.47777pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 including Compiler Design, Software Engineering, Artifical Intelligence)."[] [] Overfull \hbox (34.65277pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 The Visitor class reminds me of the Demeter work by Karl Li eberherr and his[] [] Overfull \hbox (9.95276pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 associates at Northeastern University. They're taking an a pproach that[] [] Overfull \hbox (34.65277pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 involves abstracting the "meat" of the behavior of a comple x construct from[] [] Overfull \hbox (28.47777pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 construct. Their work also addresses keeping the abstracti on valid across[] [] Overfull \hbox (9.95276pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 changes to the implementation of the construct. To do this , they use a[] [] Overfull \hbox (40.82777pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 graph notation to represent the class structure, and a "pro pagation pattern"[] [] Overfull \hbox (9.95276pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 language that tells, in a general way, how to distribute th e meaningful[] [] Overfull \hbox (34.65277pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 methods and navigation methods across the structure. A pro pagation pattern[] [] Overfull \hbox (3.77776pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 may be applicable to many class structures, thus allowing c hanging the[] [] Overfull \hbox (40.82777pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 latter without needing to modify the former. A code genera tor does the work[] [] Overfull \hbox (9.95276pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 of creating the C++ code. A good introduction to this is i n an article[] [] Overfull \hbox (40.82777pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 called "A Report on Demeter C++" in the February '94 issue of C++ Report, by[] [] Overfull \hbox (47.00278pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 Don Dwiggins "Things should be made as s imple as possible,[] [] [10] Overfull \hbox (3.77776pt too wide) in paragraph at lines 518--518 []\OT1/cmtt/m/n/12 without major problems is a huge benefit of propagation pat terns. C++[] [] ! LaTeX Error: \begin{enumerate} on input line 50 ended by \end{itemize}. See the LaTeX manual or LaTeX Companion for explanation. Type H for immediate help. ... l.519 \end{itemize} ? ! LaTeX Error: \begin{itemize} on input line 35 ended by \end{document}. See the LaTeX manual or LaTeX Companion for explanation. Type H for immediate help. ... l.521 \end{document} ? [11] (course-descr.aux) ) (\end occurred inside a group at level 1) Here is how much of TeX's memory you used: 501 strings out of 61438 5624 string characters out of 71896 54248 words of memory out of 1100001 3450 multiletter control sequences out of 10000+0 22195 words of font info for 83 fonts, out of 400000 for 1000 14 hyphenation exceptions out of 1000 25i,4n,22p,265b,454s stack positions out of 300i,100n,500p,300000b,4000s Output written on course-descr.dvi (11 pages, 23688 bytes).