Modern Language Techniques from Emerging Trends, Evaluation, Obstacles, to Prospects: Review
DOI:
https://doi.org/10.37385/jaets.v7i1.7219Keywords:
Domain Specific Language (DSL), DSLs Implementation Aspects, Abstract syntax, Concrete syntax, SemanticsAbstract
Languages designed for a particular application domain are known as domain-specific languages (DSLs). When compared to general-purpose programming languages (GPPLs) in their field of usage, they provide significant improvements in expressiveness and usability. In order to handle the concurrent expansion of areas like cloud-native, distributed, and modular architectures, this discipline has been undergoing enormous evolution. Finding current trends, gaps, and new prospects in the field of DSLs is the aim of this review. We use a novel approach in this review by grouping the state-of-the-art studies into several groups. Furthermore, the three primary implementation issues of DSLs abstract syntax, concrete syntax, and semantics were highlighted. In particular, they are distinguished by the functions they prioritize (modeling, visualizing), the mapping outcomes (textual/graphical symbols), and their parsing and mapping approach (external/internal) between the abstract and concrete languages. Focus on the development lifecycle while keeping up with contemporary trends, obstacles, and the assessment metrics that are employed to evaluate the DSLs. We concluded by summarizing the research overview of DSLs after integrating it with the literature.
Downloads
References
Attiogbe, C., & Rocheteau, J. (2023). Correctness of IoT-based systems: From a DSL to a mechanised analysis. Journal of Computer Languages, 76, 101239. https://doi.org/10.1016/j.cola.2023.101239
Borum, H. S., & Seidl, C. (2022). Survey of established practices in the life cycle of domain-specific languages. Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems, 266-277. https://doi.org/10.1145/3550355.3552413
Boutot, P., Tabassum, M. R., Abedin, A., & Mustafiz, S. (2024). Requirements development for IoT systems with UCM4IoT. Journal of Computer Languages, 78, 101251. https://doi.org/10.1016/j.cola.2023.101251
Braganca, A., Azevedo, I., Bettencourt, N., Morais, C., Teixeira, D., & Caetano, D. (2021). Towards supporting SPL engineering in low-code platforms using a DSL approach. Proceedings of the 20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, 16-28. https://doi.org/10.1145/3486609.3487196
Brandon, C., & Margaria, T. (2023). Low-Code/No-Code Artificial Intelligence Platforms for the Health Informatics Domain. Electronic Communications of the EASST, 82. https://doi.org/10.14279/tuj.eceasst.82.1221
Bucchiarone, A., Cicchetti, A., Ciccozzi, F., & Pierantonio, A. (2021). Domain-specific languages in practice: With JetBrains MPS. Springer Nature. https://doi.org/10.1007/978-3-030-73758-0
Cardozo, N., & Mens, K. (2022). Programming language implementations for context-oriented self-adaptive systems. Information and Software Technology, 143, 106789. https://doi.org/10.1016/j.infsof.2021.106789
Carvalho, T., Bispo, J., Pinto, P., & Cardoso, J. M. P. (2023). A DSL-based runtime adaptivity framework for Java. SoftwareX, 23, 101496. https://doi.org/10.1016/j.softx.2023.101496
Chavarriaga, E., Jurado, F., & Rodriguez, F. D. (2023). An approach to build JSON-based domain-specific languages solutions for web applications. Journal of Computer Languages, 75, 101203. https://doi.org/10.1016/j.cola.2023.101203
Chaudhary, H. A. A., & Margaria, T. (2022). DSL-based interoperability and integration in the smart manufacturing digital thread. Electronic Communications of the EASST, 81. https://doi.org/10.14279/tuj.eceasst.81.1198
Diallo, M. M., & Adda, M. (2024). HoBACDSL: HoBAC-focused Access Control Domain Specific Language. Procedia Computer Science, 241, 40-47. https://doi.org/10.1016/j.procs.2024.08.008
Gabbrielli, M., Martini, S., & Giallorenzo, S. (2010). Programming Languages: Principles and Paradigms (Vol. 8). Springer.
Gerhold, M., Kouzel, A., Mangal, H., Mehmed, S., & Zaytsev, V. (2024). Modelling of Cyber-Physical Systems through domain-specific languages: Decision, analysis, design. Proceedings of the ACM/IEEE 27th International Conference on Model Driven Engineering Languages and Systems, 1170-1179. https://doi.org/10.1145/3652620.3688348
Johanson, A. N., & Hasselbring, W. (2017). Effectiveness and efficiency of a domain-specific language for high-performance marine ecosystem simulation: A controlled experiment. Empirical Software Engineering, 22, 2206-2236. https://doi.org/10.1007/s10664-016-9483-z
Katsikeas, S., Ling, E. R., Johnsson, P., & Ekstedt, M. (2024). Empirical evaluation of a threat modeling language as a cybersecurity assessment tool. Computers & Security, 140, 103743. https://doi.org/10.1016/j.cose.2024.103743
Kosar, T., Oliveira, N., Mernik, M., Pereira, V. J. M., Crepinsek, M., Da Cruz, D., & Henriques, R. P. (2010). Comparing general-purpose and domain-specific languages: An empirical study. Computer Science and Information Systems, 7(2), 247-264. https://doi.org/10.2298/CSIS1002247K
Kouzel, A. (2024). Developing a DSL design methodology for CPS diagnostics (Bachelor's thesis). University of Twente. https://essay.utwente.nl/100776/
Lutalo, J. W. (2024). Programming language engineering - a review of text processing language design, implementation and evaluation methods. Preprints.org. https://doi.org/10.20944/preprints202410.0636.v2
Macia, S., Martinez-Ferrer, P. J., Ayguade, E., & Beltran, V. (2023). Assessing Saiph, a task-based DSL for high-performance computational fluid dynamics. Future Generation Computer Systems, 147, 235-250. https://doi.org/10.1016/j.future.2023.04.035
Mehmed, S. (2024). Domain Specific Languages for Cyber Physical Systems: A survey (Bachelor's thesis). University of Twente. https://essay.utwente.nl/100883/
Mendez-Acuna, D., Galindo, J. A., Degueule, T., Combemale, B., & Baudry, B. (2016). Leveraging software product lines engineering in the development of external DSLs: A systematic literature review. Computer Languages, Systems & Structures, 46, 206-235. https://doi.org/10.1016/j.cl.2016.03.003
Mernik, M., Heering, J., & Sloane, A. M. (2005). When and how to develop domain-specific languages. ACM Computing Surveys, 37(4), 316-344. https://doi.org/10.1145/1118890.1118892
Mertz, J., & Nunes, I. (2021). Tigris: A DSL and framework for monitoring software systems at runtime. Journal of Systems and Software, 177, 110963. https://doi.org/10.1016/j.jss.2021.110963
Morales, S., Clariso, R., & Cabot, J. (2022). Towards a DSL for AI engineering process modeling. International Conference on Product Focused Software Process Improvement, 53-60. https://doi.org/10.1007/978-3-031-21388-5_4
Naimi, L., Abdelmalek, H., & Jakimi, A. (2024). A DSL-based approach for code generation and navigation process management in a single page application. Procedia Computer Science, 231, 299-304. https://doi.org/10.1016/j.procs.2023.12.207
Negm, E., Makady, S., & Salah, A. (2019). Survey on domain specific languages implementation aspects. International Journal of Advanced Computer Science and Applications, 10(11). https://doi.org/10.14569/IJACSA.2019.0101183
Ouaddi, C., Benaddi, L., & Jakimi, A. (2024). Architecture, tools, and DSLs for developing conversational agents: An overview. Procedia Computer Science, 231, 293-298. https://doi.org/10.1016/j.procs.2023.12.206
Panayiotou, K., Doumanidis, C., Tsardoulias, E., & Symeonidis, A. L. (2024). SmAuto: A domain specific language for application development in smart environments. Pervasive and Mobile Computing, 101, 101931. https://doi.org/10.1016/j.pmcj.2024.101931
Predoaia, I., Kolovos, D., Lenk, M., & Garcia Dominguez, A. (2023). Streamlining the development of hybrid graphical textual model editors for domain-specific languages. Journal of Object Technology, 22(2). https://doi.org/10.5381/jot.2023.22.2.a8
Qassir, S. A. (2024). Building a graphical modelling language for efficient homomorphic encryption schema configuration: HomoLang. TEM Journal, 13(3), 2285-2296. https://doi.org/10.18421/TEM13356
Qassir, S. A. (2025). MyDSL: Front-end compiler design for a user friendly language supporting hybrid meta heuristics. TEM Journal, 14(3). https://doi.org/10.18421/TEM14311
Qassir, S. A., Gaata, M. T., & Sadiq, A. T. (2023). SCLang: Graphical domain-specific modelling language for stream cipher. Cybernetics and Information Technologies, 23(2), 54-71. https://doi.org/10.2478/cait-2023-0013
Qassir, S. A., Gaata, M. T., Sadiq, A. T., & Al Alawy, F. (2023). Designing a graphical domain-specific modelling language for efficient block cipher configuration: BCLang. TEM Journal, 12(4), 2038-2049. https://doi.org/10.18421/TEM12414
Qassir, S. A., Gaata, M. T., Sadiq, A. T., & Taha, I. F. (2024). Developing a graphical domain-specific modeling language for efficient lightweight block cipher schemas configuration: LWBCLang. Iraqi Journal of Science, 65(10), 5819-5836. https://doi.org/10.24996/ijs.2024.65.10.39
Shen, L., Chen, X., Liu, R., Wang, H., & Ji, G. (2021). Domain specific language techniques for visual computing: A comprehensive study. Archives of Computational Methods in Engineering, 28, 3113-3134. https://doi.org/10.1007/s11831-020-09492-4
Staroletov, S. M. (2022). Grammar-based testing: A process-oriented extension of the IEC 61131-3 Structured Text language. Proceedings of the 2022 International Russian Automation Conference, 863-869. https://doi.org/10.1109/RusAutoCon54946.2022.9896346
Sufi, F. (2023). Algorithms in low code no code for research applications: A practical review. Algorithms, 16(2), 108. https://doi.org/10.3390/a16020108
Van Roy, P. (2009). Programming paradigms for dummies: What every programmer should know. New Computational Paradigms for Computer Music, 104, 616-621.
Vierhauser, M., Wohlrab, R., Stadler, M., & Cleland Huang, J. (2023). AMon: A domain specific language and framework for adaptive monitoring of cyber physical systems. Journal of Systems and Software, 195, 111507. https://doi.org/10.1016/j.jss.2022.111507
Wang, R., Lu, M., Yu, C. H., Lai, Y. H., & Zhang, T. (2024). Automated deep learning optimization via DSL-based source code transformation. Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis, 479-490. https://doi.org/10.1145/3650212.3652143


CITEDNESS IN SCOPUS
CITEDNESS IN WOS




