DocumentCode :
1218013
Title :
Telescoping Languages: A System for Automatic Generation of Domain Languages
Author :
Kennedy, Ken ; Broom, Bradley ; Chauhan, Arun ; Fowler, Robert J. ; Garvin, John ; Koelbel, Charles ; McCosh, Cheryl ; Mellor-Crummey, John
Author_Institution :
Dept. of Comput. Sci., Rice Univ., Houston, TX, USA
Volume :
93
Issue :
2
fYear :
2005
Firstpage :
387
Lastpage :
408
Abstract :
The software gap - the discrepancy between the need for new software and the aggregate capacity of the workforce to produce it - is a serious problem for scientific software. Although users appreciate the convenience (and, thus, improved productivity) of using relatively high-level scripting languages, the slow execution speeds of these languages remain a problem. Lower level languages, such as C and Fortran, provide better performance for production applications, but at the cost of tedious programming and optimization by experts. If applications written in scripting languages could be routinely compiled into highly optimized machine code, a huge productivity advantage would be possible. It is not enough, however, to simply develop excellent compiler technologies for scripting languages (as a number of projects have succeeded in doing for MATLAB). In practice, scientists typically extend these languages with their own domain-centric components, such as the MATLAB signal processing toolbox. Doing so effectively defines a new domain-specific language. If we are to address efficiency problems for such extended languages, we must develop a framework for automatically generating optimizing compilers for them. To accomplish this goal, we have been pursuing an innovative strategy that we call telescoping languages. Our approach calls for using a library-preprocessing phase to extensively analyze and optimize collections of libraries that define an extended language. Results of this analysis are collected into annotated libraries and used to generate a library-aware optimizer. The generated library-aware optimizer uses the knowledge gathered during preprocessing to carry out fast and effective optimization of high-level scripts. This enables script optimization to benefit from the intense analysis performed during preprocessing without repaying its price. Since library preprocessing is performed only at infrequent "language-generation" times, its cost is amortized over many
Keywords :
automatic programming; high level languages; optimising compilers; software libraries; specification languages; C language; Fortran; MATLAB signal processing toolbox; automatic domain language generation; compiler frameworks; compiler technology; high level script optimization; high level scripting languages; highly optimized machine code; library aware optimizer; lower level languages; optimizing compilers; telescoping languages; Aggregates; Application software; Cost function; Domain specific languages; Libraries; MATLAB; Optimized production technology; Optimizing compilers; Productivity; Signal processing; Compiler optimization; MATLAB compiler; component integration system; domain-specific language implementation; high-performance computing; library generation; type analysis;
fLanguage :
English
Journal_Title :
Proceedings of the IEEE
Publisher :
ieee
ISSN :
0018-9219
Type :
jour
DOI :
10.1109/JPROC.2004.840447
Filename :
1386658
Link To Document :
بازگشت