UML like diagrams from Moose panel

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

UML like diagrams from Moose panel

Anne Etien
Hi,

For preparing my teaching course I would have love to have simple class hierarchy visualisations or even better, real UML representations.
Unfortunately, the UML like diagram from the Moose panel is not zoomable. It is by default in light grey saying that it is harder to read. It contains all the attributes and all the methods so it is difficult to put it in a single readable picture. Please make the experiment with the Famix-Core classes.
I was not able to do easily a class hierarchy with the name of the classes. After more than one hour, I gave up.
So it could be good, if we can have:
- a class hierarchy with only the names of the classes in boxes or not
- a class hierarchy with only attributes
- a class hierarchy with only methods
- the existing "UML" representation
- a real metamodel representation. Not as a system complexity representation, but as a real UML representation meaning with inheritance AND associations (those can be deduce from pragmas and now with the new MooseQuery API, we get all the methods to do it).

It should be possible to easily specify which classes we want to represent.

It seems to me the minimum vital to do real analyses.

In my course, I wanted to show I extended FAMIX for SQL purpose. It was so complex (because I don’t want not all FAMIX entity, but just the one from which the SQL classes inherit and without the methods) that once again I gave up.

I don’t have enough time to better look for. But anyway, I find it sad that it is so hard even for people knowing (a bit) Moose of not being able to do that.

Cheers,
Anne


 


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

Re: UML like diagrams from Moose panel

Peter Uhnak
Since I've made this video yesterday for my benefactors, I might as well share it here


now this is still far from done, however I do use FAMIX to represent the model (I have of course extended it, because FAMIX has no notion of multiplicities etc.), but in principle it should be able to visualize some subset of the FAMIX model.

If you want to look at it yourself, you can download ready-to-use image (based on Moose 6) here https://ci.inria.fr/pharo-contribution/job/DynaCASE/lastSuccessfulBuild/PHARO=50,VERSION=development,VM=vm/artifact/DynaCASE.zip

So maybe we can come up with something that you could use?

Of course many of the requirements you have can be achieved directly in Roassal, for example try running this

~~~~~~~~~~~~~~~~~~~~~~
| b |
b := RTUMLClassBuilder new.

b instanceVariables: #instVarNames. "show attributes"
"b instanceVariables: #()." "hide attributes"

b methodselector: #selector.
"b methodsNames: #methods." "show methods"
b methodsNames: #(). "hide methods"
b attributeselector: #yourself.

"all black, you can even have varying colors --- look at RTUMLExample>>examplecolored"
b attributeShape color: Color black.
b methodShape color: Color black.
b classNameShape color: Color black.
b lineShape color: Color black.
b boxShape borderColor: Color black.

b addObjects: (TREvent withAllSubclasses ).
b layout tree.

b build.
^b view
~~~~~~~~~~~~~~~~~~~~~~~~~

Peter

On Tue, Oct 27, 2015 at 11:30 AM, Anne Etien <[hidden email]> wrote:
Hi,

For preparing my teaching course I would have love to have simple class hierarchy visualisations or even better, real UML representations.
Unfortunately, the UML like diagram from the Moose panel is not zoomable. It is by default in light grey saying that it is harder to read. It contains all the attributes and all the methods so it is difficult to put it in a single readable picture. Please make the experiment with the Famix-Core classes.
I was not able to do easily a class hierarchy with the name of the classes. After more than one hour, I gave up.
So it could be good, if we can have:
- a class hierarchy with only the names of the classes in boxes or not
- a class hierarchy with only attributes
- a class hierarchy with only methods
- the existing "UML" representation
- a real metamodel representation. Not as a system complexity representation, but as a real UML representation meaning with inheritance AND associations (those can be deduce from pragmas and now with the new MooseQuery API, we get all the methods to do it).

It should be possible to easily specify which classes we want to represent.

It seems to me the minimum vital to do real analyses.

In my course, I wanted to show I extended FAMIX for SQL purpose. It was so complex (because I don’t want not all FAMIX entity, but just the one from which the SQL classes inherit and without the methods) that once again I gave up.

I don’t have enough time to better look for. But anyway, I find it sad that it is so hard even for people knowing (a bit) Moose of not being able to do that.

Cheers,
Anne





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


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

Re: UML like diagrams from Moose panel

Tudor Girba-2
In reply to this post by Anne Etien
Hi,

On Tue, Oct 27, 2015 at 11:30 AM, Anne Etien <[hidden email]> wrote:
Hi,

For preparing my teaching course I would have love to have simple class hierarchy visualisations or even better, real UML representations.
Unfortunately, the UML like diagram from the Moose panel is not zoomable.

There is a bug in the rendering of actions in the main window.
 
It is by default in light grey saying that it is harder to read. It contains all the attributes and all the methods so it is difficult to put it in a single readable picture. Please make the experiment with the Famix-Core classes.
I was not able to do easily a class hierarchy with the name of the classes. After more than one hour, I gave up.
So it could be good, if we can have:
- a class hierarchy with only the names of the classes in boxes or not
- a class hierarchy with only attributes
- a class hierarchy with only methods
- the existing "UML" representation
- a real metamodel representation. Not as a system complexity representation, but as a real UML representation meaning with inheritance AND associations (those can be deduce from pragmas and now with the new MooseQuery API, we get all the methods to do it).

The associations are represented as first class in Fame, but the reason we do not show them is that we do not have a layout that supports such associations.
 
It should be possible to easily specify which classes we want to represent. 
It seems to me the minimum vital to do real analyses. 
In my course, I wanted to show I extended FAMIX for SQL purpose. It was so complex (because I don’t want not all FAMIX entity, but just the one from which the SQL classes inherit and without the methods) that once again I gave up.

You can do it programatically. Take a look at MooseFameView>>viewFamixCore to see how to show a selection of the classes from the default meta-model.

I think that for what you want, you should exhibit this 

 
I don’t have enough time to better look for. But anyway, I find it sad that it is so hard even for people knowing (a bit) Moose of not being able to do that.

I am sad that you are sad. Sadness can be conducive for meditation, but it typically is not particularly promising for generating action :). So, let's snap out of our sadness and focus on what should be done next.

Cheers,
Doru

 
Cheers,
Anne





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



--

"Every thing has its own flow"

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

Re: UML like diagrams from Moose panel

Tudor Girba-2
In reply to this post by Peter Uhnak
Thanks, Peter.

Do you also have an algorithm laying out your UML diagrams?

@Anne: the script of Peter should pretty much address your concerns. Is there anything else missing?

Cheers,
Doru



On Tue, Oct 27, 2015 at 11:54 AM, Peter Uhnák <[hidden email]> wrote:
Since I've made this video yesterday for my benefactors, I might as well share it here


now this is still far from done, however I do use FAMIX to represent the model (I have of course extended it, because FAMIX has no notion of multiplicities etc.), but in principle it should be able to visualize some subset of the FAMIX model.

If you want to look at it yourself, you can download ready-to-use image (based on Moose 6) here https://ci.inria.fr/pharo-contribution/job/DynaCASE/lastSuccessfulBuild/PHARO=50,VERSION=development,VM=vm/artifact/DynaCASE.zip

So maybe we can come up with something that you could use?

Of course many of the requirements you have can be achieved directly in Roassal, for example try running this

~~~~~~~~~~~~~~~~~~~~~~
| b |
b := RTUMLClassBuilder new.

b instanceVariables: #instVarNames. "show attributes"
"b instanceVariables: #()." "hide attributes"

b methodselector: #selector.
"b methodsNames: #methods." "show methods"
b methodsNames: #(). "hide methods"
b attributeselector: #yourself.

"all black, you can even have varying colors --- look at RTUMLExample>>examplecolored"
b attributeShape color: Color black.
b methodShape color: Color black.
b classNameShape color: Color black.
b lineShape color: Color black.
b boxShape borderColor: Color black.

b addObjects: (TREvent withAllSubclasses ).
b layout tree.

b build.
^b view
~~~~~~~~~~~~~~~~~~~~~~~~~

Peter

On Tue, Oct 27, 2015 at 11:30 AM, Anne Etien <[hidden email]> wrote:
Hi,

For preparing my teaching course I would have love to have simple class hierarchy visualisations or even better, real UML representations.
Unfortunately, the UML like diagram from the Moose panel is not zoomable. It is by default in light grey saying that it is harder to read. It contains all the attributes and all the methods so it is difficult to put it in a single readable picture. Please make the experiment with the Famix-Core classes.
I was not able to do easily a class hierarchy with the name of the classes. After more than one hour, I gave up.
So it could be good, if we can have:
- a class hierarchy with only the names of the classes in boxes or not
- a class hierarchy with only attributes
- a class hierarchy with only methods
- the existing "UML" representation
- a real metamodel representation. Not as a system complexity representation, but as a real UML representation meaning with inheritance AND associations (those can be deduce from pragmas and now with the new MooseQuery API, we get all the methods to do it).

It should be possible to easily specify which classes we want to represent.

It seems to me the minimum vital to do real analyses.

In my course, I wanted to show I extended FAMIX for SQL purpose. It was so complex (because I don’t want not all FAMIX entity, but just the one from which the SQL classes inherit and without the methods) that once again I gave up.

I don’t have enough time to better look for. But anyway, I find it sad that it is so hard even for people knowing (a bit) Moose of not being able to do that.

Cheers,
Anne





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


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




--

"Every thing has its own flow"

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

Re: UML like diagrams from Moose panel

abergel
In reply to this post by Tudor Girba-2
For preparing my teaching course I would have love to have simple class hierarchy visualisations or even better, real UML representations.
Unfortunately, the UML like diagram from the Moose panel is not zoomable.

There is a bug in the rendering of actions in the main window.

Yes, but I cannot figure out what it is. I have simply refactored GLMRoassal2Presentation>>defaultActions
I believe the behavior should be the same.
Can you have a look at it?

Cheers,
Alexandre

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

Re: UML like diagrams from Moose panel

Tudor Girba-2
The bug is in Glamour as it seems.

For example:

GLMWrapper new with: [ :w |
w show: [ :a | 
a roassal2 
title: 'With title it works';
initializeView: [ RTMondrian new ];
painting: [ :view | 
view nodes: (1 to: 10) ] ] ];
openOn: 42

If the bolded line is there, you get the actions, if not, they are not.

Doru



On Wed, Oct 28, 2015 at 1:04 PM, Alexandre Bergel <[hidden email]> wrote:
For preparing my teaching course I would have love to have simple class hierarchy visualisations or even better, real UML representations.
Unfortunately, the UML like diagram from the Moose panel is not zoomable.

There is a bug in the rendering of actions in the main window.

Yes, but I cannot figure out what it is. I have simply refactored GLMRoassal2Presentation>>defaultActions
I believe the behavior should be the same.
Can you have a look at it?

Cheers,
Alexandre

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




--

"Every thing has its own flow"

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

Re: UML like diagrams from Moose panel

Peter Uhnak
Do you also have an algorithm laying out your UML diagrams?

Not yet. Next month I should have something custom-tailored for class diagrams...

Peter

On Wed, Oct 28, 2015 at 1:09 PM, Tudor Girba <[hidden email]> wrote:
The bug is in Glamour as it seems.

For example:

GLMWrapper new with: [ :w |
w show: [ :a | 
a roassal2 
title: 'With title it works';
initializeView: [ RTMondrian new ];
painting: [ :view | 
view nodes: (1 to: 10) ] ] ];
openOn: 42

If the bolded line is there, you get the actions, if not, they are not.

Doru



On Wed, Oct 28, 2015 at 1:04 PM, Alexandre Bergel <[hidden email]> wrote:
For preparing my teaching course I would have love to have simple class hierarchy visualisations or even better, real UML representations.
Unfortunately, the UML like diagram from the Moose panel is not zoomable.

There is a bug in the rendering of actions in the main window.

Yes, but I cannot figure out what it is. I have simply refactored GLMRoassal2Presentation>>defaultActions
I believe the behavior should be the same.
Can you have a look at it?

Cheers,
Alexandre

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




--

"Every thing has its own flow"

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



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

Re: UML like diagrams from Moose panel

Tudor Girba-2
That would be a great addition.

Doru

On Wed, Oct 28, 2015 at 2:05 PM, Peter Uhnák <[hidden email]> wrote:
Do you also have an algorithm laying out your UML diagrams?

Not yet. Next month I should have something custom-tailored for class diagrams...

Peter

On Wed, Oct 28, 2015 at 1:09 PM, Tudor Girba <[hidden email]> wrote:
The bug is in Glamour as it seems.

For example:

GLMWrapper new with: [ :w |
w show: [ :a | 
a roassal2 
title: 'With title it works';
initializeView: [ RTMondrian new ];
painting: [ :view | 
view nodes: (1 to: 10) ] ] ];
openOn: 42

If the bolded line is there, you get the actions, if not, they are not.

Doru



On Wed, Oct 28, 2015 at 1:04 PM, Alexandre Bergel <[hidden email]> wrote:
For preparing my teaching course I would have love to have simple class hierarchy visualisations or even better, real UML representations.
Unfortunately, the UML like diagram from the Moose panel is not zoomable.

There is a bug in the rendering of actions in the main window.

Yes, but I cannot figure out what it is. I have simply refactored GLMRoassal2Presentation>>defaultActions
I believe the behavior should be the same.
Can you have a look at it?

Cheers,
Alexandre

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




--

"Every thing has its own flow"

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



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




--

"Every thing has its own flow"

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

Re: UML like diagrams from Moose panel

abergel
In reply to this post by Tudor Girba-2
Indeed, that is one bug. Another bug is:

Inspecting the following gives me _working_ actions (e.g., I can do zoom in / out):
RTMondrian new nodes: (1 to: 10); yourself

When I execute:

GLMWrapper new with: [ :w |
w show: [ :a | 
a roassal2 
title: 'With title it works';
initializeView: [ RTMondrian new ];
painting: [ :view | 
view nodes: (1 to: 10) ] ] ];
openOn: 42

The actions do not work :-(
I cannot see why.

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



On Oct 28, 2015, at 9:09 AM, Tudor Girba <[hidden email]> wrote:

The bug is in Glamour as it seems.

For example:

GLMWrapper new with: [ :w |
w show: [ :a | 
a roassal2 
title: 'With title it works';
initializeView: [ RTMondrian new ];
painting: [ :view | 
view nodes: (1 to: 10) ] ] ];
openOn: 42

If the bolded line is there, you get the actions, if not, they are not.

Doru



On Wed, Oct 28, 2015 at 1:04 PM, Alexandre Bergel <[hidden email]> wrote:
For preparing my teaching course I would have love to have simple class hierarchy visualisations or even better, real UML representations.
Unfortunately, the UML like diagram from the Moose panel is not zoomable.

There is a bug in the rendering of actions in the main window.

Yes, but I cannot figure out what it is. I have simply refactored GLMRoassal2Presentation>>defaultActions
I believe the behavior should be the same.
Can you have a look at it?

Cheers,
Alexandre

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




--

"Every thing has its own flow"
_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev


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

Re: UML like diagrams from Moose panel

Anne Etien
In reply to this post by Peter Uhnak
Hi Peter,

I finally tried your script and it works. Super!! Thanks.

Cheers,
Anne
Le 27 oct. 2015 à 11:54, Peter Uhnák <[hidden email]> a écrit :

Since I've made this video yesterday for my benefactors, I might as well share it here


now this is still far from done, however I do use FAMIX to represent the model (I have of course extended it, because FAMIX has no notion of multiplicities etc.), but in principle it should be able to visualize some subset of the FAMIX model.

If you want to look at it yourself, you can download ready-to-use image (based on Moose 6) here https://ci.inria.fr/pharo-contribution/job/DynaCASE/lastSuccessfulBuild/PHARO=50,VERSION=development,VM=vm/artifact/DynaCASE.zip

So maybe we can come up with something that you could use?

Of course many of the requirements you have can be achieved directly in Roassal, for example try running this

~~~~~~~~~~~~~~~~~~~~~~
| b |
b := RTUMLClassBuilder new.

b instanceVariables: #instVarNames. "show attributes"
"b instanceVariables: #()." "hide attributes"

b methodselector: #selector.
"b methodsNames: #methods." "show methods"
b methodsNames: #(). "hide methods"
b attributeselector: #yourself.

"all black, you can even have varying colors --- look at RTUMLExample>>examplecolored"
b attributeShape color: Color black.
b methodShape color: Color black.
b classNameShape color: Color black.
b lineShape color: Color black.
b boxShape borderColor: Color black.

b addObjects: (TREvent withAllSubclasses ).
b layout tree.

b build.
^b view
~~~~~~~~~~~~~~~~~~~~~~~~~

Peter

On Tue, Oct 27, 2015 at 11:30 AM, Anne Etien <[hidden email]> wrote:
Hi,

For preparing my teaching course I would have love to have simple class hierarchy visualisations or even better, real UML representations.
Unfortunately, the UML like diagram from the Moose panel is not zoomable. It is by default in light grey saying that it is harder to read. It contains all the attributes and all the methods so it is difficult to put it in a single readable picture. Please make the experiment with the Famix-Core classes.
I was not able to do easily a class hierarchy with the name of the classes. After more than one hour, I gave up.
So it could be good, if we can have:
- a class hierarchy with only the names of the classes in boxes or not
- a class hierarchy with only attributes
- a class hierarchy with only methods
- the existing "UML" representation
- a real metamodel representation. Not as a system complexity representation, but as a real UML representation meaning with inheritance AND associations (those can be deduce from pragmas and now with the new MooseQuery API, we get all the methods to do it).

It should be possible to easily specify which classes we want to represent.

It seems to me the minimum vital to do real analyses.

In my course, I wanted to show I extended FAMIX for SQL purpose. It was so complex (because I don’t want not all FAMIX entity, but just the one from which the SQL classes inherit and without the methods) that once again I gave up.

I don’t have enough time to better look for. But anyway, I find it sad that it is so hard even for people knowing (a bit) Moose of not being able to do that.

Cheers,
Anne





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

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


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

Re: UML like diagrams from Moose panel

Anne Etien
In reply to this post by Tudor Girba-2

Le 28 oct. 2015 à 12:58, Tudor Girba <[hidden email]> a écrit :

Hi,

On Tue, Oct 27, 2015 at 11:30 AM, Anne Etien <[hidden email]> wrote:
Hi,

For preparing my teaching course I would have love to have simple class hierarchy visualisations or even better, real UML representations.
Unfortunately, the UML like diagram from the Moose panel is not zoomable.

There is a bug in the rendering of actions in the main window.
 
It is by default in light grey saying that it is harder to read. It contains all the attributes and all the methods so it is difficult to put it in a single readable picture. Please make the experiment with the Famix-Core classes.
I was not able to do easily a class hierarchy with the name of the classes. After more than one hour, I gave up.
So it could be good, if we can have:
- a class hierarchy with only the names of the classes in boxes or not
- a class hierarchy with only attributes
- a class hierarchy with only methods
- the existing "UML" representation
- a real metamodel representation. Not as a system complexity representation, but as a real UML representation meaning with inheritance AND associations (those can be deduce from pragmas and now with the new MooseQuery API, we get all the methods to do it).

The associations are represented as first class in Fame, but the reason we do not show them is that we do not have a layout that supports such associations.

I will try to do it, when I will have a bit more time.

 
It should be possible to easily specify which classes we want to represent. 
It seems to me the minimum vital to do real analyses. 
In my course, I wanted to show I extended FAMIX for SQL purpose. It was so complex (because I don’t want not all FAMIX entity, but just the one from which the SQL classes inherit and without the methods) that once again I gave up.

You can do it programatically. Take a look at MooseFameView>>viewFamixCore to see how to show a selection of the classes from the default meta-model.

I think that for what you want, you should exhibit this 

I didn’t know that. That’s interesting.
I did what I wanted with Peter's script.

 
I don’t have enough time to better look for. But anyway, I find it sad that it is so hard even for people knowing (a bit) Moose of not being able to do that.

I am sad that you are sad. Sadness can be conducive for meditation, but it typically is not particularly promising for generating action :). So, let's snap out of our sadness and focus on what should be done next.

Don’t worry, I can’t stop using Moose, it is my day to day research tool. In the past I was sad seeing MooseChef, I did MooseQuery. So don’t worry, when I will find time, I probably will arrange that. And by the way, sometimes it is good to say that you are sad because the community is so great that there is always someone with a response to you to make you happy ;o)

Cheers,
Anne

Cheers,
Doru

 
Cheers,
Anne





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



--

"Every thing has its own flow"
_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.list.inf.unibe.ch/listinfo/moose-dev


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