Abstract
Traits have been proposed as a mechanism to compose and share behavioral units between distinct class hierarchies. Several versions have been developed and they have been used to build complex libraries. This keynote puts in perspective the current versions and stress their relationships and limits.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Schärli, N., Ducasse, S., Nierstrasz, O., Black, A.: Traits: Composable units of behavior. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, pp. 248–274. Springer, Heidelberg (2003)
Lienhard, A.: Bootstrapping Traits. Master’s thesis, University of Bern (2004)
Schärli, N.: Traits — Composing Classes from Behavioral Building Blocks. PhD thesis, University of Bern (2005)
Slate, http://slate.tunes.org
Ingalls, D., Kaehler, T., Maloney, J., Wallace, S., Kay, A.: Back to the future: The story of Squeak, a practical Smalltalk written in itself. In: Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (OOPSLA 1997), pp. 318–326. ACM Press, New York (1997)
Flatt, M., Finder, R.B., Felleisen, M.: Scheme with classes, mixins and traits. In: AAPLAS 2006 (2006)
The Fortress language specification, http://research.sun.com/projects/plrg/
Fisher, K., Reppy, J.: Statically typed traits. Technical Report TR-2003-13, University of Chicago, Department of Computer Science (2003)
Smith, C., Drossopoulou, S.: Chai: Typed traits in Java. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 453–478. Springer, Heidelberg (2005)
Liquori, L., Spiwack, A.: FeatherTrait: A modest extension of Featherweight Java. ACM Transactions on Programming Languages and Systems (TOPLAS) 30, 1–32 (2008)
Reppy, J., Turon, A.: Metaprogramming with traits. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 373–398. Springer, Heidelberg (2007)
Bono, V., Damiani, F., Giachino, E.: On traits and types in a java-like setting. In: Fifth IFIP International Conference On Theoretical Computer Science - TCS 2008. IFIP International Federation for Information Processing, pp. 367–382. Springer, Heidelberg (2008)
Black, A.P., Schärli, N., Ducasse, S.: Applying traits to the Smalltalk collection hierarchy. Technical Report IAM-02-007, Institut für Informatik, Universität Bern, Switzerland, Also available as Technical Report CSE-02-014, OGI School of Science & Engineering, Beaverton, Oregon, USA (2002)
Cassou, D., Ducasse, S., Wuyts, R.: Redesigning with traits: the nile stream trait-based library. In: Proceedings of the 2007 International Conference on Dynamic Languages (ICDL 2007), pp. 50–75. ACM Digital Library, New York (2007)
Cassou, D., Ducasse, S., Wuyts, R.: Traits at work: the design of a new trait-based stream library. Journal of Computer Languages, Systems and Structures 35, 2–20 (2009)
Ducasse, S., Schärli, N., Wuyts, R.: Uniform and safe metaclass composition. Journal of Computer Languages, Systems and Structures 31, 143–164 (2005)
Black, A.P., Schärli, N.: Traits: Tools and methodology. In: Proceedings ICSE 2004, pp. 676–686 (2004)
Lienhard, A., Ducasse, S., Arévalo, G.: Identifying traits with formal concept analysis. In: Proceedings of 20th Conference on Automated Software Engineering (ASE 2005), pp. 66–75. IEEE Computer Society, Los Alamitos (2005)
Bettini, L., Bono, V., Naddeo, M.: A trait based re-engineering technique for java hierarchies. In: PPPJ 2008. ACM International Conference Proceedings. ACM Press, New York (2008)
Schärli, N., Black, A.P.: A browser for incremental programming. Journal of Computer Languages, Systems and Structures 30, 79–95 (2004)
Ducasse, S., Pollet, D., Bergel, A., Cassou, D.: Reusing and composing tests with traits. In: Proceedings of the 47th International Conference Objects, Models, Components, Patterns (TOOLS-Europe 2009) (2009)
Bergel, A., Ducasse, S., Nierstrasz, O., Wuyts, R.: Stateful traits. In: De Meuter, W. (ed.) ISC 2006. LNCS, vol. 4406, pp. 66–90. Springer, Heidelberg (2007)
Bergel, A., Ducasse, S., Nierstrasz, O., Wuyts, R.: Stateful traits and their formalization. Journal of Computer Languages, Systems and Structures 34, 83–108 (2008)
Ducasse, S., Wuyts, R., Bergel, A., Nierstrasz, O.: User-changeable visibility: Resolving unanticipated name clashes in traits. In: Proceedings of 22nd International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2007), pp. 171–190. ACM Press, New York (2007)
van Cutsem, T., Bergel, A., Ducasse, S., Meuter, W.D.: Adding state and visibility control to traits using lexical nesting. In: Drossopoulou, S. (ed.) ECOOP 2009. LNCS. Springer, Heidelberg (2009)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ducasse, S. (2009). Putting Traits in Perspective. In: Bergel, A., Fabry, J. (eds) Software Composition. SC 2009. Lecture Notes in Computer Science, vol 5634. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02655-3_2
Download citation
DOI: https://doi.org/10.1007/978-3-642-02655-3_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-02654-6
Online ISBN: 978-3-642-02655-3
eBook Packages: Computer ScienceComputer Science (R0)