Composing Classes - Roles Vs Traits

Fernando Barbosa, Ademar Aguiar

2013

Abstract

Code replication has significant drawbacks in system maintenance. Code replication can have its origins in the composition limitations of the language. Several proposals have tried to overcome these limitations. A popular one is traits. However, traits do not support state or visibility control. Static roles are also a way of composing classes that has the benefits of traits and offers state, visibility control and other advantages as block renaming. We compare both approaches on how they are used to compose classes, and how they can be used to reduce code replication caused by composition limitations. As a case study we will compare how both approaches can reduce code replication by detecting and removing code clones within the JHotDraw framework. Results show that roles are capable of reducing a larger amount of replicated code than traits.

Download


Paper Citation


in Harvard Style

Barbosa F. and Aguiar A. (2013). Composing Classes - Roles Vs Traits . In Proceedings of the 8th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-8565-62-4, pages 63-73. DOI: 10.5220/0004424000630073

in Bibtex Style

@conference{enase13,
author={Fernando Barbosa and Ademar Aguiar},
title={Composing Classes - Roles Vs Traits},
booktitle={Proceedings of the 8th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2013},
pages={63-73},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004424000630073},
isbn={978-989-8565-62-4},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 8th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - Composing Classes - Roles Vs Traits
SN - 978-989-8565-62-4
AU - Barbosa F.
AU - Aguiar A.
PY - 2013
SP - 63
EP - 73
DO - 10.5220/0004424000630073