Skip to main content

Roles and Aspects: Similarities, Differences, and Synergetic Potential

  • Conference paper
  • First Online:
Object-Oriented Information Systems (OOIS 2002)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2425))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. AspectJ Team, The AspectJ Programming Guide, http://aspectj.org/doc/dist/progguide/

  2. 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.

    Google Scholar 

  3. Tzilla Elrad, Robert E. Filman, Atef Bader, Aspect-oriented programming: Introduction, Communications of the ACM, Volume 44, Issue 10, October 2001, pp. 29–32.

    Article  Google Scholar 

  4. Robert E. Filman, What is Aspect-Oriented Programming, Revised, Workshop on Advanced Separation of Concerns, ECOOP 2001.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995.

    Google Scholar 

  7. Georg Gottlob, Michael Schrefl, Brigitte Röck, Extending Object-Oriented Systems with Roles, ACM Transactions on Information Systems, Vol. 14, No. 3, July 1996.

    Google Scholar 

  8. IBM alphaworks, HyperJ Homepage, http://www.alphaworks.ibm.com/ tech/hyperj, last access: February 2001.

  9. IBM Research, Subject-Oriented Programming and Design Patterns, http://www.research.ibm.com/sop/sopcpats.htm, last access: January 2001.

  10. Hanenberg, S., Unland, R.: A Proposal For Classifying Tangled Code, Workshop Aspekt-Orientierung der GI-Fachgruppe 2.1.9, Bonn, February, 2002.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. Keller, R., Hölzle, U., Binary Component Adaption, ECOOP 1998, LNCS, 1445, 1998, pp. 307–329.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. Bent Bruun Kristensen, Object-Oriented Modeling with Roles, Proceedings of the 2nd International Conference on Object-Oriented Information Systems (OOIS’95), Dublin, Ireland, 1995.

    Google Scholar 

  16. 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.

    Article  Google Scholar 

  17. Lieberman, Henry, Using Prototypical Objects to Implement Shared Behavior in Object Oriented Systems, Proceedings of OOPSLA 1986, SIGPLAN Notices 21(11) pp. 214–223.

    Google Scholar 

  18. 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

    Google Scholar 

  19. 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.

    Google Scholar 

  20. Pernici, Objects with Roles, Proceedings of OOIS, 1990

    Google Scholar 

  21. 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.

    Google Scholar 

  22. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics