Fundamentals of database systems (2nd ed.)
Fundamentals of database systems (2nd ed.)
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
JavaScript (2nd ed.): the definitive guide
JavaScript (2nd ed.): the definitive guide
Client/server programming with Java and CORBA (2nd ed.)
Client/server programming with Java and CORBA (2nd ed.)
The Unified Modeling Language user guide
The Unified Modeling Language user guide
Java servlet programming
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Implicit context: easing software evolution and reuse
SIGSOFT '00/FSE-8 Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications
Aspect-oriented programming: Introduction
Communications of the ACM
Communications of the ACM
Does aspect-oriented programming work?
Communications of the ACM
Managing crosscutting concerns during software evolution tasks: an inquisitive study
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
The HTML SourceBook
Enterprise JavaBeans
The Java Language Specification
The Java Language Specification
Implementing distribution and persistence aspects with aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Back to the future: a retroactive study of aspect evolution in operating system code
Proceedings of the 2nd international conference on Aspect-oriented software development
Proceedings of the 2nd international conference on Aspect-oriented software development
Proceedings of the 2nd international conference on Aspect-oriented software development
Quantifying aspects in middleware platforms
Proceedings of the 2nd international conference on Aspect-oriented software development
AOP: Does It Make Sense? The Case of Concurrency and Failures
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Aspect-Oriented Programming is Quantification and Obliviousness
Aspect-Oriented Programming is Quantification and Obliviousness
A Note on Distributed Computing
A Note on Distributed Computing
Remote pointcut: a language construct for distributed AOP
Proceedings of the 3rd international conference on Aspect-oriented software development
Resolving feature convolution in middleware systems
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Variability management with feature-oriented programming and aspects
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
JAC: an aspect-based distributed dynamic framework
Software—Practice & Experience
Towards reusable and modular aspect-oriented concurrency control
Proceedings of the 2007 ACM symposium on Applied computing
On the Contributions of an End-to-End AOSD Testbed
EARLYASPECTS '07 Proceedings of the Early Aspects at ICSE: Workshops in Aspect-Oriented Requirements Engineering and Architecture Design
"Program, enhance thyself!": demand-driven pattern-oriented program enhancement
Proceedings of the 7th international conference on Aspect-oriented software development
Version control in crosscutting framework-based development
Proceedings of the 2008 ACM symposium on Applied computing
A pattern to design crosscutting frameworks
Proceedings of the 2008 ACM symposium on Applied computing
An approach to design crosscutting framework families
Proceedings of the 2008 AOSD workshop on Aspects, components, and patterns for infrastructure software
On the Impact of Evolving Requirements-Architecture Dependencies: An Exploratory Study
CAiSE '08 Proceedings of the 20th international conference on Advanced Information Systems Engineering
Assessing the Impact of Aspects on Exception Flows: An Exploratory Study
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
From aspect-oriented models to aspect-oriented code?: the maintenance perspective
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
Model-driven development for early aspects
Information and Software Technology
A catalogue of bug patterns for exception handling in aspect-oriented programs
Proceedings of the 15th Conference on Pattern Languages of Programs
An overview and an empirical evaluation of UML-AOF: an UML profile for aspect-oriented frameworks
Proceedings of the 2010 ACM Symposium on Applied Computing
On the impact of crosscutting concern projection on code measurement
Proceedings of the tenth international conference on Aspect-oriented software development
Aspect assumptions: a retrospective study of AspectJ developers' assumptions about aspect usage
Proceedings of the tenth international conference on Aspect-oriented software development
Information Sciences: an International Journal
A pointcut-based coverage analysis approach for aspect-oriented programs
Information Sciences: an International Journal
Modularity analysis of use case implementations
Journal of Systems and Software
EA-tracer: identifying traceability links between code aspects and early aspects
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Exploiting software product lines to develop cloud computing applications
Proceedings of the 16th International Software Product Line Conference - Volume 2
On the impact of aspectual decompositions on design stability: an empirical study
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Usage and testability of AOP: An empirical study of AspectJ
Information and Software Technology
Towards an SPL-based monitoring middleware strategy for cloud computing applications
Proceedings of the 10th International Workshop on Middleware for Grids, Clouds and e-Science
EA-Analyzer: automating conflict detection in a large set of textual aspect-oriented requirements
Automated Software Engineering
Science of Computer Programming
Hi-index | 0.00 |
This paper reports our experience using AspectJ, a general-purpose aspect-oriented extension to Java, to implement distribution and persistence concerns in a Web-based information system. This system was originally implemented in Java and restructured with AspectJ. Our main contribution is to show that AspectJ is useful for implementing several persistence and distribution concerns in the considered application, but also in similar applications. We have also identified interferences between the implemented aspects and a few drawbacks in the language, so we suggest some minor language modifications that could significantly improve similar implementations. Despite those problems, we argue that the AspectJ implementation is superior to the pure Java implementation. Some of the aspects implemented in our experiment are abstract and constitute a simple aspect framework. The other aspects are application specific but we suggest that different implementations might follow the same aspect patterns. The framework and the patterns allow us to propose architecture-specific guidelines that provide practical advice for both restructuring and implementing certain kinds of persistent and distributed applications with AspectJ. Copyright © 2006 John Wiley & Sons, Ltd.This work was performed while the first and third authors were at Informatics Center of the Federal University of Pernambuco