[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [m2m-dev] FW: Quality Assessment of QVTO Model Transformations
|
Hi Phu,
Comments are in-lined below.
Regards,
Sergey
Hi
Sergey,
Thank you very much for your helpful example. So it is also
quite convenient to save/load QVTo AST with full composition. I have been able
to obtain the QVTo ASTs of tt1.qvto and tt4.qvto with
full composition.
@ Ed Willink: I found out the reason why the QVTo AST I
serialized before (qvtoAST.xmi) was not correct.
It caused by the error - Failed to
resolve metamodel 'file:///C:/temp/BOOK.ecore'.
I tried several
ways to config the metamodel, i.e.:
modeltype BOOKS uses
'file:///C:/temp/BOOKS.ecore';
But it does not works. Could
someone tell me what is wrong?
The
reason is that we allowed only .ecore model URI in metamodel
definition.
Usually it's "Ns
URI" property of the model root package or package.uri element of the
'org.eclipse.emf.ecore.generated_package' extension
point.
In Eclipse workspace you can map arbitrary .ecore to
some URI via "Project Properties/QVT Settings/Metamodel
Mappings".
Programmatically such arbitrary model can be specified
using optional second parameter (of EPackage.Registry type) in
InternalTransformationExecutor constructor.
Anyway, it is
possible to serialize the QVTo AST. So, it is possible to extract metrics from
QVTo model transformations to enable their quality measurement. We have got
good results for ATL and Xtend. Hope that we can make it for QVTo soon. Thanks
again for your kind helps.
Best regards,
Phu
On Mon, Sep 20, 2010 at 9:37 PM, Sergey Boyko
<Sergey.Boyko@xxxxxxxxxxx>
wrote:
Hi
Phu,
I've
posted sample _javascript_ that shows how to save/load compiled qvto
transformation (QVTo AST) with full information obtained from .qvto file
(even token positions as well).
Regards,
Sergey
Sent: Monday, September 20, 2010
14:08
To: M2M dev list
Subject: Re: [m2m-dev] FW:
Quality Assessment of QVTO Model Transformations
Hello Ed Willink,
Thank you. Now I know that it is not easy
to obtain a QVTo AST with full composition. You
are right about my problem. The serialized AST I got seems to be the wrong
one. Please
find the QVTo file and the corresponding xmi file in the
attachments
Is there any suggestion about obtaining
a QVTo AST with full
composition?
Best regards,
Phu
On Mon, Sep 20, 2010 at 10:56 AM, Ed Willink
<ed@xxxxxxxxxxxxx> wrote:
Hi Phu
If you have a true
QVTo AST then it should compose/share all the information you
require.
When you invoke Resource.save to serialize, what is the URI
in the XMI?
QVT 1.0 enabled at least three different
interpreations of some AST definitions and in some cases all three were
wrong with the result that not all child objects were composed and so
those elements were omitted from a serialized AST. Perhaps your problem
is that you do not have a QVTo AST with full composition.
Please
post the XMI file resulting from
Resource.save.
Regards
Ed
Willink
On 20/09/2010 09:32, Phu H. Nguyen wrote:
Hello,
First I would like to thank for
suggestions from Ed
Willink and Sergey.
I tried several ways and I have
found out that it is possible to obtain AST of corresponding QVTo file
by using
the InternalTransformationExecutor:
InternalTransformationExecutor
executor = new
InternalTransformationExecutor(transformationURI);
CompiledUnit
myCompiled = executor.getUnit();
OperationalTransformation
trans = executor.getTransformation();
Resource
res = trans.eResource();
EObject
qvtoModule = res.getContents().get(0);
Via the OperationalTransformation
object, generated AST can be
accessed and it certainly conforms to the metamodels QVTOperational.ecore and ImperativeOCL.ecore
For now it is possible to
extract some information from the AST, i.e. names of modeltype,
transformation, name of mapping operations. However I have not found
out the way to access other parts, i.e. bodies of mapping operation. Are there any
suggestions?
Last but not least, it would be
much better to access the AST if there is a way to serialize it. The
ATL tool kit allows obtaining the file of ATL model (generated
AST) quite easily. I was wondering if QVTO tool kit has a similar
function?
If you have any suggestions,
please let me know. Thank you very much!
Best regards,
Phu
On Mon, Sep 13, 2010 at 11:25 PM, Sergey Boyko
<Sergey.Boyko@xxxxxxxxxxx> wrote:
From: Sergey Boyko
Sent:
Tuesday, September 14, 2010 01:24
To: 'nguyenhongphu@xxxxxxxxx'
Subject: RE:
[m2m-dev] Quality Assessment of QVTO Model
Transformations
Hi
Phu,
QVTo engine is able to be launched outside Eclipse.
Inside Eclipse you can obtain AST
of corresponding .qvto by means of EMF Resource, i.e. some like
follows:
URI uri =
URI.createURI("file:/.../my.qvto");
Resource res =
new ResourceSetImpl().createResource(uri);
EObject
qvtoModule = res.getContents().get(0);
Generated AST is conformed to
org.eclipse.m2m.qvt.oml/model/QVTOperational.ecore (for
QVTOperational package) and
org.eclipse.m2m.qvt.oml.ecore.imperativeocl/ImperativeOCL.ecore (for
ImperativeOCL package). In fact that models have some (very minor)
deviations from official OMG QVTO metamodels.
Regards,
Sergey
_______________________________________________
m2m-dev
mailing list
m2m-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/m2m-dev
Click here to report this email as spam.
This message has been scanned for viruses by MailController.
_______________________________________________
m2m-dev
mailing list
m2m-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/m2m-dev