Abstract
Model querying is an integral part of Model-Driven Engineering. Developers query models when specifying model transformations, when defining model constraints, or simply when they need to extract some information from the model. Model queries are often specified in a general-purpose programming language, with developers just navigating models through their programming interfaces. OCL is the best known model query language, and while successful, it is difficult to express complex structural properties featured in target model elements. In this paper we describe a model query facility that aims at easing the description of structural features in a query. In our approach, developers model their queries by reusing fragments of the target model to specify the invariant parts of the template, augmented with variables and special relations to specify what can vary. The query itself conforms to a meta-model that extends the meta-model under-query. By reusing the queried meta- model developers can reduce the mental overhead that comes from using a different language to specify the queries. We have developed a proof of concept tool for the Eclipse Modeling Framework (EMF) that (1) generates a query meta-model from a target meta- model, (2) allows the construction of queries using a graphical, graph-based editor and (3) executes the queries by translating them to a set of logic predicates that are then evaluated using an extension of the logic-based query language Ekeko.
- T. Arendt, E. Biermann, S. Jurack, C. Krause, and G. Taentzer. Henshin: advanced concepts and tools for in-place EMF model transformations. In Model Driven Engineering Languages and Systems, pages 121–135. Springer, 2010. Google Scholar
Digital Library
- G. Bergmann, Z. Ujhelyi, I. Ráth, and D. Varró. A graph query language for EMF models. In Theory and Practice of Model Transformations, pages 167–182. Springer, 2011. Google Scholar
Digital Library
- L. Bettini. Implementing Domain-Specific Languages with Xtext and Xtend. Packt Publishing Ltd, 2013. Google Scholar
Digital Library
- E. Biermann, C. Ermel, and G. Taentzer. Tiger EMF model transformation framework (EMT), volume 1. TU Berlin EMT Project Team, 2006.Google Scholar
- C. De Roover and R. Stevens. Building development tools interactively using the Ekeko meta-programming library. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014, pages 429–433. IEEE, 2014.Google Scholar
- Graphiti - a graphical tooling infrastructure. http://www.eclipse. org/graphiti/, 2015.Google Scholar
- O. Gilles and J. Hugues. Validating requirements at model-level. In Proc. of the 4th workshop on Model-Oriented Engineering, 2008.Google Scholar
- G. Taentzer. AGG: A tool environment for algebraic graph transformation. In Applications of Graph Transformations with Industrial Relevance, pages 481–488. Springer, 2000. Google Scholar
Digital Library
- M. Vaziri and D. Jackson. Some shortcomings of OCL, the object constraint language of UML. In Technology of Object-Oriented Languages, International Conference on, pages 555–555. IEEE Computer Society, 2000. Google Scholar
Digital Library
- J. B. Warmer and A. G. Kleppe. The object constraint language: Precise modeling with UML (Addison-Wesley). 1998. Google Scholar
Digital Library
Index Terms
Model querying with query models
Recommendations
Model querying with query models
GPCE 2015: Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and ExperiencesModel querying is an integral part of Model-Driven Engineering. Developers query models when specifying model transformations, when defining model constraints, or simply when they need to extract some information from the model. Model queries are often ...
Querying large models efficiently
Context: The paradigm of Model-Driven Engineering (MDE) has emerged as a new area of software engineering that uses models to improve the productivity and reusability of software in order to achieve industrial standards. As models grow in size and ...
Querying business process models with VMQL
BMFA '13: Proceedings of the 5th ACM SIGCHI Annual International Workshop on Behaviour Modelling - Foundations and ApplicationsThe Visual Model Query Language (VMQL) has been invented with the objectives (1) to make it easier for modelers to query models effectively, and (2) to be universally applicable to all modeling languages. In previous work, we have applied VMQL to UML, ...






Comments