[squeak-dev] [ANN] Dependency Browser

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

[squeak-dev] [ANN] Dependency Browser

hernanmd
Dear Squeakers,

    If you ever wondered how to observe dependencies between packages in the image, now you can use this new Dependency Browser. Instructions for using it are in the following pages:


Regards.

Hernán



Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] [ANN] Dependency Browser

David T. Lewis
On Wed, Oct 08, 2008 at 03:17:40PM -0300, Hern??n Morales Durand wrote:

> Dear Squeakers,
>     If you ever wondered how to observe dependencies between packages in the
> image, now you can use this new Dependency Browser. Instructions for using
> it are in the following pages:
>
> Castellano : http://cs.hernanmorales.com.ar/DBrowser-es.php
> Fran??ais : http://cs.hernanmorales.com.ar/DBrowser-fr.php
> English : http://cs.hernanmorales.com.ar/DBrowser-en.php
>
> Regards.
>
> Hern??n

I have not installed this to try it yet, but the DependencyWalker looks
like a really interesting idea!

Dave


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] [ANN] Dependency Browser

Lukas Renggli
Cool, user interface.

However, you do not detect two other important static dependencies:

- Package A subclasses a class of package B.
- Package A extends a class of package B.

We are using a similar tool to package Seaside. Unfortunately it has
no GUI, but we are using GraphViz zu visualize the dependencies [1].

Have a look at Package-Dependencies in
<http://source.lukas-renggli.ch/unsorted>. It automatically calculates
cycles and is able to hide transitive dependencies. It would be
interesting to extend it further to also take selectors into account,
that are only implemented in a single package.

There are other tools available: MudPie [2] and Moose [3].

Cheers,
Lukas

[1] http://www.lukas-renggli.ch/dropbox/seaside-2.9/seaside.png
[2] http://map.squeak.org/package/617dbc24-e029-4d8c-a941-68db8c867952
[3] http://moose.unibe.ch/

On 10/9/08, David T. Lewis <[hidden email]> wrote:

> On Wed, Oct 08, 2008 at 03:17:40PM -0300, Hern??n Morales Durand wrote:
>  > Dear Squeakers,
>  >     If you ever wondered how to observe dependencies between packages in the
>  > image, now you can use this new Dependency Browser. Instructions for using
>  > it are in the following pages:
>  >
>  > Castellano : http://cs.hernanmorales.com.ar/DBrowser-es.php
>
> > Fran??ais : http://cs.hernanmorales.com.ar/DBrowser-fr.php
>
> > English : http://cs.hernanmorales.com.ar/DBrowser-en.php
>  >
>  > Regards.
>  >
>
> > Hern??n
>
>  I have not installed this to try it yet, but the DependencyWalker looks
>  like a really interesting idea!
>
>  Dave
>
>
>


--
Lukas Renggli
http://www.lukas-renggli.ch

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] [ANN] Dependency Browser

hernanmd

2008/10/9 Lukas Renggli <[hidden email]>
Cool, user interface.

However, you do not detect two other important static dependencies:

- Package A subclasses a class of package B.
- Package A extends a class of package B.

Yes, I was aware of loose methods (I'm interpreting extends here means LM) and hierarchy references, and my idea was to add an OBColumn next to the code pane like

http://mail.wiresong.ca/pipermail/ob-dev/attachments/20080923/e19a0b11/attachment-0001.jpeg

but it seems OmniBrowser do not allow this easily (creating a new column in a subclass of the traditional Standard Browser is even harder). You'll notice if I'm succeded in the next version :)

 
We are using a similar tool to package Seaside. Unfortunately it has
no GUI, but we are using GraphViz zu visualize the dependencies [1].

That is the original idea. I have never tried GraphViz, but from the image in the link I can see GraphViz is able to ensure disjointness between nodes but the image looks confusing, tangled, from an user's perception view. It seems like the layout adjustement algorithm were unable to preserve symmetries from an input (or breaks down the topology for the sake of preserving a proximity model).

Is there a link explaining how to use GraphVIz from Squeak? I presume if graphs could be showed inside the Squeak image, the whole and details view problem could be solved, achieving simultaneity and uniqueness (that means, facilities like the fish-eye view enabling different magnification ratios).

 
Have a look at Package-Dependencies in
<http://source.lukas-renggli.ch/unsorted>. It automatically calculates
cycles and is able to hide transitive dependencies. It would be
interesting to extend it further to also take selectors into account,
that are only implemented in a single package.

I will take a look at it.
Cheers.

Hernán
 


There are other tools available: MudPie [2] and Moose [3].

Cheers,
Lukas

[1] http://www.lukas-renggli.ch/dropbox/seaside-2.9/seaside.png
[2] http://map.squeak.org/package/617dbc24-e029-4d8c-a941-68db8c867952
[3] http://moose.unibe.ch/

On 10/9/08, David T. Lewis <[hidden email]> wrote:
> On Wed, Oct 08, 2008 at 03:17:40PM -0300, Hern??n Morales Durand wrote:
>  > Dear Squeakers,
>  >     If you ever wondered how to observe dependencies between packages in the
>  > image, now you can use this new Dependency Browser. Instructions for using
>  > it are in the following pages:
>  >
>  > Castellano : http://cs.hernanmorales.com.ar/DBrowser-es.php
>
> > Fran??ais : http://cs.hernanmorales.com.ar/DBrowser-fr.php
>
> > English : http://cs.hernanmorales.com.ar/DBrowser-en.php
>  >
>  > Regards.
>  >
>
> > Hern??n
>
>  I have not installed this to try it yet, but the DependencyWalker looks
>  like a really interesting idea!
>
>  Dave
>
>
>


--
Lukas Renggli
http://www.lukas-renggli.ch




Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] [ANN] Dependency Browser

stephane ducasse
hernan
we are currently porting moose to squeak.
After we will have DSM, package blueprint, dsitribution map, (check  
our papers).

http://stephane.ducasse.free.fr/Publications.html

Stef


On Oct 9, 2008, at 5:36 PM, Hernán Morales Durand wrote:

>
> 2008/10/9 Lukas Renggli <[hidden email]>
> Cool, user interface.
>
> However, you do not detect two other important static dependencies:
>
> - Package A subclasses a class of package B.
> - Package A extends a class of package B.
>
> Yes, I was aware of loose methods (I'm interpreting extends here  
> means LM) and hierarchy references, and my idea was to add an  
> OBColumn next to the code pane like
>
> http://mail.wiresong.ca/pipermail/ob-dev/attachments/20080923/e19a0b11/attachment-0001.jpeg
>
> but it seems OmniBrowser do not allow this easily (creating a new  
> column in a subclass of the traditional Standard Browser is even  
> harder). You'll notice if I'm succeded in the next version :)
>
>
> We are using a similar tool to package Seaside. Unfortunately it has
> no GUI, but we are using GraphViz zu visualize the dependencies [1].
>
> That is the original idea. I have never tried GraphViz, but from the  
> image in the link I can see GraphViz is able to ensure disjointness  
> between nodes but the image looks confusing, tangled, from an user's  
> perception view. It seems like the layout adjustement algorithm were  
> unable to preserve symmetries from an input (or breaks down the  
> topology for the sake of preserving a proximity model).
>
> Is there a link explaining how to use GraphVIz from Squeak? I  
> presume if graphs could be showed inside the Squeak image, the whole  
> and details view problem could be solved, achieving simultaneity and  
> uniqueness (that means, facilities like the fish-eye view enabling  
> different magnification ratios).
>
>
> Have a look at Package-Dependencies in
> <http://source.lukas-renggli.ch/unsorted>. It automatically calculates
> cycles and is able to hide transitive dependencies. It would be
> interesting to extend it further to also take selectors into account,
> that are only implemented in a single package.
>
> I will take a look at it.
> Cheers.
>
> Hernán
>
>
>
> There are other tools available: MudPie [2] and Moose [3].
>
> Cheers,
> Lukas
>
> [1] http://www.lukas-renggli.ch/dropbox/seaside-2.9/seaside.png
> [2] http://map.squeak.org/package/617dbc24-e029-4d8c-a941-68db8c867952
> [3] http://moose.unibe.ch/
>
> On 10/9/08, David T. Lewis <[hidden email]> wrote:
> > On Wed, Oct 08, 2008 at 03:17:40PM -0300, Hern??n Morales Durand  
> wrote:
> >  > Dear Squeakers,
> >  >     If you ever wondered how to observe dependencies between  
> packages in the
> >  > image, now you can use this new Dependency Browser.  
> Instructions for using
> >  > it are in the following pages:
> >  >
> >  > Castellano : http://cs.hernanmorales.com.ar/DBrowser-es.php
> >
> > > Fran??ais : http://cs.hernanmorales.com.ar/DBrowser-fr.php
> >
> > > English : http://cs.hernanmorales.com.ar/DBrowser-en.php
> >  >
> >  > Regards.
> >  >
> >
> > > Hern??n
> >
> >  I have not installed this to try it yet, but the DependencyWalker  
> looks
> >  like a really interesting idea!
> >
> >  Dave
> >
> >
> >
>
>
> --
> Lukas Renggli
> http://www.lukas-renggli.ch
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] [ANN] Dependency Browser

David Röthlisberger-2
In reply to this post by hernanmd

> Yes, I was aware of loose methods (I'm interpreting extends here means
> LM) and hierarchy references, and my idea was to add an OBColumn next to
> the code pane like
>
> http://mail.wiresong.ca/pipermail/ob-dev/attachments/20080923/e19a0b11/attachment-0001.jpeg
>
> but it seems OmniBrowser do not allow this easily (creating a new column
> in a subclass of the traditional Standard Browser is even harder).

I did place such a column at the position you need it in OB-Enhancements (loadable
from the ob repository).
The column does not appear in a standard browser, but when you search for the class
OBReferenceList (method #buildOn:) you can see how it's built in.


David