Middleware has emerged as an important architectural component in supporting distributed applications. With the expanding
role of middleware, however, a number of problems are emerging. Most significantly, it is becoming difficult for a single
solution to meet the requirements of a range of application domains. Hence, the paper argues that the next generation of middleware
platforms should be both configurable and re-configurable. Furthermore, it is claimed that reflection offers a principled
means of achieving these goals. The paper then presents an architecture for reflective middleware based on a multi-model approach.
The main emphasis of the paper is on resource management within this architecture (accessible through one of the meta-models).
Through a number of worked examples, we demonstrate that the approach can support introspection, and fine- and coarse- grained
adaptation of the resource management framework. We also illustrate how we can achieve multi-faceted adaptation, spanning
multiple meta-models.