# Preliminary Exam Plan

# Goal:

- Demonstrate an architecture for Automatic Configuration of Component-Based Distributed Systems.

## Automatic Configuration Model:

- Prerequisites - list of software (and hardware) requirements for the execution of a particular component.

- The system is responsible for retrieving/installing all prerequisites before running the component.

- Code distribution - software components are distributed using the following schemes.

- push initiated by a system/application administrator
- pull based on component prerequisites
- mobile agents

- Dynamic Dependence Management - reifies runtime inter-component dependence. Supports:

- on-the-fly reconfiguration of running components
- proper garbage-collection
- proper exception handling

## Experimentation:

- Synthetic benchmarks: evaluation of time and space overheads of automatic reconfiguration. Analyze the "Quality of Service of the reconfiguration process".
- Reflector-based Multimedia Distribution System.

- Add a CORBA interface for management. Use dynamicTAO engine for management of dynamic linking, versions, garbage collection, etc.
- Specify prerequisites
- Enable dynamic binding of new Communication protocols supporting some of the following:

- Encryption
- Authentication
- QoS
- New session protocols like RTSP, HTTP, simpleSP, etc.

- Experiment with push and pull (not agents) code distribution mechanisms.
- Clients may load network-centric video decoders on demand (software H.263, hardware/software MPEG). Reflectors may download connection handling code based on client requests, etc.
- Note that multimedia data transmission is still done through protocols based on system V sockets. CORBA is just used for management. dynamicTAO is used for (un)loading these protocols dynamically. (Justify this in the prelim statement).

# SCHEDULE

## 1 Already Done:

- Design and implementation of DCP (Distributed Configuration Protocol). It's the basis for code distribution.
- Dynamic loading/execution of software components on top of the ORB.
- Initial model for representing runtime inter-component dependence.
- Design and implementation of a Component-based Reflector (no CORBA interface).
- Refine model for inter-component dependence. Implement prototype.

## 2 To be done by December 98:

- Specify high-level model for representing prerequisites. The details will be left for after the prelim. I'll probably use a very simple language. A more careful approach to this topic will be carried out by Dao (Klara's student) in the context of QoS requirement specification languages.
- Specify IDL interfaces for 2K Configuration Service.

- Interfaces for code distribution (look at Manuel's DynamicConfigurator)
- Interfaces for dependence management. (write ComponentConfigurator IDL)

- Simple description of the experiments that will be carried out later.
- Application Scenarios:
  - dynamicTAO
  - Explain how these models will be used to implement network-centrism in 2K.
  - Domain Decomposition (not part of thesis experiments)

## 3 To be done after the prelim:

- Implement 2K Configuration Service including code distribution and dependence management.
- Implement CORBA-interface for code management on the Reflector
- Adapt the reflector to use the 2K Configuration Service.
- Experiment with dynamic configuration of the reflector code.
- Evaluate the cost of reconfiguration with synthetic benchmarks.

Last modified: Mon Nov 9 12:10:12 CST 1998