Find out how ICT can support biomedical and clinical researchFind out more. From Clever cars to clever farms... Embedded Systems
Models and Extensible Architecture for Adaptive Middleware Platforms

Models and Extensible Architecture for Adaptive Middleware Platforms (AMP) project aims to develop novel middleware technology that augments existing standards-based application server technologies with adaptive capability.

Server applications such as J2EE applications and Web services augmented with behavioural adaptation logic can react to environmental changes, creating self-managing server applications with improved quality of service at runtime. However, developing adaptive server applications is challenging due to the complexity of the underlying server technologies and highly dynamic application environments. One delivery from this project is a novel architecture framework associated with analysis models and mechanisms, the Adaptive Server Framework (ASF) to facilitate the development of adaptive behaviour for server applications. ASF provides a clear separation between the implementation of adaptive behavior and the business logic of the server application. This means a server application can be extended with programmable adaptive features through the definition and implementation of control components defined in ASF. This is an ongoing research.

See Also : Technology Demonstrator

Project Overview

Application servers are a class of modern software infrastructure technology that drives the back-ends of many large-scale business systems in a range of application domains, from finance, to utilities and telecommunications. They handle potentially thousands of requests each second from user devices as diverse Web browsers, cell phones, PDAs and an ever-growing range of mobile devices. Application servers also provide the integration ‘glue’ to form complex, business applications from numerous existing (legacy) heterogeneous applications like databases, ERPs, portals, CRMs , and so on.

Application servers are a ubiquitous technology. They have proven extremely reliable and scalable. Their component-based programming models have proven cost-effective in terms of simplifying the effort in building complex, distributed server-side applications. This is achieved by the programming models providing a strong separation of concerns between application behavior, specified in program code, and infrastructure level behavior such as transactions and security, specified declaratively in associated configuration files.

However, the ever-growing complexity of systems built upon application server infrastructures makes their configuration and on-going management an ever-increasingly complex and costly task. These intricacies create the need for specialized system administrators who must constantly monitor, re-configure and adapt application behavior. Not surprisingly this is becoming cost-prohibitive and impacts on the stability and quality of service of the managed applications. 

This problem has been recognized by the IT research community, and autonomic systems have been proposed as a solution. Autonomic computing is an approach to self-managed computing systems that require a minimum of human interference. It is generally accepted that autonomic systems have the following general properties:

  • Self-configuration
  • Self-healing
  • Self-optimizing
  • Self-protecting

Augmenting application servers with the ability to self-monitor and dynamically adapt to changes in their application environment will provide a breakthrough in technology support for server-side applications. It would reduce the administration costs and increase the stability of information systems. 

What will this research achieve?

Crucially, the ability to develop/implement such autonomic services must have the following general characteristics:

  • Standards-based: Programming frameworks to construct autonomic services must leverage standard services.
  • Maintain Separation of Concerns: The adaptive behavior must be expressed completely separately from the main application business logic Deployment/Development Scalability: Solutions to provide adaptive behavior should scale down to small-scale applications, and scale up to large multi-server deployments. 
  • More specifically, the creation of autonomic capabilities presents the following scientific challenges:
  1. The invention of predictive models that, given inputs that characterize the current execution environment, can be solved to produce optimal parameter settings for controlling various aspects of application configuration and behavior.
  2. The invention of new extensible software architectures to provide flexible application server monitoring and feedback mechanisms, with minimal intrusion.
  3. The invention of mechanisms to enable dynamic monitoring and adaption policies for a given application to be specified declaratively by the application designer.

It is these three scientific challenges that this project will address.

The outcomes will be a generic adaptive middleware platform that augments existing standards-based application server technologies. This platform will be used by application developers:

  1. As the foundation architectural platform for building a myriad of adaptive application behaviors
  2. For creating reusable monitoring and adaptive model components that exploit the foundation architecture
  3. To declaratively express policies that are implemented by the underlying mechanisms in the adaptive middleware platform

What are the key features?

The key features embedded in ASF are:

  1. ASF provides an extensible architecture framework for building application-specific adpative behavior into server applications
  2. ASF supports a clear seperation between application business logic and adaptive control logic
  3. ASF introduces low overheads in terms of performance and memory footprint
  4. ASF is built on standard interfaces and is portable across different application server platforms
  5. ASF demonstrates that adaptive behavoir can be successfully built on top of exisiting middleware to faciliate the transparent augmentation of legacy applications with adaptive behavior

Who will benefit?

Middleware technologies are widely adopted for developing networked however small or large software applications. Enhancing middleware with adaptive capability can support middleware-based application to deliver highly reliable, responsive and robust services to the end users. This is a critical enabling technology to manage the ever increasing complexity of internet-facing software systems.

Progress update

The research prototype of ASF and the evlauation based on  two case studies in lab environment were completed by the end of 2006. ASF is now ready for trial. Currently we are developing technology demonstrators by using ASF to enhance the adaptive capability of integrated services in SOA and mission critical software systems.  We are also applying model driven approach to automate the design and development of adpative components with tool supports.

Research team

Project Leader: Dr. Yan (Jenny) Liu 

Key Research Staff: Dr. Yan (Jenny) Liu, Dr. Liming Zhu, Ms Betty Bui (Ph.D. candidate), Mr Patric Fornasier (Master by research candidate)