Creating reference architectures: an example from avionics
SSR '95 Proceedings of the 1995 Symposium on Software reusability
P2: A Lightweight DBMS Generator
Journal of Intelligent Information Systems
Modular object-oriented programming with units and mixins
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
Role model designs and implementations with aspect-oriented programming
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
Comparing frameworks and layered refinement
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
ACM Transactions on Software Engineering and Methodology (TOSEM)
Using mixins to build flexible widgets
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
A Discipline of Programming
Aspect-oriented programming with Jiazzi
Proceedings of the 2nd international conference on Aspect-oriented software development
Mixin-Based Programming in C++
GCSE '00 Proceedings of the Second International Symposium on Generative and Component-Based Software Engineering-Revised Papers
Dynamically Composable Collaborations with Delegation Layers
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Refinements and multi-dimensional separation of concerns
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Large-scale AOSD for middleware
Proceedings of the 3rd international conference on Aspect-oriented software development
AspectJ in Action: Practical Aspect-Oriented Programming
AspectJ in Action: Practical Aspect-Oriented Programming
IEEE Transactions on Software Engineering
Controlling the Complexity of Software Designs
Proceedings of the 26th International Conference 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
Classpects: unifying aspect- and object-oriented language design
Proceedings of the 27th international conference on Software engineering
Designing Software for Ease of Extension and Contraction
IEEE Transactions on Software Engineering
Towards the development of ubiquitous middleware product lines
SEM'04 Proceedings of the 4th international conference on Software Engineering and Middleware
Evaluating support for features in advanced modularization technologies
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Expressive pointcuts for increased modularity
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Tool support for feature-oriented software development: featureIDE: an Eclipse-based approach
eclipse '05 Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange
Aspectual mixin layers: aspects and features in concert
Proceedings of the 28th international conference on Software engineering
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
Research challenges in the tension between features and services
Proceedings of the 2nd international workshop on Systems development in SOA environments
An Algebra for Features and Feature Composition
AMAST 2008 Proceedings of the 12th international conference on Algebraic Methodology and Software Technology
Code generation to support static and dynamic composition of software product lines
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
Feature featherweight java: a calculus for feature-oriented programming and stepwise refinement
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
Flexible features: making feature modules more reusable
Proceedings of the 2009 ACM symposium on Applied Computing
FEATUREHOUSE: Language-independent, automated software composition
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
FeatureIDE: A tool framework for feature-oriented software development
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Model Superimposition in Software Product Lines
ICMT '09 Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations
Language-Independent Quantification and Weaving for Feature Composition
SC '09 Proceedings of the 8th International Conference on Software Composition
Language support for feature-oriented product line engineering
FOSD '09 Proceedings of the First International Workshop on Feature-Oriented Software Development
Feature-oriented programming with Ruby
FOSD '09 Proceedings of the First International Workshop on Feature-Oriented Software Development
An orthogonal access modifier model for feature-oriented programming
FOSD '09 Proceedings of the First International Workshop on Feature-Oriented Software Development
How to compare program comprehension in FOSD empirically: an experience report
FOSD '09 Proceedings of the First International Workshop on Feature-Oriented Software Development
RobbyDBMS: a case study on hardware/software product line engineering
FOSD '09 Proceedings of the First International Workshop on Feature-Oriented Software Development
Tailor-made data management for embedded systems: A case study on Berkeley DB
Data & Knowledge Engineering
A calculus for uniform feature composition
ACM Transactions on Programming Languages and Systems (TOPLAS)
On the impact of the optional feature problem: analysis and case studies
Proceedings of the 13th International Software Product Line Conference
Intensional changes: modularizing crosscutting features
Proceedings of the 2010 ACM Symposium on Applied Computing
Streamlining feature-oriented designs
SC'07 Proceedings of the 6th international conference on Software composition
Superimposition: a language-independent approach to software composition
SC'08 Proceedings of the 7th international conference on Software composition
Type safety for feature-oriented product lines
Automated Software Engineering
An algebraic foundation for automatic feature-based program synthesis
Science of Computer Programming
Code clones in feature-oriented software product lines
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
Automating energy optimization with features
FOSD '10 Proceedings of the 2nd International Workshop on Feature-Oriented Software Development
Delta-oriented programming of software product lines
SPLC'10 Proceedings of the 14th international conference on Software product lines: going beyond
Intensional changes avoid co-evolution!
Proceedings of the 7th Workshop on Reflection, AOP and Meta-Data for Software Evolution
Reusable software components for accelerator-based clusters
Journal of Systems and Software
Supporting program variant generation and feature files in rbFeatures
Proceedings of the 15th International Software Product Line Conference, Volume 2
Dynamic delta-oriented programming
Proceedings of the 15th International Software Product Line Conference, Volume 2
Building a digital publishing platform using AOSD: experiences and lessons learned
Transactions on aspect-oriented software development VIII
Tailoring dynamic software product lines
Proceedings of the 10th ACM international conference on Generative programming and component engineering
rbFeatures: Feature-oriented programming with Ruby
Science of Computer Programming
Access control in feature-oriented programming
Science of Computer Programming
Variant-preserving refactoring in feature-oriented software product lines
Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems
Towards an aspect-oriented language module: aspects for petri nets
Proceedings of the seventh workshop on Domain-Specific Aspect Languages
Lean and efficient system software product lines: where aspects beat objects
Transactions on Aspect-Oriented Software Development II
FoVeOOS'11 Proceedings of the 2011 international conference on Formal Verification of Object-Oriented Software
A formal foundation for dynamic delta-oriented software product lines
Proceedings of the 11th International Conference on Generative Programming and Component Engineering
Object-oriented design in feature-oriented programming
FOSD '12 Proceedings of the 4th International Workshop on Feature-Oriented Software Development
Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systems
Information and Software Technology
The crosscutting impact of the AOSD Brazilian research community
Journal of Systems and Software
On the impact of trace-based feature location in the performance of software maintainers
Journal of Systems and Software
Subclack: feature-oriented programming with behavioral feature interfaces
Proceedings of the 5th Workshop on MechAnisms for SPEcialization, Generalization and inHerItance
Using document-oriented GUIs in dynamic software product lines
Proceedings of the 12th international conference on Generative programming: concepts & experiences
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 |
This paper presents FeatureC++, a novel language extension to C++ that supports Feature-Oriented Programming (FOP) and Aspect-Oriented Programming (AOP). Besides well-known concepts of FOP languages, FeatureC++ contributes several novel FOP language features, in particular multiple inheritance and templates for generic programming. Furthermore, FeatureC++ solves several problems regarding incremental software development by adopting AOP concepts. Starting our considerations on solving these problems, we give a summary of drawbacks and weaknesses of current FOP languages in expressing incremental refinements. Specifically, we outline five key problems and present three approaches to solve them: Multi Mixins, Aspectual Mixin Layers, and Aspectual Mixins that adopt AOP concepts in different ways. We use FeatureC++ as a representative FOP language to explain these three approaches. Finally, we present a case study to clarify the benefits of FeatureC++ and its AOP extensions.