<?xml version="1.0" encoding="utf-8" ?> 
<?xml-stylesheet type="text/xsl" href="courses.xsl" ?>
<courses name="Fawcett">

  <btitle>Self Healing Systems</btitle>
  <theme src="HomeTheme.css" />

  <visible>
  <title>Masters Thesis:<br/>Self Healing Systems<br/>using<br/>The Software Matrix</title>
  <center><section title="An Architecture for System Recovery"/></center>
  <revised>11 December 2005</revised>

  <hnav/>
  <cnav/>
  <hilight>
    <ifile title="Project Topics">Projects.xml</ifile>&#32;
    <ifile title="Master's Projects">MastersProjects.xml</ifile>&#32;
    <ifile title="Master's Theses">MastersTheses.xml</ifile>&#32;
    <ifile title="Research">research.xml</ifile>&#32;
    <ifile title="References">references.xml</ifile>&#32;
    <ifile title="Cloner">Cloner.xml</ifile>&#32;
    <ifile title="Software Foundry">Foundry.xml</ifile>&#32;
  </hilight>

  <image src="../Research/AnirudhaDefenseDocs/AnirudhaKrishna.jpg" size="300" />
  <caption>Advisor Fawcett and Candidate Krishna</caption>

<!--
  <quote source="Frederick Brooks, Mythical Man-Month">
    Good judgement comes from experience, and experience comes from bad judgement.
  </quote>
-->

  <html><a name="contents"/></html>
  <section title="Defense">
    Anirudha successfully defended this work on December 09, 2005, before his committee: Drs. Kamal Jabbour (chair), 
    Daniel Pease, Marek Podgorny, and Jim Fawcett (advisor), all from the department of Electrical Engineering and Computer Science.  
  </section>
  <section title="Thesis Documents and Code">
    <file title="Defense Presentation">../Research/AnirudhaDefenseDocs/Defense.ppt</file>
    <file title="Thesis Document">../Research/AnirudhaDefenseDocs/ThesisDocument.pdf</file>
    <file title="Self Healing Code">../Research/AnirudhaDefenseDocs/SelfHealingCode</file>
  </section>

  <section title="Summary">
    <olist>
      <litem>
        The Software Matrix is a framework that was originally developed to support software salvage. Salvage is a reuse mechanism
        that focuses on software blocks that are typically significantly bigger that a single class.
      </litem>
      <litem>
        This work extends the Software Matrix concept and implementation to support Self Healing.
      </litem>
      <litem>
        By employing message-passing and mediator structures and by supporting the discovery of needed types, 
        we&apos;ve built a pluggable architecture that can gracefully support the resurrection of failed subsystems.
      </litem>
      <litem>
        The implementation is quite simple, consisting of only a couple of thousand lines of code.  Demonstrating how
        to achieve self healing with a very simple structure and implementation is one of the important contributions of
        this work.
      </litem>
    </olist>
    <images>
      <imageItem src="../research/AnirudhaDefenseDocs/image1.png" size="300" />
      <imageItem src="../research/AnirudhaDefenseDocs/image3.jpg" size="300"/><br/><br/><br/><br/>
      <imageItem src="../research/AnirudhaDefenseDocs/image2.png" size="700"/>
    </images>
    <caption>Self Healing Software Matrix</caption>

    <html><img src="../Research/AnirudhaDefenseDocs/committee.jpg" width="100%"/></html>
    <caption>Anirudha's committee - Dr.s Pease, Fawcett, Podgorny, and Jabbour (not in picture)"</caption>

  </section>

  </visible>
</courses>
