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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
- 2.
Implementation details about the generator are not included in this paper.
- 3.
Gra2Mol has a language extension mechanism to introduce new operators, which could be used to improve the default built-in functionality.
- 4.
- 5.
- 6.
- 7.
References
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)
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)
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)
Object Management Group. Object Constraint Language (OCL), V2.4. formal/2014-02-03, February 2014. http://www.omg.org/spec/OCL/2.4
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)
Wirth, N.: Extended backus-naur form (EBNF). ISO/IEC, 14977:2996 (1996)
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)
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)
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)
Cánovas, J.L., García-Molina, J.: Extracting models from source code in software modernization. Softw. Syst. Model. 13, 1–22 (2012)
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)
Wimmer, M., Kramler, G.: Bridging grammarware and modelware. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 159–168. Springer, Heidelberg (2006)
Terence Parr. ANTLR. http://www.antlr.org/
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)
LALR Parser Generator. http://sourceforge.net/projects/lpg/
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)
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)
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)
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)
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)
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)
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)
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)
Van Gorp, P., Grefen, P.: Supporting the internet-based evaluation of research software with cloud infrastructure. Softw. Syst. Model. 11(1), 11–28 (2012)
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)
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
Corresponding author
Editor information
Editors and Affiliations
Rights 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)