Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [] Quick Fixes in SysML 1.4


I would recommend that your quick fix model transformation has two input models

a) control model
- constraint ID
- descriptive text
- ... quick-fix-specifc configuration
b) user model

Simple quick fixes can share a trivial BaseConfig class from the control model.

More challenging quickfixes may have a DerivedConfig class from the standard control model.

User-defined quickfixes may jave a MyDerivedConfig class from an extending user control model.

(Something already working - QVTr transformations can be code generated to Java, so in principle once you define your control model and activation policy, you could define your quickfixes in QVTr and execute in Java. However QVTr is still only suitable for sympathetic researchers. Similarly the ATL2QVTr transformation to allow Java code generation from ATL.)


        Ed Willink

On 23/05/2018 13:15, MAGGI Benoit wrote:

Hi Ed,


Thanks for your answer, I was kind of hopping to find something already working :p


Yes. The generator should provide model transformation (transformation that should change the model to have a valid constraint)


A bonus idea would be to have an extension point with 3 parameters : text, constraint id and model transformation.

It will help for an easy extension.


I will have a look in OCL to Java and EMF Reactor





De : <> De la part de Ed Willink
Envoyé : lundi 14 mai 2018 16:07
À :
Objet : Re: [] Quick Fixes in SysML 1.4



The OCL to Java code generator supports generation of Java from OCL in a variety of styles defined by derived generators:

- OCLinEcoreCG2JavaVisitor - Java embedded in *Impl classes by a standard GenModel
- JUnitCG2JavaVisitor- Java suitable for JUnit testing
- AutoCG2JavaVisitor - Java for a custom autogeneration capability
- QVTiCG2JavaVisitor - Java for the QVTi transformation representation underlying the QVTc/QVTr/UMLX languages

>From what you write, it seems like you 'just' need a different outer API for your OCL2Java. However my impression of quickfixes is that they need to change something and so they are a model transformation rather than a model query. You need a suitable API to enable the quickfix to select and parameterize the transformation that can be formulated in your favourite model transformation language. At present anyone wanting to support a variety of M2Ms has to provide multiple invokers. We really should be establishing a standard transformation call API; this was one of the goals / partial achievements of the defunct OMELET project which the also defunct MDDI project superseded but never replaced.

Have you looked at EMF Refactor which certainly made some progress on quickfix polymorphism?


        Ed Willink

On 14/05/2018 13:19, MAGGI Benoit wrote:



I introduced some « quick fixes » in SysML 1.4 (See [1])

For the moment there is only 6 quick fixes but feel free to ask for feature or push patches to add some.


SysML 1.6 will provide constraints in ocl form, I’m looking for a way to generate quickfixes from the constraints list ;

I found this paper [2] suggesting there is such a generator in VIATRA2.


-          Did you ever used this generator ? (OCL -> quick fixes)

-          I don’t see VIATRA2 in official versions [3]


Has anyone an other suggestion to get the quikfixes ?





1 :

2 :

3 :


_______________________________________________ mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit



_______________________________________________ mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit

Back to the top