A systematic mapping study on best practices for domain-specific modeling
|G. Czech, M. Moser, J. Pichler. A systematic mapping study on best practices for domain-specific modeling. Software Quality Journal, number 2, pages 663-692, DOI https://doi.org/10.1007/s11219-019-09466-1, 6, 2020.|
|Journal||Software Quality Journal|
Model-driven software development comes in different styles. While standard-based approaches leverage existing language standards (e.g., UML), tooling, and development processes, domain-specific modeling (DSM) requires languages and tool support to be created prior to the actual software development. The design, implementation, and testing of languages and tool support require a wide spectrum of methods and techniques which introduce complexity and new challenges. To tackle these DSM-specific challenges, best practices have been collected from various application domains and published in literature to guide the development and application of DSM solutions. It is the goal of this paper to identify studies reporting best practices on domain-specific modeling. Moreover, a systematic and comprehensive compilation of best practices should act as a starting point to identify literature that facilitates industrial adoption of DSM. To search for literature and classify identified studies, we conduct a systematic mapping study (SMS). Furthermore, we perform an in-depth analysis of the identified studies to answer how practices overlap, complement, or contradict each other. The systematic search resulted in 21 studies reporting 321 best practices. From these 321 practices, we compiled 192 unique best practices. We found that the DSM community created a substantial corpus of best practices for DSM. The large majority of practices (75%) are only reported once. The top best practices by number of reports contain only practices that are reported at least four times. However, the frequency of reports does not necessarily imply a high importance of practice, as the application of practices is always context specific.