Automating the Transformational Development of Software
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
Prolog: a relational language and its applications
Prolog: a relational language and its applications
A survey and classification of some program transformation approaches and techniques
The IFIP TC2/WG 2.1 Working Conference on Program specification and transformation
Programming in Prolog
A programmer's guide to object-oriented programming in Common LISP
A programmer's guide to object-oriented programming in Common LISP
Draco: a method for engineering reusable software systems
Software reusability: vol. 1, concepts and models
Abstract programming and program transformation—an approach to reusing programs
Software reusability: vol. 1, concepts and models
Deforestation: transforming programs to eliminate trees
Proceedings of the Second European Symposium on Programming
Specification and transformation of programs: a formal approach to software development
Specification and transformation of programs: a formal approach to software development
SIGSOFT '93 Proceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering
Reengineering a complex application using a scalable data structure compiler
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
Compiler transformations for high-performance computing
ACM Computing Surveys (CSUR)
ANSI Common Lisp
An introduction to partial evaluation
ACM Computing Surveys (CSUR)
Science of Computer Programming
Refinement of parameterized algebraic specifications
Proceedings of the IFIP TC 2 WG 2.1 international workshop on Algorithmic languages and calculi
Toward a calculus for abstract syntax trees
Proceedings of the IFIP TC 2 WG 2.1 international workshop on Algorithmic languages and calculi
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
Compilation and delayed evaluation in APL
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Compiling language definitions: the ASF+SDF compiler
ACM Transactions on Programming Languages and Systems (TOPLAS)
A perspective of generative reuse
Annals of Software Engineering
Handbook of Computer Vision Algorithms in Image Algebra
Handbook of Computer Vision Algorithms in Image Algebra
Synthesis of Mathematical-Modeling Software
IEEE Software
A New Control Structure for Transformation-Based Generators
ICSR-6 Proceedings of the 6th International Conerence on Software Reuse: Advances in Software Reusability
Control Localization in Domain Specific Translation
ICSR-7 Proceedings of the 7th International Conference on Software Reuse: Methods, Techniques, and Tools
Fixing Some Transformation Problems
ASE '99 Proceedings of the 14th IEEE international conference on Automated software engineering
Anticipatory Optimization in Domain Specific Translation
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
Software construction using components
Software construction using components
Term rewriting with traversal functions
ACM Transactions on Software Engineering and Methodology (TOSEM)
DMS®: Program Transformations for Practical Scalable Software Evolution
Proceedings of the 26th International Conference on Software Engineering
On LISP: Advanced Techniques for Common LISP
On LISP: Advanced Techniques for Common LISP
Common Lisp: The Language
ASTLOG: a language for examining abstract syntax trees
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
Accomplishments and research challenges in meta-programming
SAIG'01 Proceedings of the 2nd international conference on Semantics, applications, and implementation of program generation
ICSR '09 Proceedings of the 11th International Conference on Software Reuse: Formal Foundations of Reuse and Domain Engineering
Understanding design patterns — what is the problem?
Software—Practice & Experience
Hi-index | 0.00 |
A challenge of many transformation-based generators is that they are trying to achieve three mutually antagonistic goals simultaneously: 1) deeply factored operators and operands to gain the combinatorial programming leverage provided by composition, 2) high-performance code in the generated program, and 3) small (i.e., practical) generation search spaces. The Anticipatory Optimization Generator (AOG) has been built to explore architectures and strategies that address this challenge. The fundamental principle underlying all of AOG's strategies is to solve separate, narrow, and specialized generation problems by strategies that are narrowly tailored to specific problems rather than a single, universal strategy aimed at all problems. A second fundamental notion is the preservation and use of domain-specific information as a way to gain extra leverage on generation problems. This paper will focus on two specific mechanisms: 1) Localization: the generation and merging of implicit control structures and 2) Tag-Directed Transformations: a new control structure for transformation-based optimization that allows differing kinds of retained domain knowledge (e.g., optimization knowledge) to be anticipated, affixed to the component parts in the reuse library, and triggered when the time is right for its use.