Skip to main content

A Domain Specific Transformation Language to Bridge Concrete and Abstract Syntax

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9765))

Abstract

Existing language workbenches, such as Xtext, support bridging the gap between the concrete syntax (CS) and abstract syntax (AS) of textual languages. However, the specification artefacts – i.e. grammars – are not sufficiently expressive to completely model the required CS-to-AS mapping, when it requires complex name resolution or multi-way mappings. This paper proposes a new declarative domain specific transformation language (DSTL) which provides support for complex CS-to-AS mappings, including features for name resolution and CS disambiguation. We justify the value of and need for a DSTL, analyse the challenges for using it to support mappings for complex languages such as Object Constraint Language, and demonstrate how it addresses these challenges. We present a comparison between the new DSTL and the state-of-the-art Gra2Mol, including performance data showing a significant improvement in terms of execution time.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    https://github.com/adolfosbh/cs2as.

  2. 2.

    Implementation details about the generator are not included in this paper.

  3. 3.

    Gra2Mol has a language extension mechanism to introduce new operators, which could be used to improve the default built-in functionality.

  4. 4.

    https://github.com/jlcanovas/gra2mol/tree/master/examples/Grammar2Model.examples.101companies.

  5. 5.

    http://share20.eu.

  6. 6.

    http://is.ieis.tue.nl/staff/pvgorp/share/?page=ConfigureNewSession&vdi=Ubuntu12LTS_CS2AS-DSTL---Experiments.vdi.

  7. 7.

    https://docs.google.com/spreadsheets/d/16aYZRdKiPOMA_z_85zfVFNLqPPe1XMvNsSdGIw8j7vw/edit?usp=sharing.

References

  1. Jouault, F., Bézivin, J., Kurtev, I.: TCS: a DSL for the specification of textual concrete syntaxes in model engineering. In: Proceedings of the 5th International Conference, pp. 249–254. ACM, New York (2006)

    Google Scholar 

  2. Heidenreich, F., Johannes, J., Karol, S., Seifert, M., Wende, C.: Model-based language engineering with EMFText. In: Lämmel, R., Saraiva, J., Visser, J. (eds.) GTTSE 2011. LNCS, vol. 7680, pp. 322–345. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  3. Voelter, M.: Language and IDE modularization and composition with MPS. In: Saraiva, J., Visser, J., Lämmel, R. (eds.) GTTSE 2011. LNCS, vol. 7680, pp. 383–430. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  4. Object Management Group. Object Constraint Language (OCL), V2.4. formal/2014-02-03, February 2014. http://www.omg.org/spec/OCL/2.4

  5. Eysholdt, M., Behrens, H.: Xtext: implement your language faster than the quick and dirty way. In: Proceedings of the ACM International Conference SPLASH 2010, pp. 307–309. ACM, New York (2010)

    Google Scholar 

  6. Wirth, N.: Extended backus-naur form (EBNF). ISO/IEC, 14977:2996 (1996)

    Google Scholar 

  7. Bézivin, J.: Model driven engineering: an emerging technical space. In: Lämmel, R., Saraiva, J., Visser, J. (eds.) GTTSE 2005. LNCS, vol. 4143, pp. 36–64. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  8. Muller, P.-A., Fleurey, F., Fondement, F., Hassenforder, M., Schneckenburger, R., Gérard, S., Jézéquel, J.-M.: Model-driven analysis and synthesis of concrete syntax. In: Wang, J., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 98–110. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  9. Sánchez-Barbudo, A., Willink, E., Paige, R.F.: An OCL-based bridge from concrete to abstract syntax. In: Tuong, F., et al. (eds.) Proceedings of the 15th OCL Workshop, vol. 1512, pp. 19–34. CEUR (2015)

    Google Scholar 

  10. Cánovas, J.L., García-Molina, J.: Extracting models from source code in software modernization. Softw. Syst. Model. 13, 1–22 (2012)

    Google Scholar 

  11. Konat, G., Kats, L., Wachsmuth, G., Visser, E.: Declarative name binding and scope rules. In: Czarnecki, K., Hedin, G. (eds.) SLE 2012. LNCS, vol. 7745, pp. 311–331. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  12. Wimmer, M., Kramler, G.: Bridging grammarware and modelware. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 159–168. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  13. Terence Parr. ANTLR. http://www.antlr.org/

  14. Charles, P., Fuhrer, R.M., Sutton Jr., S.M., Duesterwald, E., Vinju, J.: Accelerating the creation of customized, language-specific ides in eclipse. In: Proceedings of the 24th ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA 2009, pp. 191–206. ACM, New York (2009)

    Google Scholar 

  15. LALR Parser Generator. http://sourceforge.net/projects/lpg/

  16. Czarnecki, K., Helsen, S.: Classification of model transformation approaches. In: Proceedings of the 2nd OOPSLA Workshop on Generative Techniques in the Context of the Model Driven Architecture, pp. 1–17 (2003)

    Google Scholar 

  17. Xtend. https://www.eclipse.org/xtend/

  18. Scheidgen, M.: Textual modelling embedded into graphical modelling. In: Schieferdecker, I., Hartman, A. (eds.) ECMDA-FA 2008. LNCS, vol. 5095, pp. 153–168. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  19. Kats, L.C.L., Visser, E.: The spoofax language workbench: rules for declarative specification of languages and IDEs. In: ACM Sigplan Notices, vol. 45, pp. 444–463. ACM (2010)

    Google Scholar 

  20. Krahn, H., Rumpe, B., Völkel, S.: Monticore: a framework for compositional development of domain specific languages. Int. J. Softw. Tools Technol. Transf. 12(5), 353–372 (2010)

    Article  Google Scholar 

  21. van Rest, O., Wachsmuth, G., Steel, J.R.H., Süß, J.G., Visser, E.: Robust real-time synchronization between textual and graphical editors. In: Duddy, K., Kappel, G. (eds.) ICMB 2013. LNCS, vol. 7909, pp. 92–107. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  22. Visser, E.: Program transformation with Stratego/XT. In: Lengauer, C., Batory, D., Blum, A., Odersky, M. (eds.) Domain-Specific Program Generation. LNCS, vol. 3016, pp. 216–238. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  23. Kats, L.C.L., Visser, E., Wachsmuth, G.: Pure and declarative syntax definition: paradise lost and regained. In: Proceedings of the ACM International Conference OOPSLA 2010, pp. 918–932. ACM, New York (2010)

    Google Scholar 

  24. Favre, J.-M., Lämmel, R., Schmorleiz, T., Varanovich, A.: 101companies: a community project on software technologies and software languages. In: Furia, C.A., Nanz, S. (eds.) TOOLS 2012. LNCS, vol. 7304, pp. 58–74. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  25. Van Gorp, P., Grefen, P.: Supporting the internet-based evaluation of research software with cloud infrastructure. Softw. Syst. Model. 11(1), 11–28 (2012)

    Article  Google Scholar 

  26. Bettini, L.: Implementing java-like languages in Xtext with xsemantics. In: Proceedings of the 28th Annual ACM Symposium on Applied Computing, pp. 1559–1564. ACM (2013)

    Google Scholar 

Download references

Acknowledgement

We gratefully acknowledge the support of the UK Engineering and Physical Sciences Research Council, via the LSCITS initiative, and Javier Luís Cánovas Izquierdo (Gra2Mol) and Pieter Van Gorp (SHARE) for the technical support required to produce the results exposed in this paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Adolfo Sánchez-Barbudo Herrera .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Sánchez-Barbudo Herrera, A., Willink, E.D., Paige, R.F. (2016). A Domain Specific Transformation Language to Bridge Concrete and Abstract Syntax. In: Van Gorp, P., Engels, G. (eds) Theory and Practice of Model Transformations. ICMT 2016. Lecture Notes in Computer Science(), vol 9765. Springer, Cham. https://doi.org/10.1007/978-3-319-42064-6_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-42064-6_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-42063-9

  • Online ISBN: 978-3-319-42064-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics