Metaclasses are first class: The ObjVlisp Model
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Dimensions of object-based language design
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Metaobject protocols: why we want them and what else they can do
Object-oriented programming
CLOS and Smalltalk: a comparison
Object-oriented programming
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Strategic directions in object-oriented programming
ACM Computing Surveys (CSUR) - Special ACM 50th-anniversary issue: strategic directions in computing research
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
Towards robust OSes for appliances: a new approach based on domain-specific languages
EW 9 Proceedings of the 9th workshop on ACM SIGOPS European workshop: beyond the PC: new challenges for the operating system
Meta-Level Architectures and Reflection
Meta-Level Architectures and Reflection
Design pattern implementation in Java and aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Meta-level Programming with CodA
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Explicit Metaclasses as a Tool for Improving the Design of Class Libraries
ISOTAS '96 Proceedings of the Second JSSST International Symposium on Object Technologies for Advanced Software
OpenCorba: A Reflective Open Broker
Reflection '99 Proceedings of the Second International Conference on Meta-Level Architectures and Reflection
A Formal Definition of Crosscuts
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Aspect-Oriented Programming with AspectJ
Aspect-Oriented Programming with AspectJ
Understanding aspects: extended abstract
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Partial behavioral reflection: spatial and temporal selection of reification
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools
Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools
A semantics for advice and dynamic join points in aspect-oriented programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Recovering binary class relationships: putting icing on the UML cake
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Aspect-oriented software development
Aspect-oriented software development
From (meta) objects to aspects: a java and AspectJ point of view
FMCO'04 Proceedings of the Third international conference on Formal Methods for Components and Objects
Hi-index | 0.00 |
Generative Programming (GP) is an attempt to manufacture software components in an automated way by developing programs that synthesize other programs. Our purpose is to introduce the what and the how of the GP approach from a programming language point of view. For the what we discuss the lessons learned from object-oriented languages seen as general purpose languages to develop software factories. For the how we compare a variety of approaches and techniques based on program transformation and generation. On the one hand, we present the evolution of open-ended languages from metalevel programming to aspect-oriented programming. On the other hand, we introduce domain-specific languages as a way to bridge the gap between conceptual models and programming languages.