Reflection in  
Open Distributed 
Systems  drawing hands logo 
 

 Specific Areas of Study


Our research is divided into a number of complementary and overlapping topics, as described below:

Topic 1: Reflective Architecture

This topic is concerned with further refinements of our reflective architecture . The main activities are on providing specific meta-object protocols for the three meta-models, i.e. the compositional, encapsulation and environment meta-models. We are also interested in applying the results from this abstract architecture to define a meta-object protocol for CORBA.

Main contacts: Gordon Blair and Geoff Coulson

Topic 2: Experimentation with Python

We are experimenting with our reflective architecture using some reflective facilities developed in Python . Python is an interpreted and interactive object-oriented language. The reflective facilities build on the open implementation of Python to enable inspection of methods, attributes and the class of an object, the addition/ deletion of methods/attributes, or the alteration of the class of the object. Our initial experiment is concerned with the development of a simple middleware platform featuring each of the three meta-models . Ongoing research is looking in more detail at the features required by each of these meta-models.

Main contacts: Fabio Moreira Costa and Hector Duran Limon

Topic 3: Open Bindings

This topic is concerned with the application of open implementation and reflection to the specific area of bindings. In our approach, bindings are first class objects representing the end-to-end communication between objects in a distributed environment. Open bindings feature a compositional meta-model providing access to internal components of the binding through an object graph. This meta-model can be used for inspection and/ or adaptation of the object graph structure. This work is carried out in the Adapt Project .

Main contacts: Philippe Robin and Tom Fitzpatrick

Topic 4: Reflective Group Services

This topic is concerned with the use of reflection to enable configuration and re-configuration of group services. The topic is closely related to the work on open bindings discussed above . In particular, we are extending the open binding concept to group communications. This will allow the user to tailor the semantics of message distribution, and also key group management policies. Reflective groups also offer a uniform means of disseminating information at different levels of the system, i.e. base-level, meta-level, meta-meta-level, etc. The experimental work in this activity will be based on SRM SRM adopts an application-level framing approach to protocol design, leaving key aspects group management to the application. In our case, such aspects would be dealt with in the (open) middleware platform.

Main contacts: Katia Barbosa Saikoski and Lee Johnston

Topic 5: Reflection and QoS Management

QoS management is an important element in the design of next generation middleware platforms, to enable support for multimedia applications (and indeed other areas). We are investigating an open approach to QoS management (specifically dynamic QoS management) whereby composite objects can include explicit management objects, representing for example QoS monitors or controllers. The role of a management object is to implement a particular policy. In our approach, the realisation of this policy is provided by a script, written as a timed automaton. This script is itself open to inspection and adaptation. In extensions to this work, we are considering the role of meta-managers in monitoring and adapting management components (effectively realising a meta-policy).

Main contact: Anders Andersen

Topic 6: Component Frameworks

There is currently considerable interest in component technologies such as JavaBeans and the associated developments in CORBA . We view this as complementary to our reflective architecture in that the architecture relies on the existence of components to construct more complex (composite) services. We are therefore investigating the development of a component framework to support reflective middleware platforms. Example components in this framework include a range of low-level communications protocols such as IP and IP-multicast, end system components such as filters, dispatchers and buffers, and management components such as scheduling policies and QoS management components. These primitive components can then be used to build composite components including, for example, off-the-shelf bindings offering stream communications for audio and video.

Main contact: Nikos Parlavantzas

Topic 7: Aspect-oriented Specification and Design

In a closely related project, we are investigating the specification and verification of complex distributed applications. The approach adopted in this work is to maintain a clean separation between different aspects of the specification and (potentially) use different languages for different aspects. For example, we can use LOTOS for the core behaviour and real-time temporal logic for real-time concerns. Interestingly, we can use timed automata to directly represent QoS management policies in the formal specification and then use this to map on to components in the eventual system . This allows us to experiment with QoS management policies at early stages of the software lifecycle. This work is carried out as part of the V-QoS project .

Main contact: Lynne Blair


Lancaster logo 
Distributed Multimedia Research Group, 
Computing Department, Lancaster University, 
Bailrigg, Lancaster, LA1 4YR, U.K. 

Email: mpg@comp.lancs.ac.uk 
Tel: +44 (0)1524 65201, Fax: +44 (0)1524 593608