Directed Graph Documents

by clovett 24. September 2009 22:09

Cameron Skinner first introduced DGML about 9 months ago and now that VS 2010 Beta 2 has shipped it's time for an update.

This video (WMV or MP4) takes you through some great demos to give you an idea of what it can do.  This is just a 10 minute teaser, in subsequent posts I'll drill into all the various software visualization features in more detail.

I think you'll agree that this is pretty exciting stuff and I can't wait to see all the amazing things that people will do with this new capability.

The following download contains the DGML demos used in this video: Demos.zip (542.37 kb)

Someone asked me recently how I built all those demos:

Demos.dgml – built by hand, manually adding the “Reference” attribute that point to each sample.

.NET 4.0

Assemblies.dgml: I just drag/dropped the .NET assemblies onto a new empty graph document. The green colorization was a custom category added by hand.

Grouped.dgml: was taking the above and manually grouping things then styling the group & link colors by hand.

ConditionalStyles

Baseball.dgml – by hand by copying this graph from Slate magazine

Coverage.dgml – the dependency graph is just a class to class dependency graph which I think I just used the architecture menu generate with a “Custom” settings, namely show only Types and no methods (this way the classes are leaf nodes but their links are a rollup of their inner dependencies), then I wrote a tool that mapped the Coverage report (which is in an XML format) to add coverage properties to my nodes. The hard part here is the “name mapping” because metrics analyzer uses a different “identifier” scheme.

LinesOfCode.dgml – the class dependency graph came from the Architecture menu, then wrote a tool that took a log file from the Metrics Analyzer in VS and mapped it back to the DGML graph. The hard part here is the “name mapping” because metrics analyzer uses a different “identifier” scheme.

Set.dgml – the class dependencies from VS, but the categorization by hand (using the VS Property Window you can type in your own category names), then hooking up the icons by hand.

Tagging.dgml –by hand

TeamData.dgml – was a class level dependency graph , the green was a hand categorization of interfaces, the link color styles added via the Legend.

Progression:

Most of these started as class or assembly level dependency graphs, with manual coloring and grouping added.

Overview.dgml – entirely by hand

ProgressionTypes – You can get a Type Hierarchy graph using the Architecture Explorer tool window which I explain in my view on the Architecture Explorer.

TeamArch:

CallSequence.dgml: by hand

UmlMetaModel.dgml – I built a tool that understands the MOF XML format and exported it from an internal MOF description of UML that we had, but I think the grouping was by hand.

VSBinaries:

Devdiv-grouped.dgml A friend of mine JP Duplessis wrote a tool that cracks all the binaries in a Visual Studio build (native and managed) which he then stored in a database, he then dumped that out to DGML. The grouping was then done using some regular expression matching. We knew a few central nodes that lived in each group, then based on their dependencies the tool would suck things into those groups. We call this “group by patterns”.

devdiv-just-group.dgml – collapse all, but then I have a tool that does a “shallow copy” of this graph keeping the computed group to group dependencies intact. This could be a handy power tool – sort of a “roll up and throw away the detail” kind of tool.

Wpf-by-namespace – was a straight architecture dependency graph, limited to public types only I believe.

Tags:

DGML | DGML | DGML | DGML

Comments

9/2/2009 7:30:40 AM #

Charles Windhausen

I'd really like to see the source for the demos, but the link for Demos.zip doesn't work.

Charles Windhausen United States

9/2/2009 4:22:25 PM #

Chris

Fixed.  The link is http://www.lovettsoftware.com/downloads/Demos.zip

Chris United States

9/10/2009 10:33:09 PM #

Ezra Heberling

Stupid software, like Windows?

Ezra Heberling United States

9/11/2009 11:58:17 PM #

Chris Lovett

I have programmed IBM mainframes, OS/2, Apple, Web, Java, Windows C++, ASP, .NET, Robot C, and micro controllers.  And you know what?  It's all built on the same computer science principles and so all environments suffer from the same problem of complexity.  My mission in life is to figure out what we are going to do about this across the industry because I think complexity is seriously limiting our ability to innovate in all software domains.

Chris Lovett United States

12/21/2009 1:28:51 PM #

splintor

Hi Chris,
Is there a way I can add a "DGML Viewer" in my app to show a DGML file to users? Or is it only comes as part of the VS2010 IDE?

I really like the DGML engine embedded in VS2010, and would like to use it in my app. What are my options?

splintor Israel

12/24/2009 4:44:29 AM #

Chris Lovett

We do not have a standalone DGML viewer for you to use, it only comes in VS 2010 Ultimate and Premium.  But we have received many requests for something like this and are considering what we can do about it in the future.

Chris Lovett United States

1/23/2010 8:21:35 PM #

seo indian

I have used Visual Studio 2010, its work very good and its feature are also nice. Thanks for this post.

seo indian United States

1/25/2010 2:33:32 PM #

Game

Thanks for fixing the link Chris, that visual stuido is pretty good also, better priced than some of the apps.

Game United States

2/5/2010 12:19:10 PM #

Roberto

I believe is worth all the cost of the product.
I believe Visual Studio is by far the best IDE I've ever used. Nothing else even comes close and these graphs application are a proof of this

Roberto Italy

2/8/2010 2:41:56 AM #

best registry cleaner

I have used Visual Studio 2010, its work very good and its feature are also nice. Thanks for this post.

best registry cleaner United States

2/8/2010 7:50:38 PM #

Helena

You are right, Visual Studio of this year version was great. Cool visualization and cool features too. Anyway thanks for sharing the video.. it do really help. Smile

Helena United States

2/14/2010 4:39:37 PM #

Pozycjonowanie

Visual Studio 2010 has really improved my work.Perfect soft.

Pozycjonowanie United States

2/19/2010 6:44:25 AM #

car hire australia airport

Cool visualization and cool features too. Anyway thanks for sharing the video..

car hire australia airport United States

2/25/2010 10:44:59 PM #

Savita

Visual Studio 2010 includes some really gud and rare software visualization features. Thanks for introducing us to such a wonderful and creative feature and software through this post. tnks......

Savita India

3/16/2010 7:32:13 PM #

belfast restaurants

visual studio is a serious bit of kit. Its relatively simple to use, but the big advantage is its reasonable price I believe

belfast restaurants United Kingdom

4/2/2010 8:30:14 PM #

Marco

Hey visual studio is great piece of soft i use it everyday.

Marco United States

4/7/2010 8:18:33 AM #

watch movies online

DGML is a great peice of software, I liked your videos

watch movies online Sweden

4/11/2010 4:40:32 PM #

Fajas

VS has become a software with such a big footprint. Just like windows and everything else Microsoft produces.

Fajas United States

4/29/2010 11:12:11 AM #

Denny

Visual studio is good for me too friend

Denny United States

5/5/2010 4:17:25 PM #

wedding rings alabama

Does it work for Mac as well?

wedding rings alabama United States

5/6/2010 10:34:07 PM #

SEO India

Hi clovett, thanks for sharing your post with us. VS 2010 is good and has fixed some bugs as well.

SEO India India

5/11/2010 11:19:49 AM #

Trademark New Zealand

Thanks
You seriously forget how good VS2010 is until you start trying to use something else and missout on the great stuff you have in VS.

Mr Wedding Rings - did you even read the post?

Regards

Trademark New Zealand New Zealand

5/12/2010 4:32:01 PM #

Giochi di Cucina

I have used Visual Studio 2010 and in my opinion it's much better than older versions.
DGML is really an interesting feature

Giochi di Cucina Italy

6/26/2010 5:33:35 AM #

Frogger Game

Visual Studio is definitely worth the cost.
I believe Visual Studio is by far the best IDE I've ever used and I've tried a bunch. Nothing else even comes close and these graphs application are a proof.

Frogger Game United States

6/28/2010 6:05:39 PM #

Electronic Cigarette

Not really a fan of DGML

Electronic Cigarette United States

6/30/2010 10:53:11 PM #

Jeff

Visio 2010 is the best version in my opinion.  Btw, nice video.

Jeff United States

7/4/2010 1:27:38 PM #

shingles symptoms

Does it work for Mac as well?

shingles symptoms United States

7/15/2010 7:40:57 AM #

Ball Screw

Visual Studio 2010 posses a really powerful features and for sure I am really satisfied with it. By the way, useful info.

Ball Screw United States

7/22/2010 1:22:08 AM #

Jonathan O.

Everybody studies complexity , when they should should study simplicity...It's a little ironic

Jonathan O. United States

7/23/2010 10:39:32 PM #

Nick

Cool video, I am a big advocate of VS 2010!

Nick United States

7/25/2010 3:08:24 AM #

Peter

Great article. It was very usufull.Continue the good work.

Peter United States

7/26/2010 6:14:56 AM #

Pozycjonowanie

Nice demo, Visual Studio is really powerful tool.

Pozycjonowanie Poland

7/27/2010 9:48:08 AM #

Jovani

Wow interested video, I like the potential of DGML, gonna have to research this further.

Jovani United States

7/27/2010 12:07:40 PM #

Forex Massacre

I have only nice things to say regarding Visual Studio 2010. Unlike previous releases this one delivered beyond my highest expectations.

Forex Massacre United States

8/1/2010 7:50:03 AM #

mailaro

Visual Studio is definitely worth the cost.
I believe Visual Studio is by far the best IDE I've ever used and I've tried a bunch. Nothing else even comes close and these graphs application are a proof.

mailaro Indonesia

8/13/2010 7:34:44 AM #

Tigara Electronica

Enjoyed watching the videos. I bought VS2010 but I expect more in the future.

Tigara Electronica Romania

8/14/2010 9:55:53 AM #

pass4sure 1z0-043

Visual Studio 2010 includes some really gud and rare software visualization features. Thanks for introducing us to such a wonderful and creative feature and software through this post

pass4sure 1z0-043 United States

8/24/2010 9:08:51 PM #

70-643

Wow interested video, I like the potential of DGML, gonna have to research this further.

70-643 United States

9/4/2010 3:06:07 AM #

cellulite exercises

I have to admit that I'm still chugging away with VS'05.  For the most part it does what I need or I can find something online that'll achieve it.  It may be nice to finally upgrade and have a huge raft of new abilities available.

cellulite exercises United States

9/18/2010 1:07:18 PM #

Don Wells

Been using DGML for 4 months now, its really great!

Don Wells United Kingdom

10/23/2010 12:13:04 PM #

czat

Cool visualization and cool features too. Anyway thanks for sharing the video..

czat Poland

11/1/2010 4:19:03 PM #

rca ieftin

I think the latest version of VS2010 is almost perfect but it seems to need some small modifications to work fine.

rca ieftin United States

11/6/2010 10:58:15 AM #

SEO India

Cool visualization and good software  thanks

SEO India United States

11/9/2010 5:17:26 PM #

Blu Cigs Review

I have just started using VS2010 and I loving it. It's Awesome Smile

Blu Cigs Review United Kingdom

11/26/2010 2:49:56 PM #

Martens

You seriously forget how good VS2010 is until you start trying to use something else and missout on the great stuff you have in VS.

Martens United States

11/27/2010 2:46:48 PM #

u8a4m

rca ieftin

I think the latest version of VS2010 is almost perfect but it seems to need some small modifications to work fine.

u8a4m Poland

12/2/2010 11:14:01 PM #

R8R6H

Visual Studio 2010 has some really interesting features which makes it more efficient. The latest version is one of the best I've used so far.

R8R6H United States

12/11/2010 3:31:33 AM #

C7K4R

Visualization is good in this software  ..good strategy  good thinking i like this .

C7K4R United States

12/25/2010 2:04:53 PM #

business trip

I have just started using VS2010 and I loving it. i have enjoyed.it is very nice. Thanks your post.

business trip United Kingdom

12/31/2010 10:19:56 PM #

Forexbrokers

Thanks Chris !! Your demos through video is really awesome, helped me a lot. Now I'm using VS, is very easy to go through and results are very effective. It need some more changes, I think. Anyway thanks for your enlightenment.

Forexbrokers United States

1/16/2011 2:10:14 AM #

bomboniere

Sure, Visual Studio 2010 is a fantastic version. It has got friendly visualizations and new useful features.

bomboniere Italy

2/28/2011 10:26:50 AM #

learn spanish software

REally liked the video.  Great visual representations.  I am going to give VS a try.

learn spanish software Austria

3/8/2011 2:22:37 AM #

D108X

Hi Chris,
I really like this DGML and I think it's a very cool way to create directed graph.
I have Microsoft Visual Studio 2010, I have downloaded demos.zip and extracted the files but I don't know how to open the files in VS2010. Could you tell me how to open the files?

Regards.
Mike

D108X United States

3/8/2011 10:53:09 AM #

clovett

Mike, you will need the Premium or Ultimate version of VS 2010.

clovett United States

4/19/2011 3:03:54 AM #

como quitar las espinillas

DGML is realy ideal in creating graphs. I've never uses VS2010 but with the video tutorial, i think it's one of the best.

como quitar las espinillas United States

5/3/2011 2:21:35 AM #

software testing interview questions pdf

Very interesting article. Your current web pages is promptly growing to be considered one of my top picks.

software testing interview questions pdf United States

5/3/2011 9:12:34 PM #

Private Jet Charter Price

Visual Studio 2010 is very good and its feature are particularly nice.

Private Jet Charter Price United Kingdom

5/3/2011 10:37:26 PM #

notepad website codes

I added your site to Favorits. I am constantly monitored. All of your posts very interesting.

notepad website codes United States

5/21/2011 8:47:43 AM #

B1F7L

Great..

B1F7L United States

5/26/2011 12:13:49 PM #

Seo India

Visual studio is relly good .

Seo India Ukraine

6/14/2011 10:18:17 AM #

world of warcraft simulator

Love VS2010, use it every day.

The latest version is superb!

world of warcraft simulator Denmark

8/20/2011 8:41:51 PM #

Y4E2M

Chris,


I'm a developer with Siemens, and I've introduced our team to DGML for the purposes of this massive documentation project and for generating these dependency graphs from our existing code base. I haven't yet figured out how to generate the dgml automatically though installing the "Visualization and Modeling Feature Pack", which I understand was supposed to extend this dependency graph functionality beyond C# and .NET to embrace C++ code as well. To work around that we've created a tool for generating the dgml.

I have some questions about the behavior of properties. There's odd behavior I can't seem to make sense of beyond some attributes being defined in the xsd schema and others just orphaned from any namespace it seems (I'm a xml rookie, so perhaps more of that would make sense to me down the road). Anyhow, the behavior I find is where some properties show up in the dgml editor squiggled with blue text, which upon mouse hovering displays in the tooltip
   The 'PropertyId' attribute is not declared
For some property PropertyId I've created from scratch. What is this about exactly?


One other quick question, when generating the layout you often see the message "Processing 0 of N graphs..." What is this number referring to? Seems like I only have one graph, at least there's only one <DirectedGraph> element in my dgml, so what could this mean?

Since I'm writing, I thought I'd also ask what the status is for the request that there be a standalone dgml viewer/editor.


Thanks a lot for the great work!






Jaime

Y4E2M United States

Add comment



(Will show your Gravatar icon)

  Country flag

biuquote
  • Comment
  • Preview
Loading



Powered by BlogEngine.NET 1.5.0.7
Theme by Mads Kristensen

RecentPosts