1 / 40

DSL’09 Kickoff!

DSL’09 Kickoff!. Walid Mohamed Taha Rice University. Overview of DSL’09 Kickoff. What is a DSL? Challenge: Can we find “our GCD” Questions for the panel (Friday) Program committee report Overview of meeting agenda Discussants The DSL’09 Blog. Overview of DSL’09 Kickoff. What is a DSL?

afra
Download Presentation

DSL’09 Kickoff!

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. DSL’09 Kickoff! Walid Mohamed Taha Rice University

  2. Overview of DSL’09 Kickoff • What is a DSL? • Challenge: Can we find “our GCD” • Questions for the panel (Friday) • Program committee report • Overview of meeting agenda • Discussants • The DSL’09 Blog

  3. Overview of DSL’09 Kickoff • What is a DSL? • Challenge: Can we find “our GCD” • Questions for the panel (Friday) • Program committee report • Overview of meeting agenda • Discussants • The DSL’09 Blog

  4. What is a DSL?

  5. Problem • General Purpose Programming Languages Research • Goal: “One language to rule them all” • Result: FORTRAN, LISP, Scheme, ML, COBOL, C, C++, Java, C#, Python, Perl, ...

  6. Solution • The “domain-specific” revolution • Key idea: • One type of problem, or “domain” • One “domain-specific” language, or DSL

  7. Examples from my research • RIDL Reactive Systems • PhyDL Physical modeling • VPP Hardware description • Uccello Visual programming

  8. The “Killer Example”: MS Excel • Taught in high school • 55M users

  9. What is a DSL? • A definition • Why DSLs are here to stay • How DSLs will transform our lives • Questions for the week

  10. A Definition

  11. Common examples mislead us • Lex/yacc: parsing • SQL, Datalog: data base management • LaTeX, HTML: document markup • JavaScript: Client-side applications

  12. Non-definitions • A DSL is a “little language” • A DSL is not a general purpose • A DSL is for novices • A DSL is not Turing complete

  13. Key insight DSL = Jargon + Formal Meaning

  14. Definition of a DSL • A domain is well defined and central • Notation is clear • Informal meaning is clear • Formal meaning is clear and realized

  15. Domain is clear

  16. How to define a domain • Computer-based approach • Example: FSM, NP, Turing, etc ... • User-based approach • More meaningful to users • More problem-oriented

  17. Notation is clear

  18. Informal meaning is clear

  19. Formal meaning is clear • A association exists from notation to • a mathematical expression, or ... = ?

  20. Formal meaning is clear • A association exists from notation to • a mathematical expression, or • a program =

  21. Why DSLs are here to stay

  22. Codification and humanity • Codification is as ancient as we are • Language is essential for communication

  23. Codification is iterative • Pictography :-) • Calligraphy • Spelling • Grammar

  24. Bigger ideas mean new patterns

  25. DSLs will transform our lives

  26. How DSLs helps us • Is the main benefit of DSLs performance? • Focus of work on yacc, SQL, data log • Green concern: reducing pollution • or user (“programmer”) productivity? • Harder to quantify, but is often the real win

  27. Cooking: Recipes are algorithms • Takes time • Significant “IP” • Mechanizable?

  28. Insurance and Privacy Policies • Does it say what I understand? • Is this covered?

  29. Self Expression and the Arts • Traditional production is very costly • New tools, new media and changing the landscape

  30. Initial set of questions • What are the research priorities in this areas? • What are the key technical challenges? • What are the core tools available for work in this area? • How does a practitioner go about building a DSL today? • Should there be a DSL'10?

  31. We want your input! Tell us how close “What is a DSL?” gets to your views Suggest additional questions for the panel discussion

  32. Overview of DSL’09 Kickoff • What is a DSL? • Challenge: Can we find “our GCD” • Questions for the panel (Friday) • Program committee report • Overview of meeting agenda • Discussants • Blog

  33. Program Committee Report • Submissions: 48. Selected: 18. • Acceptance rate: 38% • Almost submissions all got four reviews • Categories: • Case studies (most popular) • Tools and methods (second most popular) • Semantics (small number)

  34. Overview of DSL’09 Kickoff • What is a DSL? • Challenge: Can we find “our GCD” • Questions for the panel (Friday) • Program committee report • Overview of meeting agenda • Discussants • The DSL’09 Blog

  35. Meeting Agenda

  36. Discussants This is new, intended to encourage collaboration: • Talk format • 25 minutes for speaker to present work • 5 minutes for discussant to comment on work • 10 minutes for open discussions • Suggestions for discussants • Several already posted on blog. In addition, • Consider whether paper addresses a panel questions

  37. DSL09.blogspot.com Also new, intended to encourage collaboration :) Use it to: • Keep up with conference, now and afterwards • Tell the world what you think a DSL is! • Post your discussant summary • Do this after you’ve given it at the conference • Pose or answer panel questions • To answer questions you get at the conference • Share recollections about Peter Landin

More Related