
In openEHR, we use one of these, MagicDraw. This is undeniable due to the availability of dozens of UML tools, at least some of which do indeed, really and truly implement the UML standard. Unlike many of the standards I have complained about for years in e-health, UML is a standard that ‘works’ and is implementable, at least in a concrete sense. A total of zero hands went up. And yet humans love pictures, so we should be using some sort of graphical modelling language. I have no doubt other organisations have resorted to similar fixes.Ī few years ago I asked 8 senior software engineers at a meeting who was using a UML tool in their development work. We also developed a UML extractor for the UML tool we use, to fix some of the problems it has, so we know a thing or two about UML under the covers. Worse, its serial form, XMI, is unreliable and unusable by humans or tools other then the creating UML tool. This was not done lightly – we had to do it because UML does not represent the developer view of models correctly, and that’s the one we want. However, to get around all its problems, I had to develop an alternative for static models, called Basic Meta-Model (BMM), to enable correct formal model representation for our tooling. UML is still the only widely used graphical format, so we use it. In openEHR, we publish specifications, so graphical representation of formal models is important. Architects these days tend to limit their use of UML to package diagrams and a few illustrative class diagrams, while developers tend to go straight to code or use tools that pretty-print extracted textual forms of software such as swagger and apiary. And this is despite the availability of excellent UML tools. But hardly anyone uses it for its original purpose: formal modelling of software leading to code, ideally with round-tripping. Developers often use it for whiteboard brain-storming. We use it extensively to publish the openEHR specifications, in a similar way to many other organisations. The Unified Modelling Language aka UML has been around for 22 years, as you can see from the OMG UML page.
