Reflective Middleware

Recently, a number of reflective middleware technologies have emerged in response to the requirements of next generation middleware. Reflection is a technology that has previously been deployed successfully in the design of programming languages and operating systems (amongst other areas). The key to the approach is to offer a meta-interface supporting the inspection and adaptation of the underlying virtual machine.

In terms of middleware, this implies that the meta-interface should support operations to discover the internal operation and structure of the middleware platform (e.g. protocols and management structures being deployed) and to make changes at run-time. The design of such a meta-interface is central to studies of reflection: the interface should be sufficiently general to permit unanticipated changes to the platform but should also be restricted to prevent the integrity of the system from being destroyed.

For a more detailed description of Reflective Middleware, read Geoff Coulson's article at DSOnline.

 

Why Reflection?


  • Support for introspection. The ability to inspect both the structure and behaviour of the system. That is, the current architectural sructure (e.g. in terms of components) or executing behaviour (e.g. in terms of resources utilised) can be examined during the execution of the system.

 


  • Support for adaptation. Either short term dynamic re-configuration e.g. changing protocol configuration, or longer term evolution e.g. adding a new multimedia service