Fabrice's weblog

Tools and Source

News

My .NET Toolbox
An error occured. See the script errors signaled by your web browser.
No tools selected yet
.NET tools by SharpToolbox.com

Read sample chapters or buy LINQ in Action now!
Our LINQ book is also available on AMAZON

.NET jobs

Emplois .NET

transatlantys hot news

Contact

Me

Others

Selected content

ThinkTank - Sequence Browser: UML sequence diagrams from assemblies

The Sequence Browser integrates with Lutz Roeder's .NET Reflector. It displays kinda UML sequence diagrams for method calls. It's actually just a prototype, but I thought I should release the source code. Maybe someone would be interested to take the idea and build on it. You could use this code to improve the Sequence Browser or include it in your own product.

Source code

To see the Sequence Browser in action, you have to build it and add it as an add-in for .NET Reflector.
You can then navigate for example to System.Windows.Forms.Button.ProcessMnemonic, right-click and invoke "Sequence Browser".
If the "Sequence Browser" command is not enabled, you may have to insist by trying on other nodes. Reflector seems not to work always well.

Here is a picture of what you should see.
You can try to change the depth to 0 and hit the Redisplay button.
Note: every text is a link.

I'd be interested to know what you do with this idea/code, please let me know. I would enjoy to share with you the extra ideas I have for this kind of tool.

Original post


Other ideas in the ThinkTank

Comments

TrackBack said:

# July 30, 2003 5:43 PM

Mads Nissen said:

I think this is a great idea. Both for debug and maintenance!
# July 31, 2003 9:05 AM

Fabrice said:

Exactly, maintenance work is something that is too often neglected.

Who actually updates the design documentation once the work is finished?
What is the best way to get an overview of an existing application? In my opinion, UML is the right tool for this.

That's why the main idea behind this project is to take advantage of reflection to be able to explore applications from a high perspective (read "architecture"), not from a code perspective (as we are used to with reflection).
To tell you more about this idea: one of the goals of this project is to be able to view the exchanges (object invocations) between the layers of an application. (Probably I should sketch a diagram that would show what I mean...)
# July 31, 2003 9:41 AM

Jamie Cansdale said:

Hi Fabrice,

I don't know if you've come accross the Reflector Add-In for VS.NET. I you haven't you can find it here...
http://www.managedaddins.net

There is a feature called 'Follow CallStack' that allows Reflector to follow as you step into code using the debugger. It would be great if this could be combined with the ability to draw sequence diagrams!

There is an old post about 'Follow CallStack' here [1]. I keep meaning to post an updated version.
[1] http://weblogs.asp.net/nunitaddin/posts/8580.aspx

I'm on holiday at the moment and away from my main machine. I haven't had a chance to play with your sequence diagram add-in. I would be interested to know if it works out of the box with 'Follow CallStack' or wheather it would need some tweaks. If we can get it to work would you be interested in including it in the install? We are in the process of moving the Reflector Add-In to SourceForge or GDN Workspaces.

Thanks, Jamie.
# August 1, 2003 9:35 AM
Leave a Comment

(required) 

(required) 

(optional)

(required)