Skip to main content
Log in

Measuring the complexity of domain-specific languages developed using MDD

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

The standard ISO/IEC 25010 (SQuaRE) defines appropriateness as one of the three components of functional suitability, the other two components being completeness and correctness. As users of domain-specific language (DSL) are quite often domain experts with limited programming skills, a DSL might be considered appropriate if the resulting domain-specific programs do not contain an excessive amount of nondomain-related programming elements. This paper describes a metric for measuring the appropriateness of DSLs that are developed using model-driven development (MDD), its evaluation and use. The metric measures the depth of the deepest domain-specific command within abstract syntax trees generated by a DSL. It is aimed at being used during the development of a new DSL and for comparing different DSLs defined over the same domain. It is assumed that during MDD, the metamodel describes the domain-independent part of the DSL, while the model supplies the domain-specific part. This resembles the implementation of DSLs using existing metaprogramming tools that provide off-the-shelf implementations of programming constructs but require manual implementation of the domain-specific language elements.

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

Access this article

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

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

Notes

  1. chessprogramming.wikispaces.com/Forsyth-Edwards+Notation

  2. www.saremba.de/chessgml/standards/pgn/pgn-complete.htm

  3. www.fim.uni-passau.de/fileadmin/files/lehrstuhl/brandenburg/projekte/gml/gml-technical-report

  4. http://www.graphviz.org/content/dot-language

References

  • Barišić, A., Amaral, V., & Goulão, M. (2012). Usability Evaluation of domain-specific languages. In Eighth international conference on the quality of information and communications technology (QUATIC 2012) (pp. 342–347). Lisabon, Spain.

  • Barišić, A., Amaral, V., Goulão, M., & Barroca, B. (2012b). How to reach a usable DSL? Moving toward a systematic evaluation. Electronic Communications of the EASST, 50, 1–20.

    Google Scholar 

  • Bastarrica, M., Rivas, S., & Rossel, P. (2007). Designing and implementing a product family of model consistency checkers. In Proceedings of the 10th ACM/IEEE international conference on model driven engineering languages and systems (MoDELS 2007)—Quality in modeling workshop (pp. 36–49). Nashville, TN, USA.

  • Bertoa, M. F. & Vallecillo, A. (2010). Quality attributes for software metamodels. In Proceedings of the 13th TOOLS workshop on quantitative approaches in object-oriented software engineering (QAOOSE’10), Malaga, Spain.

  • Cadavid, J., Baudry, B., Combemale, B. (2011). Empirical evaluation of the conjunct use of MOF and OCL. In Proceedings of EESSMOD workshop at MODELS’11, Wellington, New Zealand, pp. 13.1–13.6.

  • Chomsky, N., & Schutzenberger, M.-P. (1963). The algebraic theory of context-free languages. In Computer programming and formal systems (pp. 118–161). Amsterdam, The Netherlands: North Holland Publishing Company.

  • Dupuy-Chessa, S. (2009). Quality in ubiquitous information system design. In Third international conference on research challenges in information science, RCIS 2009 (pp. 343–352). Fez, Morocco.

  • Falleri, J.-R., Huchard, M., & Nebut, C. (2008). Empirical comparison of two class model normalization techniques— Obstacles and questions. In Proceedings of the 1st workshop on empirical studies of model-driven engineering (ESMDE’08) (pp. 21–30). Toulouse, France.

  • Garcia Frey, A., Ceret, E., Dupuy-Chessa, S., & Calvary, G. (2011). QUIMERA: A quality metamodel to improve design rationale. In Proceedings of the 3rd ACM SIGCHI symposium on engineering interactive computing systems—EICS ’11 (pp. 265–270). New York, NY, USA.

  • Gerpheide, C.M., Schiffelers, R. R., & Serebrenik, A. (2014). A bottom-up quality model for QVTO. In Proceedings of the 9th international conference on the quality of information and communications technology (QUATIC 2014), Guimarães, Portugal.

  • Guizzardi, G., Ferreira, P. L., & van Sinderen, M. (2005). An ontology-based approach for evaluating the domain appropriateness and comprehensibility appropriateness of modeling languages. In Proceedings of the 8th international conference on model driven engineering languages and systems (MoDELS’05) (pp. 691–705). Berlin, Heidelberg, Germany.

  • Hermans, F., Pinzger, M., & van Deursen, A. (2009). Domain-specific languages in practice: A user study on the success factors. Model Driven Engineering Languages and Systems Lecture Notes in Computer Science, 5795, 423–437.

    Article  Google Scholar 

  • ISO (2009). ISO/IEC CD 25010.3: Systems and software engineering—Software product, quality requirements and evaluation (SQuaRE) - Software product and quality in use models.

  • Insfran, E., Carsi, J. Á., Abrãhao, S., Genero, M., Ramos, I., & Piattini, M. (2008). Towards quality-driven model transformations: A replication study. In Proceedings of the 1st workshop on empirical studies of model-driven engineering (ESMDE’08) (pp. 51–60). Toulouse, France.

  • Karsai, G., Krahn, H., Pinkernell, C., Rumpe, B., Schneider, M., & Völkel, S. (2008). Design guidelines for domain specific languages. In Proceedings of the 9th OOPSLA workshop on domain-specific modeling (DSM’ 09) (pp. 7–13). Orlando, FL, USA.

  • Kolovos, D. S., Paige, R. F., Kelly, T., & Polack, F. A. (2006). Requirements for domain-specific languages. In Proceedings of ECOOP workshop on domain-specific program development (DSPD), Nantes, France.

  • Kosar, T., Oliveira, N., Mernik, M., Pereira, V. J. M., Črepinšek, M., Da Cruz, D., et al. (2010). Comparing general-purpose and domain-specific languages: An empirical study. Computer Science and Information Systems, 7(2), 247–264.

    Article  Google Scholar 

  • Krogstie, J. (2003). Evaluating UML using a generic quality framework. In L. Favre (Ed.), UML and the Unified Process (pp. 1–22). Hershey, PA: Idea Group Publishing.

    Chapter  Google Scholar 

  • Lange, C. F. J., & Chaudron, M. R. V. (2005). Managing model quality in UML-based software development. In Proceedings of the 13th IEEE international workshop on software technology and engineering practice (STEP’05) (pp. 7–16). Budapest, Hungary.

  • Malik, J., & Kumar, R. (2009). Comparison of most adaptive meta model with newly created Quality Meta-Model using CART algorithm. International Journal of Electronics and Computer Science Engineering, 1(4), 2486–2491.

    Google Scholar 

  • Mellor, S. J., Scott, K., Uhl, A., & Weise, D. (2004). MDA distilled—Principles of model-driven architecture. Boston, MA: Addison-Wesley.

    Google Scholar 

  • 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 

  • Mohagheghi, P., & Aagedal, J. (2007). Evaluating quality in model-driven engineering. In Proceedings of the international workshop on modeling in software engineering (MISE’07) (pp. 6–12). Minneapolis, MN.

  • Mohagheghi, P., & Dehlen, V. (2007). An overview of quality frameworks in model-driven engineering and observations on transformation quality. In Proceedings of the 10th ACM/IEEE international conference on model driven engineering languages and systems (MoDELS 2007)—Quality in modeling workshop (pp. 3–17). Nashville, TN.

  • Mohagheghi, P., & Dehlen, V. (2008). A metamodel for specifying quality models in model-driven engineering. In Proceedings of the nordic workshop on model-driven engineering (pp. 51–65). Reykjavik, Iceland.

  • Mohagheghi, P., & Dehlen, V. (2009a). Existing model metrics and relations to model quality. ICSE workshop on software quality (WOSQ’09) (pp. 39–45). Vancouver, Canada.

  • Mohagheghi, P., Dehlen, V., & Neple, T. (2009b). Definitions and approaches to model quality in model-based software development—A review of literature. Information and Software Technology, 51(12), 1646–1669.

    Article  Google Scholar 

  • Oliveira, K., Garcia, A., & Whittle, J. (2008). On the quantitative assessment of class model compositions: An exploratory study. In Proceedings of the 1st workshop on empirical studies of model-driven engineering (ESMDE’08) (pp. 1–10). Toulouse, France.

  • Open Management Group (2014). OMG meta object facility (MOF) core specification (version 2.4.2). Available at http://www.omg.org/spec/MOF/2.4.2.

  • Open Management Group (2014). Object constraint language (version 2.0). Available at http://www.omg.org/spec/OCL/2.4.2.

  • Paloque-Bergès, C. (2009). Poétique des codes sur le réseau informatique. Paris, France: Editions des archives conteporaines.

    Google Scholar 

  • Pilgrim, J. (2008). Measuring the level of abstraction and detail of models in the context of MDD. Berlin, Germany: Springer.

    Book  Google Scholar 

  • Poruban, J., Forgáč, M., Sabo, M., & Běhálek, M. (2010). Annotation base parser generator. Computer Science and Information Systems, 7(2), 291–307.

    Article  Google Scholar 

  • Raiter, B. (1993). Brainfuck: An eight-instruction turing-complete programming language. Available at http://www.muppetlabs.com/breadbox/bf.

  • Rožanc, I., & Slivnik, B. (2014). On the appropriateness of domain-specific languages derived from different metamodels. In Proceedings of the 9th international conference on the quality of information and telecommunication technology (QUATIC 2014) (pp. 190–195). Guimarães, Portugal.

  • Tratt, L. (2008). Domain specific language implementation via compile-time meta-programming. ACM Transactions on Programming Languages and Systems (TOPLAS), 30(6), 31:1–31:40.

    Article  Google Scholar 

  • Vanderose, B., & Habra, N. (2008). Towards a generic framework for empirical studies of model-driven engineering. In Proceedings of the 1st workshop on empirical studies of model-driven engineering (ESMDE’08) (pp. 71–80). Toulouse, France.

  • Voelter, M., & Pech, V. (2012). Language modularity with the MPS language workbench. In Proceedings of the 34th international conference on software engineering (ICSE’12) (pp. 1449–1450). Zürich, Switzerland.

  • Wu, Y., Hernandez, F., Ortega, F., Clarke, P.J., & France, R. (2010). Measuring the effort for creating and using domain-specific models. In Proceedings of the 10th workshop on domain-specific modeling (DSM’10), New York, NY, USA, 14:1–14:6.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Boštjan Slivnik.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Slivnik, B. Measuring the complexity of domain-specific languages developed using MDD. Software Qual J 24, 737–753 (2016). https://doi.org/10.1007/s11219-015-9279-1

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-015-9279-1

Keywords

Navigation