> If I works with Eclipse project, at some point I will want to
handle plugins as entities.
For example, if the application is very big, or if I want to think about the
architecture, I will want to work with plugins (components) rather than packages.
So now I want plugins in Moose.
Yes now I would just extend FAMIX for that
Of course, I can extend the metamodel, but this means I have to think
where to put it, may be implement metrics, create the MooseChef queries, ...
Yes which to me is good no?
How do you identify a plugin?
Whereas by using MooseGroup I can instantly prototype components
without changing Famix, so I have some guarantee that things will just work.
Except that to work, many things require bidirectional navigation (from group to members
and members back to its group(s) ) ...
>> Or may be not: I used Moose-Groups (of class because one package can
>> be spread over different plugins) and it is not that bad.
>> the main issue, in my case, was that classes don't know to what
>> group they have been assigned...
> Groups are not meant to work bidirectionally. But, perhaps it would be
> an interesting addition to try to add this information.
>> So computing dependencies could be very lengthy.
>> I solved that by creating a dictionary on the side, but maybe we
>> should think on a better solution.
>> And then of course integrate this with all the tools...
> Interesting. I would be interested in hearing the actual cases.
Two concrete cases that are cited above:
- when computing metrics on eclipse, I wanted the metrics at the level of plugins.
Instead of defining a FamixEclipsePlugin entity, I created each plugin has a class group,
and implemented the few metrics I needed on that (which required bidirectional
navigation).
:)
- we are supposed to look soon at a big eclipse
"application" where the guy is interested in looking at the dependences between
plugins because there are too many classes and packages to work at that level.
This implies having bidirectional navigation.
If DSM, metrics, MooseChef where already working on MooseGroups, I would have an instant
poor man component ...
Yes that too :)
- It could be used to define application layers and reason about
them. We had the issue recently for a paper, where we wanted to look at dependencies
between a package and itself, the package with its application, and the package with the
underlying layer(s) (e.g. a framework on which the application is defined). For this we
had to hack some dependency queries ...
- I could also maybe test various possible system decomposition using groups (somehow
similar to what Orion can do).
nicolas
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev