Hi all. I don't know why but today I am completly dumb. I need to take a
MooseModel and get two things:
- how many objects represents such MooseModel object. I mean, suppose that
MooseModel references objects, and those objects references other
objects....etc. I need to know the "size" of such graph.
- how many classes represents such MooseModel object.
So for example, for Moose default model I could have 4034 objects, 8
classes.
For Moose Network Model, I could have 54354365 objects and 344 classes
(I put random numbers)
I tried analysing the RuntimeStorage, but didn't get anything.
Thanks in advance.
Mariano
Hi,
With the recent changes in Mondrian it looks like the class blueprint
is broken. The problem seems to be due to incorrect bounds of the
parent node. I noticed when by spawning the blueprint of a hierarchy
of classes, I got overlapping classes.
I will take a closer look, but it would be great if someone could
confirm this problem. I guess it should happen with other nested
visualizations.
Cheers,
Doru
--
www.tudorgirba.com
"Reasonable is what we are accustomed with."
Hi all,
I localized the bug of Mondrian,
As Alex said, width and height are stored in cache, so a script like this work fine:
======
|view o |
view := MOViewRenderer new.
o := OrderedCollection new: 100.
1 to: 100 do:[:i | o add: i].
(view shape: (MORectangleShape new
width: [:e | (Delay forMilliseconds: 50) wait. 200];
height: 200;
withBorder;
borderColor: [:e | Color gray])).
view nodes: o.
view layout: (MOGridLayout new gapSize: 1).
view open
======
It is slow to generate, then it scroll well.
Now, if I do the same thing with a Delay in the block of borderColor:, the visualization is dead.
======
|view o |
view := MOViewRenderer new.
o := OrderedCollection new: 100.
1 to: 100 do:[:i | o add: i].
(view shape: (MORectangleShape new
width: [:e | 200];
height: 200;
withBorder;
borderColor: [:e | (Delay forMilliseconds: 50) wait. Color gray])).
view nodes: o.
view layout: (MOGridLayout new gapSize: 1).
view open
======
This is the bug we have in Blueprint, in eDSM and all the visualization we made.
I think shapes should keep these state and maybe react to announcement.
Cheers,
---
Jannik Laval
I want a way to represent where in the source code something came from.
FAMIXSourceAnchor looks as if it might be intended for this, but its
only attribute, entity, apparently refers to another FAMIX entity, not
to the source code. But perhaps entity is supposed to be a FAMIXFile or
method source? It doesn't appear that FAMIXSourceAnchor is used, even
though every FAMIXSourcedEntity can have one.
Can anyone provide more info on what FAMIXSourceAnchor is supposed to be
doing? There is no class comment.
Second, every FAMIXSourcedEntity has a comments attribute. This seems a
mixed blessing, since the attachment of comments is often ambiguous.
For example, in SAS one might have
data a;
x=34;
/* a very silly example */
data b;
y=1;
It's unclear whether the comment applies to the data a or data b step.
If you're a parser, it might also apply to 34, x=34, data, or data b.
Third, I'm probably going to need a richer concept of source location.
SAS allows inclusion of other files in the source code (like #include
for C) and also has a macro processor, which may expand out a macro and
discover more macros that it recursively expands.
Comments?
Ross
I just tried the new Cog VM on a Pharo image 1.2 with Moose inside.
It s really fast.
I will do benchmark when the MessageTally will work.
Cheers,
---
Jannik Laval
I've got a bit of my parser going, and am now wondering what I should
parse the elements into. My initial thought was to extend FAMIX and
then create appropriate elements of it. I'm not sure that's
appropriate, and would appreciate some advice.
First, it looks as if the sample smalltalk parser uses the AST from RB,
and not the FAMIX models directly.
Second, there are clear differences between the FAMIX models and the
immediate parse results. For example, suppose I have a variable (or
dataset for SAS) named X. The parser may treat each as distinct, while
my model needs to describe the single entity to which each occurrence of
the name refers. That single entity will have much richer information
(relations to other variables, the block of source code in which the
variable is defined or referenced ....) than the parser would initially
care about.
On the other hand, I could use the FAMIX models in initially a
lightweight way; otherwise it seems I could end up with fairly
duplicative parser classes and model classes.
So, would it be best to parse directly into my model classes, or to
parse into some other AST that is later used to make the model?
Thanks.
Ross Boylan
Hello,
I have been looking a bit for the place where we set the canvas to use in
Mondrian, but I didn't find.
I know that all shapes are drawn on a FormCanvas, but there is no references
to FormCanvas in mondrian classes.
I just saw that there is a 'defaultCanvasClass' method in the class Form for
example, so maybe such a method is use somewhere in the code.
Does somoene know the way to set a new Canvas to Mondrian ?
Hi Jannik,
I got a small problem in the packaging of DSM: you have a DSMCore
package, and a DSMCore-Test package. This is a problem with
Monticello, and it causes problems with the Metacello configuration.
So, I now moved the tests into DSM-Tests-Core package and updated the
ConfigurationOfDSM. I am testing it now. Please let me know if you
have any problems.
Cheers,
Doru
--
www.tudorgirba.com
"When people care, great things can happen."
Hi!
Is there any of you going to TOOLS this year?
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.