Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[gmt-dev] Re: [gmt-dev] Re: [gmt-dev] Markus Völter comments on GMT Framework Proposal

> Yes. I would envisage that the 0.0.0 GMT Feature will contain framework,
> plus at least enough to do some minimal XML work, while by 1.0.0 we could
> have some rather better coverage. However whereas Eclipse can impose JDT
as
> prepackaged, there may be no
> GMT extras that are obligatory until QVT is stable. So we may need to
> provide a GMT+EMF feature etc as starters.

ok.

> I am relectant to support anything by default. It may become a legacy
> embarassment. So as per above there could be a standard GMT+MDR feature.

ok.

Problem is, if you just provide a f/w without a usable
implementation, nobody will use it....

> No. If we went for MOF we would upset EMF, and if we went for EMF we would
> suffer slightly from OMG incompatibility. We must be neutral, and provide
> MOF to EMF and vice-versa transformation.

ok... the usual default implementation thing applies here :-)

> Seems like we should support the B+M model representation.

yes and no. Not b+m specifically. I just think that working
on an *abstract* syntax with in-memory objects is much
more convenient than dealing with strange concrete
syntax formats.

> Again it's really about establishing future proofing. Suppose I quantify
> robustness in a RubustnessModel as requiring that 99.9% of the code is
> subject to 3 way voting on 99.9% up-time machines, and then require the
> remaining 0.1% to exhibit 99.9999% up-time. A transformation that performs
> joint analysis of  code and robustness model can ensure that the figures
are
> met. Difficult research challenge but possible, once the numbers are
there.

so this is about quality of service aspects. right?

> Yes. I got a lot of this framework going yesterday, the actual signatures
> will be slightly different in the light of experience.
> May be, but do you want all standard Java exceptions wrapped?

yes. I think an interface must only throw exceptions
that fit it's abstraction level. So, the "root cause" of
the exception can be added as the "cause" attribute
of the exception.

> A programmable transformation engine interprets/compiles/executes a
> transformation program. So if you use Saxon as a transformation engine,
the
> stylesheet is the program. Ultimately this will be an instance of the QVT
> meta-model. (There is no need for the two signatures, fixed functionality
> transformations can just ignore a null program).

ah, ok. So the program is the transformation specification (maybe
rename parameter name).

> Yes and No. Transformations can be much more efficient if a schema
> validation has already be performed,

I agree. It may be useful to specify this. ...
Can you take about metamodels instead of schemas, so that
the above sentence will be:

"Transformations can be much more efficient if the input
model has been validated with regards to its metamodel"

> and this can be regarded as just
> another transformation in which exceptions could be detected.

hmmm. maybe technically correct.
However, I think verifying a model against its metamodel
is conceptually different that a transformation.

> Yes. I alluded to this in my M4M'03 paper. It's arguably another research
> area. Any rule engine is a transformation between models, so the framework
> handles it. If it's really rule oriented, then a suitable DSL will be
> useful. I think it can be substantially driven from the
> metamodel types.


hmmm.... this is too abstract for me. Maybe in
the beginning we just support directly specified
transformations.

> I have this working nicely. The plugin defines the signatures, which can
be
> checked while creating Delegates. Only when the transformation is invoked,
> model store used, does the relevant plug-in need loading.

ok.

>
> Extract from the experimental XML support plug-in
>
>    <extension point="org.eclipse.gmt.umlx.gmt.modelActivityRegistration">
>      <transform name="Reader"
class="org.eclipse.gmt.umlx.gmt.xml.XmlToDom">
>        <input name="in" model-type="XML[x]"/>
>        <output name="out" model-type="DOM[x]"/>
>      </transform>
>      <transform name="Writer"
class="org.eclipse.gmt.umlx.gmt.xml.DomToXml">
>        <input name="in" model-type="DOM[x]"/>
>        <output name="out" model-type="XML[x]"/>
>      </transform>
>    </extension>
>
> I changed from <> to [] for nested encodings since <> is bad in XML.

:-)

> That would be nice, but any particular transformation operates on a
concrete
> representation,

no... parsing the concrete syntax to an in-memory
representation is a separate step from transforming.
The same is true for unparsing the AST to the con-
crete syntax.


> I understand that the OCL part of the Kent Modelling Framework has been
> contributed to Eclipse. I also understand that Kleppe and Warner have an
> Open Source OCL. And I think there's more. I have my own partially
debugged
> CUP parser for OCL.

ok.

Markus

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Markus Völter
mailto:voelter@xxxxxxx

voelter - ingenieurbüro für softwaretechnologie
Ziegelaecker 11, 89520 Heidenheim, Germany
Tel. +49 (0) 73 21 / 97 33 44

http://www.voelter.de
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -






Back to the top