\def\fileversion{v1.0n} \def\filedate{1997/09/15}
%% Package "uiucthesis" for use with LaTeX2e.
\documentclass[11pt,oneside]{book}

%The size can be as small as 10pt.

%\usepackage[draftthesis,fullpage]{uiucthesis}
\usepackage[fullpage]{uiucthesis}
\usepackage{url,epsfig,moreverb,xspace,subfigure,makeidx}

%comment out the following line unless generating the HTML files
%\usepackage{html}

\newcommand {\twoK}{\emph{2K}\xspace}
\newcommand {\dTAO}{\emph{dynamicTAO}\xspace}
\newcommand {\LegORB}{\emph{LegORB}\xspace}
\newcommand {\Doctor}{\emph{Doctor}\xspace}
\newcommand {\uChoices}{\emph{$\mu$Choices}\xspace}
\newcommand{\class}[1]{\textsf{\emph{#1}}}
\newcommand{\method}[1]{\textsf{\emph{#1}}}

\setcounter{secnumdepth}{3}

\bibliographystyle{alpha}

\makeindex

\begin{document}

%comment out the following line unless generating the HTML files
%\bodytext{TEXT="#000000" LINK="#0000ee" VLINK="#551a8b" BGCOLOR="#ffcc99"}

\title{Automatic Configuration of \\ Component-Based Distributed Systems}
\author{Fabio Kon}
\department{Computer Science}
\schools{B.S., University of S\~ao Paulo, 1991\\
%         B.A., S\~ao Paulo State University, 1992\\
         M.S., University of S\~ao Paulo, 1994}
\phdthesis
\degreeyear{2000}
\maketitle

\frontmatter

\newpage
\chapter*{Abstract}

Recent developments in component technology enable the construction of complex
software systems by assembling off-the-shelf components. However, it
is still difficult to develop efficient, reliable, and dynamically
configurable component-based systems. Components are often developed by
different groups with different methodologies. Unspecified dependencies and
behavior lead to unexpected failures.

This thesis demonstrates that the explicit representation of inter-component
dependence is fundamental for the development of efficient, configurable,
and reliable component-based systems.  This provides a common ground for
supporting fault-tolerance and automating dynamic configuration to facilitate
system management and maintenance.

In this thesis, we present a generic architecture for managing dependencies in
distributed component systems, describe a concrete implementation of this
architecture, and discuss how it can be used to support automatic
configuration. The architecture is divided in three parts: the Automatic
Configuration Service, the component configurator framework, and the
reconfiguration agents framework.

We describe the deployment of the architecture in centralized and distributed
systems and present detailed experimental results.





% Create a dedication with no heading, centered vertically
% on the page.
\newpage
\leavevmode\vfill

\hspace{14cm}To Paula

\vfill

\index{ubiquitous computing|see{active spaces}}
\index{Architectural Description Languages|see{ADL}}
\index{mobile agents|see{agents}}
\index{CORBA Component Model|see{CCM}}

\chapter*{Acknowledgments}

I would like to thank my advisor, Prof. Roy Campbell, for having always
believed in my work and for providing insightful feedback during all the stages
of the research described in this thesis. His vision was fundamental in
shaping my research and I am very grateful for having had the opportunity to
learn from him.

The students at the Systems Research Lab provided a precious collaborative
working environment that will be hard to forget. To save trees, I must not
list the names of all the DCL people that contributed to my work. Such list
would certainly include Manuel Rom\'{a}n, Christopher Hess, Dulcineia
Carvalho, Tomonori Yamane, Prasad Naldurg, Vijay Gupta, Luiz Claudio
Magalh\~aes, Ashish Singhai, Miguel Valdez, Chuck Thompson, Mario Medina,
Marcia Mu\~noz, and others from the SRG, 2K, and Vosaic teams. Anda Ohlsson
and Bonnie Howard made my life at the department much easier.

The members of my thesis committee, Professors Geneva Belford, Klara Nahrstedt,
and Dennis Mickunas provided valuable feedback at different phases of my research.
 
Prof. Francisco Ballesteros was always so readily available to help me with
everything I needed that I often forgot that we were separated by 6886
Kms. Alexandre Oliva provided a safe environment for my reconfiguration agents
at the University of Campinas.  Prof. Dilma Menezes shared with me some of her
inspiring ideas and was brave enough to actually use my code. 

My PhD research would not be possible without the financial support from
CAPES, Brazil, process 1405/95-2 and from NSF, grants 98-70736 and
99-70139.

Paula was the best person in the world I could have had to share all the good
and bad moments of my PhD. I was very lucky to have found her. Last but not
least, I would like to thank my parents, ZecAnita, my siblings, LeNeRu, and
all my family for their great emotional support over all these years, and 
Larry and family, who made us feel more at home in these distant lands.

%% The thesis format requires these lists to come in the following
%% order:
%%
%% Table of Contents
%% List of Tables
%% List of Figures or List of Illustrations
%% List of Symbols and/or Abbreviations
\tableofcontents
\listoftables
\listoffigures

%% Create a List of Abbreviations.

\chapter*{List of Abbreviations}
\begin{description}
\item[ACE] Adaptive Communication Environment
\item[CORBA] Common Object Request Broker Architecture
\item[DCOM] Distributed Component Object Model
\item[DCP] Distributed Configuration Protocol
\item[Doctor] Distributed ORB Configuration Tool
\item[DSRT] Dynamic Soft Real-Time Scheduler
\item[OMG] Object Management Group
\item[ORB] Object Request Broker
\item[PDA] Personal Digital Assistant
\item[RMI] Remote Method Invocation
\item[SPDF] Simple Prerequisite Description Format
\end{description}

\mainmatter

\include{1-introduction}
%1.0 intro of the introduction
%1.1 The Heart of the Problem
%1.2 The Proposed Solution
%1.3 Thesis Contents

\include{2-dependence-management}
%2.1 Reliability
%2.2 Quality of Service
%2.3 Dynamic Configuration
%2.3.1 Motivation
%2.3.2 A Taxonomy
%2.3.2 Scope of this Thesis

\include{3-architecture}
%1.1 The Big Picture
%1.2 Automatic Configuration via Prerequisites
%1.3 Runtime Dependence Representation
%1.4 Mobile Agents for Dynamic Configuration

\include{4-autoconfig-service}
%1.1 A Flexible Framework
%1.2 A Concrete Implementation
%1.3 Interactions with Resource Management Services
%1.4 Use Cases

\include{5-component-configurators}
%5.1 Separation of Concerns
%5.2 Implementation
%5.2.1 C++
%5.2.2 Java 
%5.2.3 CORBA
%5.3 Customization
%5.3.1 Example: Storing alternatives 
%5.4 Use Cases

\include{6-reconfiguration-agents}
%6.1 Implementation
%6.2 Java Agents
%6.3 Security
%6.4 Fault-Tolerance and Consistency

\include{7-application-scenarios}
% 8.1 dynamicTAO
% 8.2 Scalable Multimedia Distribution
% 8.3 Other Applications

\include{8-experimental-results}
% automatic configuration (reflector example)
% dynamic reconfiguration with component configurators
% agents


\include{9-related-work}
\include{10-future-work} % and improvements
\include{11-conclusions}

%\appendix

%\include{A-data.tex}

\backmatter

\bibliography{2k,dfs,dos,paper,agents,configuration,architecture,multimedia,ChoicesRef,security,net-multi,grid}

\chapter{Vita}

Fabio Kon was born in S\~{a}o Paulo, Brazil on October 15, 1969.  He received
BS and MS degrees in Computer Science from the University of S\~{a}o Paulo and
a BA degree in Music (Percussion) from the S\~{a}o Paulo State University. His
research interests include Distributed Operating Systems, Reflective
Middleware, Mobile Agents, Multimedia, and Computer Music. He has published
over 30 papers on these topics.

Fabio has developed SODA, a consistent distributed file system based on
leases; MAXAnnealing, a tool for algorithmic musical composition; a scalable
multimedia distribution system; \dTAO, a dynamically configurable reflective
ORB, and a framework for automatic configuration of component-based
distributed systems.

During the course of his PhD, Fabio was seen many times playing the vibraphone
with the Parkland Jazz Big Band and holding a pandeiro in the Corcovado choro
ensemble.

After a period of post-doctoral research at the University of Illinois, Fabio
is moving back to S\~{a}o Paulo, where he will continue his research in
the Department of Computer Science at the University of S\~{a}o Paulo.
His home pages are \url{http://choices.cs.uiuc.edu/f-kon} and 
\url{http://www.ime.usp.br/~kon}.

\printindex
\end{document}
\endinput
