|Re: [mdt-papyrus.dev] Quick Fixes in SysML 1.4|
Itâs never too late J
Currently most of the constraints are coded in java, so I did a first quickfix java implementation that does the work for version 1.2.0.
OMG SysML 1.6 version should provide OCL expressions for most of the constraints, so Iâm looking for an âeasyâ way to generate basic quick fixes.
I fear that VQL isnât something normative (Am I wrong here?), in Papyrus we try to stick to the norms.
Many thanks for all the links, I will look into them.
De : mdt-papyrus.dev-bounces@xxxxxxxxxxx <mdt-papyrus.dev-bounces@xxxxxxxxxxx>
De la part de Ãbel HegedÃs
although a bit late but I can give some feedback on the original question:
TL;DR: there is no ready-to-use quick fixes from OCL constraints support in VIATRA
The VL/HCC 2011 paper (I am one of the authors) you mentioned described an approach where the design-space exploration extension of VIATRA2 was used to generate quick fixes for validation errors in DSLs. Since then a lot has happened in the VIATRA project  (I am co-lead there), for example we have migrated to native EMF support from the legacy VPM model representation.
VIATRA still has a design space exploration component  that one could use to implement the same solution over UML models. You would need to define your constraints in VIATRA query language (VQL) and the possible elementary modification operations using VIATRA-DSE. Then you could wire in the execution of the DSE when the user wants to apply a quick fix on an error, retrieve the possible solutions from DSE, present them to the user and then apply them if selected. Something very similar was done in the MONDO EU project, although for model merging .
For the other part, there is an experimental OCL to VQL transformation , that is incomplete and not part of the official project (and was not yet migrated from EMF-IncQuery to VIATRA, although the language is almost entirely compatible).
If you are interested in any of these topics in more detail, I would be happy to discuss them or you can write to the viatra-dev list or on the forums .