Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [henshin-user] UML state machines and dangling edges?

Hi Daniel,

I think this makes sense. So no objections from my side.

Cheers,
Christian

2015-09-17 15:13 GMT+02:00 Daniel Strüber <strueber@xxxxxxxxxxxxxxxxxxxxxxxxx>:
Hi,

I found the source of the problem: The failed dangling edge check was caused by the existence of derived edges between the :Region and the contained :Transition. The check fails because the derived references were not modeled in the rule.

From my perspective, this is a bug of the interpreter: Since the graphical editor explicitly forbids you to specify deleted derived edges, I assume that the interpreter should not consider them as well. Otherwise, there would be no way to specify the deletion you desire without turning off the dangling edge check.

The fix for this bug is a simple three-liner  (see attached). But before I commit the fix, my question goes out to the other developers if there's any disagreement on my perspective.



Regards,
Daniel



On 16.09.2015 19:36, Daniel Strüber wrote:
Thanks Jens,

I have reproduced the behavior and can confirm that it shouldn't appear. The only clue i see is the derived "namespace" reference, although it really shouldn't make a difference.

I will give it a closer look tomorrow.

Regards,
Daniel

Am 16.09.2015 um 18:46 schrieb Jens Bürger:
Am 16.09.2015 um 18:41 schrieb Daniel Strüber:
Based on the screenshot, I assume that this rule should do the job,
unless there is an additional edge in the input model not considered by
the rule. Do you mind sending a minimal example?

No problem.


Regards,
Daniel


Am 16.09.2015 um 18:35 schrieb Jens Bürger:
Thanks for your quick reply,

I altered the rule as shown in the screenshot but it doesn't help.

Jens

Am 16.09.2015 um 18:24 schrieb Daniel Strüber:
You're totally right, the containment edge must be deleted (the
graphical editor does this by default, so I usually let it do this piece
of thinking for me :)).

Technically, both directions should work, since both edges are
EOpposites and thus EMF takes care of updating their correspondence. For
the sake of clarity, I prefer modeling the containment edge,
"transition" (as opposed to the container edge, "container"), since the
containment edge is a distinguished kind of edge and highlighted as such
in the editor.

Regards,
Daniel

Am 16.09.2015 um 18:15 schrieb Jens Bürger:
Am 16.09.2015 um 17:57 schrieb Daniel Strüber:
[…]
To get an intact rule, you have to specify the container
node and the connecting containment edge as preserved elements.

Are you sure that the connecting containment edge needs to be
specified as preserving? Isn't that exactly a dangling edge then?

However, I tried to model it as you suggested, but if I try to specify
the "transition" as preserve, the diagram editor also sets the
Transition node to preserve.

I'm not really sure what is the right direction for the containment
edge. I tried both with the most obvious possibilities for edge types
("container" for Transition->Region and "transition" for
Region->Transition) but none of this worked so far.

Greetings,
Jens
_______________________________________________
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






_______________________________________________
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. Daniel Strüber
Software Engineering Research Group
Philipps-Universität Marburg, Germany, Hans-Meerwein-Str., Room 05D12
Phone: +49-6421-28-21511



_______________________________________________
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





_______________________________________________
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. Daniel Strüber
Software Engineering Research Group
Philipps-Universität Marburg, Germany, Hans-Meerwein-Str., Room 05D12
Phone: +49-6421-28-21511


_______________________________________________
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. Daniel Strüber
Software Engineering Research Group
Philipps-Universität Marburg, Germany, Hans-Meerwein-Str., Room 05D12
Phone: +49-6421-28-21511

_______________________________________________
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



Back to the top