By the way, it would be great to revive the binding Roassal/Mondrian <—> Graphviz. It was working well on some point using OSProcess…

Alexandre
-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.



On Jun 26, 2014, at 12:10 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote:

Hi Anne,

This is true that Roassal does not help in identifying cycles or applying any graph algorithm on this. More work on this is indeed welcome. 
The main advantage of Graphviz, in my opinion, is the scalability. Graphiviz works well, even with large graph. 

The script I gave was just an example and was not made to replace the visualization sent by Baptiste.

Alexandre
-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.



On Jun 26, 2014, at 11:50 AM, Anne Etien <anne.etien@univ-lille1.fr> wrote:

Alex, 

Sorry, but I have some critics about this visu:
- there is a central (root) point, but it is not always the case in graph
- the first visu you sent is beautiful but not useable to detect cycle or to see a flowI think.
- the second visu contains the labels as required, but it is not readable
- Baptiste will, certainly unfortunately, better identify cycles with graphviz than with such a visu.
- it would be very great to really have in Roassal something like what Baptiste sent today and defined with graphviz. Perhaps a different layout than the existing one is needed.
- I was discussing with Christophe and Vincent (and other in the team), they all need graphs.

It is easy to ask and as we are in an open source project we can all contribute. But there is a very big requirements for graph. The Roassal visu are really awesome, but concerning graph, it is unfortunately one step lower.

Anne


Le 26 juin 2014 à 17:25, Alexandre Bergel <alexandre.bergel@me.com> a écrit :

However i would like to have a label into the node of the graph, is it possible ? Moreover, can i add a title for the visualization?

Using the RTGraphBuilder, you can simply use #labelled to nodes. There is an example for this (accessible from the World Menu):
-=—=-=—=-=—=-=—=-=—=
| b |
b := RTGraphBuilder new.
b nodes
shape: (RTEllipse new size: #numberOfMethods);
whenOverShowEdges: [ :cls | cls dependentClasses ];
labelled.

b edges
if: [ :f :t | f isBehavior ];
connectTo: [ :c | c subclasses ];
useInLayout;
shape: (RTLine new color: Color gray).

b layout force charge: -150.

b global
minSize: 10;
normalizeColor: [ :cls | cls methods size ] using: (Array with: Color green with: Color red);
alphaColor: 0.4.

b addAll: (RTObject withAllSubclasses).
b open.
-=—=-=—=-=—=-=—=-=—=

screenshot:

<Screen Shot 2014-06-26 at 11.24.31 AM.png>

Cheers,
Alexandre





Cheers,

Baptiste





De: "Alexandre Bergel" <alexandre.bergel@me.com>
À: "Moose-related development" <moose-dev@iam.unibe.ch>
Envoyé: Jeudi 26 Juin 2014 15:37:18
Objet: [Moose-dev] Re: How tu visualize a graph using Roassal?

Hi Baptiste!

I think this is your first email to the mailing list, so welcome!
There are many different ways to do this. 

One easy way is to use the graph builder.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
| b |
b := RTGraphBuilder new.
b nodes
if: [ :c | c inheritsFrom: RTShape ];
color: Color green.
b nodes
if: [ :c | c inheritsFrom: RTLayout ];
color: Color yellow.
b nodes
if: [ :c | 'TR*' match: c name ];
color: Color purple.
b nodes color: Color red.

b edges 
connectTo: #dependentClasses;
useInLayout.

b layout force charge: -100.
b global
minSize: 15;
alphaColor: 0.4.
b addAll: RTObject withAllSubclasses, TRObject withAllSubclasses.

b open.
b view canvas
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Which produce the following:

<Screen Shot 2014-06-26 at 9.36.28 AM.png>

I suggest you to have a look at the example.

Cheers,
Alexandre
-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.



On Jun 26, 2014, at 9:01 AM, Baptiste Quide <baptiste.quide@inria.fr> wrote:

Hi everyone,

I'm working on a project in order to analyze automatically project source code. The project consists in analyzing automatically Smalltalk project source code and in visualizing all the dependencies among the packages.
Currently i have only a UI (using Spec Framework) to visualize the results in a TreeModel. I would like to have a visualization, like the screenshot attached (done with Graphviz), using Roassal.
As you can see, we have the packages (the nodes) and the edges are linking the packages when they have dependencies among them. I would like to have a graph-visualization in order to detect potential cyclic dependencies. How can i do that with Roassal?
Thanks for your help.

Baptiste

<collections.pdf>_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev


_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev

_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev

_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev

_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev

_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev