\relax \citation{Cardelli:Wegner:85} \citation{Goldberg:Robson:Book:83} \citation{Steele:90} \citation{Stroustrup:Book:91} \citation{Stroustrup:Book:97} \citation{Szypersky:Omohundro:Murer:93} \citation{Omohundro:94} \citation{Arnold:Gosling:96} \citation{Meyer:Eiffel:92} \@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}} \citation{Madsen:Moller-Pedersen:Nygaard:93} \citation{Bruce:97} \citation{Colnet:Liquori:00} \citation{Castagna:95} \citation{Chambers:Leavens:95} \citation{Millstein:Chmabers:99} \citation{Gamma:Helm:Johnson:Vlissides:Book:95} \citation{Bruce:Fiech:Schuett:vanGent:95} \citation{Bruce:Fiech:Petersen:97} \citation{Rinat:00} \citation{Musser:Saini:96} \citation{Gil:Gutterman:98} \newlabel{Equation:poly}{{1}{2}} \newlabel{Equation:original}{{2}{2}} \newlabel{Equation:override}{{3}{2}} \citation{Gotsman:Surazhsky:01} \@writefile{toc}{\contentsline {paragraph}{Outline}{3}} \@writefile{toc}{\contentsline {section}{\numberline {2}A Covariant Graph Hierarchy Example}{3}} \newlabel{Section:simple}{{2}{3}} \@writefile{lof}{\contentsline {figure}{\numberline {2.1}{\ignorespaces The Graphs diagrams}}{3}} \newlabel{Figure:Graphs}{{2.1}{3}} \@writefile{lof}{\contentsline {figure}{\numberline {2.2}{\ignorespaces The actors of an undirected graph}}{4}} \newlabel{Figure:Graph}{{2.2}{4}} \@writefile{lof}{\contentsline {figure}{\numberline {2.3}{\ignorespaces A configuration of an undirected graph}}{5}} \newlabel{Figure:undirected:configuration}{{2.3}{5}} \@writefile{lof}{\contentsline {figure}{\numberline {2.4}{\ignorespaces Instantiating the \texttt {GraphConfig} configuration}}{5}} \newlabel{Figure:directed:objects}{{2.4}{5}} \@writefile{lof}{\contentsline {figure}{\numberline {2.5}{\ignorespaces The actors in a directed graph}}{6}} \newlabel{Figure:DGraph}{{2.5}{6}} \citation{Rinat:00} \@writefile{lof}{\contentsline {figure}{\numberline {2.6}{\ignorespaces A configuration of a directed graph}}{7}} \newlabel{Figure:directed:configuration}{{2.6}{7}} \@writefile{lof}{\contentsline {figure}{\numberline {2.7}{\ignorespaces The actors in a face graph}}{7}} \newlabel{Figure:FGraph}{{2.7}{7}} \@writefile{lof}{\contentsline {figure}{\numberline {2.8}{\ignorespaces A configuration for a face graph}}{7}} \newlabel{Figure:fgraph:configuration}{{2.8}{7}} \@writefile{toc}{\contentsline {section}{\numberline {3}Auto Covariance, Matching and Match Bounded Polymorphism}{7}} \newlabel{Section:special}{{3}{7}} \citation{Bruce:Cardeli:Castagna:96} \citation{Bruce:Fiech:Schuett:vanGent:95} \@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces The auto-covariant actor \texttt {Point}}}{8}} \newlabel{Figure:Point}{{3.1}{8}} \@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces A configuration of actor \texttt {Point}}}{8}} \newlabel{Figure:point:configuration}{{3.2}{8}} \@writefile{lof}{\contentsline {figure}{\numberline {3.3}{\ignorespaces Specializing actor \texttt {Point} into actor \texttt {ColorPoint}}}{8}} \newlabel{Figure:ColorPoint}{{3.3}{8}} \citation{Bruce:Fiech:Peteresen:97} \citation{Bruce:Fiech:Peteresen:97} \@writefile{lof}{\contentsline {figure}{\numberline {3.4}{\ignorespaces A configuration for auto-covariant ColorPoint}}{9}} \newlabel{Figure:cpoint:configuration}{{3.4}{9}} \@writefile{lof}{\contentsline {figure}{\numberline {3.5}{\ignorespaces The auto-covariant classes \texttt {point} and \texttt {color\_point}}}{9}} \newlabel{Figure:points:usage}{{3.5}{9}} \@writefile{lof}{\contentsline {figure}{\numberline {3.6}{\ignorespaces A match bounded polymorphic procedure}}{10}} \newlabel{Figure:method}{{3.6}{10}} \@writefile{toc}{\contentsline {section}{\numberline {4}Recursive and Collateral Definitions}{10}} \newlabel{Section:recursive}{{4}{10}} \citation{Watt:90} \citation{Paulson:91} \citation{Wirth:71} \@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces C macros to define a configuration}}{12}} \newlabel{Figure:configuration:Macros}{{4.1}{12}} \@writefile{lof}{\contentsline {figure}{\numberline {4.2}{\ignorespaces Macros for defining base actors}}{12}} \newlabel{Figure:actor:macros}{{4.2}{12}} \@writefile{lof}{\contentsline {figure}{\numberline {4.3}{\ignorespaces Macros for \texttt {Self} role}}{13}} \newlabel{Figure:actor:self}{{4.3}{13}} \@writefile{lof}{\contentsline {figure}{\numberline {4.4}{\ignorespaces Macros for actor specialization}}{13}} \newlabel{Figure:actor:specialization}{{4.4}{13}} \@writefile{toc}{\contentsline {section}{\numberline {5}Discussion and Further Research}{13}} \newlabel{Section:Conclusions}{{5}{13}} \citation{Meyer:Book:92} \bibdata{main,practice,book,crossref} \bibcite{Arnold:Gosling:96}{1} \bibcite{Bruce:97}{2} \bibcite{Bruce:Cardeli:Castagna:96}{3} \bibcite{Bruce:Fiech:Peteresen:97}{4} \citation{ECOOP:97} \bibcite{Bruce:Fiech:Petersen:97}{5} \citation{ECOOP:97} \bibcite{Bruce:Fiech:Schuett:vanGent:95}{6} \bibcite{Cardelli:Wegner:85}{7} \bibcite{Castagna:95}{8} \@writefile{toc}{\contentsline {paragraph}{Acknowledgments}{14}} \bibcite{Chambers:Leavens:95}{9} \bibcite{Colnet:Liquori:00}{10} \bibcite{ECOOP:97}{11} \bibcite{Gamma:Helm:Johnson:Vlissides:Book:95}{12} \bibcite{Gil:Gutterman:98}{13} \bibcite{Goldberg:Robson:Book:83}{14} \bibcite{Gotsman:Surazhsky:01}{15} \bibcite{Madsen:Moller-Pedersen:Nygaard:93}{16} \bibcite{Meyer:Eiffel:92}{17} \bibcite{Meyer:Book:92}{18} \bibcite{Millstein:Chmabers:99}{19} \bibcite{Musser:Saini:96}{20} \bibcite{Omohundro:94}{21} \bibcite{Paulson:91}{22} \bibcite{Rinat:00}{23} \bibcite{Steele:90}{24} \bibcite{Stroustrup:Book:91}{25} \bibcite{Stroustrup:Book:97}{26} \bibcite{Szypersky:Omohundro:Murer:93}{27} \bibcite{Watt:90}{28} \bibcite{Wirth:71}{29} \bibstyle{abbrv}