Skip to main content
Log in

A systematic mapping study on best practices for domain-specific modeling

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

Explore related subjects

Discover the latest articles, news and stories from top researchers in related subjects.

References

  • Aho, A. V., Sethi, R., & Ullman, J. D. (1986). Compilers principles, techniques, and tools. Reading, MA: Addison-Wesley.

    MATH  Google Scholar 

  • Budgen, D., Turner, M., Brereton, P., Kitchenham, B.A. (2008) Using mapping studies in software engineering. In: Proceedings of the 20th Annual Workshop of the Psychology of Programming Interest Group, PPIG 2008, Lancaster, UK, September 10-12, 2008.

  • Czech, G., Moser, M., Pichler, P. (2018) Best practices for domain-specific modeling. A systematic mapping study. In: Proceedings of the 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA 2018), IEEE Computer Society Press, SEAA 2018, (pp. 137–145).

  • Evans, E. (2003). Domain-driven design: tacking complexity in the heart of software. Boston: Addison-Wesley Longman Publishing Co., Inc.

    Google Scholar 

  • Fowler, M. (2010). Domain specific languages (1st ed.). Addison-Wesley Professional.

  • Hermans, F., Pinzger, M., van Deursen, A. (2009) Domain-specific languages in practice: a user study on the success factors. In: Schürr, A., Selic, B. (eds.) Model driven engineering languages and systems. MODELS 2009. Lecture Notes in Computer Science, vol. 5795. Springer, Berlin, Heidelberg.

  • Kahraman, G., Bilgen, S. (2015) A framework for qualitative assessment of domain-specific languages. Softw. Syst. Model. 14, 4 (October 2015), 1505–1526.

  • Kelly, S., & Tolvanen, J. P. (2008a). Domain-specific modeling: enabling full code generation. Wiley.

  • Kitchenham, B., Pearl Brereton, O., Budgen, D., Turner, M., Bailey, J., & Linkman, S. (2009). Systematic literature reviews in software engineering - a systematic literature review. Inf. Software Technology, 51(1), 7–15. https://doi.org/10.1016/j.infsof.2008.09.009.

    Article  Google Scholar 

  • Ladd, D.A., Ramming, J.C. (1994) Two application languages in software production. In: Proceedings of the USENIX Symposium on Very High Level Languages, USENIX, (pp. 169–187).

  • Olajubu, O. (2015) A textual domain specific language for requirement modelling. In: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, ACM, New York, NY, USA, ESEC/FSE 2015, (pp. 1060–1062), DOI https://doi.org/10.1145/2786805.2807562.

  • Petersen, K., Feldt, R., Mujtaba, S., Mattsson, M. (2008) Systematic mapping studies in software engineering. In: Proceedings of the 12th International Conference on Evaluation and Assessment in Software Engineering, BCS Learning & Development Ltd., Swindon, UK, EASE‘08, (pp. 68–77).

  • Rodrigues, I., Zorzo, A., Da Silveira, M., de Borba Campos, M. (2018). Usa-DSL: usability evaluation framework for domain-specific languages. https://doi.org/10.1145/3167132.3167348.

  • Royce, W.W. (1987) Managing the development of large software systems: concepts and techniques. In: Proceedings of the 9th International Conference on Software Engineering, IEEE Computer Society Press, Los Alamitos ICSE ‘87, (pp. 328–338).

  • van Deursen, A., & Klint, P. (1998). Little languages: little maintenance. Journal of Software Maintenance, 10(2), 75–92.

    Article  Google Scholar 

  • Wieringa, R., Maiden, N. A. M., Mead, N., & Rolland, C. (2006). Requirements engineering paper classification and evaluation criteria: a proposal and a discussion. Requirements Engineering, 11, 102–107.

    Article  Google Scholar 

Primary studies

  • Frank, U. (2011) Some guidelines for the conception of domain-specific modelling languages. In: EMISA proceedings (pp. 93–106).

  • Frank, U. (2013). Domain-specific modeling languages: requirements analysis and design guidelines. In Domain engineering: product lines, conceptual models, and languages (pp. 133–157). Springer Berlin Heidelberg. https://doi.org/10.1007/978-3-642-36654-36.

  • Iber, J., Höller, A., Rauter, T., Kreiner, C. (2016) Patterns for designing configurability into domain-specific language elements. In: Proceedings of the 21st European Conference on Pattern Languages of Programs, ACM, New York, NY, USA, EuroPlop ‘16, pp 1:1–1:14, DOI https://doi.org/10.1145/3011784.3011785.

  • Kahlaou,i A., Abran, A., Lefebvre, E. (2008). Dsml success factors and their assessment criteria. Metrics News, 13(1), 43–51.

    Google Scholar 

  • Karsai, G., Krahn, H., Pinkernell, C., Rumpe, B., Schneider, M., & Völkel, S. (2009). Design guidelines for domain specific languages. In M. Rossi, J. Sprinkle, J. Gray, & J. P. Tolvanen (Eds.), Proceedings of the 9th OOPSLA Workshop on Domain-Specific Modeling (DSM ‘09) (pp. 7–13).

    Google Scholar 

  • Kelly, S., & Pohjonen, R. (2009). Worst practices for domain-specific modeling. IEEE Software, 26(4).

  • Kelly, S., & Tolvanen, J. P. (2008b). Domain-specific modeling: enabling full code generation. Wiley.

  • Kolovos, D.S., Paige, R.F., Kelly, T., Polack, F.A. (2006) Requirements for domain specific languages. In: Proc. of ECOOP Workshop on Domain-Specific Program Development (DSPD), vol 2006.

  • Livengood, S. (2012) Experiences in domain-specific modeling for interface specification and development. In: Proceedings of the 2Nd International Master Class on Model-Driven Engineering: Modeling Wizards, ACM, New York, NY, USA, MW ‘12, pp 4:1–4:2, DOI https://doi.org/10.1145/2448076.2448080.

  • Mernik, M., Heering, J., & Sloane, A. M. (2005). When and how to develop domain-specific languages. ACM Computing Surveys, 37(4), 316–344.

    Article  Google Scholar 

  • Moser, M., Pfeiffer, M., Pichler, J. (2014) Domain-specific modeling in industrial automation: challenges and experiences. In: Proceedings of the 1st International Workshop on Modern Software Engineering Methods for Industrial Automation, ACM, New York, NY, USA, MoSEMInA 2014, (pp. 42–51), DOI https://doi.org/10.1145/2593783.2593787.

  • Parr, T. (2009) Language implementation patterns: create your own domain-specific and general programming languages, 1st ed. Pragmatic Bookshelf.

  • Ratiu, D., Völter, M. (2016) Automated testing of DSL implementations: experiences from building mbeddr. In: Proceedings of the 11th International Workshop on Automation of Software Test, ACM, New York, NY, USA, AST ‘16, (pp. 15–21), DOI https://doi.org/10.1145/2896921.2896922.

  • Salehi, P., Hamou-Lhadj, A., Toeroe, M., & Khendek, F. (2016). A UML-based domain specific modeling language for service availability management. Comput. Stand. Interfaces, 44(C), 63–83. https://doi.org/10.1016/j.csi.2015.09.009.

    Article  Google Scholar 

  • Spinellis, D. (2001). Notable design patterns for domain-specific languages. Journal of Systems and Software, 56(1), 91–99. https://doi.org/10.1016/S0164-1212(00)00089-3.

    Article  Google Scholar 

  • Vierhauser, M., Rabiser, R., Grünbacher, P., & Egyed, A. (2015). Developing a DSL-based approach for event-based monitoring of systems of systems: experiences and lessons learned (e). In 30th IEEE/ACM International Conference on Automated Software Engineering, Lincoln, USA (pp. 715–725). https://doi.org/10.1109/ASE.2015.25.

    Chapter  Google Scholar 

  • Voelter, M., Kolb, B., Szabó, T., Ratiu D., van Deursen A. (2017) Lessons learned from developing mbeddr. In: Journal of Software & Systems Modeling (pp 1–46), https://doi.org/10.1007/s10270-016-0575-4.

  • Vokáč, M., & Glattetre, J. M. (2005). Using a domain-specific language and custom tools to model a multitier service-oriented application - experiences and challenges. In L. Briand & C. Williams (Eds.), Model driven engineering languages and systems (pp. 492–506). Berlin, Heidelberg: Springer Berlin Heidelberg.

    Chapter  Google Scholar 

  • Völter, M. (2009). Best practices for DSLs and model-driven development. Journal of Object Technology, 8(6), 79–102.

    Article  Google Scholar 

  • Wile, D. (2003) Lessons learned from real DSL experiments. In: System sciences, 2003. Proceedings of the 36th Annual Hawaii International Conference on, IEEE.

Download references

Funding

The research reported in this paper has been supported by the Austrian Ministry for Transport, Innovation, and Technology; the Federal Ministry of Science, Research, and Economy; and the Province of Upper Austria in the frame of the COMET center SCCH.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Michael Moser.

Additional information

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Czech, G., Moser, M. & Pichler, J. A systematic mapping study on best practices for domain-specific modeling. Software Qual J 28, 663–692 (2020). https://doi.org/10.1007/s11219-019-09466-1

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-019-09466-1

Keywords

Navigation