\begin{thebibliography}{SKG88} \bibitem[BHS80]{bersoff:config-manag} E.H. Bersoff, V.~D. Henderson, and S.~G. Siegel. \newblock {\em Software Configuration Management}. \newblock Prentice-Hall, 1980. \bibitem[Car84]{cardelli:mult-84} Luca Cardelli. \newblock A semantics of multiple inheritance. \newblock In Gilles Kahn, David MacQueen, and Gordon Plotkin, editors, {\em Semantics of Data Types}, pages 51--67. Springer Verlag, 1984. \bibitem[CW85]{cardelli-wegner:types-85} L.~Cardelli and P.~Wegner. \newblock On understanding types, data abstraction, and polymorphism. \newblock {\em ACM Computing Surveys}, 17(4):471, December 1985. \bibitem[KP87]{kaiser:workspaces} Gail~E. Kaiser and Dewayne~E. Perry. \newblock Workspaces and experimental databases: Automated support for software maintenance and evolution. \newblock In {\em Conference on Software Maintenance}, pages 108--114, Austin, Texas, 1987. IEEE Computer Society Press. \bibitem[LH89]{benefits:law-89} Karl~J. Lieberherr and Ian Holland. \newblock {Formulations and Benefits of the Law of Demeter}. \newblock {\em SIGPLAN Notices}, 24(3):67--78, March 1989. \bibitem[LHR88]{LHLR:law-paper} Karl~J. Lieberherr, Ian Holland, and Arthur~J. Riel. \newblock Object-oriented programming: An objective sense of style. \newblock In {\em Object-Oriented Programming Systems, Languages and Applications Conference, in Special Issue of SIGPLAN Notices}, number~11, pages 323--334, San Diego, CA., September 1988. \newblock A short version of this paper appears in IEEE Computer, June 88, Open Channel section, pages 78-79. \bibitem[Lie88]{karl1:class} Karl~J. Lieberherr. \newblock Object-oriented programming with class dictionaries. \newblock {\em Journal on Lisp and Symbolic Computation}, 1(2):185--212, 1988. \bibitem[LR88]{lieber-riel:oop} Karl~J. Lieberherr and Arthur~J. Riel. \newblock Demeter: A {CASE} study of software growth through parameterized classes. \newblock {\em Journal of Object-Oriented Programming}, 1(3):8--22, August, September 1988. \newblock A shorter version of this paper was presented at the {\em 10th International Conference on Software Engineering, Singapore, April 1988, IEEE Press}, pages 254-264. \bibitem[LW89]{lieber:89-11} Karl Lieberherr and Carl Woolf. \newblock Grammar-based planning for object-oriented applications. \newblock Technical Report NU-CCS-89-11, Northeastern University, Feb. 1989. \bibitem[Mey88]{meyer:book-88} Bertrand Meyer. \newblock {\em Object-Oriented Software Construction}. \newblock Series in Computer Science. Prentice Hall International, 1988. \bibitem[Mil78]{milner:unification-78} R.~Milner. \newblock A theory of type polymorphism in programming. \newblock {\em J. Comp. and Sys. Sci.}, 17:348--375, 1978. \bibitem[Mil81]{miller:syst-maint} J.~Miller. \newblock Techniques of program and system maintenance. \newblock Winthrop Publishers, 1981. \bibitem[Pre87]{pressman:software-87} Roger~S. Pressman. \newblock {\em Software Engineering: A practitioner's approach, second edition}. \newblock McGraw-Hill Book Company, 1987. \bibitem[S.85]{notkin:gandalf-85} Notkin~David S. \newblock {The GANDALF project}. \newblock {\em Journal of Systems and Software}, 5(2):91--105, May 1985. \bibitem[Sak88]{sakkinen:law-88} Markku Sakkinen. \newblock Comments on ``the {Law of Demeter}'' and {C++}. \newblock {\em SIGPLAN Notices}, 23(12):38--44, December 1988. \bibitem[SKG88]{garlan:transform-88} Barbara Staudt, Charles {Kr\"uger}, and David Garlan. \newblock Transformgen: Automating the maintenance of structure-oriented environments. \newblock Technical Report CMU-CS-88-186, Department of Computer Science, CMU, 11 1988. \bibitem[Str86]{stroustrup:c++} B.~Stroustrup. \newblock {\em The C++ Programming Language}. \newblock Addison Wesley, 1986. \bibitem[TC87]{cameron:reuse-83} Brian~W. Terry and Robert~D. Cameron. \newblock Software maintenance using metaprogramming systems. \newblock In {\em Conf. on Software Maintenance}, pages 115--119, Austin, Texas, 1987. Computer Society Press. \bibitem[Tei84]{reps-teitelbaum:84} T.~Reps~T. Teitelbaum. \newblock The synthesizer generator. \newblock {\em SIGPLAN}, 19(5), 1984. \bibitem[Wir77]{wirth:ebnf} N.~Wirth. \newblock What can we do about the unnecessary diversity of notation for syntactic definitions? \newblock {\em Comm. ACM}, 20(11):822--823, 1977. \end{thebibliography}