Hmm, I was about to write that the goal of collective behavior is to model the behavior of the groups (like you demoed at ESUG), and I wanted to ask how do you store this behavior in Store.
Now I see that I misunderstood completely. From the arguments below, I believe it is not really worth the trouble.
Doru
B1) the reasons for collective behavior
To save memory.
Each moose element has a back pointer to its model. This is 4 byte per element, ie 4 MB per 1 Mio elements. Which are realistic maybe even low numbers when analysing histories or traces. With collective behavior the memory footprint is (4 + F) * M * T, where F is the size of an anonymous class, M is the number of models and T is the number of element types used per model. Given that F is about 80 byte (including object headers and metaclasses etc pp) and T maybe about 25, that is 2 KB = 0.002 MB per Model.
B2) the solutions for collective behavior
I propose to talk about each of these two points individually, because they are not the same to me.
-- www.tudorgirba.com www.tudorgirba.com/blog
"Some battles are better lost than fought."