Date of Graduation


Document Type


Degree Type



Statler College of Engineering and Mineral Resources


Lane Department of Computer Science and Electrical Engineering

Committee Chair

Srinivas Kankanahalli.


Software is not built as monolithic structure. It is built in blocks by more than one person. This software then has to be put together and made to work. It is also important to ensure that the assembled software is performing optimally.;Chicory(TM) is such a Java(TM) software. It is made of numerous components, made by a lot of different people.;This thesis explores the complications associated with integrating these components. This is achieved by an exhaustive description of the architecture of the components and a detailed description of the design decisions. It explains in detail the interactions between various objects inside Chicory(TM). To explain the structure we first give an overview of the system and then explain the structural details and follow it by significant object interactions.;We also take care to explain the steps to be followed when extending the software to add functionality.;Software when built is not initially in its most optimized form. Structures and control flows exist which slow the application down when exposed to heavy loads. Data types used may not be fast enough to allow at least usable performances. Computation might be unnecessarily repeated. This thesis also explains the methods that we followed to optimize Chicory(TM). We explain methods applied to make Chicory(TM) use less memory and run faster and eliminate the problems explained above.;In putting forth these explanations we hope to impress on the user, the complexity associate with managing software of large proportions. We hope that the reader will gain significant insight into the functioning of Chicory(TM).