Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1052898.1052910acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
Article

Role-based refactoring of crosscutting concerns

Published: 14 March 2005 Publication History

Abstract

Improving the structure of code can help developers work with a software system more efficiently and more consistently. To aid developers in re-structuring the implementation of crosscutting concerns using aspect-oriented programming, we introduce a role-based refactoring approach and tool. Crosscutting concerns (CCCs) are described in terms of abstract roles, and instructions for refactoring crosscutting concerns are written in terms of those roles. To apply a refactoring, a developer maps a subset of the roles to concrete program elements; a tool can then help complete the mapping of roles to the existing program. Refactoring instructors are then applied to manipulate and modularize the concrete elements corresponding to the crosscutting concern. Evaluation of the prototype tool on a graphical editing framework suggests that the approach helps planning and executing complex CCC refactorings.

References

[1]
Baniassad, E. Design Pattern Rationale Graphs: Linking Design to Source. PhD Dissertation, University of British Columbia, Canada, 2002.
[2]
van Deursen, A., Marin, M., and Moonen L. Aspect Mining and Refactoring. First International Workshop on REFactoring: Achievements, Challenges, Effects (REFACE '03), at 10th Working Conference on Reverse Engineering (WCRE '03), Victoria, BC, Canada, 2003.
[3]
Feature Exploration and Analysis Tool. Web site. www.cs.ubc.ca/labs/spl/projects/feat
[4]
Ferrante, J., Ottenstein, K. J., and Warren, J. D. The Program Dependence Graph and its Uses in Optimization. In ACM Transactions on Programming Languages and Systems, 3(9): pp. 319--349, July 1987.
[5]
Fowler, M. Refactoring - Improving the Design of Existing Code. Addison-Wesley, Boston, MA, 2000.
[6]
Gamma, E., Helm, R., Johnson, R., and Vlissides, J. Design Patterns - Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994.
[7]
Griswold, W. G. Program Restructuring as an Aid to Software Maintenance. Ph.D. Thesis and Technical Report 91-08-04, University of Washington, WA, 1991.
[8]
Hanenberg, S., Oberschulte, C., and Unland, R., Refactoring of Aspect-Oriented Software. NetObject Days. Erfurt, Germany, 2003.
[9]
Hanenberg, S., Unland, R. Roles and Aspects: Similarities, Differences, and Synergetic Potential, In: Proceedings of the 8th International Conference on Object-Oriented Information Systems, pp. 507--520, LNCS Volume 2425/2002. Springer-Verlag, London, UK, 2002.
[10]
Hannemann, J. and Kiczales, G. Design Pattern Implementation in Java and AspectJ. In Proceedings of the 17th Annual ACM conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '02), pp. 161--173. Seattle, WA, November 2002.
[11]
Hannemann, J., Fritz, T., Murphy, G. Refactoring to Aspects - an Interactive Approach. Eclipse Technology eXchange (ETX) Workshop at OOPSLA 2003.
[12]
Hannemann, J., Chitchyan, R., and Rashid, A. Report on the Workshop on Analysis of Aspect-Oriented Software. In: Object-Oriented Technology: ECOOP 2003 Workshop Reader, pp. 154--164. Buschmann, F., Buchmann, A. P., Cilia, M. A. (Editors). LNCS Volume 3013 / 2004. Springer-Verlag, Heidelberg, Germany, 2004.
[13]
Hilsdale, E., Hugunin, J. Advice Weaving in AspectJ. In Proceedings of the 3rd International Conference on Aspect-Oriented Software Development (AOSD '04), pages 26--35. Lancaster, UK, 2004.
[14]
Iwamoto M. and Zhao, J. Refactoring Aspect-Oriented Programs, 4th AOSD Modeling With UML Workshop, at UML '03, San Francisco, CA, October 2003.
[15]
JHotDraw open source project. Web site. www.jhotdraw.org
[16]
Kendall, E. A. Role Model Designs and Implementations with Aspect-oriented Programming. In Proceedings of the ACM conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '99), pages 353--369. Denver, CO, 1999.
[17]
Kiczales, G., Lamping, J., Mendhekar, A., Maede, C., Lopes, C., Loingtier, J.-M., Irwin, J. Aspect-Oriented Programming. In Proceedings of the 11th European Conference on Object-Oriented Programming (ECOOP '97), pages 220--242. Jyväskylä, Finland, 1997.
[18]
Kiczales, G., Hilsdale, E., Hugunin, J, Kersten, M, Griswold, W. G., An Overview of AspectJ. In Proceedings of the 15th European Conference on Object-Oriented Programming (ECOOP '01), LNCS Volume 2072 / 2001, pp. 327--353. Springer Verlag, 2001.
[19]
Laddad, R. Aspect-Oriented Refactoring Series. Part 1 and 2. The Server Side, 2003. http://www.theserverside.com/
[20]
Lieberherr, K., Lorenz, D. H., and Mezini, M. Programming with Aspectual Components. Technical report NU-CCS-99-01, College of Computer Science, Northeastern University, Boston, MA, 1999.
[21]
Lieberherr, K., Lorenz, D. H., and Ovlinger, J. Aspectual Collaborations: Combining Modules and Aspects. In The Computer Journal, volume 46, issue 5: pp. 542--565, Oxford University Press, 2003.
[22]
Masuhara, H. and Kiczales, G. Modeling Crosscutting in Aspect-Oriented Mechanisms. In Proceedings of the 17th European Conference on Object-Oriented Programming (ECOOP '03), pp. 2--28. Darmstadt, Germany, 2003.
[23]
Monteiro, M. P., Fernandes, J. M. Object-to-Aspect Refactorings for Feature Extraction. Industry track paper at the 3rd International Conference on Aspect-Oriented Software Development. Lancaster, UK, 2004.
[24]
Opdyke, W. F. Refactoring Object-Oriented Frameworks. PhD Dissertation, University of Illinois, IL, 1992.
[25]
Robillard, M. P., and Murphy, G. C. Concern Graphs: Finding and Describing Concerns Using Structural Program Dependencies. In Proceedings of the 24th International Conference on Software Engineering (ICSE '02), pp. 406--416. Orlando, FL, 2002.
[26]
Shepherd, D., and Pollock, L. Ophir: A Framework for Automatic Mining and Refactoring of Aspects. Technical Report No. 2004-03. Dept. of Computer & Information Sciences, University of Delaware, Newark, DE, 2003.
[27]
Tamai, T., Ubayashi, N. and Ichiyama, R. An Adaptive Object Model with Dynamic Role Binding. To appear in Proceedings of the International Conference on Software Engineering (ICSE '05), St. Louis, MO, 2005.
[28]
Tonella, P., and Ceccato, M. Aspect Mining though the Formal Concept Analysis of Execution Traces. IRST Technical Report, May 2004.
[29]
Wloka, Jan. Refactoring in the Presence of Aspects. 13th Workshop for PhD Students in Object-Oriented Systems (PhDOOS), at ECOOP '03, Darmstadt, Germany, 2003.

Cited By

View all
  • (2023)Digital Process Twins as Intelligent Design Technology for Engineering Metaverse/XR ApplicationsSustainability10.3390/su15221606215:22(16062)Online publication date: 17-Nov-2023
  • (2023)On Automated Assistants for Software Development: The Role of LLMs2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE56229.2023.00035(1737-1741)Online publication date: 11-Sep-2023
  • (2016)Applying Separation of Concern for Developing Softwares Using Aspect Oriented Programming ConceptsProcedia Computer Science10.1016/j.procs.2016.05.28185(906-914)Online publication date: 2016
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
AOSD '05: Proceedings of the 4th international conference on Aspect-oriented software development
March 2005
210 pages
ISBN:1595930426
DOI:10.1145/1052898
  • General Chair:
  • Mira Mezini,
  • Program Chair:
  • Peri Tarr
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]

Sponsors

  • Illinois Institute of Technology
  • BEA Systems, Inc.
  • Siemens AG, CT SE 2
  • IBMR: IBM Research
  • AOSD-Europe: European Network of Excellence on Aspect-Oriented Software Development
  • Oracle Corporation
  • AOSA: Aspect-Oriented Software Association, Inc
  • TheServerSide.COM

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 March 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. aspect-oriented programming
  2. design patterns
  3. refactoring

Qualifiers

  • Article

Conference

AOSD05
Sponsor:
  • IBMR
  • AOSA

Acceptance Rates

Overall Acceptance Rate 41 of 139 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 10 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Digital Process Twins as Intelligent Design Technology for Engineering Metaverse/XR ApplicationsSustainability10.3390/su15221606215:22(16062)Online publication date: 17-Nov-2023
  • (2023)On Automated Assistants for Software Development: The Role of LLMs2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE56229.2023.00035(1737-1741)Online publication date: 11-Sep-2023
  • (2016)Applying Separation of Concern for Developing Softwares Using Aspect Oriented Programming ConceptsProcedia Computer Science10.1016/j.procs.2016.05.28185(906-914)Online publication date: 2016
  • (2014)A Component Model for Model TransformationsIEEE Transactions on Software Engineering10.1109/TSE.2014.233985240:11(1042-1060)Online publication date: 1-Nov-2014
  • (2014)Reengineering of Object-Oriented Software into Aspect-Oriented Ones Supported by Class ModelsEnterprise Information Systems10.1007/978-3-319-09492-2_18(296-313)Online publication date: 25-Jul-2014
  • (2013)Automatically Characterising Components with Concerns and Reducing TanglingProceedings of the 2013 IEEE 37th Annual Computer Software and Applications Conference Workshops10.1109/COMPSACW.2013.114(499-504)Online publication date: 22-Jul-2013
  • (2012)A framework for the checking and refactoring of crosscutting conceptsACM Transactions on Software Engineering and Methodology10.1145/2211616.221161821:3(1-47)Online publication date: 3-Jul-2012
  • (2011)Memoization aspectsProceedings of the International Workshop on Smalltalk Technologies10.1145/2166929.2166935(1-10)Online publication date: 23-Aug-2011
  • (2011)An exploratory study of code smells in evolving aspect-oriented systemsProceedings of the tenth international conference on Aspect-oriented software development10.1145/1960275.1960300(203-214)Online publication date: 21-Mar-2011
  • (2011)Role models—implementation-based approaches to using rolesSoftware—Practice & Experience10.1002/spe.99441:1(1-22)Online publication date: 1-Jan-2011
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media