Model queries by example

OData support
Dr. Bergmann Gábor
Department of Measurement and Information Systems

Complex software development has become a manifold and time consuming progress recently. Even by dealing with medium-sized projects, this progress will be preceded by lengthy designing, where various models will be defined, in order to have a simple and clear image about the prospective system. Models can be a great help in the later phases of the development process (e.g. analysis, debug).

The Model-driven Architecture specification by OMG improve the role of these models during the development, and of course provide a wide range of services for model usage. The most important service is the code generation feature from these models. One of the most known MDA-supported tool nowadays is the Eclipse Modeling Framework.

In order to support this model based architecture, OMG introduced Object Constraint Language, a domain-specific language, which provide the ability to define various constraints on models, of perform model queries over them. By model queries, a statement will be defined by a typically declarative, domain-specific language. The statement can be used for requesting a subset of the units appearing in the instance model.

The EMF-IncQuery framework, which was developed in the Department of Measurement and Information Systems, provides a service for effectly evaluate model queries over EMF models. The user have to specify these query definitions by an own declarative, domain-specific language. The query language is based on the concept of graph patterns.

During this thesis, I've developed a code generator module for the EMF-IncQuery, which can highly ease and speed up the construction of these queries for beginners. The module will produce patterns by the selected objects in an example model. The thesis details all the decisions during the design and development. After the basic syntax of the EMF-IncQuery language itself is described, I'll examine each case during a study. Naturally the limits of the current version and the improvement opportunities will be detailed as well.


Please sign in to download the files of this thesis.