Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [qvtd-dev] Post-M4 commits

Hi Ed,

Update from my side.

After several trials, I'm happy with a rebase, that I've materialized in a asanchez/mtc4 branch.

See attached screenshots:
1. Before I did the rebase, asanchez/mtc3 had a fair amount of passed test cases. Just a new enhanced version of example 2 (called example2_V2), on which  I was working,  was not properly passing (See TestsBeforeRebase.PNG)
2. After the rebase, many of them failed (See TestsAfterRebase.png). A flat scheduler will ever be able to deal with example3 and example4, so to be fair, I've commented out them (See TestsAfterRemovingImpossiblePasses.png)
3. Your new OCL2QVTiTestCases::doSerialize functionality exposed a bug in my code, whose fix made example5 pass. Therefore, current status of asanchez/mtc4 tests cases can be checked at TestsCurrentState.png:

Having:
- The new example2v2 example needs fixing. This was not working before so, it's ok from the point of view of the rebase. Need to investigate
- All new scheduler test cases fail. Perhaps a trivial fix, but I've not looked into it to discover what is cause the test to fail. Example 2 has changed, but that was not a problem for the flat scheduler. Example 4, had a minor rework in the CS2AS description (apart from fixing the Node::depth feature name).

For the time being, I'm gonna try to make the enhanced example2v2, work with the flat scheduler. If you get bored, you could have look to the new scheduler test cases which are failing. When the whole suite is green, I'll try to to add the examples that are not using the new scheduler yet.

Additional comments below.

Regards,
Adolfo.
-------------------------------------------------------------

Some test cases "improvements"/changes now make them generate artefacts that can't be opened in the corresponding editors, because the cross references are serialized with the metamodel NSuri rather than relative URI one pointing the ecore. For instance see ClassesContainmentTree.xmi, where

<element href=""/>

is replaced by

<element href="" class="moz-txt-link-rfc2396E" href="http://cs2as/tests/example2/classes/1.0#//Element">"http://cs2as/tests/example2/classes/1.0#//Element"/>

I find similar issues in qvtias files. No idea what has been changed to get that.

-------------------------------------------------------------

As you may have noticed, all of my changes in asanchez/mtc4 are mostly concentrated in one commit to ease the rebase (otherwise it was a nightmare). However, there is an independent commit you might want to look at, related to Bug 470441, which coincidentally was commented by you today.

------------------------------------------------------------

The screenshot about test cases for QVTd-asanchez/mtc3 were run with OCL-1.6.0M4. If you run them with the current OCL-master you get two extra failures for CG related tests. See attached mtc3TestsWithLastOCLchanges.png screenshot.

On 21/12/2015 14:06, Ed Willink wrote:
Hi

On 18/12/2015 11:03, Ed Willink wrote:
The New UpperToLower tests fail intermittently; WIP.
Problem solved. Intermittent due to a Set-orginated freedom. Failing due to missing code for accumulating result in a connection variable for a regular mapping.

The schedule is temporarily deterministically stupid to stress the extra intermediate connection variables for unhelpful mapping sequencing. I'll add a unit test option so that normal use is good, but test use can be stupid.

I'll try to ensure that the interpreter shares the same run-time support code as the CG evaluator.
Done. The Interpreter tests now pass with the New Scheduler. testExample4_Interpreted remains commented out for model2 that fails. The constraints that must be observed by the QVTi scheduler are now documented in the EPackage comment of QVTimperative.ecore.

Sharing the code required opening up the API buried in org.eclipse.ocl.pivot.evaluation.tx, so the changes require the following OCL commit:

commit 7242d1a0faf7475fb56cfcc6cfdaa7ae0d509ffe
[480567] Refactor Transformer API for extensibility

Sharing the code solves the CG / Interpreter inconsistencies but temporarily loses the preliminary support for incremental transformation execution.

Since the new scheduler now passes all its tests, I have promoted it to master. If you use it, you must also use OCL master. An I-build will be available shortly.

The Transformer API will probably evolve slightly once incremental support is re-instated and fully developed, so if you don't need the new scheduler stick with OCL M4a and QVTd M4.

    Regards

        Ed Willink




_______________________________________________
qvtd-dev mailing list
qvtd-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/qvtd-dev

Attachment: TestsBeforeRebase.PNG
Description: PNG image

Attachment: TestsAfterRebase.PNG
Description: PNG image

Attachment: TestsAfterRemovingImpossiblePasses.PNG
Description: PNG image

Attachment: TestsCurrentState.PNG
Description: PNG image

Attachment: mtc3TestsWithLastOCLchanges.PNG
Description: PNG image


Back to the top