Type safety for feature-oriented product lines

S Apel, C Kästner, A Größlinger, C Lengauer - Automated Software …, 2010 - Springer
A feature-oriented product line is a family of programs that share a common set of features. A
feature implements a stakeholder's requirement and represents a design decision or …

Feature Featherweight Java: A calculus for feature-oriented programming and stepwise refinement

S Apel, C Kästner, C Lengauer - … of the 7th international conference on …, 2008 - dl.acm.org
Feature-oriented programming (FOP) is a paradigm that incorporates programming
language technology, program generation techniques, and stepwise refinement. In their …

Metaprogramming with traits

J Reppy, A Turon - ECOOP 2007–Object-Oriented Programming: 21st …, 2007 - Springer
In many domains, classes have highly regular internal structure. For example, so-called
business objects often contain boilerplate code for map** database fields to class …

Implementing software product lines using traits

L Bettini, F Damiani, I Schaefer - … of the 2010 ACM Symposium on …, 2010 - dl.acm.org
A software product line (SPL) is a set of software systems with well-defined commonalities
and variabilities that are developed by managed reuse of common artifacts. In this paper, we …

A unified and formal programming model for deltas and traits

F Damiani, R Hähnle, E Kamburjan… - … 2017, Held as Part of the …, 2017 - Springer
This paper presents a unified model for two complementary approaches of code reuse:
Traits and Delta-Oriented Programming (DOP). Traits are used to modularly construct …

TraitRecordJ: A programming language with traits and records

L Bettini, F Damiani, I Schaefer, F Strocco - Science of Computer …, 2013 - Elsevier
Traits have been designed as units for fine-grained reuse of behavior in the object-oriented
paradigm. Records have been devised to complement traits for fine-grained reuse of state …

[PDF][PDF] Mixin composition synthesis based on intersection types

J Bessai, TC Chen, A Dudenhefner… - Logical Methods in …, 2018 - lmcs.episciences.org
We present a method for synthesizing compositions of mixins using type inhabitation in
intersection types. First, recursively defined classes and mixins, which are functions over …

Featherweight jigsaw: A minimal core calculus for modular composition of classes

G Lagorio, M Servetto, E Zucca - … Conference, Genoa, Italy, July 6-10 …, 2009 - Springer
We present FJig, a simple calculus where basic building blocks are classes in the style of
Featherweight Java, declaring fields, methods and one constructor. However, inheritance …

On traits and types in a Java-like setting

V Bono, F Damiani, E Giachino - Fifth Ifip International Conference On …, 2008 - Springer
Both single and multiple class-based inheritance are often inappropriate as a reuse
mechanism, because classes play two competing roles. Namely, a class is both a generator …

JavaGI: The interaction of type classes with interfaces and inheritance

S Wehr, P Thiemann - ACM Transactions on Programming Languages …, 2011 - dl.acm.org
The language JavaGI extends Java 1.5 conservatively by a generalized interface
mechanism. The generalization subsumes retroactive and type-conditional interface …