Update of the FamixGenerator

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Update of the FamixGenerator

Thomas Haug
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

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Update of the FamixGenerator

stepharo
Thanks a lot thomas for this great news!

Stef

On 14/8/14 23:48, Thomas Haug wrote:
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


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Update of the FamixGenerator

Tudor Girba-2
In reply to this post by Thomas Haug
Thank you!

Doru


On Thu, Aug 14, 2014 at 11:48 PM, Thomas Haug <[hidden email]> wrote:
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

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev




--

"Every thing has its own flow"

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev