title: From modeling languages to query languages : a generative approach
Creators: name: Eigner, Alexander
Publisher: name: TU Wien
Year: 2019
Subjects: subject: Model Driven Engineering
subject: Model Querying
subject: Query Languages
subject: Eclipse Modeling Framework
subject: EMF
subject: Ecore
subject: MQL
subject: XText
subject: Viatra
subject: VQL
subject: Graph-based Querying
subject: Pattern Matching
subject: Query Models
subject: Model Transformation

description: Die Verwendung von Modellen und Entwicklungsparadigmen, wie z.B. MDE, gewinnt in verschiedensten Ingenieursdisziplinen immer mehr an Bedeutung. Modelle eignen sich hervorragend für den Datenaustausch, für Systemvalidierungen und -Tests sowie für Code-Generierung. Fachexperten bevorzugen domänenspezifische Modellierungssprachen (DSML) statt Allzweck-Modellierungssprachen (GPML), da jene für sie aufgrund ihrer Domänennähe und des Abstraktionsgrades einfacher zu erlernen und anzuwenden sind. Mit der fortschreitenden Digitalisierung nehmen Modelle kontinuirlich an Größe und Komplexität zu. Das Bedürfnis, Modelle, welche meistens mittels DSMLs erstellt werden, mit Hilfe von Modellabfragen nach Informationen durchzusuchen, steigt, wobei Modellabfragen nicht nur direkter Informationsgewinnung dienen, sondern sich auch als hilfreiche Mittel zur automatisierten Validierung und zum Testen großer und komplexer Modelle eignen. Obwohl es schon viele etablierte Sprachen für Modellabfragen gibt, richten sich diese meistens an IT-Experten und oft schwer zugänglich für Benutzer aus anderen Disziplinen. Auch setzen diese Sprachen oft ein gewisses Wissen über die Metamodelle der DSMLs voraus. Benutzer, denen dieses Wissen fehlt, laufen Gefahr, an Metamodell-spezifischen Fehlern beim Schreiben von Abfragen zu scheitern. Um diesen Bedürfnissen entgegenzukommen, wurde im Laufe dieser Dimplomarbeit ein EMF-basierter Prototyp gemäß Wieringas Engineering Cycle entwickelt, welcher die Sprache MQL basierend auf dem Ecore Metamodell einer beliebigen DSML generiert und Tools zur Definition und Ausführung der MQL Modellabfragen bereitstellt. Dieser Prototyp soll Modellabfragesprachen generieren, die der originalen Beschaffenheit der gewählten DSMLs so weit wie möglich ähneln, indem er die Elemente der DSML wiederverwendet und modifiziert. Zudem generiert er eine XText-basierte Grammatikspezifikation. Ein eigens entwickelter Model-to-Text Generator übersetzt die MQL Modellabfragen in äquivalenten Viatra VQL Code, welcher anschließend von MQLs Viatra-basierter Query-Engine ausgeführt werden. Dieser Ansatz soll Modellabfragesprachen liefern, die leicht von Benutzern angewendet werden können, die IT-unkundig sind oder nur über beschränktes Domänenbzw. Metamodell-spezifisches Wissen verfügen. Aus der Literaturrecherche ging lediglich ein Paper hervor, welches einen dieser Diplomarbeit vergleichbaren Ansatz präsentiert. Dieses Resultat hebt die Neuheit des Ansatzes dieser Arbeit hervor und unterstreicht die Tatsache, dass bis jetzt die Bedürfnisse der Fachexperten hinsichtlich einfach bedienbarer Modellabfragesprachen wenig Beachtung fanden. Der MQL Prototyp wurde hinsichtlich der Ausführungsdauer der Abfragen sowie der Usability gegen Viatra VQL evaluiert. Die Evaluierung der Ausführungsdauer der Abfragen zeigt, dass MQLs Viatra VQL Code Generator optimiert werden muss, damit MQL von der Schnelligkeit der Viatra-basierten Query-Engine profitieren kann. Zudem erzielte MQL im Rahmen der Usability-Evaluierung bessere Bewertungen als Viatra VQL hinsichtlich der Effizienz, Effektivität und Zufriedenheit.
description: The utilization of models and approaches, such as MDE, in engineering fields grows in popularity, because models provide useful means for the data-exchange, testing, validation and code generation. Domain experts prefer to use DSMLs over GPMLs. GPMLs can be hard to understand, since they require a sufficient education in computer science-related fields and may not be easily applicable for the modeling of domain-specific artefacts. In contrast, DSMLs are tailored towards particular domains and can thus be easily understood and applied by domain-experts. In the process of the ongoing digitalization models constantly grow in size and complexity. Thus, the need for querying models, which are usually created with DSMLs, grows as well, whereat model querying is not only important for information retrieval, but can also provide powerful means for the testing and validation of large systems. Although many well-established model querying approaches already exist, they are usually meant to be used by IT-experts and ignore the need of users from utterly different engineering fields for easy-to-use query languages, who lack the necessary IT know-how. Besides that, users, who lack the knowledge about the DSML's metamodels, may run into metamodel-related pitfalls. In order to meet these needs, an EMF-based prototype has been developed in the course of this thesis based on Wieringa's Engineering Cycle , that generates the model querying language MQL automatically from the Ecore metamodel of a chosen DSML and provides means for the specification and execution of MQL queries. This approach should provide query languages that resemble the original DSMLs as much as possible, by reusing and modifying the DSML's original elements. This prototype also generates an XText grammar specification that will be used for writing MQL queries. A model-to-text generator translates MQL queries into equivalent Viatra VQL queries, which are then executed by the MQL's Viatra-based query engine. Hence, MQL firstly tries to be easily usable by domain experts and secondly helps users, who lack knowledge about the DSML's metamodel, by ``guiding'' them through the DSML's syntactical features. A literature survey has yielded only one related work that can be considered as relatively comparable to the approach of this thesis. This result emphasizes the novelty of this approach and the relatively little amount of attention that has been paid to the addressed domain expert's needs so far. The MQL prototype has been evaluated in terms of query execution time and usability against Viatra VQL. The evaluation of the execution times shows, that MQL's Viatra VQL code generator needs to be optimized, in order to allow MQL to benefit from the rapidness of its underlying Viatra VQL query engine. Furthermore, MQL achieved higher scores in the Usability evaluation than Viatra VQL regarding the effectiveness, efficiency and satisfiability.