1 / 4

DSLs: The Good, the Bad, and the Ugly

DSLs: The Good, the Bad, and the Ugly. Marjan Mernik University of Maribor Faculty of Electrical Engineering and Computer Science. Background. DSL research Identifying patterns in DSL development Comparison of DSL implementation approaches Incremental DSL development

posy
Télécharger la présentation

DSLs: The Good, the Bad, and the Ugly

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DSLs: The Good, the Bad, and the Ugly Marjan Mernik University of Maribor Faculty of Electrical Engineering and Computer Science

  2. Background • DSL research • Identifying patterns in DSL development • Comparison of DSL implementation approaches • Incremental DSL development • Automatic generation of DSL tools (editors, debuggers, test engines) • Alternative approaches to Domain Analysis for DSLs (grammatical inference, API2DSL, Ontologies) • DSL practice • LISA, PPCEA, BackupSpec, ...

  3. The Good • A DSL is a computer language (specification, modeling, programming) tailored to a particular domain. But, what is a domain? • DSL examples: BNF, ProcGraph, Sawzall • Gains in expressiveness and ease of use (the future is end-user programming) • Gains in productivity • Reduced maintenance costs • Possibility for AVOPT

  4. The Bad and The Ugly 1. Cost-benefit analysis for a particular domain is hard to perform. Is it worth the effort to develop a DSL? 2. Lack of proper tool support. Just building a DSL compiler/interpreter is not enough! 4. Poor interoperability with other languages. 6. Instability of DSL design. 8. Lack of proper semantic definition of DSLs. 9. Poor documentation and training. 10. Limited knowledge and expertise on how to perform domain analysis.

More Related