Adaptability using reflection

Abstract
Adaptability, i.e. the ability of a system to adapt dynamically to changes in its execution environment, is considered as an important property of computer systems. Scaling directory replication in name servers and load balancing are well known examples. However, adaptability in today's systems, if present at all, generally is burnt in and dedicated to singular properties of the execution environment. The authors discuss a more universal approach to adaptability. The approach is based on the/spl minus/in some cases artificial/spl minus/separation of nonfunctional properties from the functionality of application systems. The scheme provides full control over nonfunctional properties while preserving transparency for the application programs. To study that approach, reflection has been incorporated into the BirliX object model and its implementation. It has been used to experiment with some nonfunctional properties such as migration and protection. The authors motivate the need for a universal adaptability scheme, revisit reflection as used in programming language systems and discuss design decisions for reflective systems, describe the resulting reflective BirliX model and its implementation and finally describe applications.

This publication has 21 references indexed in Scilit: