Component specialization

  • Authors:
  • Gustavo Bobeff;Jacques Noyé

  • Affiliations:
  • EMN/INRIA, Nantes Cedex, France;EMN/INRIA, Nantes Cedex, France

  • Venue:
  • Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Component-Based Software Development (CBSD)is an attractive way to deliver generic executable pieces of program, ready to be reused in many different contexts. Component reuse is based on a black-box model that frees component consumers from diving into implementation details. Adapting a generic component to a particular context of use is then based on a parameterized interface that becomes a specific component wrapper at runtime. This shallow adaptation, which keeps the component implementation unchanged, is a major source of inefficiency. By building on top of well-known specialization techniques, it is possible to take advantage of the genericity of components and adapt their implementation to their usage context without breaking the black-box model. We illustrate these ideas on a simple component model, considering dual specialization techniques, partial evaluation and slicing. A key to not breaking encapsulation is to use specialization scenarios extended with assumptions on the required services and to package components as component generators.