Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[henshin-dev] Bugs and feature requests related to Edges in Henshin

Dear All,

I collected three important issues which we should solve for the next release of Henshin (see below). If you have any suggestions / ideas or want to help, please make a move.

Cheers,
Christian

* Automatic handling of opposite edges. In the moment when you want to delete an edge of a type which has an eOpposite reference, you must either explicitly specify that the opposite edge is deleted too, or you have to set the rule flag "checkDangling" to false. It should be possible to specify only one edge and still have checkDangling turned on. Probably it is the best to make the interpreter aware of the special semantics of opposite edges.

* Dangling condition for multi-rules. Currently, the dangling condition is checked for every rule individually. If a kernel rule deletes a node, and its multi-rules delete *all* dangling edges, then the rule should be applicable with checkDanging=true. This is currently not the case because the dangling condition is checked separately for each rule.

* Support for matching the index of an edge. The Edge class gets a new attribute called "index" of type String. This can be used to match the index of a link in a (many-) reference. The value of the index attribute is interpreted using the JavaScript engine -- basically in the same way as attributes. For example, I can have a rule with an Integer parameter "x" and match a node with two outgoing edges of the same type, one with "x" and the other with "x+1" as index. The rule could then create another edge with the index "x+1" which will create the link between the other two links. Note that setting indizes in this way may yield nondeterministic results, e.g. when you set the indizes of two edges. Anyway, I strongly believe we need such a functionality (e.g. for JaMoPP).



Back to the top