A Survey of Adaptive Middleware
Developing distributed applications is a difficult task due to three major problems: the complexities of programming inter process communication, the need to support ser-vices across heterogeneous platforms, and the need to adapt to changing conditions. Traditional middleware such as CORBA, DCOM, and Java RMI addresses the first two problems to some extent through the use of a "Black-Box" approach, such as encapsulation in object-oriented programming. However, traditional middleware is limited in its ability to support adaptation. To address all the three problems, adaptive middleware has evolved from traditional middleware. In addition to the object-oriented programming paradigm, adaptive middleware employs several other key technologies including computational reflection, component-based design, aspect-oriented programming, and software design patterns.