Traits: A Mechanism for fine-grained Reuse

Ducasse, Stéphane; Nierstrasz, Oscar; Schärli, Nathanael; Wuyts, Roel; Black, Andrew P. (2006). Traits: A Mechanism for fine-grained Reuse. TOPLAS: ACM Transactions on Programming Languages and Systems, 28(2), pp. 331-388. ACM 10.1145/1119479.1119483

[img] Text
p331-ducasse.pdf - Published Version
Restricted to registered users only
Available under License Publisher holds Copyright.

Download (1MB) | Request a copy

Inheritance is well-known and accepted as a mechanism for reuse in object-oriented languages. Unfortunately, due to the coarse granularity of inheritance, it may be difficult to decompose an application into an optimal class hierarchy that maximizes software reuse. Existing schemes based on single inheritance, multiple inheritance, or mixins, all pose numerous problems for reuse. To overcome these problems we propose traits, pure units of reuse consisting only of methods. We develop a formal model of traits that establishes how traits can be composed, either to form other traits, or to form classes. We also outline an experimental validation in which we apply traits to refactor a non-trivial application into composable units.

Item Type:

Journal Article (Original Article)

Division/Institute:

08 Faculty of Science > Institute of Computer Science (INF)
08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG) [discontinued]

UniBE Contributor:

Nierstrasz, Oscar

Subjects:

000 Computer science, knowledge & systems

ISSN:

0164-0925

Publisher:

ACM

Language:

English

Submitter:

Anja Ebeling

Date Deposited:

16 Oct 2017 12:06

Last Modified:

11 Apr 2024 16:11

Publisher DOI:

10.1145/1119479.1119483

BORIS DOI:

10.7892/boris.104506

URI:

https://boris.unibe.ch/id/eprint/104506

Actions (login required)

Edit item Edit item
Provide Feedback