Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
QVTd/Articles
Contents
Articles and Presentations
2019-03, 2019-06, 2019-09, 2019-12
- "When is QVTc/QVTr check-before-enforce sound?", E.D.Willink, unpublished, May 2019.
QVTr offers a check-before-enforce execution mode that has come in for some legitimate criticism. I have emailed to a few authors to suggest that I think that the mode should be removed from the specification and left as an optimization offered by good tools. In this discussion paper, I identify why check-before-enforce is unsound in the general case, but can be sound in many practical cases.
- "QVTs: A TGG-like graphical representation for efficient Declarative Model to Model Transformation scheduling.", E.D.Willink, submitted to "ICGT 2019, 12th International Conference on Graph Transformation", March 2019
Graph Grammars have been providing an increasingly sound foundation for Graph Transformation for nearly 50 years. 20 years ago, the enthusiasm surrounding the Model Driven Architecture motivated the OMG to start standardization of the QVT Model to Model transformation language. Sadly, the M2M work ignored the considerable overlap with GT and is much the worse for it. This paper shows how a graphical approach can resolve many of the M2M challenges and hopefully start to bridge the gap between the GT and M2M communities.
2017-2018 / Photon, 2018-09, 2018-12
- "A text model - Use your favourite M2M for M2T.", E.D.Willink, "18th International Workshop in OCL and Textual Modeling", October 2018, "slides"
A simple solution to using any M2M for M2T; use a standard text metamodel and exploit EMF Resource flexibility to save the text model as plain text. Also provides a solution to XML2XMLwith any M2M tool.
Models provide a disciplined representation of information. Model-to-Model (M2M) transformations convert between model structures. When a more readable representation is required, Model-to-Text (M2T) transformations convert a model structure to a concatenation of character sequences. We ignore the obvious conversion differences and demonstrate that an unmodified M2M tool can be used for M2T. We achieve this with a standard Text model that post-processes the M2M model output to yield formatted text.
- "The Micromapping Model of Computation; the Foundation for Optimized Execution of Eclipse QVTc/QVTr/UMLX.", E.D.Willink, "10th International Conference on Model Transformation (ICMT2017)", July 2017, "slides"
The rationale and some details of Connection/Micromapping QVTs scheduling.
It is 14 years since the first UMLX paper and 10 years since the QVT 1.0 specification was published. No useable UMLX implementation has appeared. QVTr implementations have been disappointing. The Eclipse QVTd project can now offer editing, optimization, execution and Java code generation for QVTc, QVTr and UMLX. This paper outlines the Micromapping Model of Computation used by the optimizations.
2016-2017 / Oxygen
- "Local Optimizations in Eclipse QVTc and QVTr using the Micro-Mapping Model of Computation", E.D.Willink, "Second International Workshop on Executable Modeling (EXE 016)", October 2016, "slides"
Some underlying principles of the QVTs scheduling. First results of the new Eclipse QVTr implementation demonstrating scalability and major speedups through the use of metamodel-driven scheduling and direct Java code generation.
The OMG QVT FAS was the result of, perhaps premature, enthusiasm to standardize the fledging model transformation community. The Eclipse implementation of the QVTo language prospers but the initial implementations of the declarative QVTr language had poor performance and have faded away. Perhaps it is time to consign QVTc and QVTr to the dustbin of misguided initiatives. Alternatively, in this paper we show how metamodel-driven analysis and a disciplined Model of Computation support fulfilment of the original aspirations.
- "Optimized declarative transformation - First Eclipse QVTc results", E.D.Willink, "BigMDE: Scalable Model Driven Engineering (BigMDE 016)", July 2016, "slides"
First results of the new Eclipse QVTc implementation demonstrating scalability and major speedups through the use of metamodel-driven scheduling and direct Java code generation.
It is over ten years since the first OMG QVT FAS was made available with the aspiration to standardize the fledgling model transformation community. Since then two serious implementations of the operational QVTo language have been made available, but no implementations of the core QVTc language, and only rather preliminary implementations of the QVTr language. No significant optimization of these (or other transformation) languages has been performed. In this paper we present the first results of the new Eclipse QVTc implementation demonstrating scalability and major speedups through the use of metamodel-driven scheduling and direct Java code generation.
2015-2016 / Neon
- "Traceability: What does it really mean for QVT?", E.D.Willink, "Fourth Workshop on the Analysis of Model Transformations (AMT 2015)", October 2015
Traceability in Model Transformation languages supports not only post-execution analysis, but also incremental update and co-ordination of repetition. The Query/View/Transformation family of languages specify a form of traceability that unifies high and low level abstraction in declarative and imperative transformation languages. Unfortunately this aspect of the QVT specification is little more than an aspiration. We identify axioms that resolve the conflicting requirements on traceability, and provide a foundation for resolving further issues regarding equality, transformation extension and mapping refinement.
This invited paper was withdrawn at the camera-ready stage when it finally dawned that a trace for resolution was not identical to a trace for re-execution. The QVT 1.3 specification was updated to remove the suggestion that they are the same.
2014-2015 / Mars
- "QVT Traceability: What does it really mean?", E.D.Willink, "7th The International Conference on Model Transformation (ICMT 2014)", July 2014
(not accepted).
Traceability in Model Transformation languages supports not only post-execution analysis, but also incremental update and co-ordination of repetition. The Query/View/Transformation family of languages specify a form of traceability that unifies high and low level abstraction in declarative and imperative transformation languages. Unfortunately this aspect of the QVT specification is little more than an aspiration. We identify axioms that resolve the conflicting requirements on traceability, and provide a foundation for resolving further issues regarding equality, transformation extension and mapping refinement.
2013-2014 / Luna
- "QVT State of the Art", E.D.Willink, OMG quarterly meeting, March 2014
QVT status and Eclipse QVTd plans.
- "QVT Imperative - A practical foundation for declarative transformation execution", Horacio Hoyos, Dimitris Kolovos, Edward Willink, "28th IEEE/ACM International Conference on Automated Software Engineering", November 2013
(Submission not accepted)
The early enthusiasm, in 2002, for model to model transformation languages led to eight submissions for an OMG standard comprising three languages, yet no commercial products have appeared. The QVT Core language was intended as the foundation for QVT Relations but the available implementations have ignored the core language. Rather than ignoring the core language, we take the opposite approach and introduce three more core languages. Progressive semantic simplification through these core language terminates in an imperative unidirectional language that facilitates implementation.
- "QVT Imperative - A practical semantics for declarative transformations", Horacio Hoyos, Dimitris Kolovos, Edward Willink, "6th The International Conference on Model Transformation (ICMT 2013)", June 2013
"Extended abstract" accepted. "slides".
The early enthusiasm, in 2002, for model to model transformation languages led to eight submissions for an OMG standard comprising three languages, yet no commercial products have appeared. The QVT Core language was intended as the foundation for QVT Relations but the available implementations have ignored the core language. Rather than ignoring the core language, we take the opposite approach and introduce three more core languages. Progressive program-to-program transformation through these core languages terminates in an easily implemented imperative language that supports declarative transformations.