Sounds great. I am really interested in the group querying.

About naming, toScope: is a bit too similar to atScope: and I think the user will have a hard time understanding the difference. Last night I thought a bit about the names spawned by a remark of why the methods are called like atClassScope. Indeed, if we think about it, atClassScope is more of an implementation issue. The user wants to know what he gets. So, one possibility would be to call the same thing #classes or #justClasses or #onlyClasses or #collectClasses. Like this:

m queryAllOutgoingAssociations opposite classes 
m queryAllOutgoingAssociations opposite justClasses 

If we revamp the whole thing, we can also take the opportunity to rethink the API. What do you think?


On Fri, Jul 31, 2015 at 8:48 AM, Anne Etien <anne.etien@univ-lille1.fr> wrote:

Yesterday we developed two new features in MooseQuery:
- the toScope: method to go down in the containment tree. It is the opposite of atScope: that goes up. Both methods work the same way: ((classA queryIncoming: FAMIXInvocation) atScope: FAMIXClass) toScope: FAMIXMethod. This query uses the new API and returns the methods of the classes containing the methods sources of the incoming FAMIXInvocation of classA.
- the ability to query the MooseGroups. Thanks to this new feature, it is possible to query directly the model or any MooseGroup resulting from a selection or an operation (union, intersection, difference…) of several MooseGroups.

A full documentation’s coming, but certainly not before the end of the summer.

Jean-Christophe and Anne
Moose-dev mailing list


"Every thing has its own flow"