Skip to main content
Log in

Semantic languages for developing correct language translations

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

The development and validation of language translators (e.g. port programs, language preprocessors, high-level software language compilers, etc.) are time-consuming and error-prone: language engineers need to master both the source and target languages’ syntactic constructs; and most importantly their semantics. In this paper, we present an innovative approach for developing and validating such language translators based on two languages: With the first, we specify a language translation using a syntax-to-syntax mapping; and with the second, we define the semantics of both of the source and target languages. After showing how such specifications can be combined to validate and generate language translators automatically, we demonstrate the feasibility of the approach on a particular modelling language translation.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

Notes

  1. All of the DSLTrans tools are available online at: http://github.com/githubbrunob/DSLTransGIT/blob/master/DSLTrans-Release/DSLTrans-Suite-06062k12.zip?raw=true

  2. All of the DSLTrans tools are available online at: http://github.com/githubbrunob/DSLTransGIT/blob/master/DSLTrans-Release/DSLTrans-Suite-06062k12.zip?raw=true

  3. http://www.eclipse.org/epsilon/doc/eugenia/

  4. http://www.emftext.org/index.php/EMFText

  5. http://www.graphviz.org/

  6. http://alpina.unige.ch/

References

  • Rahim, L.Ab., & Whittle, J. (2015). A survey of approaches for verifying model transformations. Software and Systems Modeling, 14(2), 1003–1028.

    Article  Google Scholar 

  • Anastasakis, K., Bordbar, B., & Küster, J. (2007). Analysis of model transformations via alloy. In Baudry, B., Faivre, A., Ghosh, S., & Pretschner, A. (Eds.) Proceedings of the workshop on model-driven engineering, verification and validation (MoDeVVA 2007), Nashville, TN (USA) (pp. 47–56). Berlin/Heidelberg: Springer.

  • Andova, S., van den Brand, M.G.J., & Engelen, L. (2012). Reusable and correct endogenous model transformations. In ICMT (pp. 72–88).

  • Asztalos, M., Lengyel, L., & Levendovszky, T. (2010). Towards automated, formal verification of model transformations. In ICST 2010: Proceedings of the 3rd international conference on software testing, verification and validation (pp. 15–24). IEEE Computer Society.

  • Barroca, B., & Amaral, V. (2011). Asserting the correctness of translations. In Proceedings of the 6th workshop on multi-paradigm modeling - MODELS 2011. EASST, 10.

  • Barroca, B., Lucio, L., Amaral, V., Sousa, V., & Felix, R. (2010). Dsltrans: a turing incomplete transformation language. In Proceedings of the 3rd international conference on software languages engineering - SLE 2010. Springer.

  • Biermann, E., Ermel, C., & Taentzer, G. (2008). Precise semantics of EMF model transformations by graph transformation. In MODELS’08: Proceedings of ACM/IEEE 11th international conference on MDE languages and systems. Springer.

  • Blech, J.O., Glesner, S., & Leitner, J. (2005). Formal verification of java code generation from uml models. In 3rd International Fujaba Days 2005-MDD, in Practice (pp. 49–56).

  • Blech, J.O., & Grégoire, B. (2011). Certifying compilers using higher-order theorem provers as certificate checkers. Formal Methods in System Design, 38(1), 33–61.

  • Büttner, F., Egea, M., Cabot, J., & Gogolla, M. (2012). Verification of atl transformations using transformation models and model finders. In Proceedings of the 14th international conference on formal engineering methods: Formal methods and software engineering, ICFEM’12 (pp. 198–213). Berlin, Heidelberg: Springer.

  • Chlipala, A. (2010). A verified compiler for an impure functional language. In POPL (pp. 93–106).

  • de Lara, J., & Vangheluwe, H. (2002). Atom3: a tool for multi-forMalism and meta-modelling. In FASE ’02: Proceedings of the 5th international conference on fundamental approaches to software engineering (pp. 174–188). London, UK: Springer.

  • Diskin, Z., & Maibaum, T.S.E. (2012). Category theory and model-driven engineering: From formal semantics to design patterns and beyond. In Golas, U., & Soboll, T. (Eds.) ACCAT, volume 93 of EPTCS (pp. 1–21).

  • Falleri, J., Huchard, M., Lafourcade, M., & Nebut, C. (2008). Metamodel matching for automatic model transformation generation. In Model driven engineering languages and systems, 11th international conference, MoDELS 2008, Toulouse, France, September 28–October 3, 2008. Proceedings, volume 5301 of Lecture Notes in Computer Science (pp. 326–340). Springer.

  • Hostettler, S., Marechal, A., Linard, A., Risoldi, M., & Buchs, D. (2012). High-level petri net model checking with alpina. Fundamenta Informaticae, 113(3-4), 229–264.

    MathSciNet  MATH  Google Scholar 

  • Zhang, P., Gross, J.L., & Yellen, J. (2003). Handbook of Graph Theory (Discrete Mathematics and Its Applications), 1st edn. CRC Press.

  • Kleppe, A.G. (2009). Software language engineering: creating domain-specific languages using metamodels. Addison-Wesley.

  • Kuster, J.M. (2004). Systematic validation of model transformations. In Essentials of the 3rd UML workshop in software model engineering (WiSME2004).

  • Lano, K., Clark, T., & Rahimi, S.K. (2015). A framework for model transformation verification. Formal Aspects of Computing, 27(1), 193–235.

    Article  MathSciNet  MATH  Google Scholar 

  • Lucio, L., Barroca, B., & Amaral, V. (2010). A technique for automatic validation of model transformations. In ACM/IEEE MoDELS 2010. Springer, 10.

  • Marques, E., Balegas, V., Barroca, B., Amaral, V., & Barisic, A. (2012). The RPG DSL: a case study of language engineering using MDD for generating RPG games for mobile phones. In Proceedings of the 12th workshop on domain-specific modeling at OOPSLA/SPLASH. ACM Digital Library, 10.

  • Mustafiz, S., Denil, J., Lúcio, L., & Vangheluwe, H. (2012). The ftg+pm framework for multi-paradigm modelling: an automotive case study. In Proceedings of the 6th international workshop on multi-paradigm modeling, MPM ’12 (pp. 13–18). New York, NY, USA: ACM.

  • Narayanan, A., & Karsai, G. (2008). Verifying model transformations by structural correspondence. ECEASST, 10.

  • Park, D. (1981). Concurrency and automata on infinite sequences. In Proceedings of the 5th GI-conference on theoretical computer science (pp. 167–183). London, UK: Springer.

  • Plotkin, G.D. (2004). A structural approach to operational semantics. The Journal of Logic and Algebraic Programming, 60-61, 17–139.

  • Pnueli, A., Siegel, M., & Singerman, F. (1998). Translation validation, (pp. 151–166). Springer.

  • Stenzel, K., Moebius, N., & Reif, W. (2015). Formal verification of qvt transformations for code generation. Software and Systems Modeling, 14(2), 981–1002.

    Article  Google Scholar 

  • van Bakel, S., & Vigliotti, M. (2009). A logical interpretation of the lambda-calculus into the pi-calculus, preserving spine reduction and types. In CONCUR 2009 - concurrency theory - lecture notes in computer science, (Vol. 5710 pp. 84–98). Berlin/Heidelberg: Springer.

  • Varró, D., & Pataricza, A. (2003). Automated formal verification of model transformations. In CSDUML 2003: Critical systems development in UML; Proceedings of the UML’03 workshop, number TUM-I0323 in Technical Report (pp. 63–78). Technische Universität München.

  • Yang, X., Chen, Y., Eide, E., & Regehr, J. (2011). Finding and understanding bugs in c compilers. SIGPLAN Notices, 46(6), 283–294.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Bruno Barroca.

Additional information

The presented work has been developed in the context of the following research institution: CITI fund PEst-OE/EEI/UI0527/2011 Centro de Informática e Tecnologias da Informação (CITI/FCT/UNL) - 2011-2012 and the doctoral grant ref. SFRH/BD/38123/2007.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Barroca, B., Amaral, V. & Buchs, D. Semantic languages for developing correct language translations. Software Qual J 26, 417–453 (2018). https://doi.org/10.1007/s11219-016-9352-4

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-016-9352-4

Keywords

Navigation