Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
A software engineering experiment in software component generation
Proceedings of the 18th international conference on Software engineering
A general approach for run-time specialization and its application to C
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An introduction to partial evaluation
ACM Computing Surveys (CSUR)
A framework for application generator design
Proceedings of the 1997 symposium on Software reusability
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Programming pearls: little languages
Communications of the ACM
Building Application Generators
IEEE Software
Selected Papers from the Internaltional Seminar on Partial Evaluation
Selected Papers from the Internaltional Seminar on Partial Evaluation
The TOOLBUS Coordination Architecture
COORDINATION '96 Proceedings of the First International Conference on Coordination Languages and Models
What Not to Do When Writing an Interpreter for Specialisation
Selected Papers from the Internaltional Seminar on Partial Evaluation
A Uniform Approach for Compile-Time and Run-Time Specialization
Selected Papers from the Internaltional Seminar on Partial Evaluation
Auditdraw: Generating Audits the FAST Way
RE '97 Proceedings of the 3rd IEEE International Symposium on Requirements Engineering
Partial evaluation for software engineering
ACM Computing Surveys (CSUR) - Special issue: electronic supplement to the September 1998 issue
Efficient incremental run-time specialization for free
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Prototyping real-time vision systems: an experiment in DSL design
Proceedings of the 21st international conference on Software engineering
Hancock: a language for processing very large-scale data
Proceedings of the 2nd conference on Domain-specific languages
Dealing with Hardware in Embedded Software: A General Framework Based on the Devil Language
OM '01 Proceedings of the 2001 ACM SIGPLAN workshop on Optimization of middleware and distributed systems
Efficient Implementations of Software Architectures via Partial Evaluation
Automated Software Engineering
An Environment for Building Customizable Software Components
CD '02 Proceedings of the IFIP/ACM Working Conference on Component Deployment
FVision: A Declarative Language for Visual Tracking
PADL '01 Proceedings of the Third International Symposium on Practical Aspects of Declarative Languages
Spidle: a DSL approach to specifying streaming applications
Proceedings of the 2nd international conference on Generative programming and component engineering
FiST: a language for stackable file systems
ATEC '00 Proceedings of the annual conference on USENIX Annual Technical Conference
Hancock: a language for processing very large-scale data
DSL'99 Proceedings of the 2nd conference on Conference on Domain-Specific Languages - Volume 2
A domain specific language for enterprise grade cloud-mobile hybrid applications
Proceedings of the compilation of the co-located workshops on DSM'11, TMC'11, AGERE!'11, AOOPES'11, NEAT'11, & VMIL'11
Hi-index | 0.00 |
Domain-specific languages (DSL) have many potential advantages in terms of software engineering ranging from increased productivity to the application of formal methods. Although they have been used in practice for decades, there has been little study of methodology or implementation tools for the DSL approach. In this paper we present our DSL approach and its application to a realistic application: video display device drivers. The presentation focuses on the validation of our proposed framework for domain-specific languages, which provides automatic generation of efficient implementations of DSL programs. Additionally, we describe an example of a complete DSL for video display adaptors and the benefits of the DSL approach in this application. This demonstrates some of the generally claimed benefits of using DSLs: increased productivity, higher-level abstraction, and easier verification. The DSL has been fully implemented with our approach and is available1.