Hi;
I'd greatly appreciate any help/advice on how to best view MSE files
describing functional programs. I've uploaded one such file to
http://atelier.inf.unisi.ch/~baroneak/yuv.mse
Information I'm modeling includes global variable and function
definitions, and information about functions, such as which file they
are in, whether or not they are predicates (heuristically determined,
always false in the example file attached), and how many parentheses
they have (as a heuristic for function size/complexity, similar to
lines of code.)
The current mondrian script I'm using to visualize it looks like this:
------------
view := ViewRenderer new.
view interaction popupText: [:entity | 'Name: ', entity name].
view nodes: mooseModel allFiles using: RectangleShape withBorder forEach:
[:file | |fInCurFile edges | fInCurFile := mooseModel
allFunctions select:
[:curFunc | ((file name asByteString) =
(curFunc sourceAnchor copyFrom: 6 to:
curFunc sourceAnchor size))].
fInCurFile sortWith: [:f | f propertyNamed: #DIF].
view nodes: fInCurFile
using: (RectangleShape orange
width: [:entity | (entity propertyNamed: #NPAR) / 8]
height: [:entity | (entity propertyNamed: #NPAR) / 8]).
view circleLayout.
edges := Core.OrderedCollection new.
fInCurFile do: [:e | e incomingInvocations do:
[:eInv | edges add: e->(eInv invokedBy)]].
view edges: edges
from: #key
to: #value
using: (LineShape color: Color blue)].
view open.
---------
At a minimum, I'd like to be able to mouse over or click on the orange
squares representing functions and see the associated function name;
right now, the popupText only shows the filenames.
Any other advice on new visualizations, improvements to the mse
exported (I only partially understand the format), etc, would be
great.
Thanks;
Katerina Barone-Adesi