Abstract
Developing distributed applications is a difficult task due
to three major problems: the complexity of programming
interprocess communication, the need to support services
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, \em
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. This survey paper proposes a
three-dimensional taxonomy that categorizes different
adaptive middleware approaches. Examples of each category
are described and compared in detail. Suggestions for future
research are also provided.
Users
Please
log in to take part in the discussion (add own reviews or comments).