DSL’09 Kickoff! Walid Mohamed Taha Rice University Walid Mohamed Taha Rice University.

Slides:



Advertisements
Similar presentations
PRESENTATION OVERVIEW Typical documents used when pitching to investors Introduction to presentations Elevator Speech 15 minute presentation.
Advertisements

Day 3 Secondary Mathematics. Before We Begin Today… Please write your name down on a Post-It Note and place it next to one grade level and/or course you.
CS 498 Senior Seminar Students will research a current topic in computer science, write a paper on that topic, and make an oral presentation.
CS 330 Programming Languages 09 / 18 / 2007 Instructor: Michael Eckmann.
Programming Languages Structure
InterLink William R. Cook UT Austin November 2008.
CS 330 Programming Languages 09 / 16 / 2008 Instructor: Michael Eckmann.
Summer 02-03Programming Language Concepts1 Programming Language Concepts (CS 360) Lecture 1: Overview, Grammars, and Little Languages Jeremy R. Johnson.
Effective CVs and Interviews Dr. Lorna Dargan Careers Adviser for FMS.
© Eisenberg 2006 Management & Planning Eisenberg-style.
Professional Facilitation
(C) 2013 Logrus International Practical Visualization of ITS 2.0 Categories for Real World Localization Process Part of the Multilingual Web-LT Program.
Concept of Computer Programming November 2, 2011.
Enterprise Business Information Model Enterprise Data Services.
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
Computer Science and Software Engineering behind Blogging platforms and software Team ASU 101 for CS/CSE students.
3 Dec 2003Market Operations Standing Committee1 Market Rule and Change Management Consultation Process John MacKenzie / Darren Finkbeiner / Ella Kokotsis,
Reporting and Using Evaluation Results Presented on 6/18/15.
MCS 270 Spring 2014 Object-Oriented Software Development.
Course Rep Conference 2014 Using Digital Media. Today’s session: We will cover:  The different types of digital media you can use  The benefits of using.
3.44 Heidi Newton. What I am here to talk about I have had a look at some of the 3.44 submissions. I am going to share some of my observations from looking.
How Can Your Child SCORE at Moore? Curriculum Night 2010 KICKING OFF a New School Year!
1 Phases in Software Development Lecture Software Development Lifecycle Let us review the main steps –Problem Definition –Feasibility Study –Analysis.
GOOD MORNING! “Editing is the same as quarrelling with writers - same thing exactly. “ ~Harold Ross 14 Oct Please reclaim your English notebooks,
Quote for today “Sometimes the questions are complicated and the answers are simple” - ?? ????? “Sometimes the questions are complicated and the answers.
Programming Languages –14 David Watt (Glasgow) Steven Wong (Singapore) Moodle : Computing Science → Level 3 → Programming Languages 3 © 2012 David.
Programming History. Who was the first programmer?
Introduction to Programming Languages Where do we start to understand programming languages as a core concept of Computer Science? There are literally.
Citizens Technology Advisory Council (CTAC) "A Model of Excellence Among Learning Communities"
Collaboration and Communications “Communication is Key”
/0903 © 2003 Business & Legal Reports, Inc. BLR’s Human Resources Training Presentations Coaching Techniques.
Programming in Processing Taught by Ms. Madsen Assistants: Ms. Fischer and Ms. Yen Winsor School, 2/6/08.
Supporting the provision of quality, inclusive children’s services National Quality Framework Preparation Working Groups Session 4.
Guide to Programming with Python Chapter One Getting Started: The Game Over Program.
6TH GRADE LANGUAGE ARTS Ms. Johnston Inside all of us there is hope, inside all of us there is fear, inside all of us there is adventure…inside all of.
Morten Blomhøj and Paola Valero Our agenda: 1.The journal NOMAD’s mission, review policy and process 2.Two reviews of a paper 3.Frequent comments in reviews.
Title I Annual Parent Meeting Bardmoor Elementary.
IT Services Transition Weekly Client Services Working Session March 4th, 2011 | Friday | 10:00am – 11:00am.
1 CS 385 Fall 2006 Chapter 1 AI: Early History and Applications.
Announcements Due dates extended: Project 1B—Wednesday by 10pm rule Thursday by 10pm Lab 5—Friday by 10pm Next week Labs 6/7—Tuesday by 10pm 11/19/2015D.A.
Alain Thomas Overview workshop Background to the Principles Definitions The National Principles for Public Engagement What.
Semantics for DSL Group Members: Ritu Arora, Diyang Chu, Zekai Demirezen, Jeff Gray, Jacob Gulotta, Luis Pedro, Arturo Sanchez, Greg Sullivan,Ximing Yu.
ENG101A Lesson 12 Oral Communication Skills. Your experience in giving presentations Make notes on your answers to these questions. Then form a group.
Presentations and Reports. Third Week (2/2/12)  Meet at the Albertsons Library in room LIB 203  Beth Brin will demonstrate the use of several databases.
Facilitate Group Learning
Club Overview - Day 2 (Get Excited!!!!!). Agenda I. Log into Canvas II. Choosing a Level III. Learning and Creating IV. Closing.
The Interpreter Pattern (Behavioral) ©SoftMoore ConsultingSlide 1.
Allyson M. Hoss, January 14, 2008 CSC 7101 Programming Language Structures Spring 2008 Louisiana State University.
Chapter 14 Programming and Languages McGraw-Hill/Irwin Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
Paper Title Authors names Conference and Year Presented by Your Name Date.
Getting Useful Reviews
Winter 2016CISC101 - Prof. McLeod1 CISC101 Elements of Computing Science I Course Web Site: The lecture outlines.
KEYNOTE ADDRESS North Carolina Teachers of Mathematics Conference 2013 Teruni Lamberg Ph.D. University of Nevada, Reno Whole Class Mathematics Discussions:
Designing Lego Labs Using Lejos and Mindstorms Adapted from Lynn Stein “Radically ReThinking CS1” NSF Workshop.
9th Grade Literature and Composition Cognitive “Models”  We all have bets and expectations of ourselves and the world  A mental “model” of the real.
© 2007 Her Majesty the Queen in Right of Canada (Canadian Food Inspection Agency), all rights reserved. Use without permission is prohibited. Summary of.
Collaborative Grouping 6-12 Math Teachers. Workshop Outcomes Participants will gain effective strategies for forming and facilitating a classroom culture.
+ Welcome to PAHO/WHO Sustainable Development and Health Toolkit for the UN Global Conference RIO + 20 Welcome to PAHO/WHO Sustainable Development and.
Are you a computer science enthusiast? Want to attend a conference within your reach?
Multi-grade Workshop Improving teaching and learning IPPN Conference 2008.
Active Learning for an On-line Composition Classroom: Blogging as an Enhancement of On-line Curriculum.
BY: MISS FLORA VEGA.   Developing a Calendar There are many ways in which a delegation can further prepare for the MUN experience.  A useful tool for.
a medium allowing humans and computers to communicate an abstraction of the real world a notation for expressing algorithms the set of all syntactically.
Website Source Code Free Download.
Proposal for Term Project
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Get thinking: What is the problem, issue or challenge you want to take on? 
Part of the Multilingual Web-LT Program
Compilers Principles, Techniques, & Tools Taught by Jing Zhang
Programming Languages, Preliminaries, History & Evolution
Presentation transcript:

DSL’09 Kickoff! Walid Mohamed Taha Rice University 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 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? Challenge: Can we find “our GCD” Questions for the panel (Friday) Program committee report Overview of meeting agenda Discussants The DSL’09 Blog 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

What is a DSL?

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,... General Purpose Programming Languages Research Goal: “One language to rule them all” Result: FORTRAN, LISP, Scheme, ML, COBOL, C, C++, Java, C#, Python, Perl,...

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

Examples from my research RIDLReactive Systems PhyDLPhysical modeling VPPHardware description UccelloVisual programming RIDLReactive Systems PhyDLPhysical modeling VPPHardware description UccelloVisual programming

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

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

A Definition

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

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 A DSL is a “little language” A DSL is not a general purpose A DSL is for novices A DSL is not Turing complete

Key insight DSL = Jargon + Formal Meaning

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

Domain is clear

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

Notation is clear

Informal meaning is clear

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

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

Why DSLs are here to stay

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

Codification is iterative Pictography :-) Calligraphy Spelling Grammar Pictography :-) Calligraphy Spelling Grammar

Bigger ideas mean new patterns

DSLs will transform our lives

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 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

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

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

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

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? 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?

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

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 What is a DSL? Challenge: Can we find “our GCD” Questions for the panel (Friday) Program committee report Overview of meeting agenda Discussants Blog

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) 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)

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 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

Meeting Agenda WednesdayThursdayFriday Kickoff Semantics Keynote M&T 2 Keynote C.S. 2 Keynote M&T 1 C.S. 1C.S. 3 Panel Punting tripBanquet

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 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

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 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