[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| Re: [henshin-user] Rule application via GUI ->OK, via API -> error | 
OK,
I think I have figured it out.
This may not be a bug in the first place but the effects that arise by 
this behaviour of Henshin are strange enough so that I will write this down:
For convenience reasons, I had two copies of the same UML profile file 
at two different places. One in the project I store my Henshin modules 
in, and a copy of the profile in another project containing my UML 
models. Let me clarify that the two copies are identical.
The UML models refer to the profile-copy in the models-project, the 
Henshin modules refer to the profile-copy in the Henshin-project 
respectively.
Apparently this works fine as long as one does not try to *delete* 
stereotype instances via the Henshin API and only via the API.
Concerning creating stereotypes via API and also creating/deleting 
stereotypes using the GUI, this constellation works fine.
As I have created a test environment anyway, I provide it so that you 
can have a look at it. I provide a testmodel.uml which refers to the 
same profile-file as the Henshin module.
The testmodel_error.uml refers to a copy of the profile provided in 
another subdirectory.
Jens
Am 27.10.2015 um 15:47 schrieb Christian Krause:
Hi Jens,
my first guess would have been the checkDangling flag, but you've ruled
that our already. Still, we recently fixed a bug in the context of the
dangling condition that could be a problem in your scenario too. The
problem was that *derived* dangling edges should be ignored. This was
fixed here: https://git.eclipse.org/r/#/c/56243/
You could check whether this fixes also your problem (the fix is merged
to the master branch). If it does not help, you could send us a minimal
runnable example (Input model + Java code). Then we can try to debug it.
Also: you can try to find matches of the rule first, e.g. with
InterpreterUtil.findAllMatches() and print them.
Cheers,
Christian
2015-10-22 12:16 GMT+02:00 Jens Bürger <buerger@xxxxxxxxxxxxxx
<mailto:buerger@xxxxxxxxxxxxxx>>:
    Hello everyone,
    I want to do manipulations of UML state machines using UML stereotypes.
    I actually have a problem: a given transformation rule runs fine if
    I apply it using the GUI (right-click on the transformation file
    with "Henshin->Apply Transformation", but if I apply the rule using
    the Henshin API, it fails (the execute method of RuleApplication
    returns false).
    My test UML model features a state machine which also has a
    transition called "hier" and the stereotype "ensureRole" attached,
    as requested.
    My code works fine with other transformation models. The error only
    occurs when *deleting* the stereotype. I just need to change the
    action to *create* and the rule instantly can be executed without
    errors.
    I created a fresh Henshin transformation model (see attachement).
    The problem persists. Setting checkDangling to false makes no
    difference either.
    Any suggestions?
    Jens
    --
    Dipl.-Inf Jens Bürger
    University of Koblenz-Landau
    Institute for Software Technology
    RG Prof. Dr. Jan Jürjens
    Phone: +49 261 287-2705 <tel:%2B49%20261%20287-2705>
    Fax: +49 261 287-100 2705 <tel:%2B49%20261%20287-100%202705>
    _______________________________________________
    henshin-user mailing list
    henshin-user@xxxxxxxxxxx <mailto:henshin-user@xxxxxxxxxxx>
    To change your delivery options, retrieve your password, or
    unsubscribe from this list, visit
    https://dev.eclipse.org/mailman/listinfo/henshin-user
_______________________________________________
henshin-user mailing list
henshin-user@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/henshin-user
--
Dipl.-Inf Jens Bürger
University of Koblenz-Landau
Institute for Software Technology
RG Prof. Dr. Jan Jürjens
Phone: +49 261 287-2705
Fax:   +49 261 287-100 2705
Attachment:
henshinerror.zip
Description: Zip archive