A Generative Programming Framework for Adaptive Middleware

  • Authors:
  • Venkita Subramonian;Christopher Gill

  • Affiliations:
  • -;-

  • Venue:
  • HICSS '04 Proceedings of the Proceedings of the 37th Annual Hawaii International Conference on System Sciences (HICSS'04) - Track 9 - Volume 9
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Component middleware technologies such as the CORBA Component Model (CCM) [1], J2EE [2], and .NET [3], were developed to address many limitations like interdependenciesbetween services and object interfaces, limited re-use, of first-generation middleware technologies such as CORBA 2.x [4], XML [5], and SOAP [6]. These component technologies have addressed a wide range of application domains, but unfortunately for distributed real-timeand embedded (DRE) systems, the focus of these technologies has been primarily on functional and not quality of service (QoS) properties. Research on QoS-aware component models such as the CIAO project [7, 8] shows that there is a fundamental difference between configuration of functional and QoS properties even within such a unified component model: the dominant decomposition of functional properties is essentially object-oriented, while the dominant decomposition of QoS properties is essentially aspect-oriented. In this paper, we describe how a focus on aspect frameworks for configuring QoS properties both complements and extends QoS-aware component models.This paper makes three main contributions to the state of the art in DRE systems middleware. First, it describes a simple but representative problem for configuring QoS aspectsthat cut across architectural layers, system and distribution boundaries, which motivates our focus on aspect frameworks. Second, it provides a formalization of that problem using first order logic - Infrastructure Configuration Logic - which both guides the design of aspect configuration infrastructure, and offers a way to connect these techniques with model-integrated computing [9] approaches to further reduce the programming burden on DRE system developers. Third, it describes alternative mechanisms to ensure correct configuration of the aspects involved, and notes the phases of the DRE system lifecycle at which each such configuration mechanism is most appropriate.