Premium
Talents: an environment for dynamically composing units of reuse
Author(s) -
Ressia Jorge,
Gîrba Tudor,
Nierstrasz Oscar,
Perin Fabrizio,
Renggli Lukas
Publication year - 2014
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.2160
Subject(s) - reuse , computer science , inheritance (genetic algorithm) , class (philosophy) , object oriented programming , abstraction , object (grammar) , reflection (computer programming) , software engineering , composition (language) , human–computer interaction , programming language , artificial intelligence , engineering , waste management , biochemistry , chemistry , philosophy , linguistics , epistemology , gene
SUMMARY Reuse in object‐oriented languages typically focuses on inheritance. Numerous techniques have been developed to provide finer‐grained reuse of methods, such as flavors, mixins, and traits. These techniques, however, only deal with reuse at the level of classes. Class‐based reuse is inherently static. Increasing use of reflection and meta‐programming techniques in real‐world applications underlines the need for more dynamic approaches. New approaches have shifted to object‐specific reuse. However, these techniques fail to provide a complete solution to the composition issues arising during reuse. We propose a new approach that deals with reuse at the object level and that supports behavioral and state composition. We introduce a new abstraction called a talent that models features that are shared between objects of different class hierarchies. Talents provide a composition mechanism that is as flexible as that of traits but that is dynamic. Copyright © 2012 John Wiley & Sons, Ltd.