[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [henshin-user] Match depending on the number of edges
|
Hello,
thank you for your answers.
I could give it a try with the Aggregations and the Trace objects. Unfortunately as you said it has to be expanded to at least two rules.
Nevertheless in any case in it is a way to go. Thank you for the description.
Best,
Jürgen
--
Dipl.-Ing. Jürgen Freund
Arbeitsgruppe Ähnlichkeitsmechanik
Telefon: +49 (0)711 685 69530
Postadresse:
Universität Stuttgart
Institut für Statik und Dynamik der Luft- und Raumfahrtkonstruktionen
Pfaffenwaldring 27 - Zimmer 01.002
70569 Stuttgart
On Thu, 2017-10-26 at 18:25 +0200, Daniel Strüber wrote:
Hi,
one feature that might be useful to implement this are Aggregations.
Aggregations can be used to count a number of references of a
certain type, just as required in the example:
http://www.ckrause.org/2015/11/aggregations-in-henshin.html
However, it might not be possible to implement the full desired
behavior in only one rule: the result of counting is only available
after the multi-rule used for counting has been matched (which
happens chronologically after the matching of the kernel rule, where
you already need the count).
You could still implement the behavior by storing the count for each
Class1 and later using it for matching. This can be achieved by two
rules: The first one counts for each Class1 the number of its Class2
references, and stores that number into an auxiliary object (e.g. a
UML annotation, or a Trace object from Henshin's built-in generic
Trace meta-model [1]). There should be one such auxiliary object
created for each Class1. The second rule takes the desired number of
Class2 references as an input parameter, and matches it against the
numbers stored in the auxiliary objects.
It's certainly a verbose way to do it. Having counting as a language
feature would be an interesting research topic of its own.
[1] https://wiki.eclipse.org/Henshin_Trace_Model
Best regards,
Daniel
Am 26.10.2017 um 17:28 schrieb
Zschaler, Steffen:
I
see. You may need a higher-order transformation for this,
generating the specific rules you want to match. I don’t
think you can get this out of the box.
Steffen
Thank you for
your immediate answer.
I see, I did
not declare my matter clearly. Sorry for that.
Sure I can
match that by explicitly define a rule where Class1 is
connected to exactly 2 Class2.
What I had in
my was more in the direction by making it some kind of
generic with for example attribute conditions and input
parameters.
Sorry for the
inconvenience. I hope now it's clearer what I meant.
Arbeitsgruppe
Ähnlichkeitsmechanik
Telefon: +49
(0)711 685 69530
Institut für
Statik und Dynamik der Luft- und Raumfahrtkonstruktionen
Pfaffenwaldring
27 - Zimmer 01.002
On Thu, 2017-10-26 at 12:34 +0000,
Zschaler, Steffen wrote:
That’s
exactly what Graph Rules are for. You can just write down
exactly the situation that you are after.
Steffen
Hello Henshin users and developers,
I just wanted to ask if it possible to
construct matching rules which match certain patterns
dependent on their number of connected edges?
Class1 connected to 3 Class2.
Class1 connected to 2 Class2.
Now I want my rules only to match the
pattern where Class1 only has 2 Class2 members.
--
Arbeitsgruppe
Ähnlichkeitsmechanik
Telefon:
+49 (0)711 685 69530
Institut
für Statik und Dynamik der Luft- und
Raumfahrtkonstruktionen
Pfaffenwaldring
27 - Zimmer 01.002
_______________________________________________
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
_______________________________________________
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