|
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
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Andersen, E. (Egil), Conceptual Modelling of Objects: A Role Modelling Approach, PhD Thesis, University of Oslo, 1997.
|
| |
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.
|
| |
3
|
Frank Buschmann , Regine Meunier , Hans Rohnert , Peter Sommerlad , Michael Stal, Pattern-oriented software architecture: a system of patterns, John Wiley & Sons, Inc., New York, NY, 1996
|
| |
4
|
Dickinson, I., "Agent Standards", Agent Technology Group, 1997. http://drogo.cselt.stet.it/fipa.
|
| |
5
|
|
| |
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.
|
| |
7
|
|
 |
8
|
|
 |
9
|
William Harrison , Harold Ossher, Subject-oriented programming: a critique of pure objects, Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications, p.411-428, September 26-October 01, 1993, Washington, D.C., United States
|
 |
10
|
Richard Helm , Ian M. Holland , Dipayan Gangopadhyay, Contracts: specifying behavioral compositions in object-oriented systems, Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications, p.169-180, September 1990, Ottawa, Canada
|
| |
11
|
IBM Research: Subject- oriented Programming Group, "Subject-oriented Programming and Design Patterns," http://www.ibm.research/sop
|
| |
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, t996
|
| |
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, 1998
|
| |
14
|
Kiczales, G., C. Lopes, "Aspect-oriented Programming w/AspectJTM, " Tutorial and Primer, Xerox PARC, www.parc.xerox.com/spl/proj ects/aop/
|
| |
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.
|
| |
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.
|
| |
17
|
|
| |
18
|
|
| |
19
|
Kristensen, B. B., "Subject Composition by Roles", Proc. of the 4th Intl. Conf. on Object-oriented Information Systems, Brisbane, Australia, 1997.
|
 |
20
|
Harold Ossher , Matthew Kaplan , William Harrison , Alexander Katz , Vincent Kruskal, Subject-oriented composition rules, Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications, p.235-250, October 15-19, 1995, Austin, Texas, United States
|
| |
21
|
|
| |
22
|
Rational Software, "UML Documentation: Behavioral Elements Package: Collaboration Overview," http://www.rational.com/uml/resources/docmentation/sema ntics/semant9a.jtmpl
|
| |
23
|
Reenskaug, T., Wold, P., Lehne, O. A., Working with Objects, The OOram Software Engineering Method, Manning Publications Co, Greenwich, 1996.
|
| |
24
|
Reenskaug, T., "Role Modelling Enters the Main Stream," Object EXPERT, January, 1997.
|
 |
25
|
Dirk Riehle , Thomas Gross, Role model based framework design and integration, Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.117-133, October 18-22, 1998, Vancouver, British Columbia, Canada
|
 |
26
|
Dirk Riehle, Composite design patterns, Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.218-228, October 05-09, 1997, Atlanta, Georgia, United States
|
| |
27
|
|
 |
28
|
Michael VanHilst , David Notkin, Using role components in implement collaboration-based designs, Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.359-369, October 06-10, 1996, San Jose, California, United States
|
CITED BY 21
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Kouhei Sakurai , Hidehiko Masuhara , Naoyasu Ubayashi , Saeko Matsuura , Seiichi Komiya, Association aspects, Proceedings of the 3rd international conference on Aspect-oriented software development, p.16-25, March 22-24, 2004, Lancaster, UK
|
|
|
|
|
|
|
|
|
|
|
|
Simon Holland, Reflective composition: the declarative composition of roles to unify objects, roles, and aspects, Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, October 24-28, 2004, Vancouver, BC, CANADA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|