|Re: Model Abstrction [message #1735259 is a reply to message #1735255]
||Thu, 16 June 2016 16:18
| Ed Willink
Registered: July 2009
For my own code in the OCL / QVTd project I have many Java-coded
transformations. These exploit auto-generated Visitor hierarchies (much
faster than Ecore's switches). During development, I stub the default
visit with a System.out.println to log what needs writing. Eventually
the stub evolves to an UnsupportedOperationException.
Xtend may have declarative capabilities to do this automatically, but I
am afraid that I find many of Xtend's capabilities too clever by half
and inadequately supported by the tooling so I don't use them.
The auto-generators for the Visitor hierarchies use an Xtend
model-to-text layer on top of a Java foundation.
On 16/06/2016 17:05, Ed Willink wrote:
> What you are asking is rather hard. Suppose you just change "name" to
> "identifier" how telepathic do you expect tooling to be? I find JDT
> about right. Lots of red squiggles, allowing manual refactoring. QVTo
> is moderately good at the red squiggles, but like almost all modeling
> tools useless wrt refactoring.
> I find Xtend's model/Java language schizophrenia unhelpful and
> possibly a contribution to its poor tooling; the Java quality that one
> might expect seems to be degraded to the modeling tool par.
> ATL is potentially metamodel independent, but IMHO this just deprives
> the user of sensible static checking. You might find its laxity
> accommodates some of your evolution.
> QVTo has a strict/not-strict option that may allow a little laxity in
> your evolution.
> One day, a more plausible solution may review the metamodel changes
> and help you define simple 1:1 refactorings and characterize the
> semantics of non-1:1 changes interactively. This should autogenerate a
> meta-transformation that can be applied to models and/or
> transformations to perform the evolution.
> Ed Willink
> On 16/06/2016 16:25, Laurence Robert wrote:
>> I am actually developing a model to model transformation with xtend.
>> My problem is that both the input and the output models are not
>> stable, they are still in definition and still growing. So for each
>> release or change of theses models I have to change my code. Do QVTo
>> propose some abstraction mechanism, or some other way to solve
>> stability problems? Or do you know some other Eclipse Project or java
>> Technology which may help me? =)
>> Thanks a lot!
Powered by FUDForum
. Page generated in 0.02483 seconds