\relax \bibstyle{chicago} \@writefile{toc}{\contentsline {chapter}{List of Tables}{v}} \@writefile{toc}{\contentsline {chapter}{List of Figures}{vi}} \@writefile{toc}{\contentsline {chapter}{Abstract}{1}} \@writefile{toc}{\contentsline {chapter}{Acknowledgments}{3}} \citation{Szyp98} \citation{forman97} \citation{brooks87} \@writefile{toc}{\contentsline {chapter}{\numberline {1}Introduction}{1}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {1.1}Background}{1}} \citation{musser98} \citation{exton98} \citation{ISO97} \@writefile{toc}{\contentsline {section}{\numberline {1.2}Research Questions}{3}} \@writefile{toc}{\contentsline {section}{\numberline {1.3}Theses Outline}{3}} \citation{Szyp98} \citation{OMG99} \citation{thomas98} \citation{Szyp98} \@writefile{toc}{\contentsline {chapter}{\numberline {2}Component Based Software Development}{5}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \citation{Szyp98} \@writefile{toc}{\contentsline {section}{\numberline {2.1}Java Components}{6}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.1.1}Background}{6}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.1.2}JavaBeans}{6}} \citation{ejb99} \citation{matena98} \citation{thomas98} \@writefile{toc}{\contentsline {subsection}{\numberline {2.1.3}Enterprise JavaBeans}{7}} \@writefile{lof}{\contentsline {figure}{\numberline {2.1}{\ignorespaces Enterprise Java Beans Technology in the Middle-Tier}}{8}} \newlabel{EJB}{{2.1}{8}} \@writefile{toc}{\contentsline {subsubsection}{Lifecycle}{8}} \@writefile{toc}{\contentsline {subsubsection}{State Management}{8}} \citation{steve98} \@writefile{toc}{\contentsline {subsubsection}{Security}{9}} \@writefile{toc}{\contentsline {subsubsection}{Transactions}{9}} \@writefile{toc}{\contentsline {subsubsection}{Persistence}{9}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.1.4}Comparing JavaBean Components and Enterprise Beans}{9}} \citation{watkinsb98} \citation{steve98b} \@writefile{toc}{\contentsline {section}{\numberline {2.2}CORBA}{10}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.2.1}Background}{10}} \@writefile{lof}{\contentsline {figure}{\numberline {2.2}{\ignorespaces Object Management Architecture}}{10}} \newlabel{oma}{{2.2}{10}} \citation{schmidt99} \citation{henning98} \@writefile{toc}{\contentsline {subsubsection}{Object Request Broker}{11}} \@writefile{toc}{\contentsline {subsubsection}{Object Services}{12}} \@writefile{toc}{\contentsline {subsubsection}{Common Facilities}{12}} \citation{OMG99} \@writefile{toc}{\contentsline {subsubsection}{Domain Interfaces}{13}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.2.2}CORBA Components}{13}} \citation{grimes97} \citation{brock96} \citation{gunter95} \@writefile{toc}{\contentsline {section}{\numberline {2.3}The Component Object Model}{14}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.1}Background}{14}} \citation{kind94} \citation{brock96} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.2}Interfaces}{15}} \@writefile{lof}{\contentsline {figure}{\numberline {2.3}{\ignorespaces Watch Object}}{16}} \newlabel{watch}{{2.3}{16}} \@writefile{lof}{\contentsline {figure}{\numberline {2.4}{\ignorespaces Virtual Function Tables and Interface Binary Standard}}{16}} \newlabel{vtable}{{2.4}{16}} \citation{watkinsa98} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.3}IUnkown}{17}} \citation{grimes97} \@writefile{lof}{\contentsline {figure}{\numberline {2.5}{\ignorespaces Three Methods for Accessing COM Objects}}{19}} \newlabel{com3}{{2.5}{19}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.4}COM/DCOM/OLE Architecture}{20}} \@writefile{lof}{\contentsline {figure}{\numberline {2.6}{\ignorespaces COM/DCOM/OLE Architecture}}{20}} \newlabel{arc}{{2.6}{20}} \citation{MICDEC95} \@writefile{toc}{\contentsline {subsubsection}{OLE Compound Documents}{21}} \@writefile{toc}{\contentsline {subsubsection}{ActiveX Controls}{21}} \@writefile{toc}{\contentsline {subsubsection}{Fundamental Services}{21}} \citation{grimes97} \citation{brock96} \citation{watkinsa98} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.5}MIDL}{23}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.6}GUIDs}{23}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.7}HRESULT}{23}} \citation{rog97} \@writefile{lof}{\contentsline {figure}{\numberline {2.7}{\ignorespaces HRESULT Structure}}{24}} \newlabel{hres}{{2.7}{24}} \@writefile{lot}{\contentsline {table}{\numberline {2.1}{\ignorespaces Facility Codes}}{24}} \newlabel{table1}{{2.1}{24}} \citation{arm99} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.8}Development using ATL}{25}} \@writefile{lof}{\contentsline {figure}{\numberline {2.8}{\ignorespaces ATL include files}}{26}} \newlabel{code1}{{2.8}{26}} \@writefile{lot}{\contentsline {table}{\numberline {2.2}{\ignorespaces ATL's Support for COM}}{27}} \newlabel{table2}{{2.2}{27}} \@writefile{lof}{\contentsline {figure}{\numberline {2.9}{\ignorespaces MIDL definition}}{28}} \newlabel{code2}{{2.9}{28}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.9}Dual Interfaces}{29}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.10}Aggregation}{29}} \citation{buss97} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.11}Marshalling}{30}} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.12}The Registry}{30}} \citation{saif97} \@writefile{toc}{\contentsline {subsection}{\numberline {2.3.13}Introducing Categories}{31}} \@writefile{toc}{\contentsline {section}{\numberline {2.4}Locating Services in COM and CORBA}{32}} \citation{OMG96} \@writefile{toc}{\contentsline {chapter}{\numberline {3}Comparison of Categories and the Trading Service}{33}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {3.1}CORBA Trading Service}{33}} \citation{chee98} \@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}The Trader Type Librarian}{34}} \citation{BOX98} \@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces Function of the Type Librarian within the Trader}}{35}} \newlabel{Trader}{{3.1}{35}} \@writefile{toc}{\contentsline {section}{\numberline {3.2}Categorisation}{35}} \@writefile{toc}{\contentsline {section}{\numberline {3.3}Comparing Categorisation with the Type Librarian}{37}} \@writefile{toc}{\contentsline {section}{\numberline {3.4}Anticipated Problems}{37}} \@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces Relationships within different models}}{38}} \newlabel{relation}{{3.2}{38}} \@writefile{toc}{\contentsline {chapter}{\numberline {4}Development and Design of a Categorisation system}{39}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {4.1}Description of Problem}{40}} \@writefile{toc}{\contentsline {section}{\numberline {4.2}System Design}{40}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}Category Program}{40}} \citation{BOX98} \@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces OMT Diagrams. Structure of classes within the Category Program}}{41}} \newlabel{OMTCat}{{4.1}{41}} \@writefile{lof}{\contentsline {figure}{\numberline {4.2}{\ignorespaces Categorisation Program}}{42}} \newlabel{CatProg}{{4.2}{42}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.2}Calculator Programs}{42}} \@writefile{lof}{\contentsline {figure}{\numberline {4.3}{\ignorespaces TOE Chart of CCategoriesDlg}}{43}} \newlabel{TOEChart}{{4.3}{43}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.2.3}The Register Program}{43}} \@writefile{lof}{\contentsline {figure}{\numberline {4.4}{\ignorespaces Calculator Interfaces}}{44}} \newlabel{CalcInt}{{4.4}{44}} \@writefile{toc}{\contentsline {chapter}{\numberline {5}Implementation and analysis of the system}{45}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {5.1}Results}{46}} \@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces Calculator Components available on Flea}}{46}} \newlabel{FleaCalc}{{5.1}{46}} \@writefile{toc}{\contentsline {section}{\numberline {5.2}Analysis of implementation}{46}} \@writefile{lof}{\contentsline {figure}{\numberline {5.2}{\ignorespaces Calculator Components available on Rhodes}}{47}} \newlabel{RhodesCalc}{{5.2}{47}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}RegisterCategories Program}{47}} \@writefile{lof}{\contentsline {figure}{\numberline {5.3}{\ignorespaces Calculator Components available on Termite}}{48}} \newlabel{TermiteCalc}{{5.3}{48}} \@writefile{lof}{\contentsline {figure}{\numberline {5.4}{\ignorespaces Creating an instance of ICatRegister}}{49}} \newlabel{code3}{{5.4}{49}} \@writefile{lof}{\contentsline {figure}{\numberline {5.5}{\ignorespaces Creating and registering a Category}}{49}} \newlabel{code4}{{5.5}{49}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.2.2}Categorisation Program}{49}} \@writefile{lof}{\contentsline {figure}{\numberline {5.6}{\ignorespaces Registering the Calculator Category}}{49}} \newlabel{code5}{{5.6}{49}} \@writefile{lof}{\contentsline {figure}{\numberline {5.7}{\ignorespaces Creating the ICatInformation interface}}{50}} \newlabel{code6}{{5.7}{50}} \@writefile{lof}{\contentsline {figure}{\numberline {5.8}{\ignorespaces Retreiving Category Information}}{50}} \newlabel{code7}{{5.8}{50}} \@writefile{lof}{\contentsline {figure}{\numberline {5.9}{\ignorespaces Creating an instance of the selected interface}}{51}} \newlabel{code8}{{5.9}{51}} \@writefile{toc}{\contentsline {section}{\numberline {5.3}Analysis of results}{51}} \@writefile{toc}{\contentsline {subsection}{\numberline {5.3.1}Categorising}{51}} \@writefile{toc}{\contentsline {chapter}{\numberline {6}Conclusion}{53}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {6.1}Research Assessment}{53}} \bibdata{thesis} \@writefile{toc}{\contentsline {section}{\numberline {6.2}Future Work}{55}} \bibcite{arm99}{\citeauthoryear {Armstrong}{Armstrong}{1999}} \bibcite{BOX98}{\citeauthoryear {Box}{Box}{1998}} \bibcite{brock96}{\citeauthoryear {Brockshmidt}{Brockshmidt}{1996}} \bibcite{brooks87}{\citeauthoryear {Brooks}{Brooks}{1987}} \bibcite{buss97}{\citeauthoryear {Busonovich}{Busonovich}{1997}} \bibcite{chee98}{\citeauthoryear {Chan}{Chan}{1998}} \bibcite{exton98}{\citeauthoryear {Exton}{Exton}{1998}} \bibcite{forman97}{\citeauthoryear {Foreman}{Foreman}{1997}} \bibcite{grimes97}{\citeauthoryear {Grimes}{Grimes}{1997}} \bibcite{gunter95}{\citeauthoryear {Gunter}{Gunter}{1995}} \bibcite{henning98}{\citeauthoryear {Henning}{Henning}{1998}} \bibcite{ISO97}{\citeauthoryear {ISO/IEC}{ISO/IEC}{1997}} \bibcite{MICDEC95}{\citeauthoryear {Microsoft Corperation and Digital Equipment Corperation}{Microsoft Corperation and Digital Equipment Corperation}{1995}} \bibcite{musser98}{\citeauthoryear {Musser}{Musser}{1998}} \bibcite{OMG96}{\citeauthoryear {OMG}{OMG}{1996}} \bibcite{OMG99}{\citeauthoryear {OMG}{OMG}{1999}} \bibcite{rog97}{\citeauthoryear {Rogerson}{Rogerson}{1997}} \bibcite{saif97}{\citeauthoryear {Saifullah}{Saifullah}{1997}} \bibcite{schmidt99}{\citeauthoryear {Schmidt}{Schmidt}{1999}} \bibcite{ejb99}{\citeauthoryear {{S}un {M}icrosystems}{{S}un {M}icrosystems}{1999}} \bibcite{Szyp98}{\citeauthoryear {Szyperski}{Szyperski}{1998}} \bibcite{thomas98}{\citeauthoryear {Thomas}{Thomas}{1998}} \bibcite{steve98b}{\citeauthoryear {Vinoski}{Vinoski}{1998a}} \bibcite{steve98}{\citeauthoryear {Vinoski}{Vinoski}{1998b}} \bibcite{matena98}{\citeauthoryear {Vlada\penalty \@M \ Matena}{Vlada\penalty \@M \ Matena}{1999}} \bibcite{watkinsa98}{\citeauthoryear {Watkins}{Watkins}{1998a}} \bibcite{watkinsb98}{\citeauthoryear {Watkins}{Watkins}{1998b}} \bibcite{kind94}{\citeauthoryear {Willams and Kindel}{Willams and Kindel}{1994}} \@writefile{toc}{\contentsline {chapter}{Appendix A: Categories Program}{60}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {chapter}{Appendix B: Calculators}{78}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {chapter}{Appendix C: Register Program}{115}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }}