Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[qvto-dev] Fwd: Re: Eclipse QVTo: saving QVTo resource

Dear QVTo team,

unfortunately my budget of available time since my last email
did not allow me to proceed with my work from 2012 until recently.

As QvtOperationalResourceImpl.save() is still unimplemented,
I have continued the work. Thanks a lot for the now available oomph
setup for QVTo, which decreases the necessary up front time
investment tremendously.

For the first set of tests I shamelessly copied/adapted from TestQvtParser
and its associated testdata.

The problem I currently do not understand and would appreciate your advise for
is that the qvto-files that I generate during the test run and then try to compile
are not able to resolve e.g. TestBlackboxLibrary, which should be provided by
org.eclipse.m2m.tests.qvt.oml (via extension org.eclipse.m2m.qvt.oml.ocl.libraries, right?).
The test launch is with "all workspace and enabled target plugins".

My JUnit launch configuration for UnparserTests is attached.

Any hint is appreciated.

Best Regards

Uwe

-------- Weitergeleitete Nachricht --------
Betreff: Re: Eclipse QVTo: saving QVTo resource
Datum: Mon, 02 Jul 2012 09:30:44 +0200
Von: Uwe Ritzmann <Uwe.Ritzmann@xxxxxx>
An: Ed Willink <ed@xxxxxxxxxxxxx>
Kopie (CC): serg.boyko2011@xxxxxxxxx, nicolas.f.rouquette@xxxxxxxxxxxx


Hi Ed,

I guess the keyword here is "once".

Can you give any indication when QVTo-unparsing will drop
out of Xtext? Then I could judge whether implementing a
manual unparser is worth the while or not.

After my first experiments I estimate that I will have a
0.1 version of QVToResourceImpl.save() available at end
of July. It will be only not-too-ugly-printing and will do
no efforts in producing short-hand notations over the
lengthy ones, but otherwise I assume to have all model
graph elements covered.

Best Regards

Uwe

-------- Original-Nachricht --------
> Datum: Sun, 01 Jul 2012 11:25:33 +0100
> Von: Ed Willink <ed@xxxxxxxxxxxxx>
> An: "Rouquette, Nicolas F (313K)" <nicolas.f.rouquette@xxxxxxxxxxxx>
> CC: Uwe Ritzmann <Uwe.Ritzmann@xxxxxx>, Sergey Boyko <serg.boyko2011@xxxxxxxxx>
> Betreff: Re: Eclipse QVTo: saving QVTo resource

> Hi
> 
> This drops out relatively easily once we move to Xtext-based editors.
> 
> Xtext auto-generates grammar-driven bidirectional Concrete Syntax to 
> Concrete Syntax 'Tree' transformations. The customizable formatting 
> rules provide some control. For more serious applications OCL's 
> PrettyPrinter framework provides an extensible Visitor, so one method 
> per AST type.
> 
> For the new Pivot-based Eclipse OCL and QVTd, the bidirectional Concrete 
> Syntax 'Tree' to Abstract Syntax 'Tree' is currently manual, but now 
> that I have a QVTr editor, a stylized subset QVTr source file can drive 
> Acceleo to auto-generate CST to AST, AST to CST transformations and OMG 
> AS/CS mapping specification. The same or a similar stylized subset QVTr 
> source file can drive Acceleo to auto-generate the name lookup 
> resolution and the OMG Inherited/Synthesized attributes specification.
> 
> I took a first look at Xtext-ifying the QVTo grammar with the intention 
> of using the Imperative OCL as the imperative control of the OCL VM. The 
> _expression_ enhancements were not trivial so I looked at the QVTo part to 
> try to see to whether there is a clear statement/_expression_ context that 
> might avoid the co-existence of the two if syntaxes. The QVTo part was 
> straightforward; just need to study the Imperative grammar much harder.
> 
>      Regards
> 
>          Ed Willink
> 
> On 01/07/2012 02:00, Rouquette, Nicolas F (313K) wrote:
> > Uwe,
> >
> > Thanks for reminding me about this topic...
> >
> > You are correct that I identified a missing capability to save a QVTO
> > Operational transformation model in textual concrete syntax as a
> > compliance issue for the Eclipse QVTO w.r.t. the QVT 1.1 specification.
> > I've had a few occasions where it would have been useful to write a QVTO
> > transformation that produces a new QVTO transformation.
> > If it were just a problem of exporting a QVTO abstract syntax model into
> > textual concrete syntax representation, I would have used Acceleo's M2T.
> > The biggest limitation is that we do not have a transformation library
> of
> > QVTO helpers to simplify the process of constructing a QVTO
> transformation
> >
> > in QVTO.
> > But if you're asking about this, I presume that you must have developed
> > one or are seriously considering developing one.
> > Congratulations and good luck! (no sarcasm intended)
> >
> > - Nicolas.
> >
> > On 6/30/12 4:57 AM, "Uwe Ritzmann"<Uwe.Ritzmann@xxxxxx>  wrote:
> >
> >> Dear Nicolas,
> >>
> >> I offered and proposed to implement QvtOperationalResourceImpl.save()
> >> on the mmt-dev@xxxxxxxxxxx mailing list.
> >>
> >> Ed Willink proposed to check with you whether the patches you developed
> >> in the Eclipse QVTo field might already include this.
> > > From what I have understood from
> >>
> http://www.omg.org/news/meetings/tc/dc-12/special-events/pdf/Rouquette-QVT
> >> o.pdf
> >> I would think that this is not the case and you are actually
> >> pointing to that missing feature in the QVTo implementation
> >> as a missed chance for OMG compliance.
> >> On the other hand, it is better to contact you and check before
> >> I implement something that is already almost there.
> >>
> >> Best Regards,
> >>
> >> Uwe
> >> -- 
> >> -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
> >> Uwe Ritzmann                            Uwe.Ritzmann@xxxxxx
> >>
> >> NEU: FreePhone 3-fach-Flat mit kostenlosem Smartphone!
> >>
> >> Jetzt informieren: http://mobile.1und1.de/?ac=OM.PW.PW003K20328T7073a
> >
> >
> > -----
> > No virus found in this message.
> > Checked by AVG - www.avg.com
> > Version: 2012.0.2180 / Virus Database: 2437/5103 - Release Date:
> 06/30/12
> >
> >
> >
> 

-- 
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
Uwe Ritzmann              Uwe.Ritzmann@xxxxxx





<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
<listAttribute key="StepOutExcludePkgsOrClasses"/>
<booleanAttribute key="append.args" value="true"/>
<booleanAttribute key="askclear" value="false"/>
<booleanAttribute key="automaticAdd" value="true"/>
<booleanAttribute key="automaticValidate" value="true"/>
<stringAttribute key="bootstrap" value=""/>
<stringAttribute key="checked" value="[NONE]"/>
<booleanAttribute key="clearConfig" value="true"/>
<booleanAttribute key="clearws" value="true"/>
<booleanAttribute key="clearwslog" value="false"/>
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
<booleanAttribute key="default" value="true"/>
<booleanAttribute key="includeOptional" value="true"/>
<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/org.eclipse.m2m.tests.qvt.oml/src/org/eclipse/m2m/tests/qvt/oml/UnparserTests.java"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="1"/>
</listAttribute>
<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.m2m.tests.qvt.oml.UnparserTests"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.m2m.tests.qvt.oml"/>
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
<stringAttribute key="pde.version" value="3.3"/>
<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
<booleanAttribute key="run_in_ui_thread" value="true"/>
<booleanAttribute key="show_selected_only" value="false"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
<booleanAttribute key="useDefaultConfig" value="true"/>
<booleanAttribute key="useDefaultConfigArea" value="false"/>
<booleanAttribute key="useProduct" value="true"/>
</launchConfiguration>

Back to the top