Paper

Type
INPROCEEDINGS  
Title
Implementing software product lines using traits  
Authors
Lorenzo Bettini, Ferruccio Damiani, Ina Schaefer 
Editors
Sung Y. Shin, Sascha Ossowski, Michael Schumacher, Mathew J. Palakal, Cheng Hung  
Book
Proceedings of the 25th ACM symposium on Applied Computing (SAC 2010)  
Pages
2096-2102  
Abstract
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 present a novel approach to implement SPL by fine-grained reuse mechanisms which are orthogonal to class-based inheritance. We introduce the FEATHERWEIGHT RECORD-TRAIT JAVA (FRTJ) calculus where units of product functionality are modeled by traits, a construct that was already shown useful with respect to code reuse, and by records, a construct that complements traits to model the variability of the state part of products explicitly. Records and traits are assembled in classes that are used to build products. This composition of product functionalities is realized by explicit operators of the calculus, allowing code manipulations for modeling product variability. The FRTJ type system ensures that the products in the SPL are type-safe by type-checking only once the records, traits and classes shared by different products. Moreover, type-safety of an extension of a (type-safe) SPL can be guaranteed by checking only the newly added parts.  
Year
2010  
Bibtex key
DBLP:conf/sac/2010  
Paper File1
09-11-2010-122515-main.pdf  
Bibtex
@INPROCEEDINGS{DBLP:conf/sac/2010,
  title = {{Implementing software product lines using traits}},
  author = {Bettini, Lorenzo and Damiani, Ferruccio and Schaefer, Ina},
  booktitle = {Proceedings of the 25th ACM symposium on Applied Computing (SAC 2010)},
  editor = {Sung Y. Shin and  Sascha Ossowski and  Michael Schumacher and  Mathew J. Palakal and  Cheng Hung},
  pages = {2096-2102},
  abstract = {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 present a
      novel approach to implement SPL by fine-grained reuse mechanisms
      which are orthogonal to class-based inheritance. We introduce
      the FEATHERWEIGHT RECORD-TRAIT JAVA (FRTJ) calculus
      where units of product functionality are modeled by traits, a
      construct that was already shown useful with respect to code reuse,
      and by records, a construct that complements traits to model the
      variability of the state part of products explicitly. Records and traits
      are assembled in classes that are used to build products. This composition
      of product functionalities is realized by explicit operators
      of the calculus, allowing code manipulations for modeling product
      variability. The FRTJ type system ensures that the products in the
      SPL are type-safe by type-checking only once the records, traits
      and classes shared by different products. Moreover, type-safety of
      an extension of a (type-safe) SPL can be guaranteed by checking
      only the newly added parts.},
  year = {2010},
  url = {http://rap.dsi.unifi.it/phpbibliography/files/09-11-2010-122515-main.pdf},
  publisher = {ACM},
}
 
Created
0000-00-00 00:00:00  
Modified
2010-11-09 12:25:15