Good evening,
I have just pushed a new version of the FamixGenerator tool to
my website.
So
if you want to give it a try:
http://www.sharpmetrics.net/index.php/famix-generator
I have added a couple of features, like
* export of method invocations for FAMIX 3.0 models
* export of local variable and parameter access.
* several bug fixes
* and last but not least: export of generated C#-like code,
which can be "attached" inside MOOSE
(more is written in the readme file inside the zip file.)
The tools does still export Famix 2 and 3.0 models, but
currently I am struggling with the Famix 2.1 models for
CodeCity. I think this relates to "analysis" and export of
generic classes and generic type instances. This feature is not
yet complete, so this might be the reason. I will investigate
that issue in the next weeks.
If you want to view a city inside MOOSE, you can try the
following script (if you have the new CodeCity for MOOSE
installed):
| models builder |
models := MooseModel root allModels.
builder := CCBuilder new.
models notEmpty
ifTrue: [
| packages classes classNormalizer
packageNormalizer |
builder packingLayout.
packages := models first allModelNamespaces.
classes := packages flatCollect: #classes.
packageNormalizer := CCColorNormalizer new
low: (Color gray: 0.6);
high: (Color gray: 0.95);
transformation: #numberOfClasses;
population: packages.
builder shapeBuilder platform color:
packageNormalizer.
builder nodes: packages.
classNormalizer := CCColorNormalizer new
low: (Color gray: 0.25);
high: Color blue;
transformation: #weightedMethodCount;
population: classes.
builder shapeBuilder box
color: classNormalizer;
height: #numberOfMethods;
width: #numberOfAttributes;
depth: #numberOfAttributes.
builder nodes: classes.
builder nest: packages node: #yourself in:
#parentScope.
builder nest: classes node: #yourself in:
#namespaceScope ].
builder open
As you can see this script uses Famixnamespaces
('allModelNamespaces' and 'namespaceScope'). This is because the
FamixGenerator currently does not export FamixPackages. This is
also on my agenda...
Good night and take care,
Thomas