The programming language jigsaw: mixins, modularity and multiple inheritance
The programming language jigsaw: mixins, modularity and multiple inheritance
Typing the specialization interface
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Composition Validation and Subjectivity in GenVoca Generators
IEEE Transactions on Software Engineering
Software product-line engineering: a family-based software development process
Software product-line engineering: a family-based software development process
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
Domain-specific languages: an annotated bibliography
ACM SIGPLAN Notices
A Theory of Objects
Automating Support for Software Evolution in UML
Automated Software Engineering
A Framework for the Detection and Resolution of Aspect Interactions
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Formal Methods for Component Software: The Refinement Calculus Perspective
ECOOP '97 Proceedings of the Workshops on Object-Oriented Technology
Proceedings of the 25th International Conference on Software Engineering
A Formal Foundation for Object-Oriented Software Evolution
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Static Consistency Checking for Distributed Specifications
Proceedings of the 16th IEEE international conference on Automated software engineering
Journal of Functional Programming
IEEE Transactions on Software Engineering
Software Engineering for Ensembles
Software-Intensive Systems and New Computing Paradigms
Partial constraint checking for context consistency in pervasive computing
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.00 |
Ubiquitous computing increases the pressure on the software industry to produce ever more and error-free code. Two recipes from automated programming are available to meet this challenge: On the one hand, generative programming raises the level of abstraction in software development by describing problems in high-level domain-specific languages and making them executable. On the other hand, in situations where one needs to produce a family of similar programs, product line engineering supports code reuse by composing programs from a set of common assets (or features). AHEAD (Algebraic Hierarchical Equations for Application Design) is a framework for generative programming and product line engineering that achieves additional productivity gains by scaling feature composition up. Our contribution is GRAFT, a calculus that gives a formal foundation to AHEAD and provides several mechanisms for making sure that feature combinations are legal and that features in themselves are consistent.