Eclipse Community Forums - RDF feed
https://www.eclipse.org/forums/
Eclipse Community ForumsIn-place refining mode is now available for EMFTVM
https://www.eclipse.org/forums/index.php/mv/msg/446616/997669/#msg_997669
In-place refining mode is now available for EMFTVM: grab version
3.4.0.201301051207 from:
- 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]]>Dennis Wagelaar2013-01-07T19:31:56-00:00Re: In-place refining mode is now available for EMFTVM
https://www.eclipse.org/forums/index.php/mv/msg/446616/1005705/#msg_1005705
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.]]>Skander TURKI2013-01-28T11:00:53-00:00Re: In-place refining mode is now available for EMFTVM
https://www.eclipse.org/forums/index.php/mv/msg/446616/1005820/#msg_1005820
> 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]]>Dennis Wagelaar2013-01-28T20:32:31-00:00Re: In-place refining mode is now available for EMFTVM
https://www.eclipse.org/forums/index.php/mv/msg/446616/1006005/#msg_1006005
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]]>Skander TURKI2013-01-29T14:23:29-00:00Re: In-place refining mode is now available for EMFTVM
https://www.eclipse.org/forums/index.php/mv/msg/446616/1006091/#msg_1006091
> 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]]>Dennis Wagelaar2013-01-29T20:21:33-00:00Re: In-place refining mode is now available for EMFTVM
https://www.eclipse.org/forums/index.php/mv/msg/446616/1006402/#msg_1006402
Skander TURKI2013-01-31T09:19:16-00:00