Abstract
Both, the role concept and aspect-oriented programming are techniques which permit a flexible adaptation of object-oriented constructs and therefore can be used to adjust existing software to new challenges. While the former one is already well known in the object-oriented world, the latter was only recently introduced. Currently, both techniques co-exist without affecting each other and therefore concrete software projects either use the one or the other approach. There are some situations where the result of utilizing the one or the other is approximately the same. Therefore, it is reasonable to analyze each approach in respect to its underlying philosophy and its impact on the implementation level and to compare them on the basis of those observations. This paper discusses the equivalences and differences between the role concept and aspect-oriented programming and reveals potential synergies between both approaches.
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
AspectJ Team, The AspectJ Programming Guide, http://aspectj.org/doc/dist/progguide/
Gilad Bracha, Martin Odersky, David Stoutamire, and Philip Wadler, Making the future safe for the past: Adding Genericity to the Java Programming Language, OOPSLA 98, Vancouver, October 1998.
Tzilla Elrad, Robert E. Filman, Atef Bader, Aspect-oriented programming: Introduction, Communications of the ACM, Volume 44, Issue 10, October 2001, pp. 29–32.
Robert E. Filman, What is Aspect-Oriented Programming, Revised, Workshop on Advanced Separation of Concerns, ECOOP 2001.
Fowler, M., Dealing with Roles, Proceedings of the 4th Annual Conference on the Pattern Languages of Programs, Monticello, Illinois, USA, September 2–5, Washington University Technical Report 97–34, 1997.
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995.
Georg Gottlob, Michael Schrefl, Brigitte Röck, Extending Object-Oriented Systems with Roles, ACM Transactions on Information Systems, Vol. 14, No. 3, July 1996.
IBM alphaworks, HyperJ Homepage, http://www.alphaworks.ibm.com/ tech/hyperj, last access: February 2001.
IBM Research, Subject-Oriented Programming and Design Patterns, http://www.research.ibm.com/sop/sopcpats.htm, last access: January 2001.
Hanenberg, S., Unland, R.: A Proposal For Classifying Tangled Code, Workshop Aspekt-Orientierung der GI-Fachgruppe 2.1.9, Bonn, February, 2002.
William Harrison, Harold Ossher, Subject-Oriented Programming (A Critique of Pure Objects), Andreas Paepcke (Ed.): Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), SIGPLAN Notices 28(10), October 1993.
Keller, R., Hölzle, U., Binary Component Adaption, ECOOP 1998, LNCS, 1445, 1998, pp. 307–329.
Elizabeth A. Kendall, Role Model Designs and Implementations with Aspect-Oriented Programming, Proceedings of Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA’ 99), SIGPLAN Notices 34 (10), 353–369.
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwing, J., Aspect-Oriented Programming. Proceedings of ECOOP’ 97, LNCS 1241, Springer-Verlag, pp. 220–242.
Bent Bruun Kristensen, Object-Oriented Modeling with Roles, Proceedings of the 2nd International Conference on Object-Oriented Information Systems (OOIS’95), Dublin, Ireland, 1995.
Bent Bruun Kristensen, Kasper Østerbye, Roles: Conceptual Abstraction Theory & Practical Language Issues”. Theory and Practice of Object Systems, Vol. 2, No. 3, pp. 143–160, 1996.
Lieberman, Henry, Using Prototypical Objects to Implement Shared Behavior in Object Oriented Systems, Proceedings of OOPSLA 1986, SIGPLAN Notices 21(11) pp. 214–223.
Matsuoka, S., Yonezawa A., Analysis of Inheritance Anomalies In Object-Oriented Concurrent Programming Languages, In: Agha, G., Wegner, P., Yonezawa, A. (eds.), Research Directions in Concurrent Object-Oriented Programming Languages, MIT-Press, 1993, pp. 107–150
Gustav Neumann and Uwe Zdun. Enhancing object-based system composition through per-object mixins. In Proceedings of Asia-Pacific Software Engineering Conference (APSEC), Takamatsu, Japan, December 1999.
Pernici, Objects with Roles, Proceedings of OOIS, 1990
VanHilst, M., D. Notkin, “Using Role Components to Implement Collaboration-Based Designs,” Proceedings of the Conference on Object-oriented Programming Systems, Languages, and Applications (OOPSLA’96), ACM Press, 1996, pp. 359–369.
Peter Wegner. The Object-Oriented Classification Paradigm. In: Bruce Shriver and Peter Wegner (eds.), Research Directions in Object-Oriented Programming, MIT Press, 1987, pp 479–560.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hanenberg, S., Unland, R. (2002). Roles and Aspects: Similarities, Differences, and Synergetic Potential. In: Bellahsène, Z., Patel, D., Rolland, C. (eds) Object-Oriented Information Systems. OOIS 2002. Lecture Notes in Computer Science, vol 2425. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46102-7_53
Download citation
DOI: https://doi.org/10.1007/3-540-46102-7_53
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-44087-1
Online ISBN: 978-3-540-46102-9
eBook Packages: Springer Book Archive