skip to main content
10.1145/320384.320423acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article
Free Access

Role model designs and implementations with aspect-oriented programming

Authors Info & Claims
Published:01 October 1999Publication History

ABSTRACT

This paper describes research in applications of aspect-oriented programming (AOP) as captured in the AspectJ™ language. In particular, it compares object-oriented and aspect-oriented designs and implementations of role models.

Sections 1, 2, and 3 provide background information on role models, object-oriented role model implementations, and aspect-oriented programming, respectively. New aspect-oriented designs for role models are explored in sections 4, 5, and 6.

The base reference for this exploration is the Role Object pattern. Although useful for role models, this pattern introduces some problems at the implementation level, namely object schizophrenia, significant interface maintenance, and no support for role composition. Our research has resulted in alternative aspect-oriented designs that alleviate some of these problems.

Section 7 discusses how an agent framework that implements role models has been partially reengineered with aspects. The reengineering addressed concerns that are orthogonal or cross cut both the core and the role behavior. The aspect oriented redesign significantly reduced code tangling, overall method and module count, and total lines of code. These results and other conclusions are presented in section 8.

References

  1. 1.Andersen, E. (Egil), Conceptual Modelling of Objects: A Role Modelling Approach, PhD Thesis, University of Oslo, 1997.Google ScholarGoogle Scholar
  2. 2.Baumer, D., D. Riehle, W. Siberski, M. Wolf, "Role Object," Proceedings of the 4th Annual Conference on the Pattern Languages of Programs, Monticello, Illinois, USA, September 2-5, 1997.Google ScholarGoogle Scholar
  3. 3.Buschmann, F., R. Meunier, H. Rohnert, P. Sommerlad, M. Stal, Pattern- Oriented Software Architecture: A System of Patterns, Wiley, 1996 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.Dickinson, I., "Agent Standards", Agent Technology Group, 1997. http://drogo.cselt.stet.it/fipa.Google ScholarGoogle Scholar
  5. 5.Dyson, P., B. Anderson, "State Patterns," in Pattern Languages of Program Design 3, R. Martin, D. Riehle, F. Busehmann, Ed., Addison Wesley, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.Fowler, M., "Dealing with Roles," Proceedings of the 4th Annual Conference on the Pattern Languages of Programs, Monticello, Illinois, USA, September 2-5, 1997.Google ScholarGoogle Scholar
  7. 7.Gamma, E.R., R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8.Gottlob, G., Schrefl, M., and Rock, B., "Extending Objectoriented Systems with Roles," ACM Trans on lnfo. Sys., Vol. 14, No. 3, July, 1996, pp. 268 - 296. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9.Harrison, W., H. Osher, "Subject-Oriented Programming (a critique of pure objects)," in Proceedings of the Conference on Object-oriented Programming: Systems, Languages, and Applications, Washington, D. C. September, 1993. pp. 411 - 428. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10.Helm, R., i. M. Holland, D. Gangopadhyay, "Contracts: Specifying Behavioral Compositions in Object-oriented Systems," Object-oriented Programming, Systems and Lanugages, ECOOP/ OOPSLA '90 Proceedings, October, 1990, pp. 169 - 180. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11.IBM Research: Subject- oriented Programming Group, "Subject-oriented Programming and Design Patterns," http://www.ibm.research/sopGoogle ScholarGoogle Scholar
  12. 12.Kaplan, M., Harold Ossher, William Harrison, Vincent Kruskal, Subject-Oriented Design and the Watson Subject Compiler, Position paper for OOPSLA'96 Subjectivity Workshop, October, t996Google ScholarGoogle Scholar
  13. 13.Kendall, E. A., "Agent Roles and Role Models: New Abstractions for Multiagent System Analysis and Design," International Workshop on Intelligent Agents in Information and Process Management, Germany, September, 1998Google ScholarGoogle Scholar
  14. 14.Kiczales, G., C. Lopes, "Aspect-oriented Programming w/AspectJTM, " Tutorial and Primer, Xerox PARC, www.parc.xerox.com/spl/proj ects/aop/Google ScholarGoogle Scholar
  15. 15.Kiczales, G., J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J. - M. Loingtier, and J. Irwin, "Aspect-oriented Programming," Proc. of the European Conference on Object- Oriented Programming (ECOOP), Finland, Springer- Verlag LNCS 1241, June, 1997.Google ScholarGoogle Scholar
  16. 16.Kristensen, B. B., "Object-oriented Modelling with Roles", OOIS'95, Proceedings of the 2nd International Conference on Object-oriented Information Systems, Dublin, Ireland, 1996.Google ScholarGoogle Scholar
  17. 17.Kristensen, B. B., Osterbye, K., "Roles: Conceptual Abstraction Theory and Practical Language Issues", Special Issue of Theory and Practice of Object Systems (TAPOS) on Subjectivity in Object-oriented Systems, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18.Kristensen, B. B., D. C. M. May. "'Activities: Abstractions for Collective Behavior". Proceedings of the European Conference on Object-oriented Programming (ECOOP 96), Linz, Austria, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19.Kristensen, B. B., "Subject Composition by Roles", Proc. of the 4th Intl. Conf. on Object-oriented Information Systems, Brisbane, Australia, 1997.Google ScholarGoogle Scholar
  20. 20.Ossher, H., Matthew Kaplan, William Harrison, Alexander Katz and Vincent Kruskal, "Subject- Oriented Composition Rules," Proceedings of 1995 Conference on Objectoriented Programming Systems, Languages; and Applications, October 1995 Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21.Ossher, H., M. Kaplan, A. Katz, W. Harrison, V. Kruskal, "Specifying Subject- Oriented Composition," Theory and Practice of Object Systems (TAPOS), Vol 2, No 3, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 22.Rational Software, "UML Documentation: Behavioral Elements Package: Collaboration Overview," http://www.rational.com/uml/resources/docmentation/sema ntics/semant9a.jtmplGoogle ScholarGoogle Scholar
  23. 23.Reenskaug, T., Wold, P., Lehne, O. A., Working with Objects, The OOram Software Engineering Method, Manning Publications Co, Greenwich, 1996.Google ScholarGoogle Scholar
  24. 24.Reenskaug, T., "Role Modelling Enters the Main Stream," Object EXPERT, January, 1997.Google ScholarGoogle Scholar
  25. 25.Riehle, D., T. Gross, "Role Model Based Framework Design and Integration," OOPSLA'98, Proceedings of the 1998 Conference on Object-oriented Programming Systems, Languages and Applications, ACMPress, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. 26.Riehle, D., "Composite Design Patterns", OOPSLA '97, Proceedings of the 1997 Conference on Object-oriented Programming Systems, Languages and Applications, ACM Press, Page 218-228, 1997. http://www.riehle.org. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. 27.Riehle, D., "Bureaucracy", in Pattern Languages of Program Design 3, R. Martin, D. Riehle, F. Buschmann (Ed.), Addison Wesley, 1998, pp. 163 - 185. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. 28.VanHilst, M., D. Notkin, "Using Role Components to Implement Collaboration- Based Designs," OOPSLA'96, Proceedings of the 1996 Conference on Object-oriented Programming Systems, Languages, and Applications, ACM Press, 1996, pp. 359- 369. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Role model designs and implementations with aspect-oriented programming

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        OOPSLA '99: Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
        October 1999
        462 pages
        ISBN:1581132387
        DOI:10.1145/320384

        Copyright © 1999 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 October 1999

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

        Acceptance Rates

        OOPSLA '99 Paper Acceptance Rate30of152submissions,20%Overall Acceptance Rate268of1,244submissions,22%

        Upcoming Conference

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader