OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

ubl-lcsc message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]

Subject: [ubl-lcsc] Auto-Generated UML Model

Dave Carlson applied his hyperModel application to the 0.65 UBL Schema and produced a corresponding UML static structure diagram.  Actually, he produced 9 related UML diagrams.  Breaking the big picture into smaller ones yielded some pretty readable results.  For instance the diagram OrderHeader.svg shows the relationships between Order and its associates, one or two levels removed.  The diagram Delivery.svg goes a little deeper, but since Delivery is not as "flat" as OrderHeader it fits very nicely on a page.
The hyperModel tool is fully automated.  Not only does it generate the diagram elements -- it lays them out, i.e. it places all the little boxes and routes the lines.  Judge for yourself whether it's readable or not.  I find it very readable.  And given the fact that you never have to "intervene" in the diagramming, the likelihood that you'll keep the UML diagram up-to-date is greatly increased.  There are a few heuristics in the tool.  For instance, you'll notice that core component types become class attributes -- which is exactly what you'd expect.  e.g. MinimumQuantity is modeled as an attribute of type Quantity -- versus an association to class Quantity.
I'd like to point out a particular translation choice (XSD to UML) that differs between hyperModel and the Rose model Mike A. so dilligently produced and graciously provided.  The Rose model has a bunch of classes inheritting from Party -- one for each XML element of type Party.  A similar approach is used for elements of type Location, ExchangeRate, Measurement.  This approach leads to a proliferation of classes, all of which are used exactly once.
The attached diagrams, on the other hand model (local) XSD elements as UML associations.  This mapping is not only natural, but results in maybe 30% fewer classes than the corresponding Rose model.  If you have a look at OrderHeader.svg versus the Rose model, you'll see what I mean.  Have a look at the way the two models relate OrderHeader to Party.
If you don't already have the Adobe SVG viewer, you can download it for free here.  It integrates with your browser.  Use alt-drag to move around in a diagram.  Context-click (usually right mouse button) to bring up a zoom menu, or control-click to zoom in on a point, or control-drag to zoom in on a box.


Bill Burcham
Sr. Software Architect, Standards and Applied Technology
Sterling Commerce, Inc.


Attachment: Order_0p65-UML.zip
Description: Binary data

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]

Powered by eList eXpress LLC