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.
- 1.Andersen, E. (Egil), Conceptual Modelling of Objects: A Role Modelling Approach, PhD Thesis, University of Oslo, 1997.Google Scholar
- 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 Scholar
- 3.Buschmann, F., R. Meunier, H. Rohnert, P. Sommerlad, M. Stal, Pattern- Oriented Software Architecture: A System of Patterns, Wiley, 1996 Google ScholarDigital Library
- 4.Dickinson, I., "Agent Standards", Agent Technology Group, 1997. http://drogo.cselt.stet.it/fipa.Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 7.Gamma, E.R., R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley, 1994. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 11.IBM Research: Subject- oriented Programming Group, "Subject-oriented Programming and Design Patterns," http://www.ibm.research/sopGoogle Scholar
- 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 Scholar
- 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 Scholar
- 14.Kiczales, G., C. Lopes, "Aspect-oriented Programming w/AspectJTM, " Tutorial and Primer, Xerox PARC, www.parc.xerox.com/spl/proj ects/aop/Google Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 19.Kristensen, B. B., "Subject Composition by Roles", Proc. of the 4th Intl. Conf. on Object-oriented Information Systems, Brisbane, Australia, 1997.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 22.Rational Software, "UML Documentation: Behavioral Elements Package: Collaboration Overview," http://www.rational.com/uml/resources/docmentation/sema ntics/semant9a.jtmplGoogle Scholar
- 23.Reenskaug, T., Wold, P., Lehne, O. A., Working with Objects, The OOram Software Engineering Method, Manning Publications Co, Greenwich, 1996.Google Scholar
- 24.Reenskaug, T., "Role Modelling Enters the Main Stream," Object EXPERT, January, 1997.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
Index Terms
Role model designs and implementations with aspect-oriented programming
Recommendations
Role model designs and implementations with aspect-oriented programming
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 ...
Cooperative aspect-oriented programming
Aspect-oriented programming (AOP) seeks to improve software modularity via the separation of cross-cutting concerns. AOP proponents often advocate a development strategy where programmers write the main application (base code), ignoring cross-cutting ...
Experimental aspect-oriented language - AspectCOOL
SAC '02: Proceedings of the 2002 ACM symposium on Applied computingAspect-oriented programming (AOP) is a programming technique for modularizing concerns that crosscut the basic functionality of programs. In AOP, aspect languages are used to describe properties, which crosscut basic functionality, in a clean and a ...
Comments