Feature-oriented programming with Ruby

  • Authors:
  • Sebastian Günther;Sagar Sunkle

  • Affiliations:
  • University of Magdeburg;University of Magdeburg

  • Venue:
  • FOSD '09 Proceedings of the First International Workshop on Feature-Oriented Software Development
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Features identify core characteristics of software in order to produce families of programs. Through configuration, different variants of a program can be composed. Our approach is to design features as first-class entities of a language. With this approach, features can be constructed and returned by methods, stored in variables and used in many expressions of the language. This paper introduces rbFeatures, an implementation of first-class features in the dynamic programming language Ruby. Our goal is to show how such a language extension works with respect to its dynamic host language and the applicability of our results. In particular, we present a step-by-step walkthrough how to use rbFeatures in order to implement known case-studies like the Graph Product Line or the Expression Product Line. Since we created a pure Ruby language extension, rbFeatures can be used with any existing programs and in any virtual machine implementing Ruby.