Domain-Specific Languages in Practice: A User Study on the Success Factors

  • Felienne Hermans
  • Martin Pinzger
  • Arie van Deursen
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5795)


In this paper we present an empirical study on the use of a domain-specific language(DSL) in industry. This DSL encapsulates the details of services that communicate using Windows Communication Foundation (WCF). From definitions of the data contracts between clients and servers, WCF/C# code for service plumbing is generated. We conducted a survey amongst developers that use this DSL while developing applications for customers. The DSL has been used in about 30 projects all around the world.

We describe the known success factors of the use of DSLs, such as improved maintainability and ease of re-use, and assert how well this DSL scores on all of them. The analysis of the results of this case study also shows which conditions should be fulfilled in order to increase the chances of success in using a DSL in a real life case.


User Study Success Factor Business Logic Service Oriented Application Data Contract 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Mernik, M., Heering, J., Sloane, A.: When and how to develop domain-specific languages. ACM Computing Surveys 37(4), 316–344 (2005)CrossRefGoogle Scholar
  2. 2.
    Wexelblat, R.L. (ed.): History of programming languages I. ACM, New York (1981)zbMATHGoogle Scholar
  3. 3.
    Sammet, J.E.: Programming languages: history and future. Communications of the ACM 15(7), 601–610 (1972)CrossRefzbMATHGoogle Scholar
  4. 4.
    Bergin Jr., T.J., Gibson Jr., R.G. (eds.): History of programming languages—II. ACM, New York (1996)zbMATHGoogle Scholar
  5. 5.
    Nardi, B.A.: A small matter of programming: perspectives on end user computing. MIT Press, Cambridge (1993)Google Scholar
  6. 6.
    Herndon, R., Berzins, V.: The realizable benefits of a language prototyping language. IEEE Transactions on Software Engineering 14, 803–809 (1988)CrossRefGoogle Scholar
  7. 7.
    Batory, D., Johnson, C., MacDonald, B., von Heede, D.: Achieving extensibility through product-lines and domain-specific languages: A case study. In: Frakes, W.B. (ed.) ICSR 2000. LNCS, vol. 1844, pp. 117–136. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  8. 8.
    van Deursen, A., Klint, P.: Little languages: little maintenance. Journal of Software Maintenance 10(2), 75–92 (1998)CrossRefGoogle Scholar
  9. 9.
    Kieburtz, R., McKinney, L., Bell, J., Hook, J., Kotov, A., Lewis, J., Oliva, D., Sheard, T., Smith, I., Walton, L.: A software engineering experiment in software component generation. In: International Conference on Software Engineering (ICSE 1996), pp. 542–552. IEEE Computer Society, Los Alamitos (1996)Google Scholar
  10. 10.
    Christopher, D.L., Ramming, J.: Two application languages in software production. In: USENIX Symposium on Very High Level Languages Proceedings, pp. 169–187. USENIX (1994)Google Scholar
  11. 11.
    Krueger, C.W.: Software reuse. ACM Computing Surveys 24(2), 131–183 (1992)CrossRefGoogle Scholar
  12. 12.
    Bell, J., Bellegarde, F., Hook, J., Kieburts, R.: Software design for reliability and reuse: a proof-of-concept demonstration. In: Proceedings Conference on TRI-Ada, pp. 396–404. ACM Press, New York (1994)Google Scholar
  13. 13.
    Spinellis, D., Guruprasad, V.: Lightweight languages as software engineering tools. In: Proceedings of the Conference on Domain-Specific Languages (DSL 1997), pp. 67–76. USENIX (1997)Google Scholar
  14. 14.
    Spinellis, D.: Notable design patterns for domain-specific languages. Journal of Systems and Software 56, 91–99 (2001)CrossRefGoogle Scholar
  15. 15.
    Weiss, D.: Creating domain-specific languages: the fast process. In: First ACM-SIGPLAN Workshop on Domain-specific Languages: DSL 1997, University of Illinois, Technical Reports (1997)Google Scholar
  16. 16.
    Bhanot, V., Paniscotti, D., Roman, A., Trask, B.: Using domain-specific modeling to develop software defined radio components and applications. In: Proceedings of the 5th OOPSLA Workshop on Domain-Specific Modeling (DSM 2005), Computer Science and Information System Reports, Technical Reports (2005)Google Scholar
  17. 17.
    Baker, P., Loh, S., Weil, F.: Model-driven engineering in a large industrial context – motorola case study. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 476–491. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  18. 18.
    White, J., Schmidt, D.C., Gokhale, A.: Simplifying autonomic enterprise java bean applications via model-driven development: A case study. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 601–615. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  19. 19.
    Staron, M.: Adopting model driven software development in industry: A case study at two companies. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 57–72. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  20. 20.
    Cook, S., Jones, G., Kent, S., Wills, A.C.: Domain-Specific Development with Visual Studio DSL Tools. Microsoft.NET Development Series. Addison-Wesley, Reading (2007)Google Scholar
  21. 21.
    Pfleeger, S., Kitchenham, B.: Principles of survey research. ACM SIGSOFT Software Engineering Notes 26, 16–18 (2001)CrossRefGoogle Scholar
  22. 22.
    Likert, R.: A technique for the measurement of attitudes. Archives of Psychology 22(140) (1932)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Felienne Hermans
    • 1
  • Martin Pinzger
    • 1
  • Arie van Deursen
    • 1
  1. 1.Delft University of TechnologyNetherlands

Personalised recommendations