John Murray · Mar 4, 2016 1m read

Getting my head around a class model

There's plenty of goodness in the %-packages InterSystems supplies, and it seems that every new version of Caché brings something new. The browser-based class documentation (a.k.a. Documatic) generally provides a good level of information, but on the basis that "a picture is worth a thousand words" I sometimes want a diagram.

For example, when trying to navigate the %Dictionary package for a project that needed to find out about class definitions, here's one of the UML class diagrams I created.

It was generated from a 2008.1 system using Umlanji to extract the data from Caché and Enterprise Architect to produce the diagram. There were several other UML modelling tools I could have used, including the open source ArgoUML.

For the full-size PNG file, click on the image above.

Who else uses UML class diagrams in their Caché Objects development work? Any tips to share?

0 1,306
Discussion (7)5
Log in or sign up to continue

A couple of years ago I built my own UML class diagram viewer, but it was more for the fun of it. I just like to visualize relationships and workflows as I believe it helps the mind to understand complex entities better.

There is a UML Explorer tool available at this GitHub repo:

Thanks for fixing the image size so it doesn't bleed across other areas of the forum UI.

If anyone would like to have a full-size image, or the EA model file, or even the XMI that Umlanji emits, reply to this comment and I'll find a way to make them available.

Yeah It's not even readable now.  Could you update the OP with a link to the full size image?

Certainly Scott. You can now get the full-size PNG file by clicking on the image.

This is open online working demo of UML Class Explorer

Here is sample picture screenshot from Samples/Cinema class Package I just did.

You can change namespaces with dropdown in right top corner.


This recent post about Ontodia and Caché describes an interesting variation on the UML class diagram presentations we previously discussed here.