A feature composition problem and a solution based on c++ template metaprogramming

  • Authors:
  • Zoltán Porkoláb;István Zólyomi

  • Affiliations:
  • Department of Programming Languages and Compilers, Eötvös Loránd University, Budapest, Hungary;Department of Programming Languages and Compilers, Eötvös Loránd University, Budapest, Hungary

  • Venue:
  • GTTSE'05 Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Separation of concerns and collaboration based design is usually a suitable concept for library implementation: it results in easily scalable and maintainable code. After specifying and implementing orthogonal features, we aim to easily assemble library components. In real life, components can be used only after appropriate refinement steps, progressively adding features in each step. Therefore the specific solution for a particular task can be produced by composing a set of refined components. Unfortunately, a subtype anomaly occurs in object-oriented languages between such composite components that have different numbers of features from different refinement stages. In this article we analyse this anomaly that we named chevron-shape inheritance and present a framework based on standard C++ template metaprogramming.