Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » ATL » In-place refining mode is now available for EMFTVM
In-place refining mode is now available for EMFTVM [message #997669] Mon, 07 January 2013 19:31 Go to next message
Dennis Wagelaar is currently offline Dennis Wagelaar
Messages: 166
Registered: September 2012
Senior Member

[first attempt failed, so here it is again]

In-place refining mode is now available for EMFTVM: grab version
3.4.0.201301051207 from:

http://soft.vub.ac.be/eclipse/update-3.7/

Documentation at:

http://wiki.eclipse.org/ATL/EMFTVM#In-place_transformation

Small changes:

- Added OclType::refInvokeStaticOperation(opname : String, args :
Sequence(OclAny)) to allow static Java method invocation. Use like this:
"#native"!"java::lang::Long".refInvokeStaticOperation('valueOf', Sequence{'1'}).

- Added Sequence::includingRange(start : Integer, end : Integer) as a
work-around for the Sequence{start..end} idiom. Use like this:
Sequence{}->includingRange(0, 100)

Cheers,
Dennis


Cheers,
Dennis
Re: In-place refining mode is now available for EMFTVM [message #1005705 is a reply to message #997669] Mon, 28 January 2013 11:00 Go to previous messageGo to next message
Skander TURKI is currently offline Skander TURKI
Messages: 128
Registered: July 2009
Senior Member
Hi Dennis,
Is it possible, using this new in-place refining mode to implement models' synchronization? I suppose we would need two transformations, one for each direction. And also two higher-order transformations to reduce (comment out) the rules that should not participate in the update transformation each time a synchronization is needed.
Does it seem to be a good approach for you?

Thanks in advance.
Re: In-place refining mode is now available for EMFTVM [message #1005820 is a reply to message #1005705] Mon, 28 January 2013 20:32 Go to previous messageGo to next message
Dennis Wagelaar is currently offline Dennis Wagelaar
Messages: 166
Registered: September 2012
Senior Member

Op 28-01-13 12:00, Skander Mising name schreef:
> Hi Dennis,
> Is it possible, using this new in-place refining mode to implement models'
> synchronization? I suppose we would need two transformations, one for each

Yes, indeed. In the EMFTVM launch dialog as well as the Ant tasks, you can
specify IN/OUT models. These IN/OUT models can either be new or existing models.

> direction. And also two higher-order transformations to reduce (comment out)
> the rules that should not participate in the update transformation each time a
> synchronization is needed.
> Does it seem to be a good approach for you?
>
> Thanks in advance.

Hmm, an update transformation should rather test for the existence of target
model contents. Something like this:

rule MyRule {
from s : SMM!Source (TMM!Target.allInstance()->forAll(t | t.name <> s.name))
to t : TMM!Target (...)
}

rule MyRuleExisting {
from t : TMM!Target,
s : SMM!Source (s.name = t.name)
to t1 : TMM!Target mapsTo t (...)
}

Perhaps you can write a HOT to generate the MyRule/MyRuleExisting rule pair
out of regular transformation rules. See what works for you...

Regards,
Dennis


Cheers,
Dennis
Re: In-place refining mode is now available for EMFTVM [message #1006005 is a reply to message #1005820] Tue, 29 January 2013 14:23 Go to previous messageGo to next message
Skander TURKI is currently offline Skander TURKI
Messages: 128
Registered: July 2009
Senior Member
Thanks for your reply.

So what I understand is that you have to write manually your refinement rules. I mean there is no support for incremental transformations;
Do you know if it is planned in the future ATL versions?

Thanks
Re: In-place refining mode is now available for EMFTVM [message #1006091 is a reply to message #1006005] Tue, 29 January 2013 20:21 Go to previous messageGo to next message
Dennis Wagelaar is currently offline Dennis Wagelaar
Messages: 166
Registered: September 2012
Senior Member

Op 29-01-13 15:23, Skander Turki schreef:
> Thanks for your reply.
>
> So what I understand is that you have to write manually your refinement rules.
> I mean there is no support for incremental transformations; Do you know if it
> is planned in the future ATL versions?
>
> Thanks

Indeed, ATL does not have built-in support for incremental/synchronisation
transformations, such as QVT-R allows for example.

There are no plans for developing this as far as I know. Current EMFTVM
technology may have to be updated for this: simple one-to-one refinement rules
can be mapped to a "create" and an "update" version of the rule, but if there
are multiple output elements, a combinatorial explosion of all create/update
combinations must be dealt with.

Regards,
Dennis


Cheers,
Dennis
Re: In-place refining mode is now available for EMFTVM [message #1006402 is a reply to message #1006091] Thu, 31 January 2013 09:19 Go to previous message
Skander TURKI is currently offline Skander TURKI
Messages: 128
Registered: July 2009
Senior Member
Thanks a lot for this valuable information.
Previous Topic:ATL File usging second ATL File and input variable of ATL File
Next Topic:Runtime exception handling?
Goto Forum:
  


Current Time: Sat Oct 25 00:43:58 GMT 2014

Powered by FUDForum. Page generated in 0.13023 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software