Refactoring Aspects into Java Code

M. Kleyman, S. Tyszberowicz, A. Yehudai
{"title":"Refactoring Aspects into Java Code","authors":"M. Kleyman, S. Tyszberowicz, A. Yehudai","doi":"10.1109/SwSTE.2007.7","DOIUrl":null,"url":null,"abstract":"One of the principles of the agile development methodology is to \"welcome changing requirements even late in development\". Refactoring is a major technique used to cope with changes. It enables to reorganize code while preserving the external behavior. Several refactorings can be performed automatically. Aspect oriented programming (AOP) is a powerful technology that greatly improves programmer's ability to quickly introduce changes to a software system. AOP enables easily modifying behavior of numerous locations in the system code or adding new behavior. AOP is perceived by some people not to be mature enough; hence they avoid using it in production software. We have developed ACME, a prototype tool that implements a refactoring process for aspects. ACME enables a developer to convert AspectJ code to pure Java code according to conversion patterns. The available patterns are creating a singleton class from an aspect and merging aspects into existing classes. The tool creates modular and readable object-oriented code. This paper presents ACME functionality using example transformations and discusses the tool's applicability and decisions made during its design.","PeriodicalId":264571,"journal":{"name":"IEEE International Conference on Software-Science, Technology & Engineering (SwSTE'07)","volume":"55 2","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2007-11-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"IEEE International Conference on Software-Science, Technology & Engineering (SwSTE'07)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SwSTE.2007.7","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

One of the principles of the agile development methodology is to "welcome changing requirements even late in development". Refactoring is a major technique used to cope with changes. It enables to reorganize code while preserving the external behavior. Several refactorings can be performed automatically. Aspect oriented programming (AOP) is a powerful technology that greatly improves programmer's ability to quickly introduce changes to a software system. AOP enables easily modifying behavior of numerous locations in the system code or adding new behavior. AOP is perceived by some people not to be mature enough; hence they avoid using it in production software. We have developed ACME, a prototype tool that implements a refactoring process for aspects. ACME enables a developer to convert AspectJ code to pure Java code according to conversion patterns. The available patterns are creating a singleton class from an aspect and merging aspects into existing classes. The tool creates modular and readable object-oriented code. This paper presents ACME functionality using example transformations and discusses the tool's applicability and decisions made during its design.
将方面重构为Java代码
敏捷开发方法的原则之一是“即使在开发后期也欢迎不断变化的需求”。重构是处理变更的主要技术。它允许在保留外部行为的同时重新组织代码。可以自动执行一些重构。面向方面编程(AOP)是一种强大的技术,它极大地提高了程序员快速向软件系统引入更改的能力。AOP可以很容易地修改系统代码中许多位置的行为或添加新的行为。AOP被一些人认为不够成熟;因此,他们避免在生产软件中使用它。我们已经开发了ACME,这是一个实现方面重构过程的原型工具。ACME使开发人员能够根据转换模式将AspectJ代码转换为纯Java代码。可用的模式是从方面创建一个单例类,并将方面合并到现有的类中。该工具创建模块化和可读的面向对象代码。本文使用示例转换展示了ACME功能,并讨论了该工具的适用性和在其设计过程中所做的决策。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信