SLE WS 2014/15 Assignment 2
Reading about domain-specific languages (DSLs)
Option 1
Objective
Study the last 3+ editions of a selected conference and perform a (simplified) systematic mapping study to build a classification scheme and the structure of the research field of domain-specific languages on the grounds of the DSL-related papers in the conference.
Conferences candidates
- SLE (Software Language Engineering) http://www.informatik.uni-trier.de/~Ley/db/conf/sle/
- GPCE (Generative Programming and Component Engineering) http://www.informatik.uni-trier.de/~Ley/db/conf/gpce/
- MoDELS (Model Driven Engineering Languages and Systems) http://www.informatik.uni-trier.de/~Ley/db/conf/models/
- DSL (Domain-Specific Languages) http://www.informatik.uni-trier.de/~ley/db/conf/dsl/
- ICFP (International Conference on Functional Programming) http://www.informatik.uni-trier.de/~Ley/db/conf/icfp/
- Any other major venue (conference) you want to propose?
- Any major journal you want to propose?
Systematic mapping studies
We quote from http://www1.bcs.org.uk/upload/pdf/ewic_ea08_paper8.pdf: "A software engineering systematic map is a defined method to build a classification scheme and structure a software engineering field of interest. The analysis of results focuses on frequencies of publications for categories within the scheme. Thereby, the coverage of the research field can be determined."
Detailed instructions
You need to define and report a systematic way of identifying papers of the conference that are relevant to DSLs. You also need to define and report principles of extracting data from the papers. You need to define and report your process of integrating the information obtained from the individual papers into a consolidated map. Your assignment execution should be captured on a detailed slide deck. Not all slides need to be presented, but include all relevant details, thereby enabling reproducibility in case this was desired.
Option 2
Objective
Study a paper on a specific DSL (or a specific domain or implementation approach thereof) and summarize the paper to the audience.
Paper candidates
- Implementing Domain-Specific Languages for Heterogeneous Parallel Computing http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5963629&tag=1
- A domain-specific language for building self-optimizing AST interpreters http://dl.acm.org/citation.cfm?id=2658776
- Nebo: An efficient, parallel, and portable domain-specific language for numerically solving partial differential equations http://www.che.utah.edu/~sutherland/papers/Earl%20et%20al._2014.pdf
- A Domain-Specific Language for Coordinating Concurrent Aspects in Java http://pop-art.inrialpes.fr/~jfdlpa07/Articles/Baton.pdf
- Anticipatory Optimization in Domain Specific Translation http://research.microsoft.com/pubs/69545/tr-97-22.pdf
- HOLLABACH Language Reference Manual http://www.cs.columbia.edu/~sedwards/classes/2014/w4115-summer-cvn/lrms/HOLLABACH.pdf
- Any suitable related paper from this venue: COSpeL: The first Workshop on Domain Specific Languages in Combinatorial Optimization http://cp2013.a4cp.org/workshops/cospel
- A Language for Domain Specific Optimizations in Haskell http://faculty.cs.byu.edu/~jay/conferences/2013-tfp/proceedings/tfp2013_submission_16.pdf
- Automatic Optimization of In-Flight Memory Transactions for GPU Accelerators based on a Domain-Specific Language for Medical Imaging https://www12.informatik.uni-erlangen.de/publications/membarth/membarth2012aoi.pdf
- A model-driven framework for domain specific languages demonstrated on a test automation language http://karlsch.com/frodo.pdf
- Any other paper you want to propose?
Detailed instructions
Show a good DSL example! What are the key concepts of the domain ('domain analysis')? What are interesting opportunities for analyses (error reporting) and optimization? How would a general-purpose programming language be inferior when compared to domain-specific support? What sort of implementation scheme is used?
Option 3
Study a paper on DSL design and engineering and summarize the paper to the audience.
Objective
Paper candidates
- Folding domain-specific languages: deep and shallow embeddings (functional Pearl) http://dl.acm.org/citation.cfm?doid=2628136.2628138
- Domain Specific Languages http://haskell.cs.yale.edu/wp-content/uploads/2011/01/DSEL-Little.pdf
- When and how to develop domain-specific languages http://dl.acm.org/citation.cfm?id=1118892
- Design Guidelines for Domain Specific Languages http://www.dsmforum.org/events/dsm09/Papers/Karsai.pdf
- Composition and Reuse with Compiled Domain-Specific Languages http://link.springer.com/chapter/10.1007%2F978-3-642-39038-8_3
- Any other paper you want to propose?
Detailed instructions
The paper candidates are very different. Please propose a metamodel for your presentation.
Option 4
You do not read, but you develop according to this alternative assignment: http://softlang.wikidot.com/course:sle1314-assignment2 To this end, you would need to agree on an interesting technology cocktail with the supervisor, as we have already exhausted some options last time around: http://softlang.wikidot.com/course:sle1314-results
Deliverables
Design a clearly structured and self-contained slide deck with the key findings. The presentation is limited to 10 minutes excluding discussion. Additional material may be included into the slide deck to address questions and to provide background material. You may find the following advice and therein included references worth studying: http://softlang.uni-koblenz.de/docs/sl-seminar.pdf (The relevance of this text may be limited for the assignment at hand.)
Your presentation must be committed .pdf format to this svn area: https://svn.uni-koblenz.de/softlang/main/courses/sle1415/students/ To this create a subdirectory of courses/sle1415/students with your LOGIN name as the directory name. In this manner, you can reuse this directory for other assignments and the mapping of files to students is taken care of.