Send the link below via email or IMCopy
Present to your audienceStart remote presentation
- Invited audience members will follow you as you navigate and present
- People invited to a presentation do not need a Prezi account
- This link expires 10 minutes after you close the presentation
- A maximum of 30 users can follow your presentation
- Learn more about this feature in our knowledge base article
Do you really want to delete this prezi?
Neither you, nor the coeditors you shared it with will be able to recover it again.
Make your likes visible on Facebook?
Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.
A Systematic Mapping Study on Domain-Specific Languages
Transcript of A Systematic Mapping Study on Domain-Specific Languages
, Daniel Viana, Paulo Silveira Neto, Dhiego Martins,
Vinicius Garcia, Silvio Meira
A Systematic Mapping Study on Domain-Specific Languages
(Bentley 1986) - Programming Pearl: Little Languages
(van Deursen et al. 2000) - Domain-Specific Languages: An Annotated Bibliography
(Mernik et al. 2005) - When and How to Develop Domain-Specific Languages
(Vasudevan and Tratt 2011) - Comparative Study of DSL Tools
Domain-specific languages (DSLs) are languages tailored to a specific application domain (Mernik et al. 2005)
A systematic mapping study allows the evidence in a domain to be plotted at a high level of granularity (Kitchenham 2007)
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 a predefined scheme (Petersen et al. 2008)
DSLs: The Main Goal
Examples of DSLs
Gains in expressiviness and ease of use
The Systematic Mapping Study Process
Definition of the research question
In which manner are Domain Specific Languages (DSLs) being created, used and maintained?
Q3. In which domains are these DSLs being used?
Q1. Which techniques, methods and/or processes are used while working with DSLs, i.e. creation, application, evolution and extension of DSLs?
Q2. Which DSLs have been created and are available for use or are described in some type of publication?
Q4. Which tools are used for the development and usage of DSLs and how such tools support those activities?
"domain-specific modeling language"
: ACM Digital Library, IEEEXplore, SpringerLink, Science Direct, Scopus and Engineering Village (also known as El Compendex)
: using DBLP, relevant journals/conferences have been searched. This includes the process of "snow-balling"
Screening of papers
Books, papers, technical reports and 'grey' literature regarding DSL, DSML or generative programming. No date filter applied
While checking articles, at least one of the following questions must have 'yes' as an answer:
Is it a DSL or DSML?
Is it a technique, method/process DSLs/DSMLs?
Is it a tool for DSL/DSMLs?
Is it a philosophical paper that discusses concepts of DSLs, DSMLs
Articles not written in English
Literature only available in the form of abstracts or Powerpoint presentations. Posters, short papers (less than 2 pages) are also excluded
Duplicated and/or incomplete studies
Distribution of primary studies
Facet 3 - Domains
Facet 1 - Classes of research
Facet 2 - DSL Research Type
Bubble Chart - Mapping between domains and different types of DSL research
Bentley J (1986) Programming pearls: little languages. Communications of the ACM 29:711–721.
van Deursen A, Klint P, Visser J (2000) Domain-specific languages: An Annotated Bibliography. ACM SIGPLAN Notices 35:26–36. doi: 10.1145/352029.352035
Kitchenham B (2007) Guidelines for performing systematic literature reviews in software engineering, version 2.3. Keele University EBSE Technical Report EBSE200701 45:65.
Mernik M, Heering J, Sloane A (2005) When and how to develop domain-specific languages. ACM Computing Surveys (CSUR) 37:316–344.
Petersen K, Feldt R, Mujtaba S, Mattsson M (2008) Systematic mapping studies in software engineering. 12th International Conference on Evaluation and Assessment in Software Engineering. pp 71–80
Vasudevan N, Tratt L (2011) Comparative Study of DSL Tools. Electronic Notes in Theoretical Computer Science 264:103–121. doi: 10.1016/j.entcs.2011.06.007
: "railway systems", "automotive systems", "naval", "lighting", "flight control"
Data intensive apps
: "query language", "sql-like language", "data processing", "data consistency"
"context-aware systems", "ambient intelligence", "adaptive systems"
: "embedded systems"
: "device drivers", "operating system", "pipeline", "application scheduling"
: "networked environment", "sensor networks", "distributed systems", "routing"
"high performance computing", "multi threading", "multi-core platform", "multitask systems"
: "real time systems"
: "security policies", "access control", "cryptography"
: "ants simulation", "urban simulation", "space simulation"
: "test automation", "test code generation", "domain testing", "dsl testing"
"visual programming languages"
: "web services", "semantic web", "web apis", "rest", "SLA", "soa", "ws-bpel", "services mashup"
: "chemistry", "medical", "physics", "e-commerce", "engineering", "math", "soccer" "finance", "animation"
1440 relevant studies
from an initial set of
our questions initially made could be answered:
. Several techniques, methods and/or processes identified, e.g.:
language factories, UML profiling, language-oriented programming
Q2 and Q3
full mapping of DSLs
and their respective domains have been provided
. Several tools identified. Tools for using DSLs and learning to program:
Language workbenchs -
XText, MetaEdit+, Spoofax, MPS JetBrains
For future work:
Investigate more deeply the area of language workbenches through a Systematic Review