ASP.NET Hosting

Sequence Browser: UML sequence diagrams from assemblies

Quite a while after I created it (oh my god, almost one year ago!), I decided to release the source code of my Sequence Browser.

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.

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.

8 Comments

  • If you took this idea, and combined it with the SharpVectors project, you could persist the diagrams a SVG, which any with a SVG Viewer could browser. I know that there was some interest from a couple UML open source projects on SourceForge, but haven't heard much from them recently. I think the combination would be a good idea. Maybe you should put the code base up on either GotDotNet's Workspaces, or SourceForge. This way everyone can benefit from any updates.





    DonXML

  • That's slick Fabrice, but I can't seem to open the archive... it says it's corrupt.

  • Cool tool :)





    btw, so you are that person Microsoft talked about who uses the green XP theme ;)

  • I tried the archive on another PC and it works fine.

  • Doesn't seem to work with the latest Reflector build. When adding the addin, it keeps telling it cannot find a strong named assembly (which appears to be Reflector.dll, the assembly from your own package). Reflector.dll seems out of date now that Reflector has been enhanced.





  • It was created with Reflector 2.9.1.0, the latest build as of today.


    Reflector.dll is just Reflector.exe renamed. So, if you want to build it for a newer version of Reflector, you just have to replace Reflector.dll and build the Sequence Browser again.


    Maybe it doesn't work well with the .NET Framework 1.1? I only tried with 1.0.

  • Fabrice,





    I'm getting a weird error when I try to add-in your add-in ;) :





    Method not found: Void Reflector.ComponentModel.ICommandManager.AddCommand(Reflector.ComponentModel.ICommand, System.String, System.Drawing.Image, System.Windows.Forms.Keys).





    I could build your add-in successfully, but trying to add it to Reflector doesn't work (I also have 2.9.1.0 and I'm using .NET 1.0).





    Any ideas?





    Thanks,





    Jason

  • Jason,


    I tried to find what could be the problem, but I must say that... I have no idea.


    Someone else having the same problem?

Comments have been disabled for this content.