ABSTRACT
Domain-specific languages (DSLs) have demonstrated their usefulness within many domains such as finance, robotics, and telecommunication. This success has been exemplified by the publication of a wide range of articles regarding specific DSLs and their merits in terms of improved software quality, programmer efficiency, security, etc. However, there is little public information on what happens to these DSLs after they are developed and published. The lack of information makes it difficult for a DSL practitioner or tool creator to identify trends, current practices, and issues within the field. In this paper, we seek to establish the current state of a DSL's life cycle by analysing 30 questionnaire answers from DSL authors on the design and development, launch, evolution, and end of life of their DSL. On this empirical foundation, we make six recommendations to DSL practitioners, scholars, and tool creators on the subjects of user involvement in the design process, DSL evolution, and the end of life of DSLs.
- 1999. DSL '99: Proceedings of the 2nd Conference on Domain-Specific Languages. Association for Computing Machinery, New York, NY, USA. Google ScholarDigital Library
- 2013. FPCDSL '13: Proceedings of the 1st Annual Workshop on Functional Programming Concepts in Domain-Specific Languages. Association for Computing Machinery, New York, NY, USA. Google ScholarDigital Library
- 2016. RWDSL '16: Proceedings of the 1st International Workshop on Real World Domain Specific Languages. Association for Computing Machinery, New York, NY, USA. Google ScholarDigital Library
- 2017. RWDSL17: Proceedings of the 2nd International Workshop on Real World Domain Specific Languages. Association for Computing Machinery, New York, NY, USA. Google ScholarDigital Library
- 2018. Category:Domain-specific programming languages. https://en.wikipedia.org/w/index.php?title=Category:Domain-specific_programming_languages&oldid=858848463 accessed 1 May 2021.Google Scholar
- 2018. RWDSL2018: Proceedings of the Real World Domain Specific Languages Workshop 2018. Association for Computing Machinery, New York, NY, USA. Google ScholarDigital Library
- 2019. RWDSL '19: Proceedings of the 4th ACM International Workshop on Real World Domain Specific Languages. Association for Computing Machinery, New York, NY, USA. Google ScholarDigital Library
- 2020. DevBoost/EMFText-Zoo. https://github.com/DevBoost/EMFText-Zoooriginal-date: 2012-08-07T07:22:54Z.Google Scholar
- 2020. Index - Robotics DSL Zoo. https://corlab.github.io/dslzoo/all.html accessed 1 May 2021.Google Scholar
- 2021. Financial Domain-Specific Language Listing and Resources. http://www.dslfin.org/resources.html accessed 1 May 2021.Google Scholar
- Omar Badreddin, Rahad Khandoker, Andrew Forward, Omar Masmali, and Timothy C. Lethbridge. 2018. A Decade of Software Design and Modeling: A Survey to Uncover Trends of the Practice. In Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems. ACM, Copenhagen Denmark, 245--255. Google ScholarDigital Library
- Ankica Barišić, João Cambeiro, Vasco Amaral, Miguel Goulão, and Tarquínio Mota. 2018. Leveraging teenagers feedback in the development of a domain-specific language: the case of programming low-cost robots. In Proceedings of the 33rd Annual ACM Symposium on Applied Computing. ACM, Pau France, 1221--1229. Google ScholarDigital Library
- Holger Borum. 2022. Artefact: Survey of Established Practices in the Life Cycle of Domain-Specific Languages. https://github.com/hborum/models-22-survey original-date: 2022-07-22T06:26:06Z.Google Scholar
- Manfred Broy, Sascha Kirstan, Helmut Krcmar, and Bernhard Schätz. 2012. What is the Benefit of a Model-Based Design of Embedded Software Systems in the Car Industry? ISBN: 9781613504383 Library Catalog: www.igi-global.com Pages: 343-369 Publisher: IGI Global. Google ScholarCross Ref
- Swaib Dragule, Sergio García Gonzalo, Thorsten Berger, and Patrizio Pelliccione. 2021. Languages for Specifying Missions of Robotic Applications. In Software Engineering for Robotics, Ana Cavalcanti, Brijesh Dongol, Rob Hierons, Jon Timmis, and Jim Woodcock (Eds.). Springer International Publishing, Cham, 377--411. Google ScholarCross Ref
- Sebastian Erdweg, Tijs van der Storm, Markus Völter, Laurence Tratt, Remi Bosman, William R. Cook, Albert Gerritsen, Angelo Hulshout, Steven Kelly, Alex Loh, Gabriël Konat, Pedro J. Molina, Martin Palatnik, Risto Pohjonen, Eugen Schindler, Klemens Schindler, Riccardo Solmi, Vlad Vergu, Eelco Visser, Kevin van der Vlist, Guido Wachsmuth, and Jimi van der Woning. 2015. Evaluating and comparing language workbenches: Existing results and benchmarks for the future. Computer Languages, Systems & Structures 44 (Dec. 2015), 24--47. Google ScholarDigital Library
- Marco Frigerio, Jonas Buchli, and Darwin G. Caldwell. 2013. A Domain Specific Language for kinematic models and fast implementations of robot dynamics algorithms. arXiv:1301.7190 [cs] (Jan. 2013). http://arxiv.org/abs/1301.7190 arXiv: 1301.7190.Google Scholar
- Ruediger Gad. 2017. Evolution of a Stream Transformation DSL. In Proceedings of the 2nd International Workshop on Real World Domain Specific Languages - RWDSL17. ACM Press, Austin, TX, USA, 1--10. Google ScholarDigital Library
- Felienne Hermans, Martin Pinzger, and Arie van Deursen. 2009. Domain-Specific Languages in Practice: A User Study on the Success Factors. In Model Driven Engineering Languages and Systems (Lecture Notes in Computer Science), Andy Schürr and Bran Selic (Eds.). Springer, Berlin, Heidelberg, 423--437. Google ScholarDigital Library
- Nico Hochgeschwender, Sven Schneider, Holger Voos, and Gerhard K Kraetzschmar. 2014. Declarative Specification of Robot Perception Architectures. (2014), 12.Google Scholar
- Aníbal Iung, João Carbonell, Luciano Marchezan, Elder Rodrigues, Maicon Bernardino, Fabio Paulo Basso, and Bruno Medeiros. 2020. Systematic mapping study on domain-specific language development tools. Empirical Software Engineering 25, 5 (Sept. 2020), 4205--4249. Google ScholarDigital Library
- Nachiket Kapre and Samuel Bayliss. 2016. Survey of domain-specific languages for FPGA computing. In 2016 26th International Conference on Field Programmable Logic and Applications (FPL). 1--12. ISSN: 1946-1488. Google ScholarCross Ref
- Mika Karaila. 2009. Evolution of a Domain Specific Language and its engineering environment - Lehman's laws revisited. (2009), 7.Google Scholar
- Tomaž Kosar, Sudev Bohra, and Marjan Mernik. 2016. Domain-Specific Languages: A Systematic Mapping Study. Information and Software Technology 71 (March 2016), 77--91. Google ScholarDigital Library
- J.R. Lewis and B. Martin. 2003. Cryptol: high assurance, retargetable crypto development and validation. In IEEE Military Communications Conference, 2003. MILCOM 2003., Vol. 2. 820--825 Vol.2. Google ScholarCross Ref
- Grischa Liebel, Omar Badreddin, and Rogardt Heldal. 2017. Model Driven Software Engineering in Education: A Multi-Case Study on Perception of Tools and UML. In 2017 IEEE 30th Conference on Software Engineering Education and Training (CSEE T). 124--133. ISSN: 2377-570X. Google ScholarCross Ref
- Sandra Macià, Sergi Mateo, Pedro J. Martínez-Ferrer, Vicenç Beltran, Daniel Mira, and Eduard Ayguadé. 2018. Saiph: Towards a DSL for High-Performance Computational Fluid Dynamics. In Proceedings of the Real World Domain Specific Languages Workshop 2018 (RWDSL2018). Association for Computing Machinery, Vienna, Austria, 1--10. Google ScholarDigital Library
- Marjan Mernik, Jan Heering, and Anthony M. Sloane. 2005. When and how to develop domain-specific languages. Comput. Surveys 37, 4 (Dec. 2005), 316--344. Google ScholarDigital Library
- Leandro Nascimento, Daniel Viana, Paulo Neto, Dhiego Martins, Vinicius Garcia, and Silvio Meira. 2012. A Systematic Mapping Study on Domain-Specific Languages.Google Scholar
- Arne Nordmann, Nico Hochgeschwender, and Sebastian Wrede. 2014. A Survey on Domain-Specific Languages in Robotics. In Simulation, Modeling, and Programming for Autonomous Robots (Lecture Notes in Computer Science), Davide Brugali, Jan F. Broenink, Torsten Kroeger, and Bruce A. MacDonald (Eds.). Springer International Publishing, Cham, 195--206. Google ScholarDigital Library
- Nuno Oliveira, Maria João Pereira, Pedro Rangel Henriques, and Daniela Cruz. 2009. Domain specific languages: a theoretical survey. INForum'09 - Simpósio de Informática (2009). https://bibliotecadigital.ipb.pt/handle/10198/1192 Accepted: 2009-10-01T12:52:37Z Publisher: Faculdade de Ciências da Universidade de Lisboa.Google Scholar
- Ildevana Poltronieri, Allan Christopher Pedroso, Avelino Francisco Zorzo, Maicon Bernardino, and Marcia de Borba Campos. 2021. Is Usability Evaluation of DSL Still a Trending Topic? In Human-Computer Interaction. Theory, Methods and Tools, Masaaki Kurosu (Ed.). Vol. 12762. Springer International Publishing, Cham, 299--317. Series Title: Lecture Notes in Computer Science. Google ScholarDigital Library
- Ildevana Poltronieri, Avelino Francisco Zorzo, Maicon Bernardino, and Marcia de Borba Campos. 2018. Usa-DSL: usability evaluation framework for domain-specific languages. In Proceedings of the 33rd Annual ACM Symposium on Applied Computing (SAC '18). Association for Computing Machinery, Pau, France, 2013--2021. Google ScholarDigital Library
- Simon Schauss, Ralf Lämmel, Johannes Härtel, Marcel Heinz, Kevin Klein, Lukas Härtel, and Thorsten Berger. 2017. A chrestomathy of DSL implementations. In Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering (SLE 2017). Association for Computing Machinery, Vancouver, BC, Canada, 103--114. Google ScholarDigital Library
- Mathijs Schuts, Marco Alonso, and Jozef Hooman. 2021. Industrial experiences with the evolution of a DSL. In Proceedings of the 18th ACM SIGPLAN International Workshop on Domain-Specific Modeling. Association for Computing Machinery, New York, NY, USA, 21--30. Google ScholarDigital Library
- Krysta M. Svore, Alan Geller, Matthias Troyer, John Azariah, Christopher Granade, Bettina Heim, Vadym Kliuchnikov, Mariia Mykhailova, Andres Paz, and Martin Roetteler. 2018. Q#: Enabling scalable quantum computing and development with a high-level domain-specific language. Proceedings of the Real World Domain Specific Languages Workshop 2018 on - RWDSL2018 (2018), 1--10. arXiv: 1803.00652. Google ScholarDigital Library
- Marcel van Amstel, Mark van den Brand, and Luc Engelen. 2010. An exercise in iterative domain-specific language design?. In Proceedings of the Joint ERCIM Workshop on Software Evolution (EVOL) and International Workshop on Principles of Software Evolution (IWPSE) on - IWPSE-EVOL '10. ACM Press, Antwerp, Belgium, 48. Google ScholarDigital Library
- Tijs van der Storm and Sebastian Erdweg. 2015. Proceedings of the 3rd Workshop on Domain-Specific Language Design and Implementation (DSLDI 2015). arXiv:1508.03536 [cs] (Aug. 2015). http://arxiv.org/abs/1508.03536 arXiv: 1508.03536.Google Scholar
- Arie van Deursen, Paul Klint, and Joost Visser. 2000. Domain-specific languages: an annotated bibliography. ACM SIGPLAN Notices 35, 6 (June 2000), 26--36. Google ScholarDigital Library
- Markus Voelter, Bernd Kolb, Klaus Birken, Federico Tomassetti, Patrick Alff, Laurent Wiart, Andreas Wortmann, and Arne Nordmann. 2019. Using language workbenches and domain-specific languages for safety-critical software development. Software & Systems Modeling 18, 4 (Aug. 2019), 2507--2530. Google ScholarDigital Library
- David Wile. 2004. Lessons learned from real DSL experiments. Science of Computer Programming 51, 3 (June 2004), 265--290. Google ScholarDigital Library
Index Terms
- Survey of established practices in the life cycle of domain-specific languages
Recommendations
Development of internal domain-specific languages: design principles and design patterns
PLoP '11: Proceedings of the 18th Conference on Pattern Languages of ProgramsA great part of software development challenges can be solved by one universal tool: Abstraction. Developers solve development challenges by using expressions and concepts that abstract from too technical details. One especially supportive tool for ...
Unit Testing for Domain-Specific Languages
DSL '09: Proceedings of the IFIP TC 2 Working Conference on Domain-Specific LanguagesDomain-specific languages (DSLs) offer several advantages by providing idioms that are similar to the abstractions found in a specific problem domain. However, a challenge is that tool support for DSLs is lacking when compared to the capabilities ...
Unembedding domain-specific languages
Haskell '09: Proceedings of the 2nd ACM SIGPLAN symposium on HaskellHigher-order abstract syntax provides a convenient way of embedding domain-specific languages, but is awkward to analyse and manipulate directly. We explore the boundaries of higher-order abstract syntax. Our key tool is the unembedding of embedded ...
Comments