The design and implementation of hierarchical software systems with reusable components
ACM Transactions on Software Engineering and Methodology (TOSEM)
Adaptive plug-and-play components for evolutionary software development
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
Program development by stepwise refinement
Communications of the ACM
ACM Transactions on Software Engineering and Methodology (TOSEM)
Proceedings of the 2nd international conference on Aspect-oriented software development
Conquering aspects with Caesar
Proceedings of the 2nd international conference on Aspect-oriented software development
Object Teams: Improving Modularity for Crosscutting Collaborations
NODe '02 Revised Papers from the International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World
Large-scale AOSD for middleware
Proceedings of the 3rd international conference on Aspect-oriented software development
IEEE Transactions on Software Engineering
Variability management with feature-oriented programming and aspects
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
Distributing classes with woven concerns: an exploration of potential fault scenarios
Proceedings of the 4th international conference on Aspect-oriented software development
Aspect-oriented programming and modular reasoning
Proceedings of the 27th international conference on Software engineering
A disciplined approach to aspect composition
Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Aspect Refinement and Bounding Quantification in Incremental Designs
APSEC '05 Proceedings of the 12th Asia-Pacific Software Engineering Conference
Towards the development of ubiquitous middleware product lines
SEM'04 Proceedings of the 4th international conference on Software Engineering and Middleware
Open modules: modular reasoning about advice
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Evaluating support for features in advanced modularization technologies
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Using step-wise refinement to build a flexible lightweight storage manager
ADBIS'05 Proceedings of the 9th East European conference on Advances in Databases and Information Systems
FeatureC++: on the symbiosis of feature-oriented and aspect-oriented programming
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
When to use features and aspects?: a case study
Proceedings of the 5th international conference on Generative programming and component engineering
Framework specialization aspects
Proceedings of the 6th international conference on Aspect-oriented software development
On the duality of aspect-oriented and feature-oriented design patterns
Proceedings of the 6th workshop on Aspects, components, and patterns for infrastructure software
Highly configurable transaction management for embedded systems
Proceedings of the 6th workshop on Aspects, components, and patterns for infrastructure software
ACoM '07 Proceedings of the First International Workshop on Assessment of Contemporary Modularization Techniques
GPCE '07 Proceedings of the 6th international conference on Generative programming and component engineering
Assessment of Contemporary Modularization Techniques - ACoM'07: workshop report
ACM SIGSOFT Software Engineering Notes
Evolving software product lines with aspects: an empirical study on design stability
Proceedings of the 30th international conference on Software engineering
An approach to design crosscutting framework families
Proceedings of the 2008 AOSD workshop on Aspects, components, and patterns for infrastructure software
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
Modeling scenario variability as crosscutting mechanisms
Proceedings of the 8th ACM international conference on Aspect-oriented software development
Taming Dynamically Adaptive Systems using models and aspects
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Context-aware service engineering: A survey
Journal of Systems and Software
3rd workshop on assessment of contemporary modularization techniques (ACoM 2009)
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
Tailor-made data management for embedded systems: A case study on Berkeley DB
Data & Knowledge Engineering
Measuring and characterizing crosscutting in aspect-based programs: basic metrics and case studies
FASE'07 Proceedings of the 10th international conference on Fundamental approaches to software engineering
Modeling features in aspect-based product lines with use case slices: an exploratory case study
MoDELS'06 Proceedings of the 2006 international conference on Models in software engineering
Streamlining feature-oriented designs
SC'07 Proceedings of the 6th international conference on Software composition
Automating the construction of domain-specific modeling languages for object-oriented frameworks
Journal of Systems and Software
Separating testing concerns by means of models
Proceedings of the 1st Workshop on Testing Object-Oriented Systems
Components meet aspects: Assessing design stability of a software product line
Information and Software Technology
Aspect-based dynamic software updating: a model and its empirical evaluation
Proceedings of the tenth international conference on Aspect-oriented software development
Information Sciences: an International Journal
On-demand integration of product lines: a study of reuse and stability
Proceedings of the 2nd International Workshop on Product Line Approaches in Software Engineering
Verification of aspectual composition in feature-modeling
SEFM'12 Proceedings of the 10th international conference on Software Engineering and Formal Methods
A quantitative assessment of aspectual feature modules for evolving software product lines
SBLP'12 Proceedings of the 16th Brazilian conference on Programming Languages
The crosscutting impact of the AOSD Brazilian research community
Journal of Systems and Software
Separation of concerns in feature diagram languages: A systematic survey
ACM Computing Surveys (CSUR)
Feature-Oriented programming with object algebras
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
FeatureIDE: An extensible framework for feature-oriented software development
Science of Computer Programming
Hi-index | 0.00 |
Feature-Oriented Programming (FOP) decomposes complex software into features. Features are main abstractions in design and implementation. They reflect user requirements and incrementally refine one another. Although, features crosscut object-oriented architectures they fail to express all kinds of crosscutting concerns. This weakness is exactly the strength of aspects, the main abstraction mechanism of Aspect-Oriented Programming (AOP). In this article we contribute a systematic evaluation and comparison of both paradigms, AOP and FOP, with focus on incremental software development. It reveals that aspects and features are not competing concepts. In fact AOP has several strengths to improve FOP in order to implement crosscutting featuresSymmetrically, the development model of FOP can aid AOP in implementing incremental designs. Consequently, we propose the architectural integration of aspects and features in order to profit from both paradigms. We introduce aspectual mixin layers (AMLs), an implementation approach that realizes this symbiosis. A subsequent evaluation and a case study reveal that AMLs improve the crosscutting modularity of features as well as aspects become well integrated into incremental development style.