The DOI matches its Crossref record; 41 of the 41 references it cites were found in a registry or an index.
When and how to develop domain-specific languages
Abstract
Domain-specific languages (DSLs) are languages tailored to a specific application domain. They offer substantial gains in expressiveness and ease of use compared with general-purpose programming languages in their domain of application. DSL development is hard, requiring both domain knowledge and language development expertise. Few people have both. Not surprisingly, the decision to develop a DSL is often postponed indefinitely, if considered at all, and most DSLs never get beyond the application library stage.Although many articles have been written on the development of particular DSLs, there is very limited literature on DSL development methodologies and many questions remain regarding when and how to develop a DSL. To aid the DSL developer, we identify patterns in the decision, analysis, design, and implementation phases of DSL development. Our patterns improve and extend earlier work on DSL design patterns. We also discuss domain analysis tools and language development systems that may help to speed up DSL development. Finally, we present a number of open problems.
Overview
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
The self-check needs the paper’s full text.
Citations
Cites
(1994) · Cited by 21,711
Component software beyond object oriented programming
Szyperski, C., Gruntz, D., & Murer, S. 1. (2002) · Cited by 4,633
Feature-Oriented Domain Analysis (FODA) Feasibility Study
Kang, K. C., Cohen, S. G., Hess, J. A., Novak, W. E., & Peterson, A. S. (1990) · Defense Technical Information Center (DTIC) · doi:10.21236/ada235785 · Cited by 4,282
Generative Programming: Methods, Tools, and Applications
Czarnecki, K., & Eisenecker, U. W. (2000) · Cited by 2,537
OWL Web Ontology Language Reference
Dean, M., Guus Schreiber, A., Bechhofer, S., van Harmelen, F., Hendler, J., Horrocks, I. R., MacGuinness, D., Patel‐Schneider, P. F., & Stein, L. A. (2004) · Data Archiving and Networked Services (DANS) · Cited by 2,394
Partial evaluation and automatic program generation
Jones, N. D., Gomard, C. K., & Sestoft, P. (1993) · Medical Entomology and Zoology · Cited by 1,440
Krueger, C. W. (1992) · ACM Computing Surveys · doi:10.1145/130844.130856 · Cited by 1,431
Domain-specific languages: an annotated bibliography
van Deursen, A., Klint, P., & Visser, J. (2000) · ACM SIGPLAN Notices · doi:10.1145/352029.352035 · Cited by 1,293
The art of the metaobject protocol
(1992) · Choice Reviews Online · doi:10.5860/choice.29-3938 · Cited by 1,009
The Art of the Metaobject Protocol
Kiczales, G., des Rivieres, J., & Bobrow, D. G. (1991) · The MIT Press eBooks · doi:10.7551/mitpress/1405.001.0001 · Cited by 689
Cited by
Exploration and exploitation in evolutionary algorithms: A survey
Črepinšek, M., Liu, S.-H., & Mernik, M. (2013) · ACM Computing Surveys · doi:10.1145/2480741.2480752 · Cited by 1,298
Self-citationDECOR: A Method for the Specification and Detection of Code and Design Smells
Moha, N., Gueheneuc, Y.-G., Duchien, L., & Le Meur, A.-F. (2010) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2009.50 · Cited by 803
Limits on fundamental limits to computation
Markov, I. L. (2014) · Nature · doi:10.1038/nature13570 · Cited by 494
Automatic production of end user documentation for DSLs
Le Moulec, G., Blouin, A., Gouranton, V., & Arnaldi, B. (2018) · Computer Languages, Systems & Structures · doi:10.1016/j.cl.2018.07.006 · Cited by 3
Metadata
- Authors
- Mernik, M., Heering, J., & Sloane, A. M.
- Venue
- ACM Computing Surveys
- Published
- 2005-12
- Volume
- 37
- Issue
- 4
- Pages
- 316-344
- ISSN
- 0360-0300 (ISSN-L)
- 1557-7341
- OpenAlex
- W2014596857
- Cited by
- 1,748
- References
- 41
- FWCI
- 160.83
- Type
- journal article
- Language
- en
- Open access
- closed
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review
How to cite
Cite CoChat for the checks on this page, and the paper for its own findings.
- This page
- CoChat. (2026). Citation check: When and how to develop domain-specific languages. https://app.cochat.ai/papers/10.1145/1118890.1118892
- The paper
- Mernik, M., Heering, J., & Sloane, A. M. (2005). When and how to develop domain-specific languages. ACM Computing Surveys. https://doi.org/10.1145/1118890.1118892
Data sources
Bibliographic data: Semantic Scholar, OpenAlex, Crossref.
Contains information from the Semantic Scholar Academic Graph Datasets, made available under the ODC Attribution License (ODC-BY 1.0).
Semantic Scholar’s data is described in: Kinney, R., et al. (2023). The Semantic Scholar Open Data Platform. arXiv:2301.10140.