|
ABSTRACT
AspectJ implementations of the GoF design patterns show modularity improvements in 17 of 23 cases. These improvements are manifested in terms of better code locality, reusability, composability, and (un)pluggability.The degree of improvement in implementation modularity varies, with the greatest improvement coming when the pattern solution structure involves crosscutting of some form, including one object playing multiple roles, many objects playing one role, or an object playing roles in multiple pattern instances.
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
|
Ellen Agerbo , Aino Cornils, How to preserve the benefits of design patterns, Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.134-143, October 18-22, 1998, Vancouver, British Columbia, Canada
|
| |
2
|
|
| |
3
|
Baumer, D., Riehle, D., Siberski, W., and Wulf, M. Role Object Pattern. Proceedings of PLoP '97. Technical Report WUCS-97-34. Washington University Dept. of Computer Science, 1997
|
| |
4
|
|
| |
5
|
|
| |
6
|
|
| |
7
|
Florijn, G., Meijers, M., Winsen, P. van. Tool support for object-oriented patterns. Proceedings of ECOOP 1997
|
| |
8
|
Fowler M.: Dealing with roles. Proceedings of PLoP '97. Technical Report WUCS-97-34. Washington University Dept. of Computer Science, 1997
|
| |
9
|
|
| |
10
|
|
| |
11
|
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., and Irwing, J. Aspect-Oriented Programming. Proceedings of ECOOP '97, Springer Verlag, pages 220--242, 1997
|
| |
12
|
Kahne, T. A Functional Pattern System for Object-Oriented Design. Ph.D. Thesis, Darmstadt University of Technology, Verlag Dr. Kovac, ISBN 3-86064-770-9, July 1999
|
| |
13
|
|
| |
14
|
|
| |
15
|
|
| |
16
|
|
| |
17
|
Nordberg, M. E. Aspect-Oriented Dependency Inversion. OOPSLA 2001 Workshop on Advanced Separation of Concerns in Object-Oriented Systems, October 2001
|
| |
18
|
Nordberg, M. E. Aspect-Oriented Indirection - Beyond Object-Oriented Design Patterns. OOPSLA 2001 Workshop "Beyond Design: Patterns (mis)used", October 2001
|
| |
19
|
Norvig, P. Design Patterns in Dynamic Programming. In: Object World 96, Boston MA, May 1996
|
| |
20
|
Sletten, B. Beyond Actions - A Semantically Rich Command Pattern for the Java Foundation Classes (JFC/Swing) API. Presentation at JavaOne 2002
|
| |
21
|
|
| |
22
|
Sullivan, G. T. Advanced Programming Language Features for Executable Design Patterns. Lab Memo, MIT Artificial Intelligence Laboratory, number AIM-2002-005, 2002
|
| |
23
|
|
| |
24
|
The AspectJ user mailing list. http://aspectj.org/pipermail/users/
|
| |
25
|
The AspectJ web site. http://www.aspectj.org
|
| |
26
|
The DemeterJ web site. http://www.ccs.neu.edu/research/demeter/DemeterJava/
|
| |
27
|
The Java web site. http://www.java.sun.com
|
CITED BY 91
|
|
|
|
|
|
|
|
Chris Allan , Pavel Avgustinov , Aske Simon Christensen , Laurie Hendren , Sascha Kuzins , Ondřej Lhoták , Oege de Moor , Damien Sereni , Ganesh Sittampalam , Julian Tibble, Adding trace matching with free variables to AspectJ, ACM SIGPLAN Notices, v.40 n.10, October 2005
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Macneil Shonle , Karl Lieberherr , Ankit Shah, XAspects: an extensible system for domain-specific aspect languages, Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, October 26-30, 2003, Anaheim, CA, USA
|
|
|
Alessandro Garcia , Cláudio Sant'Anna , Eduardo Figueiredo , Uirá Kulesza , Carlos Lucena , Arndt von Staa, Modularizing design patterns with aspects: a quantitative study, Proceedings of the 4th international conference on Aspect-oriented software development, p.3-14, March 14-18, 2005, Chicago, Illinois
|
|
|
|
|
|
|
|
|
|
|
|
Howard C. Lovatt , Anthony M. Sloane , Dominic R. Verity, A pattern enforcing compiler (PEC) for Java: using the compiler, Proceedings of the 2nd Asia-Pacific conference on Conceptual modelling, p.69-78, January 01, 2005, Newcastle, New South Wales, Australia
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Xiaoqing Wu , Suman Roychoudhury , Barrett R. Bryant , Jeffrey G. Gray , Marjan Mernik, A two-dimensional separation of concerns for compiler construction, Proceedings of the 2005 ACM symposium on Applied computing, March 13-17, 2005, Santa Fe, New Mexico
|
|
|
David Shepherd , Jeffrey Palm , Lori Pollock , Mark Chu-Carroll, Timna: a framework for automatically combining aspect mining analyses, Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering, November 07-11, 2005, Long Beach, CA, USA
|
|
|
|
|
|
Xiaoqing Wu, Pattern transformation for two-dimensional separation of concerns, Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, October 16-20, 2005, San Diego, CA, USA
|
|
|
Marcilio Mendonca , Paulo Alencar , Toacy Oliveira , Donald Cowan, Assisting aspect-oriented framework instantiation: towards modeling, transformation and tool support, Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, October 16-20, 2005, San Diego, CA, USA
|
|
|
Uirá Kulesza , Cláudio Sant'Anna , Carlos Lucena, Refactoring the JUnit framework using aspect-oriented programming, Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, October 16-20, 2005, San Diego, CA, USA
|
|
|
|
|
|
|
|
|
|
|
|
Nelio Cacho , Claudio Sant'Anna , Eduardo Figueiredo , Alessandro Garcia , Thais Batista , Carlos Lucena, Composing design patterns: a scalability study of aspect-oriented programming, Proceedings of the 5th international conference on Aspect-oriented software development, March 20-24, 2006, Bonn, Germany
|
|
|
Leonardo Cole , Paulo Borba, Deriving refactorings for aspectJ, Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, October 24-28, 2004, Vancouver, BC, CANADA
|
|
|
|
|
|
|
|
|
|
|
|
Xiaoqing Wu , Barrett R. Bryant , Jeff Gray , Suman Roychoudhury , Marjan Mernik, Separation of concerns in compiler development using aspect-orientation, Proceedings of the 2006 ACM symposium on Applied computing, April 23-27, 2006, Dijon, France
|
|
|
|
|
|
Fernando Castor Filho , Nelio Cacho , Eduardo Figueiredo , Raquel Maranhão , Alessandro Garcia , Cecília Mary F. Rubira, Exceptions and aspects: the devil is in the details, Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering, November 05-11, 2006, Portland, Oregon, USA
|
|
|
|
|
|
Wilke Havinga , Istvan Nagy , Lodewijk Bergmans , Mehmet Aksit, A graph-based approach to modeling and detecting composition conflicts related to introductions, Proceedings of the 6th international conference on Aspect-oriented software development, March 12-16, 2007, Vancouver, British Columbia, Canada
|
|
|
Nelio Cacho , Thais Batista , Alessandro Garcia , Claudio Sant'Anna , Gordon Blair, Improving modularity of reflective middleware with aspect-oriented programming, Proceedings of the 6th international workshop on Software engineering and middleware, November 10-10, 2006, Portland, Oregon
|
|
|
|
|
|
|
|
|
Günter Kniesel , Jan Hannemann , Tobias Rho, A comparison of logic-based infrastructures for concern detection and extraction, Proceedings of the 3rd workshop on Linking aspect technology and evolution, p.6-es, March 12-16, 2007, Vancouver, British Columbia, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
David Shepherd , Lori Pollock , K. Vijay-Shanker, Case study: supplementing program analysis with natural language analysis to improve a reverse engineering task, Proceedings of the 7th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering, p.49-54, June 13-14, 2007, San Diego, California, USA
|
|
|
|
|
|
|
|
|
Martin Kuhlemann , Marko Rosenmüller , Sven Apel , Thomas Leich, On the duality of aspect-oriented and feature-oriented design patterns, Proceedings of the 6th workshop on Aspects, components, and patterns for infrastructure software, p.5-es, March 12-16, 2007, Vancouver, British Columbia, Canada
|
|
|
Alessandro Garcia , Phil Greenwood , George Heineman , Robert Walker , Yuanfang Cai , Hong Yul Yang , Elisa Baniassad , Cristina Videira Lopes , Christa Schwanninger , Jianjun Zhao, Assessment of Contemporary Modularization Techniques - ACoM'07: workshop report, ACM SIGSOFT Software Engineering Notes, v.32 n.5, September 2007
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Phil Greenwood , Alessandro Garcia , Elisa Baniassad , Kevin Sullivan , Yuanfang Cai , Alan MacCormack, 2nd workshop on assessment of contemporary modularization techniques (ACoM 2008), Companion to the 23rd ACM SIGPLAN conference on Object oriented programming systems languages and applications, October 19-23, 2008, Nashville, TN, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Eyvind W. Axelsen , Fredrik Sørensen , Stein Krogdahl, A reusable observer pattern implementation using package templates, Proceedings of the 8th workshop on Aspects, components, and patterns for infrastructure software, March 02-02, 2009, Charlottesville, Virginia, USA
|
|
|
|
|
|
Santiago Vidal , Esteban S. Abait , Claudia Marcos , Sandra Casas , J. Andrés Díaz Pace, Aspect mining meets rule-based refactoring, Proceedings of the 1st workshop on Linking aspect technology and evolution, p.23-27, March 03-03, 2009, Charlottesville, Virginia, USA
|
|
|
|
|
|
|
|
|
Haihao Shen , Sai Zhang , Jianjun Zhao , Jianhong Fang , Shiyuan Yao, XFindBugs: eXtended FindBugs for AspectJ, Proceedings of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering, November 09-10, 2008, Atlanta, Georgia
|
|
|
|
|
|
Mark Harman , Fayezin Islam , Tao Xie , Stefan Wappler, Automated test data generation for aspect-oriented programs, Proceedings of the 8th ACM international conference on Aspect-oriented software development, March 02-06, 2009, Charlottesville, Virginia, USA
|
|
|
|
|
|
|
|
|
Eduardo Piveta , Marcelo Pimenta , João Araújo , Ana Moreira , Pedro Guerreiro , R. Tom Price, Representing refactoring opportunities, Proceedings of the 2009 ACM symposium on Applied Computing, March 08-12, 2009, Honolulu, Hawaii
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|