The COMQUAD component model: enabling dynamic selection of implementations by weaving non-functional aspects

  • Authors:
  • Steffen Göbel;Christoph Pohl;Simone Röttger;Steffen Zschaler

  • Affiliations:
  • Institute for System Architecture, Dresden, Germany;Institute for System Architecture, Dresden, Germany;Institute for Software Engineering, Dresden, Germany;Institute for Software Engineering, Dresden, Germany

  • Venue:
  • Proceedings of the 3rd international conference on Aspect-oriented software development
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

The reliability of non-functional contracts is crucial for many software applications. This added to the increasing attention this issue lately received in software engineering. Another development in software engineering is toward component-based systems. The interaction of both, non-functional aspects and components, is a relatively new research area, which the COMQUAD project is focusing on.Our component model, presented in this paper, enables the specification and runtime support of non-functional aspects in component-based systems. At the same time, a clear separation of non-functional properties and functionally motivated issues is provided. We achieve this by extending the concepts of the existing component-based systems Enterprise JavaBeans (EJB) and CORBA Components (CCM). Non-functional aspects are described orthogonally to the application structure using descriptors, and are woven into the running application by the component container acting as a contract manager. The container implicitly instantiates component specifications and connects them according to the current requests. The selection of actual implementations depends on the particular client's non-functional requirements. This technique also enables adaptation based on the specific quantitative capabilities of the running system.In this paper we give a detailed description of the COMQUAD component model and the appropriate container support. We also provide a simple case study of a multimedia application for better understanding.