eclipse-gemoc / gemoc-studio

gemoc-studio
Eclipse Public License 1.0
25 stars 22 forks source link

call emf implementation instead of K3 when the EOperation is declared in the ecore #105

Closed jdeantoni closed 6 years ago

jdeantoni commented 6 years ago

Hey, when an EOperation is declared in Ecore and defined in K3, the emf implementation is called. The aspects are well declared in the.dsl file. Other methods (like the initialization one) are working OK.

I join one example to reproduce the problem.

languagewb.zip org.gemoc.models17.example.zip

jdeantoni commented 6 years ago

PS: only in pure sequential implementation

dvojtise commented 6 years ago

I haven't looked in detail yet, but this probably means that either a import static extension is missing and/or the aspectJ part of K3 doesn't work correctly

jdeantoni commented 6 years ago

On 08/24/2018 05:09 PM, Didier Vojtisek wrote:

'import static extension

they are correctly set

-- Julien Deantoni Associate Professor I3S Lab - UMR 7271 -KAIROS INRIA Sophia Antipolis Méditerranée 2004 rte des Lucioles (Lagrange L-041) BP93, F-06902 Sophia Antipolis Cedex, France tel: +334 92 38 77 66 http://www.i3s.unice.fr/~deantoni/

Don’t take life too seriously! Nobody gets out alive anyway.(Dawn Gluskin)

dvojtise commented 6 years ago

the annotation @ReplaceAspectMetthod is missing on the FSMAspect.run() method

cf. http://diverse-project.github.io/k3/publish/user_documentation/html_single/user_documentation.html#_replacing_a_method_of_the_base_class and http://diverse-project.github.io/k3/publish/user_documentation/html_single/user_documentation.html#_main_annotations_for_k3

that's why the aspectJ code was not generated in your example

jdeantoni commented 6 years ago

arf, thanks a lot. It works like a charm now... Did you already think about changing the annotation name with something like "OverrideEmfMethod" But anyway it works...

thanks !

dvojtise commented 6 years ago

I used your example to improve k3 documentation about this. Additionally, I opened https://github.com/diverse-project/k3/issues/63 in order to change the annotation name which is probably not intuitive.