Hi
I'm working on making shared variable available in sqmoose and I got
the following situation
When I import referenceModel
When I reify TheRoot (from referenceModel) the importer
create all the superclass up to protoobject and more..... Object
class, .... Behavior...
Just because it is importing recursively all the superclass chain.
For my point of view this is wrong. I'm quite sure that the old
importer did not go all the way up.
It was creating the superclass as a stub and stopped there.
I'm checking in VWoose to see what is the behavior but I propose to
fix it too
if this is not a squeakish behavior of the importer.
What do you think?
Stef
> >> And how about correctness of the measured values? The class comment
> >> states: "Right now only Number of MessageSends is computed in a
> >> correct manner." On the first glance, I cannot see which of the
> >> measured values could be wrong. Any hint on inappropriate
> >> computation or improvement would be appreciated. The only thing I
> >> see a bit confusing is the computation of two McCabe numbers
> >> #cyclomaticNumber and #cyclomaticNumber2. Unfortunately, the class
> >> comment does not tell enough.
> >
> > Correctness of measured values is a big issue. The correctness of
> the
> > numbers that Moose produces is unknown. Even such simple
> measurements
> > as the number of classes or method invocations might be wrong!
>
> I think that adrian is a bit simplifying too much.
> What is the language that you want to analyse?
> For Smalltalk, since the langage is dynamically typed nobody on earth
> can be precise when talking about invocations!
> Now for the number of classes I think that this is correct.
>
> Now if you take any "professional" tools you have to ask yourself
Example of error range in senders:
FAMIX does not model shared variables and their initializers, thus
any sender in an initializer is lost. If you browse senders with VW
you get them. And RBCrawler gets them as well, but filters senders by
the result of a flow analysis with method scope (by doing the same
abstract interpretation as RoelTyper does, as I found out later when
comparing the two tools).
That is, three numbers with different precision for the same metric.
Example of error range in number of classes and methods:
Fame uses 4 anonymous subclasses of Fame.MetaDescription to
instantiate primitive descriptions. FAMIX will not model them, but
Object withAllSubclasses will list them.
That is, two numbers for the same metric.
i.e., even something as simple as the number of classes is more than
one number and thus the correct number of classes is rather a range
of possible numbers. In physics error ranges are given as N+/-Err, in
software analysis they could be given by making clear what has been
measured and what is missing. See examples above.
Of course, whether the above errors matter or not will depend on your
use case. For some use cases they might be no problem, for other use
cases they are critical or at least annoying.
Whether you care are not also depends on your distance from source
code. Consider for example a class blueprint. In smalltalk most #new
methods call an #initialize method that typically creates new objects
of a different type by calling #new again. Moose will thus visualize
the two methods as calling each other even though any developer can
tell they do not! For a consultant doing an offline analysis at
10'000 feet altitude that might be good enough, but for the developer
using the tool while working at ground level the visualization must
be precise or they stop using it because its results are obviously
false... and this is why RBCrawler takes the whole pain of running a
flow analysis, because I was eating my own dogfood :)
cheers,
AA
Dear List,
When I am browsing a Java model, let's say ArgoUML, I cannot browse
the source code of the model.
Pressing 'Browsing source code' when right clicking on an entity seems
ineffective.
Is there a way to fix this? If no, I could work on this. Any hint
where to start?
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi,
is there a good web site about oo metrics ? I need to get an overview
over different metrics (independent if moose implement them or not)
Greetings
Hans
We are on freenode
irc://chat.freenode.net/fame-dev
cheers,
AA
> Any way to remotely join (mostly as an observer)?
>
> Thanks ... Sophie
>
> ----- Original Message -----
>
> > Dear All,
> >
> > this Friday, a Fame sprint will take place in Bern.
> >
> > Program
> > - 11:00 rehearsal of Models at Runtime presentation.
> > - Afterwards, happy hacking and pair programing.
> >
> > Links
> > - http://www.iam.unibe.ch/~akuhn/d/Kuhn-2008-MRT-Fame.pdf
> > - http://smallwiki.unibe.ch/fame/issues
> >
> > You are welcome to participate and/or attend the rehearsal.
> >
> > @Moose - if you have feature requests, please reply to this mail or
> > add them on the wiki page! For example, I have seen that you are
> > about to impl a visitor, this sounds like a nice job for Fame code
> > generation.
> >
> > cheers,
> > Adrian
> >
> > --
> > Adrian Kuhn
> > Software Composition Group
> > University of Bern, Switzerland
> > http://www.iam.unibe.ch/~akuhn
> > _______________________________________________
> > Moose-dev mailing list
> > Moose-dev at iam.unibe.ch
> > https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> >
can we get all the packages from a list of classes?
Doru
is there a way that the script does not just need a predicate and
return a subset but can get a full block
If I have a list of classes I would like to get a group with all the
packages of the classes.
So a kind of flatCollect on the result
Stef