Prometheus Blogs

Too Many Models?

09/08/2016

The same data can be represented by many UML models.

Most fundamental is the model of the problem domain itself, independent of any implementation technology. This is purest and the simplest from of the model, because it deliberately ignores the details of implementation technologies in order to focus on the data itself. Of course there will often be differences of opinion about the best way to express the data in the domain model, so you can have more than one domain model.

For every implementation technology of interest (such as SQL or XML Schema) you can create a UML model that describes the implementation (rather than the pure data). These implementation models let you describe an implementation in detail. As an example, XML Schema supports “sequence”, “choice”, and “all” content models, which are typically described by additional nodes in a UML diagram that uses the UML Profile For XML. Many people prefer to work at this very concrete level, because they are familiar with the implementation technology, which makes the model very familiar and comfortable. There are at least three reasons why this level of concreteness is actually counterproductive:

  • The focus on one specific technology comes at the expense of other implementation technologies. For example, if you focus on XML, it makes it harder to use the resulting model for SQL.
  • The level of concreteness results in counterproductive “bikeshed effects”.
  • The implementation technology details complicate the model, obscuring the fundamental relationships between data. The implementation details are “noise” that make it harder to perceive the signal (the pure domain model)1.

The difference in complexity between an implementation model and a domain model is illustrated below. The top diagram is a fragment of a model reverse engineered from a functional relational database. The second diagram was derived from the first by deleting from the model elements that a machine (with reasonable presumptions) can deduce. I know which of the two I’d rather work with.

Please note that a focus on a UML domain model does not prevent working with XML Schema. In fact it makes it easier to develop not only an XML Schema, but a JSON schema, an SQL schema, an ASN.1 syntax, and many other concrete descriptions as well. When all the technology models are programmatically derived from the fundamental domain model, they necessarily describe exactly the same data, which makes it easier for diverse implementations to interact.

Of course UML concrete models could be derived from the domain model, just as schemas can. Query/View/Transform (QVT) can be used for that purpose. I’ll wish good luck to anybody who wants to go down that path.

Concrete diagram (top) and abstract diagram (below) Diagrams representing a concrete UML model of SQL (top) and a purer abstract domain model (below).


  1. Of course there will be folks who will claim that it’s the other way around - that the concrete model is the signal and the domain model is the noise. Anybody with this perspective ought to explain which concrete model is the signal. The SQL/XML/JSON/YAML proponents are welcome to duke it out between themselves.

Reader Comments
  1. ztwztn said... around over 1 year ago
    buy viagra online discount http://canadlan-pharmacy.com
  2. xvdmzi said... around over 1 year ago
    <a href=http://canadlan-pharmacy.com>how to buy viagra</a> buy viagra generic online http://canadlan-pharmacy.com
  3. ddfvmj said... around over 1 year ago
    <a href=http://canadlan-pharmacy.com>viagra to buy</a> generic viagra wiki http://canadlan-pharmacy.com
  4. mfvdoo said... around over 1 year ago
    <a href=http://canadlan-pharmacy.com>buy viagra online usa</a> best online sites to buy viagra http://canadan-pharmacy.com
  5. fsctqb said... around over 1 year ago
    <a href=http://canadlan-pharmacy.com>viagra without prescription</a> viagra generico online in italia http://canadlan-pharmacy.com
  6. qwpaiu said... around over 1 year ago
    <a href=http://canadlan-pharmacy.com>canadian pharmacy viagra</a> safest online site to buy viagra http://canadan-pharmacy.com
  7. ehuekm said... around over 1 year ago
    <a href=http://cialisy.com>discount cialis</a> cialis voucher http://cialisy.com
  8. mkfngb said... around over 1 year ago
    <a href=http://canadlan-pharmacy.com>buy viagra internet</a> viagra doctors online http://canadlan-pharmacy.com
  9. qwccbl said... around over 1 year ago
    <a href=http://canadian-pharmacye.com>cheap viagra pills</a> cual es el medicamento generico del viagra http://canadian-pharmacye.com
  10. zvghhk said... around over 1 year ago
    <a href=http://canadian-pharmacie.com>buy viagra without presc</a> viagra uk online store http://canadian-pharmacie.com
  11. effrex said... around over 1 year ago
    <a href=http://cialisy.com>cialis online prescription</a> cialis online mexico http://cialisy.com
  12. qkvqzz said... around over 1 year ago
    <a href=http://canadian-pharmacye.com>buy viagra new york</a> are there generic viagra http://canadian-pharmacye.com
  13. sseccc said... around over 1 year ago
    <a href=http://canadan-pharmacy.com>buy viagra online discount</a> viagra price in india in hindi http://canadan-pharmacy.com
  14. bnfmch said... around over 1 year ago
    <a href=http://canadian-pharmacie.com>buy viagra usa</a> generic viagra available in india http://canadian-pharmacie.com
  15. oiufpg said... around over 1 year ago
    <a href=http://canadian-pharmacye.com>viagra price</a> viagra online scotland http://canadian-pharmacye.com
  16. mmtwpl said... around over 1 year ago
    <a href=http://canadian-pharmacie.com>viagra coupon</a> generico do viagra ems http://canadian-pharmacie.com
  17. dndsct said... around over 1 year ago
    <a href=http://viagracy.com>viagra coupon</a> viagra mail order usa find viagra online http://viagracy.com
  18. pucbdo said... around over 1 year ago
    cialis prescription http://canada-pharmaci.com
  19. ikojci said... around over 1 year ago
    <a href=http://canadian-pharman.com>cheap viagra overnight</a> cheap viagra usa farmacie online italia viagra http://canadian-pharman.com
  20. yhguqr said... around over 1 year ago
    viagra uk price comparison <a href=http://viagrasy.com>canadian pharmacy viagra</a> viagra in malaysia online http://viagrasy.com
  21. maewll said... around over 1 year ago
    <a href=http://speedy-papers.com>best essay writing</a> help me write my essay <a href=http://speedy-papers.com>essay writing app</a> revise essay online http://speedy-papers.com
  22. ujttrk said... around over 1 year ago
    <a href=http://canadian-pharman.com>viagra for sale</a> generic viagra online usa generic for viagra in us http://canadian-pharman.com
  23. uiwkjf said... around over 1 year ago
    <a href=http://canadian-viagracy.com>viagra cost</a> buy viagra on line http://canadian-viagracy.com
  24. tfwiou said... around over 1 year ago
    <a href=http://canadian-pharmasy.com>buy cialis cheap</a> buy cheap cialis usa visa buy generic cialis from uk http://canadian-pharmasy.com
  25. vngmbv said... around over 1 year ago
    <a href=http://canada-pharmaci.com>cialis online no prescription</a> cialis 100mg http://canada-pharmaci.com
  26. hghrjj said... around over 1 year ago
    <a href=http://canadian-pharmacie.com>canadian pharmacy</a> donde comprar generico de viagra http://canadian-pharmacie.com
  27. pwclbd said... around over 1 year ago
    viagra coupons <a href=http://canadian-pharmacyc.com>viagra online prescription</a> generico viagra onde comprar http://canadian-pharmacyc.com
  28. lxuszl said... around over 1 year ago
    http://cialisn.com - canadian cialis buy cialis professional online http://cialisn.com
  29. sdvsvd said... around 3 months ago
    http://xn--c79a67grzuptd6eq8opud.zxc500.com - 카지노사이트 http://xn--o79a96g2xxk7b81i.zxc500.com - 카지노주소 http://xn--sh1b16g1ueqcu0ap24cfkljnn.zxc500.com - 카지노아바타 http://xn--o79ak1s1tdqcu0ay83ceol.zxc500.com - 카지노쿠폰
  30. jdfbddfdb said... around 2 months ago
    http://xn--ok0b65d1w4aujecqm.zxc700.com - 정선카지노후기 http://xn--vf4b27jfzgc8d5ub.zxc700.com - 포커사이트 http://xn--mp2bs6av7jp7brh74w2jv.zxc700.com - 슬롯머신사이트 http://xn--o80b27i69npibp5en0j.zxc700.com - 온라인카지노주소 http://xn--oi2b30ghxt.zxc700.com - 바카라
Leave a Comment

Back