Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
From custom applications to domain-specific frameworks
Communications of the ACM
Role model based framework design and integration
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Framework integration problems, causes, solutions
Communications of the ACM
Building application frameworks: object-oriented foundations of framework design
Building application frameworks: object-oriented foundations of framework design
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
Object-oriented framework and product lines
Proceedings of the first conference on Software product lines : experience and research directions: experience and research directions
Communications of the ACM
ACM Transactions on Software Engineering and Methodology (TOSEM)
Design pattern implementation in Java and aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Conquering aspects with Caesar
Proceedings of the 2nd international conference on Aspect-oriented software development
Framework Composition: Problems, Causes and Solutions
TOOLS '97 Proceedings of the Tools-23: Technology of Object-Oriented Languages and Systems
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
A case study on building COTS-based system using aspect-oriented programming
Proceedings of the 2005 ACM symposium on Applied computing
Information hiding interfaces for aspect-oriented design
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Modular Software Design with Crosscutting Interfaces
IEEE Software
Composing design patterns: a scalability study of aspect-oriented programming
Proceedings of the 5th international conference on Aspect-oriented software development
Extracting and evolving mobile games product lines
SPLC'05 Proceedings of the 9th international conference on Software Product Lines
Using interfaces to support the testing of crosscutting features
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Driving and managing architectural decisions with aspects
ACM SIGSOFT Software Engineering Notes
Implementing an Adaptation Layer for Multimedia Servers using Aspect-Oriented Programming
WebMedia '06 Proceedings of the 12th Brazilian Symposium on Multimedia and the web
Evolving software product lines with aspects: an empirical study on design stability
Proceedings of the 30th international conference on Software engineering
On-demand materialization of aspects for application development
Proceedings of the 2008 AOSD workshop on Software engineering properties of languages and aspect technologies
Balancing Quantification and Obliviousness in the Design of Aspect-Oriented Frameworks
ICSR '08 Proceedings of the 10th international conference on Software Reuse: High Confidence Software Reuse in Large Systems
Domain-driven discovery of stable abstractions for pointcut interfaces
Proceedings of the 8th ACM international conference on Aspect-oriented software development
Composing architectural aspects based on style semantics
Proceedings of the 8th ACM international conference on Aspect-oriented software development
Developing and Evolving a Multi-agent System Product Line: An Exploratory Study
Agent-Oriented Software Engineering IX
An aspect-oriented modeling framework for multi-agent systems design
AOSE'06 Proceedings of the 7th international conference on Agent-oriented software engineering VII
Mapping features to aspects: a model-based generative approach
Proceedings of the 10th international conference on Early aspects: current challenges and future directions
Extracting and evolving code in product lines with aspect-oriented programming
Transactions on aspect-oriented software development IV
Automating the construction of domain-specific modeling languages for object-oriented frameworks
Journal of Systems and Software
An aspect-oriented approach for implementing evolutionary computation applications
Proceedings of the tenth international conference on Aspect-oriented software development
Discovery of stable abstractions for aspect-oriented composition in the car crash management domain
Transactions on aspect-oriented software development VII
Discovery of stable abstractions for aspect-oriented composition in the car crash management domain
Transactions on aspect-oriented software development VII
A system of patterns for reusable aspect libraries
Transactions on aspect-oriented software development VIII
On the modular representation of architectural aspects
EWSA'06 Proceedings of the Third European conference on Software Architecture
Investigating framework product lines
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Domain-Driven discovery of stable abstractions for pointcut interfaces
Transactions on Aspect-Oriented Software Development IX
The crosscutting impact of the AOSD Brazilian research community
Journal of Systems and Software
Hi-index | 0.00 |
Object-oriented frameworks are nowadays a common and useful technology used in the implementation of software system families. Despite their benefits, over the last years many researchers have described the inadequacy of object-oriented mechanisms to address the modularization and composition of many framework features, thus reducing the extent to which a framework can be extended. The crosscutting nature of many framework features is identified as one of the main causes of these problems. In this paper, we analyze how aspect-oriented programming can help to improve the design, implementation, and extension of object-oriented frameworks. We propose the concept of Extension Join Points (EJPs) as a way of designing and documenting existing crosscutting extension points. EJPs improve framework extensibility, including superior composability of the framework core functionality with other modules or frameworks. Four case studies of frameworks from diverse domains are presented to illustrate our proposal. This paper also discusses lessons learned on the application of our approach to the development and extension of these frameworks.