Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
FORM: A feature-oriented reuse method with domain-specific reference architectures
Annals of Software Engineering
Feature-Oriented Project Line Engineering
IEEE Software
Concepts and Guidelines of Feature Modeling for Product Line Software Engineering
ICSR-7 Proceedings of the 7th International Conference on Software Reuse: Methods, Techniques, and Tools
Generating Product-Lines of Product-Families
Proceedings of the 17th IEEE international conference on Automated software engineering
Feature-Oriented Programming and the AHEAD Tool Suite
Proceedings of the 26th International Conference on Software Engineering
Separation of concerns in software product line engineering
MACS '05 Proceedings of the 2005 workshop on Modeling and analysis of concerns in software
SPLC '06 Proceedings of the 10th International on Software Product Line Conference
Extensible programming with first-class cases
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Aspect-Oriented Modeling for Variability Management
SPLC '08 Proceedings of the 2008 12th International Software Product Line Conference
Building a Family of Compilers
SPLC '08 Proceedings of the 2008 12th International Software Product Line Conference
Feature Relation and Dependency Management: An Aspect-Oriented Approach
SPLC '08 Proceedings of the 2008 12th International Software Product Line Conference
FEATUREHOUSE: Language-independent, automated software composition
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Evaluating support for features in advanced modularization technologies
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
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
Feature-oriented re-engineering of legacy systems into product line assets: a case study
SPLC'05 Proceedings of the 9th international conference on Software Product Lines
Resolving feature dependency implementations inconsistencies during product derivation
Proceedings of the 6th ECMFA Traceability Workshop
The road to feature modularity?
Proceedings of the 15th International Software Product Line Conference, Volume 2
Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systems
Hi-index | 0.00 |
Product line engineering is an emerging paradigm of developing a family of products. While product line analysis and design mainly focus on reasoning about commonality and variability of family members, product line implementation gives its attention to mechanisms of managing variability. In many cases, however, product line methods do not impose any specific synthesis mechanisms on product line implementation, so implementation details are left to developers. In our previous work, we adopted feature-oriented product line engineering to build a family of compilers and managed variations using the Standard ML module system. We demonstrated the applicability of this module system to product line implementation. Although we have benefited from the product line engineering paradigm, it mostly served us as a design paradigm to change the way we think about a set of closely related compilers, not to change the way we build them. The problem was that Standard ML did not fully realize this paradigm at the code level, which caused some difficulties when we were developing a set of compilers. In this paper, we address such issues with a language-based solution. MLPolyR is our choice of an implementation language. It supports three different programming styles. First, its first-class cases facilitate composable extensions at the expression levels. Second, its module language provides extensible and parameterized modules, which make large-scale extensible programming possible. Third, its macro system simplifies specification and composition of feature related code. We will show how the combination of these language features work together to facilitate the product line engineering paradigm.