blob: 0e83a7b35751ca37709ecf2e5cb424337f35dc4f [file] [log] [blame]
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>How Does It Work?</title>
<link href="book.css" rel="stylesheet" type="text/css">
<meta content="DocBook XSL Stylesheets V1.75.1" name="generator">
<link rel="home" href="index.html" title="QVT Declarative Documentation">
<link rel="up" href="OverviewandGettingStarted.html" title="Overview and Getting Started">
<link rel="prev" href="OverviewandGettingStarted.html" title="Overview and Getting Started">
<link rel="next" href="WhoisBehindEclipseQVTd.html" title="Who is Behind Eclipse QVTd?">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<h1 xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">How Does It Work?</h1>
<div class="section" title="How Does It Work?">
<div class="titlepage">
<div>
<div>
<h2 class="title" style="clear: both">
<a name="HowDoesItWork"></a>How Does It Work?</h2>
</div>
</div>
</div>
<p>QVTr and QVTc are programming languages, so you will want to edit them, execute them and debug them.</p>
<div class="section" title="Editing">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Editing"></a>Editing</h3>
</div>
</div>
</div>
<p>Eclipse QVTd provides QVTr, QVTc and QVTi editors developed using Xtext. The QVTc editor may be used to view or maintain the intermediate QVTu, QVTm and QVTp models.</p>
<p>The editor may be opened conventionally by double clicking a *.qvtr, *.qvtc, or *.qvti text file name in an Explorer view. This displays the source text with syntax highlighting and an outline of the Abstract Syntax.</p>
<p>The QVTc and QVTi editors may also be used to view *.qvtcas and *.qvtias XMI files as source text. </p>
<div class="section" title="Status">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Status"></a>Status</h4>
</div>
</div>
</div>
<p>These editors have been available since QVTd 0.9.0. They are useful, but currently have only limited well-formedness validation.</p>
<p>Editing *.qvtcas and *.qvtias files should be possible but is not recommended in the current release.</p>
<p>Hopefully 1.0.0 (Oxygen) will offer UMLX as a graphical alternative to the QVTr textual exposition of a transformation.</p>
</div>
</div>
<div class="section" title="Execution">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Execution"></a>Execution</h3>
</div>
</div>
</div>
<p>The 0.14.0 release provides one UMLX, one QVTr and one QVTc example project that can be installed and executed. However execution functionality is very new and not suitable for more than experimental use.</p>
<div class="section" title="Status">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Status2"></a>Status</h4>
</div>
</div>
</div>
<p>QVTi execution has been available since 0.11.0 (Luna). It demonstrates the extensibility of the Eclipse OCL interpreter, Java code generator and debugger. QVTi is a low level intermediate; it is not intended as a primary programming language.</p>
<p>A very preliminary form of QVTc execution was available in 0.12.0 (Mars) using an Epsilon prototype of the transformation chain.</p>
<p>0.13.0 (Neon) introduces a Java re-implementation of the full transformation chain so that QVTr and QVTc transformations can be executed. It is only suitable for researchers.</p>
<p>The current execution supports only creation of output models. Checking, updated, incremental, in-place execution and views are work in progress.</p>
<p>0.14.0 (Neon) has much better transformaion, scheduling and execution but functionality such as RElation overriding and In-Place transformation are largely missing and certainly not usefully functional.</p>
<p>Hopefully 1.0.0 (Photon) will have more substantial functionality and will be used internally to replace some of the manual Java transformations by QVTr / UMLX transformations.</p>
</div>
</div>
<div class="section" title="Debugger">
<div class="titlepage">
<div>
<div>
<h3 class="title">
<a name="Debugger"></a>Debugger</h3>
</div>
</div>
</div>
<p>The QVTi debugger extends the OCL debugger.</p>
<div class="section" title="Status">
<div class="titlepage">
<div>
<div>
<h4 class="title">
<a name="Status3"></a>Status</h4>
</div>
</div>
</div>
<p>The further extension to provide QVTc and QVTr debugging is work in progress.</p>
</div>
</div>
</div>
</body>
</html>