JOURNAL ARTICLE

Feature-oriented programming with Ruby

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.

Keywords:
Computer science Programming language Software walkthrough Class (philosophy) Software Extension (predicate logic) Fourth-generation programming language Software system Programming paradigm Artificial intelligence Software construction

Metrics

18
Cited By
4.57
FWCI (Field Weighted Citation Impact)
32
Refs
0.96
Citation Normalized Percentile
Is in top 1%
Is in top 10%

Citation History

Topics

Advanced Software Engineering Methodologies
Physical Sciences →  Computer Science →  Artificial Intelligence
Model-Driven Software Engineering Techniques
Physical Sciences →  Computer Science →  Software
Logic, programming, and type systems
Physical Sciences →  Computer Science →  Artificial Intelligence

Related Documents

JOURNAL ARTICLE

rbFeatures: Feature-oriented programming with Ruby

Sebastian GüntherSagar Sunkle

Journal:   Science of Computer Programming Year: 2011 Vol: 77 (3)Pages: 152-173
BOOK-CHAPTER

Object-Oriented Programming with Ruby

Kent D. Lee

Year: 2008 Pages: 1-26
JOURNAL ARTICLE

Feature oriented-programming

Christian Prehofer

Year: 2010 Pages: 1-1
© 2026 ScienceGate Book Chapters — All rights reserved.