Experiments with a High-Level Navigation Language
Writing navigation expressions is an important part of the task of developing a model transformation definition. When navigation is complex and the size of source models is significant, performance issues cannot be neglected. Model transformation languages often implement some variants of OCL as their navigation language. Writing efficient code in OCL is usually a difficult task because of the nature of the language and the lack of optimizing OCL compilers. Moreover, optimizations generally reduce readability.
An approach to tackle this issue is to raise the level of abstraction of the navigation language. We propose to complement the regular navigation language of model transformation languages with a high-level navigation language, in order to improve both performance and readability. This paper reports on the initial results of our experiments creating the HLN language: a declarative high-level navigation language. We will motivate the problem, and will we describe the language as well as the main design guidelines.
Unable to display preview. Download preview PDF.
- 1.Benchmarks for HLN, http://www.modelum.es/projects/hln/
- 2.Specification of the ATL Virtual Machine, http://www.eclipse.org/m2m/atl/doc/
- 3.Agrawal, A.: Graph Rewriting and Transformation (GReAT): A Solution for The Model Integrated Computing (MIC) Bottleneck. In: ASE, pp. 364–368 (2003)Google Scholar
- 5.Cuadrado, J.S., Jouault, F., Garcia-Molina, J., Bèzivin, J.: Optimization patterns for OCL-based model transformations. In: Proceedings of the 8th OCL Workshop (2008)Google Scholar
- 7.Jouault, F., Bézivin, J., Kurtev, I.: TCS: A DSL for the specification of textual concrete syntaxes in model engineering. In: GPCE 2006: Proceedings of the 5th International Conference on Generative programming and Component Engineering, pp. 249–254. ACM, New York (2006)Google Scholar
- 11.Mezei, G., Levendovszky, T., Charaf, H.: An optimizing OCL compiler for metamodeling and model transformation environments. In: Software Engineering Techniques: Design for Quality, pp. 61–71. Springer, Heidelberg (2007)Google Scholar
- 12.OMG. Final adopted specification for MOF 2.0 Query/View/Transformation (2005), www.omg.org/docs/ptc/05-11-01.pdf
- 13.van Wijngaarden, J.: Code Generation from a Domain Specific Language. Designing and Implementing Complex Program Transformations. Master’s thesis, Utrecht University, Utrecht, The Netherlands, INF/SCR-03-29 (July 2003)Google Scholar
- 14.Vaziri, M., Jackson, D.: Some Shortcomings of OCL, the Object Constraint Language of UML. In: Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS 2000), Washington, USA, p. 555. IEEE Computer Society, Los Alamitos (2000)Google Scholar
- 15.Warmer, J.B., Kleppe, A.G.: The Object Constraint Language: Precise Modeling With UML. Addison Wesley, Reading (1998)Google Scholar