Automating the Transformational Development of Software
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
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
Communications of the ACM
SIGSOFT '93 Proceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering
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
Aspect-oriented programming: Introduction
Communications of the ACM
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
RtA '99 Proceedings of the 10th International Conference on Rewriting Techniques and Applications
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
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
A New Architecture for Transformation-Based Generators
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
Domain specific languages (DSLs) excel at programming productivity because they provide large-grain composite data structures (e.g., a graphics image) and large-grain operators for composition (e.g., image addition or convolution). As a result, extensive computations can be written as APL-like one-liners that are equivalent to tens or hundreds of lines of code (LOC) when written in a conventional language like Java. The problem with DSL specifications is that they de-localize the code components making un-optimized machine translations significantly slower than for the human optimized equivalent. Specifically, operations on DSL composites imply multiple control structures (e.g., loops) that process the individual elements of large-grain composites and those multiple, implicit control structures are distributed (i.e., de-localized) across the expression of operators and operands. Human programmers recognize the relation among these distributed control structures and merge them to minimize the redundancy of control. For example, merged control structures may perform several operations on several large-grain data structures in a single pass. This merging is the process of control localization. This paper discusses strategies for automating localization without large search spaces and outlines a domain specific example of transformation rules for localizing control. The example is based on the localization method in the Anticipatory Optimization Generator (AOG) system [3-8].