Skip navigation
4103 Views 3 Replies Latest reply: Jan 3, 2011 5:15 PM by dcarmean RSS
sara Newbie 2 posts since
Dec 31, 2010
Currently Being Moderated

Dec 31, 2010 7:17 AM

ZenModel UML diagram

Good afternoon,


Does Zenoss have a UML class diagram of ZenModel objects?


Thanks in advance


Sara Valente

  • dcarmean Rank: Green Belt 86 posts since
    Aug 20, 2007
    Currently Being Moderated
    1. Jan 2, 2011 2:01 AM (in response to sara)
    Re: ZenModel UML diagram

    I can't speak for Zenoss, but I've been working on creating my own, off and on.  Most recently, I purchased a copy of the commercial package (Sparx Enterprise Architect) used to create these UML class diagrams for the Zenpack base classes and am experimenting with the reverse-engineering features.  But it is far from a trivial task.


    Firstly, there are over 220 python classes in the ZenModel zope product alone. With the model/diagram in the UML tool, it's easy enough to navigate around to examine, but producing a static exported document (e.g. PDF) would require a significant amount of time/effort to manually adjust/complete the layout and probably break it into smaller groupings to fit on reasonably-sized pages.



    (The other issues I'm running into with this reverse-engineering are related to troubles with python depedencies.  So much of the environment is built up at runtime by reading .pth files and other mechanisms I don't yet understand, but also EA is a Windows app so I can't just point it at an installed Zenoss instance's python environment.)


    Also... it's a moving target


    At any rate, if you have some ideas about what you want to look at, I  might be able to clean up those sections of the diagram so they could be  exported to a useful PDF doc.  And for anybody willing to invest in the above commercial software to work on this OSS code ... we could collaborate.

  • dcarmean Rank: Green Belt 86 posts since
    Aug 20, 2007
    Currently Being Moderated
    3. Jan 3, 2011 5:15 PM (in response to sara)
    Re: ZenModel UML diagram

    I was working with Zenoss 3.0.1, but I'll probably re-run it against the 3.0.x branch to catch what's coming in the maintenance release.


    I had not run the tool on the entire package, and not on the ZenRelations package.  Also had only done static Class diagrams, not object/instance diagrams yet.


    One thing I would suggest, if you haven't yet, is to install ipython as the zenoss user to make zendmd easier to use, and use zendmd and a tabbed code editor (I use Eclipse these days) to look around at the way the device model instances are put together and where they're stored in the dmd/Devices tree.


    I am waiting for some feedback from the UML tool support folks before I work on this again; I am having to manually patch the zenoss code so that their tool can import the modules and that's been too much work.   I'll report what I find out.

More Like This

  • Retrieving data ...


  • Correct Answers - 4 points
  • Helpful Answers - 2 points